France/Cadastre/Import semi-automatique des adresses
Avertissement
ATTENTION !! L'import du cadastre n'est pas une procédure anodine. Les données exportées contiennent des erreurs qu'il faut corriger manuellement. Ce n'est pas non plus une procédure rapide, il faut vérifier la cohérence des données et intégrer avec les données existantes dans OSM avant d'envoyer le tout dans la base de donnée.
Si un des mots relation, validateur, JOSM, osmose ou OSM Inspector ne vous évoque rien, ça veut très certainement dire que vous feriez mieux de continuer à progresser dans la maîtrise d'OSM avant de vous y mettre.
Voir FR:Import/Guidelines et FR:Automated Edits/Code of Conduct pour plus d'informations.
Présentation
Le site du cadastre permet d'exporter deux types de données:
- le plan au format PDF, où sont entre autre dessinés des numéros d'adresses et des limites de parcelles.
- des informations sur les parcelles au format XML/PDF, comme leur position et leur adresse complète (avec un nom de rue en plus du numéro).
En réalisant ces exports sur une zone suffisamment grande, on obtient la carte des adresses d'une ville dans un format vectoriel.
Le script dont il est question sur cette page va tenter de réconcilier les numéros dessinés sur le plan avec les adresses des parcelles afin d'obtenir des adresses complètes bien positionnées, et convertir le résultat en fichier .osm.
Attention: le lien entre les numéros dessinés sur le plan et les adresses des parcelles n'est pas parfait, il y a en général environ 5% de cas problématiques:
- de nombreuses parcelles ont exactement la même adresse
- de nombreuses parcelles ont plusieurs adresses différentes
- de nombreuses parcelles n'ont pas de numéro dans leur adresse
- certains numéros dessinés ne correspondent à aucune adresse de parcelle
- certains numéros sont dessinés très loin de leur parcelle (c'est louche)
- certains numéros sont dessinés plusieurs fois
- le cadastre contient quelques erreurs !
Le résultat du script sera constitué de plusieurs fichiers:
- Nom de Rue.osm, un par rue, tous les numéros associés par le script à une rue donnée. Certains éléments contiendront un tag fixme si le numéro a été trouvé loin de sa parcelle d'origine.
- _AMBIGUS_.osm les numéros pour lesquels le script a hésité entre deux rues. Le tag fixme précisera ces rues entre lesquelles il faudra choisir.
- _ORPHELINS_.osm les numéros pour lesquels le script n'as pas trouvé la parcelle, donc la rue associée. Certains de ces numéros sont en fait des doubles d'un numéro déjà associé à la rue (mais parfois mieux positionné).
- lieux-dits.osm des nœuds place=* pour les adresses sans numéros. Chaque nœud est situé au centre (barycentre) des parcelles ayant cette adresse, donc sa position est hautement imprécise !
Télécharger les fichiers OSM
Le script peut être lancé en ligne depuis le site http://cadastre.openstreetmap.fr/adresses/ qui est une interface de génération de fichiers .osm à partir du cadastre.
Fichiers mis à disposition
Il existe 8 types de fichiers mis à disposition. Ceci est dû à l'absence de consensus sur la manière de modéliser les adresses dans OSM. Ainsi, chacun est invité à utiliser les fichiers correspondant le mieux à ses propres préférences de saisie. Les 8 types combinent 2 schémas de tags et 4 styles de géométrie, résumés dans le tableau ci-dessous.
Modélisation | |||
---|---|---|---|
addr:housenumber=* et Relation:associatedStreet | addr:housenumber=* et addr:street=* | ||
Situation
de l'adresse |
Toujours en façade de bâtiment | *-adresses-associatedStreet_point_sur_batiment.zip | *-adresses-addrstreet_point_sur_batiment.zip |
Comme attribut de bâtiment | *-adresses-associatedStreet_tag_sur_batiment.zip | *-adresses-addrstreet_tag_sur_batiment.zip | |
Mix en façade de bâtiment proche ou point isolé | *-adresses-associatedStreet_mix_en_facade_ou_isole.zip | *-adresses-addrstreet_mix_en_facade_ou_isole.zip | |
Toujours comme point isolé | *-adresses-associatedStreet_sans_batiment.zip | *-adresses-addrstreet_sans_batiment.zip |
Modélisation
- addr:housenumber=* et la Relation:associatedStreet : quelques explications ici. Dans les fichiers proposés ce schéma est le seul pour l'instant à intégrer la codification FANTOIR des noms de voie, permettant d'identifier de manière unique chaque rue en France
- Points d'adresse avec les tags addr:housenumber=* et addr:street=* : ce schéma est expliqué ici
Situation de l'adresse
Toujours en façade de bâtiment
Chaque point adresse est potentiellement intégré à un contour de bâtiment, même si celui ci est éloigné de la voirie.
Comme attribut de bâtiment
Chaque adresse est portée par le bâtiment lui même (par le way taggué building=*)
Mix en façade de bâtiment proche ou point isolé
Chaque point adresse est potentiellement intégré au contour du bâtiment juste en face du numéro dessiné sur les planches cadastrales, sinon le point reste isolé.
Toujours comme point isolé
Chaque point Adresse est un nœud non rattaché à un autre élément de la base OSM. Sa situation reprend la position du numéro telle que constatée sur les planches cadastrales.
Détails techniques sur le choix du bâtiment rattaché à l'adresse
Toujours en façade ou comme attribut de bâtiment: choix du bâtiment
- le bâtiment doit intégralement être contenu dans une parcelle correspondant à l'adresse. Des parcelles contiguës ayant la même adresse sont considérées comme une seule parcelle.
- si aucun bâtiment ne rentre dans cette configuration, le point adresse est laissé comme node isolé.
- si des bâtiments entrent dans cette configuration, alors on le choisit parmi, par ordre décroissant de préférence :
- les bâtiments en dur de plus de 25m2 au sol
- sinon parmi les bâtiments en dur de plus de 15m2 au sol
- sinon parmi les bâtiments légers de plus de 30m2 au sol
- en dernier choix, on se rabat sur le bâtiment de plus grande emprise au sol, quelle que soit sa nature et sa surface
Toujours en façade : choix de la façade
- on choisit ensuite la façade qui héritera du n°, parmi les façades des bâtiments retenus
- sont exclues les façades incluses dans une bande de 1m de part et d'autre des limites de parcelles ne partageant pas la même adresse
- sont exclues les limites communes à deux bâtiments (mur mitoyen)
- sont exclues les segments de façades de moins de 2m lorsque le bâtiment dispose par ailleurs de segments de façade de plus de 2m non éliminés par les critères ci-dessus
- sont privilégiées les façades sur la longueur des bâtiments, lorsque la surface du plus petit cercle incluant le bâtiment vaut au moins le triple de la surface du bâtiment, et que ce cercle est intégralement inclus dans la parcelle correspondant à l'adresse
Mix en façade de bâtiment proche ou point isolé: choix de la façade (et du bâtiment)
La façade choisie sera celle pointée par l'orientation que fait le numéro dessiné sur les planches cadastrale:
- si elle est a peu près en face (pas trop de biais)
- si elle est à moins de 2m de distance
- et si, d'après le cadastre, le bâtiment (sa parcelle) a bien cette adresse là
Sinon le point adresse restera isolé.
Traitements des adresses avec JOSM avant envoi vers serveur OSM
Correction des positions
Le pré-positionnement des points d'adresse est le produit d'un traitement automatique. Il n'a pas la prétention de résoudre toutes les situations, mais plutôt de minimiser les interventions manuelles. Celles-ci restent, de toute façon, nécessaires dans de nombreux cas.
Déplacer un point d'adresse sur une autre façade
- Sélectionner le point adresse
- Presser 'G' : le point se décolle du bâtiment et se retrouve sous le curseur de la souris
- Le positionner à l'endroit voulu, près d'une façade
- Presser 'N' : le point s'intègre à la façade sans la déformer (il fait maintenant partie du way "building")
- Supprimer le point d'origine ou le retirer de la relation AssociatedStreet
Fusionner un point d'adresse avec un node existant
- Sélectionner le point adresse
- Presser 'G' : le point se décolle du bâtiment et se retrouve sous le curseur de la souris
- Amener le point à proximité du node cible, en pressant Ctrl
- Relacher la souris : le point adresse fusionne avec le node
Batiment absent du fichier d'adresse
Souvent l'outil ne trouve pas le batiment qui doit porter l'adresse car ce dernier est à cheval sur deux parcelles. Pour retrouver le batiment, il vous faudra télécharger les données de la zone dans JOSM et fusionner le fichier d'adresse avec ces données.
Routes manquantes
En mode AssociatedStreet, si votre fichier d'adresse ne contient pas le chemin de la rue cela signifie que l'outil n'a pas trouvé la rue dans la base de données OSM. Souvent cela signifie que le paramètre name=* est manquant sur le chemin ou mal orthographié soit sur le chemin soit dans la relation. Il vous faudra corriger le nom de la rue et la rajouter manuellement dans la relation AssociatedStreet. Cette manipulation nécessite que vous ayez téléchargé les données dans un calque principal pour retrouver la rue, et fusionné le fichier d'adresse dans ce calque.
Traitement des lieux-dits
Le fichier adresses-lieux-dits.zip contient logiquement des lieux-dits place=* positionnés au centre des adresses des parcelles sans numéro.
Il faut pour chaque nœud :
- Vérifier qu'il s'agit bien d'un lieu-dit et non pas d'un nom de rue ou autre. Si c'est un nom de rue il ne faut pas l'importer en tant que lieu-dit mais juste vérifier le nom de la rue correspondante dans OSM
- Vérifier qu'il n'existe pas déjà dans OSM
- Vérifier son orthographe (par exemple les accents manquants)
- S'aider des limites (fichier limites_lieux-dits_-_NE_PAS_ENVOYER_SUR_OSM.osm) pour renseigner correctement la valeur du tag place=*. Il faut savoir si c'est une zone urbaine, ou pour une zone rurale évaluer le nombre de maisons concernées (Attention: les maisons avec numéro d'adresse sont exclues des limites a tort et devraient souvent être comptabilisées). Les valeurs les plus courantes devraient être place=locality, place=isolated_dwelling, place=hamlet, place=neighbourhood.
- Affiner sa position.
Configuration de JOSM (optionnel)
Pour le rajout d'adresses, vous pouvez configurer quelques aspects de JOSM pour gagner en efficacité :
- Pour améliorer la visibilité des numéros d'adresses, choisir le style Coloured Streets dans le menu View > Map paint styles
- Activez le plugin cadastre-fr si vous voulez afficher le cadastre en fond de carte. Vous bénéficierez aussi d'un outil d'ajout d'adresses en un clic qui peut s'avérer utile pour faire des corrections et rajouter des adresses manquantes dans le cadastre mais faciles à interpoler.
- Modifier le paramètre simplify-way.max-error avec une valeur faible (0.5 ou moins). Vous pourrez ainsi supprimer les points inutiles sur les façades de batiments avec CTRL + Y après avoir fusionné des batiments inutilement fragmentés.
- Le plugin JOSM utilsplugin2 permet de copier coller les relations (associatedStreet) avec Ctrl+C, Ctrl+Alt+V.
Contrôle d'assurance qualité
Attention !! Ces outils afficheront les erreurs seulement après leur nouveau passage sur la zone, ce qui peut prendre plusieurs jours. Pensez à recontrôler vos imports trois ou quatre jours après.
Contrôler avec les outils classiques de contrôle qualité :
Aspects non traités dans les fichiers actuels
Les traitements ne tiennent pas compte de l'existence dans les données en base de nodes déjà taggués addr:housenumber=*, ni de relations associatedStreet. La fusion de l'existant avec les données extraites du cadastre est un sujet à venir.
Avertissement sur les données manipulées
Les données proposées dans les fichiers peuvent inclure des données extraites directement de la base OSM : ways highway=*, ways building=*.
Certains fichiers d'adresse incluent des ways building=* modifiés : un tag ou un node a été ajouté. Les fichiers du schéma associatedStreet référencent des ways highway=* via leur identifiant.
Il est possible que d'autres contributeurs mettent à jour ces données après la mise à disposition des fichiers, mais avant qu'ils soient intégrés en base. On aura dans ce cas des conflits d'édition. Il est souhaitable de ne pas trop attendre avant l'intégration des fichiers téléchargés, ils sont en quelque sorte périssables. Le cas échéant, il est conseillé de rejouer une extraction.
Des conflits peuvent également apparaître au moment de fusionner les fichiers avec un calque principal si vous avez préalablement chargé les données de la commune dans JOSM et que vous avez fait des modifications à la fois dans le calque principal et le calque de la rue. Lorsque vous procédez de cette manière, il est préférable de faire les modifications uniquement dans le calque principal après fusion.