Recensement, cartographie et photographie des rues sur les plateformes libres/Belleville-en-Beaujolais
Liste des voies dans OpenStreetMap
modifierLe site overpass turbo permet de faire des requêtes sur la base OpenStreetMap.
La sélection géographique se fait avec l'instruction : {{geocodeArea:nom du lieu}}.
La sélection des voies se fait sur l'élément highway.
Ce qui donne avec l'ensemble des instructions pour l'affichage (incluant l'export en JSON plutôt qu'en XML) :
[out:json];
{{geocodeArea:Belleville-en-Beaujolais}}->.searchArea;
(
way["highway"](area.searchArea);
);
(._;>;);
out body;
On obtient ainsi la carte suivante : voies sur OpenStreetMap.
Extraction des voies depuis le fichier JSON
modifierEn cliquant sur l'onglet Données, le fichier JSON peut être copié et collé dans un fichier, par exemple Belleville.json.
Il suffit alors d'extraire les champs "name", par exemple sous Linux avec :
cat Belleville.json |egrep -o '"name": "(.*?)"' |sed 's/"name": //' |sort |uniq >Belleville.txt
En supprimant le double de la Voie Verte du Beaujolais, on obtient une liste de 302 voies : (voir liste reportée en Annexe 1)
Note : Il est possible d'obtenir la même liste avec un export CSV : [out:csv(name)]; en filtrant les lignes vides et les doublons.
Liste des voies dans le fichier FANTOIR
modifierLe fichier FANTOIR, maintenu par la Direction générale des finances publiques, liste les voies et lieux-dits des toutes les communes de France.
Pour retrouver le code d'une commune dans le fichier FANTOIR, il faut chercher son code INSEE, par exemple sur le site OpenDataSoft :
- pour Belleville-en-Beaujolais, c'est : 69019 (à ne pas confondre avec le code postal qui est 69220)
- pour Lyon 2e, c'est : 69382 (le dernier chiffre est celui de l'arrondissement)
Il faut ensuite prendre les deux chiffres du département, rajouter le code direction qui vaut 0 en général (voir les exceptions dans la documentation, pour les départements d'outre-mer, Paris, les Bouches-du-Rhône, le Nord et les Hauts-de-Seine), puis terminer avec les trois derniers chiffres du code INSEE.
Le code FANTOIR pour :
- Belleville : 690019
- Lyon 2e : 690382
Extraction des voies
modifierPour extraire les voies directement dans un fichier CSV, il est possible d'utiliser le script suivant écrit en Python version 3 : (le script est consultable à l'annexe2)
extrait ci-dessous
#!/usr/bin/env python
# -*- coding: utf-8 -*-
fichierFANTOIR = 'FANTOIR0119'
codeCommune = '690019'
voies = {
'ACH': 'ancien chemin',
'AER': 'aérodrome',
'AERG': 'aérogare',
'AGL': 'agglomeration',
'AIRE': 'aire',
...
'VTE': 'vieille route',
'ZA': 'ZA',
'ZAC': 'ZAC',
'ZAD': 'ZAD',
'ZI': 'ZI',
'ZONE': 'zone',
'ZUP': 'ZUP',
}
with open(fichierFANTOIR, 'r') as f:
for line in f:
text = line.rstrip()
if not text.startswith(codeCommune):
continue
fantoir = text[0:11]
voie = text[11:15].rstrip()
nom = text[15:41].rstrip()
annulation = text[73].rstrip()
typevoie = ''
if len(text) > 107:
typevoie = text[108].rstrip()
caractere = ''
if len(text) > 108:
caractere = text[109].rstrip()
if voie == 'LYON' or voie == 'N':
continue
if voie != '':
if not voie in voies:
print 'Type de voie inconnu: ' + voie
else:
voie = voies[voie]
if nom != 'NON DESIGNEE':
print(fantoir + ';' + voie + ';' + nom + ';' + annulation + ';' + typevoie + ';' + caractere)
Filtrage du fichier CSV
modifierLe fichier CSV obtenu contient les lieux-dits et quelques bâtiments qui ne nous intéressent pas. Ils s'appellent lotissement ou n'ont tout simplement pas de valeur dans la deuxième colonne.
Code FANTOIR | Voie | Nom | Code annulation | Type | Lieu-dit |
---|---|---|---|---|---|
6900190004X | rue | DES ABATTOIRS | 1 | ||
6900190005Y | chemin | DE L ABBAYE | 1 | ||
6900190020P | rue | DE L ABREUVOIR | 1 |
Le code annulation contient Q quand la voie n'existe plus. Le type que l'on conserve est le 1 (il y a aussi 2 pour les ensembles immobiliers, 3 pour les lieux-dits, 4 pour les pseudo-voies et 5 pour les voies provisoires).
Après correction des erreurs, suppression des lieux sans description et des voies supprimées, il en reste 175 : (voir Annexe3 )
les 10 premières ci-dessous :
- 6900190004X rue DES ABATTOIRS
- 6900190005Y chemin DE L ABBAYE
- 6900190020P rue DE L ABREUVOIR
- 6900190040L rue D AIGUERANDE
- 6900190055C place ALEXIS BICHONNIER
- 6900190063L rue ANTOINE FERRAUD
- 6900190065N rue ANTOINE MORTIER
- 6900190067R rue DES ARMANDS
- 6900190080E rue BALLOFFET DURY
- 6900190090R rue DE BALMONT
...
Liste des voies de la métropole de Lyon
modifierComparaison des fichiers
modifierAprès avoir compilé les différentes liste, il faut maintenant les comparer et garder ceux qui manquent dans l'une ou l'autre.
Par exemple, en comparant les fichiers OSM et FANTOIR, on apprend que le Commandant Bianchetti a pour prénom René (absent sur OSM), et on s'aperçoit que la voie Antoine Mortier est une avenue pour OSM et une rue pour FANTOIR. Le fichier FANTOIR propose une rue François Bourdis, en plus de François Bourdy, qui est probablement la même personne avec une orthographe différente.
Voies du fichier FANTOIR absentes du fichier OSM :
- allée DU CEDRE DE L'ATLAS
- allée DU LAC
- allée DU SEQUOIA
- avenue RENE CASSIN
- chemin DE CHAMBORD
- chemin DE CHAMPCLOS
- chemin DE FONTENAILLES
- chemin DES PALISSARDS
- chemin DU MARU
- chemin DU PORT
- chemin vicinal NO 3
- place CLAUDE BERNARD
- place DU CHAMP DE FOIRE
- place DU VIVIER
- place PORCHERIE
- place VICTOR PULLIAT
- route DE LA MATRAZIERE
- rue DE CHAMPCLOS
- rue DES PRES D OUTRY
- rue DES PRES MELETTE
- rue DU BATTOIR
- rue DU GR SCOL DE LA CROISEE
- rue DU SGT CHARLES GAUTRET
- rue DU STADE
- rue DU THEATRE
- rue FLEURIE
- rue FRANCOIS BOURDIS
- rue GEORGES CHARPAK
- square DE LA RESISTANCE
- square DE LA VIGNE
- square DES GONES
- square LAMARTINE
- voie communale DES GUENETTES
En cherchant sur d'autres cartes (Mappy, Google Maps, documents divers sur internet), on trouve ces voies qui n'existent pas (encore) sur OSM :
- allée DU LAC
- avenue RENE CASSIN
- chemin DE CHAMBORD
- chemin DU MARU
- place DU VIVIER
- rue DE CHAMPCLOS
- rue DU BATTOIR
- rue DU SGT CHARLES GAUTRET (probablement la rue du Sergeant Charles Gautheret)
- rue FRANCOIS BOURDIS (probablement la rue François Bourdy)
- rue GEORGES CHARPAK
Constitution d'un fichier CSV dans un tableur
modifierScript d'import dans Wikidata
modifierUne fois les données bien rangées dans un tableau, il est possible de les importer automatiquement avec un petit bot. Celui-ci est écrit en Python pour Pywikibot. Il suppose que élements Wikidata qui existent déjà ont été enlevés du fichier (sinon il plante).
# -*- coding: utf-8 -*
import pywikibot
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
import csv, sys
localite = 'Q58183261' # Belleville-en-Beaujolais
def create_wd_item(site, label_dict):
new_item = pywikibot.ItemPage(site)
new_item.editLabels(labels=label_dict, summary=u"Création d'un nouvel élément")
return new_item.getID()
natures = {
'allée': 'Q207934',
'avenue': 'Q7543083',
'boulevard': 'Q54114',
'chemin': 'Q5004679',
'cours': 'Q16544740',
'esplanade': 'Q88372',
'impasse': 'Q12731',
'jardin public': 'Q55177716',
'montée': 'Q79007',
'parc': 'Q22746',
'passage': 'Q13634881',
'passerelle': 'Q1068842',
'place': 'Q174782',
'promenade': 'Q787113',
'quai': 'Q3840711',
'rond-point': 'Q1529',
'rue': 'Q79007',
'ruelle': 'Q1251403',
'square': 'Q2026833',
'traboule': 'Q8379'
}
with open('Belleville-en-Beaujolais.csv') as csv_file:
reader = csv.reader(csv_file, delimiter=';')
line_count = 0
for row in reader:
if line_count == 0:
pass
else:
fantoir = row[0]
libelle = row[1]
description = row[2]
nature = row[3]
pays = row[4]
codepostal = row[5]
coords = row[6]
relationOSM = row[7]
referenceA = row[8]
print(f"\tVoie: {libelle}, nature {nature}, code postal {codepostal}, coords {coords}, OSM {relationOSM}, référence {referenceA}.")
# test nature
natureQ = ''
if nature in natures:
natureQ = natures[nature]
else:
print("Voie inconnue: ", nature)
sys.exit()
latS, lonS = coords.split(',')
latI = float(latS)
lonI = float(lonS)
print(f'Lat: {latI}, lon: {lonI}')
# create WD
some_labels = {"fr": libelle}
new_item_id = create_wd_item(site, some_labels)
print(new_item_id)
item = pywikibot.ItemPage(repo, new_item_id)
item.get()
claim = pywikibot.Claim(repo, u'P31') # nature de l'élément
target = pywikibot.ItemPage(repo, natureQ)
claim.setTarget(target)
item.addClaim(claim, summary=u'Nature')
desc = { u'fr': description }
item.editDescriptions(desc, summary=u'Set description')
claim = pywikibot.Claim(repo, u'P17') # pays
target = pywikibot.ItemPage(repo, u'Q142') # France
claim.setTarget(target)
item.addClaim(claim, summary=u'Pays')
claim = pywikibot.Claim(repo, u'P131') # localisation administrative
target = pywikibot.ItemPage(repo, localite)
claim.setTarget(target)
item.addClaim(claim, summary=u'Localisation')
claim = pywikibot.Claim(repo, u'P281') # code postal
claim.setTarget(codepostal)
item.addClaim(claim, summary=u'Code postal')
coordinateclaim = pywikibot.Claim(repo, u'P625')
coordinate = pywikibot.Coordinate(lat=latI, lon=lonI, precision=0.0001, site=site)
coordinateclaim.setTarget(coordinate)
item.addClaim(coordinateclaim, summary=u'Coordinates')
if fantoir:
claim = pywikibot.Claim(repo, u'P3182') # code FANTOIR
claim.setTarget(fantoir)
item.addClaim(claim, summary=u'Code FANTOIR')
if relationOSM:
claim = pywikibot.Claim(repo, u'P402') # relation OSM
claim.setTarget(relationOSM)
item.addClaim(claim, summary=u'relation OSM')
if referenceA:
claim = pywikibot.Claim(repo, u'P138') # nommé en référence à
reference = pywikibot.ItemPage(repo, referenceA)
claim.setTarget(reference)
item.addClaim(claim, summary=u'nommé en référence à')
line_count += 1
Affichage du résultat dans Wikidata
modifierPour afficher l'ensemble des voies sur une carte, une requête SPARQL :
#defaultView:Map
SELECT DISTINCT ?voie ?image ?coord ?loc ?locLabel ?layer ?voieLabel WHERE {
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q79007. } # rue
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q174782. } # place
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q16544740. } # cours
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q3840711. } # quai
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q13634881. } # passage
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q2354973. } # tunnel routier
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q22746. } # jardin public
UNION
{ ?voie (wdt:P31/(wdt:P279*)) wd:Q3323198. } # montée
MINUS
{ ?voie wdt:P582 ?dateDeFin. } # on exclut les voies qui ont une date de fin (n'existent plus)
?voie wdt:P131 wd:Q58183261. # localisation administrative = Belleville-en-Beaujolais
OPTIONAL { ?voie wdt:P18 ?image. } # affichage de l'image si elle existe
BIND(IF(?image = "", "yes", "no") AS ?layer)
OPTIONAL { ?voie wdt:P625 ?coord. }
OPTIONAL { ?voie wdt:P131 ?loc. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
Lien direct vers la carte.
Annexes
modifierAnnexe 1 - Extraction des voies depuis le fichier JSON
modifierVoici la liste des 302 voies obtenues :
- Allée des Jardiniers
- Allée des Sablons
- Allée du Parc
- Allée du Petit Prince
- Autoroute du Soleil
- Avenue Antoine Mortier
- Avenue Benoît Raclet
- Avenue de l'Europe
- Avenue de Salzkotten
- Avenue des Explorateurs
- Avenue des Vendangeurs
- Avenue de Verdun
- Avenue du Port
- Avenue Marius Mathon
- Boulevard Gambetta
- Boulevard Joseph Rosselli
- Carrefour des crus
- Chemin Beauj'Ano
- Chemin Caron
- Chemin d'Amorges
- Chemin de Balmont
- Chemin de l'Abbaye
- Chemin de l'Abbaye à Peillon
- Chemin de la Grange du Villard
- Chemin de Pain Perdu
- Chemin de Pomponey
- Chemin de Saône
- Chemin des Cerisiers
- Chemin des Gouchoux
- Chemin des Massues
- Chemin des Sablons
- Chemin des Vignes
- Chemin du Pressoir
- Chemin Sainte-Catherine
- Contre-Allée Rue des Remparts
- Espace Francis Mandy
- Impasse Akhenaton
- Impasse Balmont
- Impasse de la Favorite
- Impasse de la Gaité
- Impasse de la Noiseraie
- Impasse de la Thébaïde
- Impasse de l'Écluse
- Impasse de l'Hôpital
- Impasse de l'Oasis
- Impasse des Biches
- Impasse des Bouleaux
- Impasse des Cerisiers
- Impasse des Garennes
- Impasse des Graves
- Impasse des Grives
- Impasse des Hirondelles
- Impasse des Jardins
- Impasse des Lauriers
- Impasse des Lilas
- Impasse des Lys
- Impasse des Méharis
- Impasse des Oiseaux
- Impasse des Orchidées
- Impasse des Plattards
- Impasse des Poiriers
- Impasse des Pommiers
- Impasse des Rosiers
- Impasse des Sables
- Impasse des Sarments
- Impasse des Saules
- Impasse des Tonneliers
- Impasse des Vergers
- Impasse de Villandry
- Impasse du Clos
- Impasse du Grand Logis
- Impasse du Jarlot
- Impasse du Moulin
- Impasse du Paradis
- Impasse du Prieuré
- Impasse du Reg
- Impasse du Sou
- Impasse du Stade Jomard Dury
- Impasse Edith Piaf
- Impasse Gizeh
- Impasse Grange Gauthier
- Impasse Hector Berlioz
- Impasse Jean Ferrat
- Impasse Léo Ferré
- Impasse Lucy
- Impasse Serge Réggiani
- Impasse Théodore Monod
- Impasse Vivaldi
- Impasse Yves Coppens
- Parking de l'Étang
- Passage du 3 Septembre 1944
- Passage Souterrain
- Place Alexis Bichonnier
- Place de la Gare
- Place de l'Église
- Place des Arts
- Place du Timbre
- Place Georges Dutrève
- Place Henri Nigay
- Place Pasteur
- Porte du Beaujolais
- Quai Charles Voisin
- Quai Joannes Monternier
- Rocade Nord de Belleville
- Rond-Point de Peillon
- Rond-point des Remparts
- Rond-Point d’Outry
- Rond-point du Beaujolais
- Rond-point du Lycée
- Rond-Point du Motio
- Rond-point du parc Popy
- Rond-point Joseph-Rosselli
- Route d'Amorges
- Route de Beaujeu
- Route de Bel Air
- Route de Bois-Dieu
- Route de Chalendières
- Route de Champanard
- Route de Chantemerle
- Route de Charentay
- Route de Chassagne
- Route de Commune
- Route de Fort Michon
- Route de Frans
- Route de Grille Midi
- Route de Grolet
- Route de Jasseron
- Route de la Charaboutière
- Route de la Croix Rouge
- Route de l'Aérodrome
- Route de la Mézerine
- Route de l'Érable Champêtre
- Route d'Éloi
- Route de Mâcon
- Route de Moreil
- Route de Pizay
- Route de Ruty
- Route de Sainte-Geneviève
- Route de Saint-Ennemond
- Route des Beaujolais
- Route des Granges
- Route des Guenettes
- Route des Massues
- Route des Nazins
- Route des Petites Bruyères
- Route des Pillets
- Route des Rochons
- Route des Sarments
- Route des Vadoux
- Route de Thouaille
- Route de Thuaille
- Route de Villié
- Route du Château
- Route du Pont
- Route Henri Fessy
- Route Nationale
- Route Paul Melot
- Rue Albert Schweitzer
- Rue Antoine Ferraud
- Rue Balloffet-Dury
- Rue Bayard
- Rue Burdiat
- Rue Chopin
- Rue Claude Nougaro
- Rue Colombier
- Rue Cugnot
- Rue d'Aiguerande
- Rue David Comby
- Rue de Balmont
- Rue de Bois Blanchet
- Rue de Bourgogne
- Rue de Chambord
- Rue de Champs-Clos
- Rue de Descours
- Rue De Dion-Bouton
- Rue de Fontenailles
- Rue de Grange Rouge
- Rue de la Blanchisserie
- Rue de la Brasserie
- Rue de l'Abreuvoir
- Rue de la Charbonnière
- Rue de la Combe
- Rue de la Dune Rose
- Rue de la Fontaine
- Rue de la Gare
- Rue de la Grange Berchet
- Rue de la Grappe
- Rue de la Plume
- Rue de la Poste
- Rue de la République
- Rue de la Salamandre
- Rue de la Serpette
- Rue de la Serve de Vignes
- Rue de la Tannerie
- Rue de l'Étang
- Rue de l'Étang de Laly
- Rue de l'Industrie
- Rue de Peillon
- Rue des Abattoirs
- Rue des Armands
- Rue des Artisans
- Rue des Arts
- Rue des Compagnons
- Rue des Coteaux
- Rue des Crus
- Rue des Écoles
- Rue des Fonderies
- Rue des Frères Lumière
- Rue des Frères Voisin
- Rue des Grisemottes
- Rue des Maisons Neuves
- Rue des Mésanges
- Rue des Mûres
- Rue des Négociants
- Rue des Palissards
- Rue des Pérelles
- Rue des Plattards
- Rue des Poutoux
- Rue des Prés de la Cloche
- Rue des Primeurs
- Rue des Remparts
- Rue des Sarmentelles
- Rue des Tourterelles
- Rue des Vignerons
- Rue des Vignobles
- Rue des Villards
- Rue de Tanis
- Rue du 11 Novembre 1918
- Rue du 14 Juillet
- Rue du 8 Mai
- Rue du 8 Mai 1945
- Rue du Béal
- Rue du Beaujolais
- Rue du Bois Baron
- Rue du Bois Fleuri
- Rue du Canon Braque
- Rue du Cep
- Rue du Clos Du Chateau
- Rue du Commandant Bianchetti
- Rue du Désert Blanc
- Rue du Docteur Duplant
- Rue du Forgeron
- Rue du Four
- Rue du Mâconnais
- Rue du Maréchal Foch
- Rue du Mont Brouilly
- Rue du Moulin
- Rue du Nil
- Rue du Parc Saint-Jean
- Rue du Pré de l'Ardières
- Rue du Presbytère
- Rue du Pressoir
- Rue du Roy
- Rue du Sahara
- Rue du Sergent Charles Gautheret
- Rue du Sou
- Rue du Tonkin
- Rue du Vivier
- Rue Élise Portal
- Rue Francis Popy
- Rue François Bourdy
- Rue Gabriel Voisin
- Rue Georges Brassens
- Rue Gonthier
- Rue Granger
- Rue Jean Carron
- Rue Jean Macé
- Rue Jean Philibert Damiron
- Rue Jean Sébastien Bach
- Rue Johan Strauss
- Rue Joliot Curie
- Rue Joseph Pillard
- Rue Jules Ferry
- Rue Lamartine
- Rue Lulli
- Rue Martinière
- Rue Michel
- Rue Michel Richard Delalande
- Rue Mozart
- Rue Muller
- Rue Pasteur
- Rue Paul Berthoud
- Rue Paulin Bussières
- Rue Pêcherie
- Rue Pidancet
- Rue Pierre Cothenet
- Rue Pierre Montet
- Rue Prévert
- Rue Saint-André
- Rue Saint-Exupéry
- Rue Teillard Pressavin
- Rue Théodore Monod
- Rue Thévenet
- Rue Verdi
- Rue Victor Hugo
- Rue Vivaldi
- Rue Voie Royale
- Rue Yves Coppens
- Square de la Liberté
- Square du Souvenir
- Voie de la Baryte
- Voie Verte du Beaujolais
Annexe 2 - Script de filtrage du fichier FANTOIR
modifier#!/usr/bin/env python
# -*- coding: utf-8 -*-
fichierFANTOIR = 'FANTOIR0119'
codeCommune = '690019'
voies = {
'ACH': 'ancien chemin',
'AER': 'aérodrome',
'AERG': 'aérogare',
'AGL': 'agglomeration',
'AIRE': 'aire',
'ALL': 'allée',
'ANGL': 'angle',
'ARC': 'arcade',
'ART': 'ancienne route',
'AUT': 'autoroute',
'AV': 'avenue',
'BASE': 'base',
'BD': 'boulevard',
'BER': 'berge',
'BORD': 'bord',
'BRE': 'barrière',
'BRG': 'bourg',
'BRTL': 'bretelle',
'BSN': 'bassin',
'CAE': 'carriera',
'CALL': 'calle/callada',
'CAMI': 'camin',
'CAMP': 'camp',
'CAN': 'canal',
'CAR': 'carrefour',
'CARE': 'carrière',
'CASR': 'caserne',
'CC': 'chemin communal',
'CD': 'chemin departemental',
'CF': 'chemin forestier',
'CHA': 'chasse',
'CHE': 'chemin',
'CHEM': 'cheminement',
'CHL': 'chalet',
'CHP': 'champ',
'CHS': 'chaussée',
'CHT': 'château',
'CHV': 'chemin vicinal',
'CITE': 'cité',
'CIVE': 'coursive',
'CLOS': 'clos',
'CLR': 'couloir',
'COIN': 'coin',
'COL': 'col',
'COR': 'corniche',
'CORO': 'coron',
'COTE': 'côte',
'COUR': 'cour',
'CPG': 'camping',
'CR': 'chemin rural',
'CRS': 'cours',
'CRX': 'croix',
'CTR': 'contour',
'CTRE': 'centre',
'DARS': 'darse/darce',
'DEVI': 'déviation',
'DIG': 'digue',
'DOM': 'domaine',
'DRA': 'draille',
'DSC': 'descente',
'ECA': 'écart',
'ECL': 'écluse',
'EMBR': 'embranchement',
'EMP': 'emplacement',
'ENC': 'enclos',
'ENV': 'enclave',
'ESC': 'escalier',
'ESP': 'esplanade',
'ESPA': 'espace',
'ETNG': 'étang',
'FD': 'fond',
'FG': 'faubourg',
'FON': 'fontaine',
'FOR': 'forêt',
'FORT': 'fort',
'FOS': 'fosse',
'FRM': 'ferme',
'GAL': 'galerie',
'GARE': 'gare',
'GBD': 'grand boulevard',
'GPL': 'grande place',
'GR': 'grande rue',
'GREV': 'grêve',
'HAB': 'habitation',
'HAM': 'hameau',
'HIP': 'hippodrome',
'HLE': 'halle',
'HLG': 'halage',
'HLM': 'HLM',
'HTR': 'hauteur',
'ILE': 'île',
'ILOT': 'îlot',
'IMP': 'impasse',
'JARD': 'jardin',
'JTE': 'jetée',
'LAC': 'lac',
'LEVE': 'levée',
'LICE': 'lices',
'LIGN': 'ligne',
'LOT': 'lotissement',
'MAIL': 'mail',
'MAIS': 'maison',
'MAR': 'marché',
'MARE': 'mare',
'MAS': 'mas',
'MNE': 'morne',
'MRN': 'marina',
'MTE': 'montée',
'NTE': 'nouvelle route',
'PAE': 'petite avenue',
'PARC': 'parc',
'PAS': 'passage',
'PASS': 'passe',
'PCH': 'petit chemin',
'PCHE': 'porche',
'PHAR': 'phare',
'PIST': 'piste',
'PKG': 'parking',
'PL': 'place',
'PLA': 'placa',
'PLAG': 'plage',
'PLAN': 'plan',
'PLCI': 'placis',
'PLE': 'passerelle',
'PLN': 'plaine',
'PLT': 'plateau',
'PNT': 'pointe',
'PONT': 'pont',
'PORQ': 'portique',
'PORT': 'port',
'POST': 'poste',
'POT': 'poterne',
'PROM': 'promenade',
'PRT': 'petite route',
'PRV': 'parvis',
'PTA': 'petite alleé',
'PTE': 'porte',
'PTR': 'petite rue',
'PTTE': 'placette',
'QUA': 'quartier',
'QUAI': 'quai',
'RAC': 'raccourci',
'REM': 'rempart',
'RES': 'résidence',
'RIVE': 'rive',
'RLE': 'ruelle',
'ROC': 'rocade',
'RPE': 'rampe',
'RPT': 'rond-point',
'RTD': 'rotonde',
'RTE': 'route',
'RUE': 'rue',
'RUET': 'ruette',
'RUIS': 'ruisseau',
'RULT': 'ruellette',
'RVE': 'ravine',
'SAS': 'sas',
'SEN': 'sentier;sente',
'SQ': 'square',
'STDE': 'stade',
'TER': 'terre',
'TOUR': 'tour',
'TPL': 'terre-plein',
'TRA': 'traverse',
'TRAB': 'traboule',
'TRN': 'terrain',
'TRT': 'tertre',
'TSSE': 'terrasse',
'TUN': 'tunnel',
'VAL': 'val',
'VALL': 'vallon/vallée',
'VC': 'voie communale',
'VCHE': 'vieux chemin',
'VEN': 'venelle',
'VGE': 'village',
'VIA': 'via',
'VIAD': 'viaduc',
'VIL': 'ville',
'VLA': 'villa',
'VOIE': 'voie',
'VOIR': 'voirie',
'VOUT': 'voute',
'VOY': 'voyeul',
'VTE': 'vieille route',
'ZA': 'ZA',
'ZAC': 'ZAC',
'ZAD': 'ZAD',
'ZI': 'ZI',
'ZONE': 'zone',
'ZUP': 'ZUP',
}
with open(fichierFANTOIR, 'r') as f:
for line in f:
text = line.rstrip()
if not text.startswith(codeCommune):
continue
fantoir = text[0:11]
voie = text[11:15].rstrip()
nom = text[15:41].rstrip()
annulation = text[73].rstrip()
typevoie = ''
if len(text) > 107:
typevoie = text[108].rstrip()
caractere = ''
if len(text) > 108:
caractere = text[109].rstrip()
if voie == 'LYON' or voie == 'N':
continue
if voie != '':
if not voie in voies:
print 'Type de voie inconnu: ' + voie
else:
voie = voies[voie]
if nom != 'NON DESIGNEE':
print(fantoir + ';' + voie + ';' + nom + ';' + annulation + ';' + typevoie + ';' + caractere)
Annexe 3 - Liste des voies FANTOIR
modifier- 6900190004X rue DES ABATTOIRS
- 6900190005Y chemin DE L ABBAYE
- 6900190020P rue DE L ABREUVOIR
- 6900190040L rue D AIGUERANDE
- 6900190055C place ALEXIS BICHONNIER
- 6900190063L rue ANTOINE FERRAUD
- 6900190065N rue ANTOINE MORTIER
- 6900190067R rue DES ARMANDS
- 6900190080E rue BALLOFFET DURY
- 6900190090R rue DE BALMONT
- 6900190100B rue DU BATTOIR
- 6900190110M rue BAYARD
- 6900190115T rue DU BEAL
- 6900190120Y route DE BEAUJEU
- 6900190130J rue DU BEAUJOLAIS
- 6900190135P avenue BENOIT RACLET
- 6900190136R rue DE LA BLANCHISSERIE
- 6900190137S impasse DES BICHES
- 6900190150F rue DU BOIS BARON
- 6900190154K rue DE BOIS BLANCHET
- 6900190181P route DE BOIS DIEU
- 6900190190Z rue DE BOURGOGNE
- 6900190200K rue DE LA BRASSERIE
- 6900190210W rue BURDIAT
- 6900190220G rue DU CANON BRAQUE
- 6900190230T chemin CARON
- 6900190232V allée DU CEDRE DE L'ATLAS
- 6900190234X impasse DES CERISIERS
- 6900190236Z chemin DE CHAMBORD
- 6900190237A rue DE CHAMBORD
- 6900190245J chemin DE CHAMPCLOS
- 6900190247L rue DE CHAMPCLOS
- 6900190248M place DU CHAMP DE FOIRE
- 6900190249N route DE LA CHARABOUTIERE
- 6900190250P rue DE LA CHARBONNIERE
- 6900190260A route DE CHARENTAY
- 6900190264E rue DU SGT CHARLES GAUTRET
- 6900190270L quai CHARLES VOISIN
- 6900190275S chemin vicinal NO 3
- 6900190280X place CLAUDE BERNARD
- 6900190290H rue DU COLOMBIER
- 6900190293L rue DE LA COMBE
- 6900190307B route DE COMMUNE
- 6900190308C rue DU CDT RENE BIANCHETTI
- 6900190309D rue DES COTEAUX
- 6900190312G route DE LA CROIX ROUGE
- 6900190315K rue DES CRUS
- 6900190330B rue DAVID COMBY
- 6900190332D rue DE DESCOURS
- 6900190350Y rue DOC DUPLANT
- 6900190355D place GEORGES DUTREVE
- 6900190360J rue DES ECOLES
- 6900190370V place DE L EGLISE
- 6900190375A rue ELISE PORTAL
- 6900190378D impasse DE LA FAVORITE
- 6900190380F rue FLEURIE
- 6900190394W chemin DE FONTENAILLES
- 6900190396Y rue DE FONTENAILLES
- 6900190400C rue DU FOUR
- 6900190405H rue FRANCIS POPY
- 6900190410N rue FRANCOIS BOURDIS
- 6900190411P rue FRANCOIS BOURDY
- 6900190415U rue GABRIEL VOISIN
- 6900190420Z boulevard GAMBETTA
- 6900190450G place DE LA GARE
- 6900190455M rue GEORGES CHARPAK
- 6900190458R square DES GONES
- 6900190460T rue GONTHIER
- 6900190475J rue DE GRANGE ROUGE
- 6900190480P rue GRANGER
- 6900190482S impasse DES GRAVES
- 6900190485V rue DU GR SCOL DE LA CROISEE
- 6900190487X voie communale DES GUENETTES
- 6900190488Y route DES GUENETTES
- 6900190492C place HENRI NIGAY
- 6900190500L impasse DE L HOPITAL
- 6900190509W allée DES JARDINIERS
- 6900190510X rue DU 8 MAI 1945
- 6900190515C rue DE L INDUSTRIE
- 6900190516D impasse DU JARLOT
- 6900190517E rue JEAN MACE
- 6900190518F rue JEAN PHILIBERT DAMIRON
- 6900190519G quai JOANNES MONTERNIER
- 6900190520H rue JOSEPH PILLARD
- 6900190525N boulevard JOSEPH ROSSELLI
- 6900190526P impasse DES JARDINS
- 6900190527R allée DU LAC
- 6900190528S rue DE L ETANG DE LALY
- 6900190530U square LAMARTINE
- 6900190540E rue DU MACONNAIS
- 6900190555W rue DES MAISONS NEUVES
- 6900190560B rue MAL FOCH
- 6900190570M avenue MARIUS MATHON
- 6900190580Y rue MARTINIERE
- 6900190595P chemin DU MARU
- 6900190597S route DE LA MATRAZIERE
- 6900190600V rue DES MESANGES
- 6900190605A route DE LA MEZERINE
- 6900190615L rue MICHEL
- 6900190617N rue DU MONT BROUILLY
- 6900190620S rue DU MOULIN
- 6900190621T impasse DU MOULIN
- 6900190625X rue MULLER
- 6900190630C route NATIONALE
- 6900190632E rue DES NEGOCIANTS
- 6900190640N rue DU 11 NOV 1918
- 6900190642R chemin DE PAIN PERDU
- 6900190645U rue DES PALISSARDS
- 6900190646V route DES PILLETS
- 6900190647W rue DES POUTOUX
- 6900190651A rue DES PRES D OUTRY
- 6900190655E chemin DES PALISSARDS
- 6900190661L impasse DU PARADIS
- 6900190668U allée DU PARC
- 6900190669V place PASTEUR
- 6900190670W rue PASTEUR
- 6900190675B rue PAUL BERTHOUD
- 6900190680G rue PAULIN BUSSIERES
- 6900190690T rue PECHERIE
- 6900190715V rue DE PEILLON
- 6900190717X allée DU PETIT PRINCE
- 6900190730L rue PIDANCET
- 6900190745C rue DES PLATTARDS
- 6900190752K rue DE LA PLUME
- 6900190753L impasse DES POIRIERS
- 6900190754M impasse DES POMMIERS
- 6900190755N place PORCHERIE
- 6900190757R chemin DE POMPONEY
- 6900190780R avenue DU PORT
- 6900190785W chemin DU PORT
- 6900190790B rue DE LA POSTE
- 6900190809X rue DES PRES DE LA CLOCHE
- 6900190811Z rue DES PRES MELETTE
- 6900190815D rue DU PRESBYTERE
- 6900190816E rue DU PRESSOIR
- 6900190817F rue DES PRIMEURS
- 6900190820J rue DU 14 JUILLET
- 6900190830V rue DES REMPARTS
- 6900190833Y avenue RENE CASSIN
- 6900190850S rue DE LA REPUBLIQUE
- 6900190860C square DE LA RESISTANCE
- 6900190861D rue DU ROY
- 6900190866J chemin DES SABLONS
- 6900190867K allée DES SABLONS
- 6900190880Z rue SAINT ANDRE
- 6900190882B rue SAINT EXUPERY
- 6900190883C rue DE LA SALAMANDRE
- 6900190885E avenue DE SALZKOTTEN
- 6900190890K chemin DE LA SAONE
- 6900190892M rue DES SARMENTELLES
- 6900190893N rue DE LA SERPETTE
- 6900190894P passage DU 3 SEPTEMBRE 1944
- 6900190896S rue DU STADE
- 6900190898U impasse DU STADE JOMARD DURY
- 6900190899V rue DE LA SERVE DE VIGNES
- 6900190900W rue DE LA TANNERIE
- 6900190902Y allée DU SEQUOIA
- 6900190910G rue TEILLARD PRESSAVIN
- 6900190913K rue DU THEATRE
- 6900190914L impasse DE LA THEBAIDE
- 6900190915M rue THEVENET
- 6900190918R place DU TIMBRE
- 6900190920T rue DU TONKIN
- 6900190923W impasse DES TONNELIERS
- 6900190931E route DES VADOUX
- 6900190932F avenue DES VENDANGEURS
- 6900190935J avenue DE VERDUN
- 6900190940P rue VICTOR HUGO
- 6900190942S place VICTOR PULLIAT
- 6900190943T square DE LA VIGNE
- 6900190944U rue DES VIGNERONS
- 6900190945V rue DES VIGNOBLES
- 6900190948Y impasse DE VILLANDRY
- 6900190950A place DU VIVIER
- 6900190951B rue DU VIVIER