osm-fr / bano Goto Github PK
View Code? Open in Web Editor NEWDifférents outils pour la constitution de la Base Adresses Nationale Ouverte
License: Do What The F*ck You Want To Public License
Différents outils pour la constitution de la Base Adresses Nationale Ouverte
License: Do What The F*ck You Want To Public License
Dans le cas d'un code Fantoir erroné dans OSM ou inconnu en base, la mise en correspondance avec un nom plante.
A priori, ôter "rural dit" des noms du cadastre. À analyser.
Les highway=road semble ne pas être pris en compte dans le processus. Certes, le "road" ne qualifie pas la voie, mais si le nommage est bon c'est déjà ça :-)
Exemple ici : https://www.openstreetmap.org/way/282854081
P.S. : oui, j'irai faire un tour dans cette "petite rue" ;-)
Le code fantoir doit être utilisé en priorité sur le nom pour retrouver une voie
Les places des villes sont parfois des parkings, et le nom de la place est alors celui du parking. Devraient-ils être exploités par bano ?
Un exemple ici :
http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#18/48.81549/7.79460
Lorsqu'il y a plusieurs numéros pour un point, on trouve actuellement deux syntaxes différentes (virgule ou point virgule comme séparateur) pour le champ contenant ces numéros, par exemple :
"351520042W-10,12,14","10,12,14",Rue du Chêne Micault,35340,Liffré,OSM,48.209432,-1.516704
et :
"041120154T-63,67,83","63;67;83",Rue du Cast,04100,Manosque,OSM,43.834480,5.802770
Certaines rues ont des portions avec des variations de noms 👍 http://www.openstreetmap.org/way/296782371
http://www.openstreetmap.org/way/296782373
Côté Bano ça n'est pas toujours le même nom qui est retenu, ce qui occasionne des lignes de diff sans intérêt :
osm-fr/bano-data@53dfcbd#diff-9bb497eb39fc2e45ce50576a3e66251eL25017
=> Ajouter un tri dans la récupération des données OSM pour gagner en régularité.
Clés de tri possible : ordre alphabétique sur le nom, ou nom porté par la plus grande longueur de voie
Des adresses sont en double dans l'export (avec des coordonnées différentes)
2 02,287,0030D,52
2 02,826,0003F,2BIS
3 05,061,1210J,16BIS
2 12,176,0345W,76BIS
2 17,131,0005F,15BIS
2 18,033,3390H,183B
2 18,279,0714E,1A
2 21,492,0360J,8D
...
Route de Saint-Germain Rd 947
Route du Thoronet Rd 84
Route de Saint-Didier Rd 210
etc...
à tronquer avant RD lorsque ça correspond à un nom de voie autonome
ne mettre à jour code_cadastre qu'avec les communes
Dans les csv, il faudrait encadrer les chaines de caractères avec des guillemets et échapper les potentiels guillemets existants.
J'ai des numéros multiples dès le 01 séparés par une virgule.
Merci
Bonjour,
J'ai trouvé une abréviation (qui est probablement dans le Fantoir) et qui mériterait d'être développée avant d'être rapprochée des noms OSM :
Fbg -> Faubourg
Voir par exemple à : http://layers.openstreetmap.fr/?zoom=19&lat=44.33728&lon=1.20567&layers=00B00FFFFFFFFFFFFFFFFFFFFFFT
Par ailleurs, il y a encore des cas où le nom reconstruit contient une répétition "Rond Point Rond Point" :
http://layers.openstreetmap.fr/?zoom=19&lat=43.54489&lon=1.46552&layers=00B00FFFFFFFFFFFFFFFFFFFFFFT
Art.
avec rétention de 24h pour accéler les passes successives de cumul CAD et OSM
On trouve encore des ;
"Petit Chemin Pt Chem" :
http://layers.openstreetmap.fr/?zoom=19&lat=43.60568&lon=1.32948&layers=0B000FFFFFFFFFFFFFFFFFFFFFFT
"Petit Chemin Petit Chem" :
http://layers.openstreetmap.fr/?zoom=18&lat=43.61335&lon=1.3292&layers=0B000FFFFFFFFFFFFFFFFFFFFFFT
"Petite Allée Pte Allée" :
http://layers.openstreetmap.fr/?zoom=19&lat=43.6031&lon=1.34732&layers=0B000FFFFFFFFFFFFFFFFFFFFFFT
"Petite Allée Pte All" :
http://layers.openstreetmap.fr/?zoom=18&lat=43.60568&lon=1.34353&layers=0B000FFFFFFFFFFFFFFFFFFFFFFT
Si la voie n'est pas dans la commune il n'y a pas les adresses sur le cadastre
Les itérations France sont chronophages. Quelques tests montrent que les requêtes vers la base OSM à jour sont bien plus efficaces (rapportées à la commune) par département que par commune => préférer 100 requêtes à 36000...
passer 'E' en 'EME'
ex.: http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#18/48.81780/2.48146
Dans le fichier bano-35.csv, on trouve des doublons, ex:
352389030S-33,33,Boulevard de Sévigné,35000,Rennes,OD,48.116421,-1.670010
352389030S-33,33,Boulevard de Sévigné,35000,Rennes,OD,48.116423,-1.670106
352389030S-33B,33BIS,Boulevard de Sévigné,35000,Rennes,C+O,48.116690,-1.670098
Après vérification, il s'agit du numéro 33 et 33 bis récupérés du fichier Opendata de Rennes mais l'extension est perdue lors de l'import par le script BANO.
On voit aussi que le 33 bis est alors identifié via le rapprochement cadastre.
Pour info, le fichier des adresses de Rennes contient bien l'extension. Je n'ai pas regardé si le problème apparait pour d'autres villes OpenData.
Afin de nettoyer un peu tout ça, je vous propose de remplacer (regexp) :
Note passer en case insensitive (?i) si besoin.
"^A[Éée]roport\s+(.+)" par "Aéroport $1"
"^(All[Éée]e|All)\s+(.+)" par "Allée $2"
"^Au\s_-?\s_Dessus\s+(.+)" par "Au-dessus $1"
"^(Avenue|Ave|Av)\s+(.+)" par "Avenue $2"
"^Bas\s+(.+)" par "Bas $1"
"^Base\s+A[Éée]rienne\s+(.+)" par "Base Aérienne $1"
"^(Boulevard|Bd)\s+(.+)" par "Boulevard $2"
"^Centre\s+(Commer)?cial\s+(.+)" par "Centre Commercial $2"
"^CES\s+(.+)" par "CES $1"
"^Ch[Ââa]teau\s+(.+)" par "Château $1"
"^(Che|Chem|Chemin)\s+(.+)" par "Chemin $2"²
"^Cit[Éée]\s+(.+)" par "Cité $1"
"^Cours\s+(.+)" par "Cours $1"
"^D\s+de\s+(.+)$" par "Route Départementale de $1"
"^Derri[Èèe]re\s+(.+)" par "Derrière $1"
"^Entr[Éée]e\s+(.+)" par "Entrée $1"
"^[Éée]cluse\s+(.+)" par "Écluse $1"
"^([Éée]tablissement|Ets)\s+(.+)" par "Établissement $2"
"^[Éée]tang\s+(.+)" par "Étang $1"
"^(Grand|Gd)\s+(Chemin|Chem)\s+(.+)" par "Grand Chemin $3"
"^Grande\s+All[Éée]e\s+(.+)" par "Grande Allée $1"
"^Grand\s+?-?rue\s+(.+)" par "Grand-rue $1"
"^Gde\s+(.+)" par "Grande $1"
"^HLM\s+(.+)" par "HLM $1"
"^(Haut|Ht)\s+(.+)" par "Haut $2"
"^[Îîi]let\s+(.+)" par "Îlet $1"
"^[Îîi]lot\s+(.+)" par "Îlot $1"
"^(Immeuble|Imm)\s+(.+)" par "Immeuble $2"
"^(Imp[Ââa]sse|Imp)\s+(.+)" par "Impasse $2"
"^L\s+(.+)" par "L'$1"
"^Les\s+(.+)" par "Les $1"
"^(Lieu-?\s+?dit|Ldt)\s+(.+)" par "Lieu-dit $2"
"^Petite\s+Rue\s+La\s+(Petite|Ptr|Pte)\s+Rue$" par "La Petite Rue"
"^Petite\s+Rue\s+La\s+(Petite|Ptr|Pte)\s+Rue\s+(.+)" par "La Petite Rue $2"
"^(L[Ôôo]t.?|L[Ôôo]tiss|L[Ôôo]tissement)\s+(.+)" par "Lotissement $2"
"^Mont[Éée]e\s+(.+)" par "Montée $1"
"^Passage\s+(.+)" par "Passage $1"
"^(Place|Placa|Pla|PL)\s+(.+)" par "Place $2"
"^Pi[Èèe]ce\s+(.+)" par "Pièce $1"
"^Petit\s+Chemin\s+Petit\s+Chem(in)?\s+(.+)" par "Petit Chemin $2"
"^Petite\s+All[Éée]e\s+Petite\s+All[Éée]e$" par "Petite Allée"
"^Petite\s+All[Éée]e\s+Petite\s+All[Éée]e\s+(.+)" par "Petite Allée $1"
"^Petite\s+Avenue\s+(Petite|Pet)\s+(Avenue|Ave)$" par "Petite Avenue"
"^Petite\s+Avenue\s+(Petite|Pet)\s+(Avenue|Ave)\s+(.+)" par "Petite Avenue $3"
"^Petite\s+Rue\s+(Petite|Ptr|Pte)\s+Rue$" par "Petite Rue"
"^Petite\s+Rue\s+(Petite|Ptr|Pte)\s+Rue\s+(.+)" par "Petite Rue $2"
"^(Petite|Pte)\s+(.+)" par "Petite $2"
"^Pr[Éée]\s+(.+)" par "Pré $1"
"^Pr[Èèe]s\s+(.+)" par "Près $1"
"^Pi[Èèe]ce\s+(.+)" par "Pièce $1"
"^Promenade\s+(.+)" par "Promenade $1"
"^Quai\s+(.+)" par "Quai $1"
"^(Quartier|Qrt)\s+(.+)" par "Quartier $2"
"^(R[Éée]s|R[Éée]sidence)\s+(.+)" par "Résidence $2"
"^(Ruelle|Rle)\s+(.+)" par "Ruelle $2"
"^Ronde\s+(.+)" par "Ronde $1"
"^Rond(-|\s+)Point\s+(.+)" par "Rond-Point $2"
/// Là sur les nationales, c'est pas au point.
"^N\s+Route\s+Nationale\s+(.+)" par "Route Nationale $1"
"^R?N°?\s+(Route\s+Nationale\s+)?([0-9]+)(.*)" par "Route Nationale $2$3"
"^N°?\s+de\s+(.+)\s+[Ààa]\s+(.+)$" par "Route Nationale de $1 à $2"
"^(Route|Rte)\s+(.+)" par "Route $2"
"^Ru[éëe]\s+(.+)" par "Rue $1"
"^Saint-\s" par "Saint-$1"
"^Sainte-\s" par "Sainte-$1"
"^Sentier\s+(.+)" par "Sentier $1"
"^(Square|Sq)\s+(.+)" par "Square $2"
"^T[Èèe]nement\s+(.+)" par "Tènement $1"
"^Vall[Éée]\s+(.+)" par "Vallée $1"
"^Village\s+(.+)" par "Village $1"
"^Vieux\s+Chemin\s+Vieux\s+Chemin$" par "Vieux Chemin"
"^Vieux\s+Chemin\s+Vieux\s+Chemin\s+(.+)" par "Vieux Chemin $1"
"^ZA$" par "ZA"
"^ZA\s+(.+)" par "ZA $1"
"^ZAC(?-i)\s+(.+)" par "ZAC $1"
"^ZAE(?-i)\s+(.+)" par "ZAE $1"
"^Zone\s+(d'|d\s+|)Activit[Éée]s?$" par "Zone d'Activité"
"^Zone\s+(d'|d\s+|)Activit[Éée]s?\s+(.+)" par "Zone d'Activité $2"
"^Zone\s+(Artisanale|Artis.)$" par "Zone Artisanale"
"^Zone\s+(Artisanale|Artis.)\s+(.+)" par "Zone Artisanale $2"
"^(Zi\s+Zone\s+Industrielle|Zone\s+Industrielle|ZI)$" par "Zone Industrielle"
"^(Zi\s+Zone\s+Industrielle|Zone\s+Industrielle|ZI)\s+(.+)" par "Zone Industrielle $2"
"^ZUP\s+(.+)" par "ZUP $1"
Enjoy !
et merci pour les données !
A Angers, nous avons le cas d'une "Rue du Général Lamoriciere Prolongée" dans BANO
Il s'agit, comme son nom l'indique, de la prolongation d'une rue existante. On a donc peut etre deux codes FANTOIR différents mais le vrai nom de rue ne contient pas "Prolongée" comme l'atteste le dictionnaire des noms de rue d'Angers: http://www.angers.fr/de-projets-en-projets/decouvrir-angers/histoire-d-angers/dictionnaire-des-rues/index.html?alpha=L&search_one=oui
Proposition: essayer d'ignorer "prolongé(e)" en fin de nom.
Pour l'instant je laisse tel quel a Angers. Je pourrais séparer la way en 2 pour forcer le code FANTOIR mais je ne suis pas sur que ce soit la bonne manière de procéder.
D'après la couche BANO, le nom de certaines rues dans les Pyrénées-Orientales ressorte du cadastre avec le terme "Carriera" or en catalan "Rue" s'écrit "Carrer".
Afin de faciliter le rapprochement, il faudra remplacer en sortie du Cadastre tous les noms qui commence par Carriera, qui signifie en italien Carrière et n'a aucune traduction en espagnol, par Carrer.
http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#18/42.47420/3.11395
les considérer systématiquement, indépendamment de tout tag highway=*
Les mots "sœur", "cœur" peuvent être écrits correctement dans OSM, mais il semblerait qu'ils soient souvent (toujours ?) écrits "soeur", "coeur" dans le Fantoir.
Exemple :
http://layers.openstreetmap.fr/?zoom=18&lat=43.63048&lon=1.39446&layers=00B00FFFFFFFFFFFFFFFFFFFFFFT
Je ne sais pas s'il faut rajouter "COL COLONEL" dans expand_titres.txt, ou inversement
"COLONEL COL" dans abrev_titres.txt, mais il y a encore quelques rapprochements à gagner. Par exemple :
http://layers.openstreetmap.fr/?zoom=19&lat=44.44474&lon=1.44497&layers=B0000FFFFFFFFFFFFFFFFFFFFFFT
Au delà c'est du volume sans valeur dans les fichiers CSV
Quand le rapprochement échoue sur le name
via un fichier de log communicable, mentionnant la commune et le nom de la voie
Les "Sente", assez courantes en banlieue parisienne (et sûrement ailleurs), ne sont pas rapprochées avec les données du FANTOIR :
Deux exemples représentant les 2 cas possibles (dans le 92)
http://www.openstreetmap.org/way/205778361
Dans le fichier FANTOIR : 9220220667JSEN LEDOUX
Nom sur le calque BANO : Sentier Ledoux
Nom dans OSM (et sur le terrain) : Sente Ledoux
http://www.openstreetmap.org/way/205778361
Dans le fichier FANTOIR : 9220220200BVC STE CASTEL
Nom sur le calque BANO : Voie Communale Sainte-Castel
Nom dans OSM (et sur le terrain) : Sente Castel
On peut évidemment faire le rapprochement à la main en ajoutant le code FANTOIR à ces ways mais c'est assez fastidieux et c'est a mon avis un cas assez courant pour que ce soit géré en amont...
L'algo de rapprochement BANO fait une distinction entre les 2 formes d'apostrophe : ' et ’. Une adresse dans OSM avec la forme arrondie ne sera pas rapprochée de sa voirie dont le toponyme contient la forme droite (vu sur la place de l'Odéon à Paris).
Est-ce que c'est voulu ?
Comment corriger : uniformisation sur la forme droite ? Adaptation du script de rapprochement pour les considérer comme identiques ?
Pour gérer notamment les "Grande Rue Gde Rue"
Les lieux-dits sont un support d'adresse en zone rurale. Ils sont absents de Bano jusque là.
Contexte :
Une rue partagée entre 2 communes A et B. La voirie et le bâti côté pair sont sur le territoire de la commune A, le bâti côté impair est situé sur le territoire de la commune B. La limite administrative est parallèle à l'axe longitudinal de la rue mais clairement située entre la voirie et le bâti de la commune B.
Les scripts BANO rapprochent correctement les adresses paires puisque la rue et le bâti sont bien à l'intérieur du territoire de A. Mais ils ne rapprochent pas les adresses impaires côté B, et ce même avec la création d'une relation associatedStreet contenant le ref:FR:FANTOIR B.
Cas rencontré Rue Gustave Colin à Arras (62) : la rue est le way 174349314, membre de la relation 3975830.
http://www.openstreetmap.org/way/4635883 (Antibes)
http://www.openstreetmap.org/way/4650774 (Antibes)
http://www.openstreetmap.org/way/155411265 (Bonsecours)
Apparemment pas prises en compte pour l'instant :
Enfts : Enfants
Anc : Anciennes
Nve : Neuve
B.C.P (sans point à la fin) : Bataillon de Chasseurs à Pieds
Premier : 1er
Sur la mise en correspondance (rendu) il ne faut pas chercher de correspondance dans les rues si le code fantoir n'est pas celui d'une voie.
Il y a un deux types de points : à la boite au lettre (j'imagine) et plus à l'intérieur du terrain. Pas d'infos plus précises à donner, il n'y a pas de légende pour les points.
Je ne sais pas si c'est là qu'il faut rapporter ce problème, dans le doute je me lance !
Un exemple : http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#17/48.12082/-1.61085
Les noms des rues sont suffixés par un nom :
Ce matin les caractères avec diacritique ne s'affichent plus correctement à certains niveaux de zoom : http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#18/48.12154/-1.63216
J'ai 2 écrans : un avec Firefox sur la page http://tile.openstreetmap.fr/~cquest/leaflet/bano.html et l'autre sur JOSM. Lorsque j'active JOSM via la télécommande, la page Firefox n'est plus active. Est-il possible dans LeafletEditInOSM.js de redonner le focus à la fenêtre courante ?
Bonjour,
Le rapprochement n'a pas l'air de prendre en compte ni les tags name ni les ref:FR:FANTOIR lorsqu'ils sont sur des nodes, ce qui est pourtant pertinent dans le cas de highway=mini_roundabout
Exemples :
http://www.openstreetmap.org/node/370314305
http://www.openstreetmap.org/node/139251926
Le code des communes est la concaténation du code dept et des 3 derniers caractères du code cadastre. Les 2 premiers caractères du code cadastre changent au fil du temps comme indicateurs de version.
select * from cumul_adresses where voie_cadastre like 'B Rue%'"
204 cas
28 cas avec 'T'
1 cas avec 'Q'
=> le nom de voie n'est pas reconnu, et le n° devient erroné
=> Voie Communale Sentier
Vise à fiabiliser les requêtes si jamais un ID de relation change
-> Révérend Père
Exemple: 460422410M-121
Rue du Pape Jean Xxiii
devrait donner
Rue du Pape Jean XXIII
-> utiliser un dictionnaire ?
Sur http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#17/48.10403/-1.62192 , un bâtiment a 2 adresses dont une en rouge "10 Rue du Boiset".
Ces adresses proviennent du cadastre, parcelle 000 AX 464:
10 RUE DES CHARMILLES
35510 CESSON-SEVIGNE
10 RUE DU BOISET
35510 CESSON-SEVIGNE
La seconde adresse n'existe pas : rue inexistante (mais présente dans le FANTOIR).
Ce ticket vise à recenser les mots abusivement collés dans le cadastre. Merci d'indiquer un lien vers le rendu Bano.
Oradour-Surglane -> Oradour-sur-Glane
http://tile.openstreetmap.fr/~cquest/leaflet/bano.html#19/48.09615/-1.65901
Beaucoup de cours, courées, cités de Lille et environs sont indiquées dans BANO par VC ou Voie Communale
http://layers.openstreetmap.fr/?zoom=19&lat=50.60833&lon=3.09088&layers=00B00FFFFFFFFFFFFFFFFFFFFFFT
comment le signaler ou faire la jointure si le nom de la courée est bon, dans l'exemple Cité Morelle a même déjà des numéros adresses dans osm, mais pas de ref:FR:FANTOIR
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.