Giter Club home page Giter Club logo

bano's People

Contributors

aavenel avatar bagage avatar cquest avatar deuzeffe avatar frodrigo avatar georgekaplan avatar marcussacapuces91 avatar py-b avatar tyndare avatar vdct avatar yohanboniface avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bano's Issues

Rue partagée sur 2 communes mais limite administrative non alignée sur la rue

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.

Suffixes 'RD <N° de route>'

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

Rapprochement échoue à cause de l'apostrophe ’ plutôt que '

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 ?

Prolongation de rue

http://layers.openstreetmap.fr/?zoom=18&lat=47.47839&lon=-0.53496&layers=00B00FFFFFFFFFFFFFFFFFFFFFFT

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.

Abbréviations

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

Doublon dans l'export

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
...

"Petit Chemin Pt Chem" et variantes

Code_cadastre : mise à jour sélective

ne mettre à jour code_cadastre qu'avec les communes

  • soit déjà présentes dans la table, au format IMAG, et qui passent en VECT
  • soit absentes de la table
    L'info de code postal est fluctuante, ne pas en faire un critère de màj

Rapprochement des Sente

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...

Orthographe variable entre releases

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

Intégrer les lieux-dits

Les lieux-dits sont un support d'adresse en zone rurale. Ils sont absents de Bano jusque là.

  • intégrer les lieux-dits issus d'OSM (node + tag place=* + name=*)
  • intégrer les noms des parcelles du Cadastre là où il n'y a pas d'adressage au n°
  • améliorer la localisation du ponctuel portant ces noms en fonction de la situation de bâtiments (idéalement hors bâti léger) inclus dans les parcelles couvertes par un même nom dans une commune donnée
  • pour les 2 sources (Cadastre et OSM) tenter un rapprochement avec les noms de lieux présents dans FANTOIR
  • proposer via un export dédié la couche de ponctuels issue du mix de sources, a priori en privilégiant le X,Y et l'orthographe des ponctuels présents dans OSM

Filtrage (regexp) à mettre en sortie pour améliorer la typo, etc.

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 !

KeyError: code Fantoir

Dans le cas d'un code Fantoir erroné dans OSM ou inconnu en base, la mise en correspondance avec un nom plante.

Harmonisation numéros de rues multiples dans les CSV

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

Rapprochement : abrev Fbg et répétition "Rond Point"

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.

Les extensions (bis, ter..) des adresses en OpenData ne sont pas reconnues

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.

Accélérer les mises à jour

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...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.