Dans ma ville, très peu de bâtiments ont un numéro de voie sur la carte géographique libre et collaborative OpenStreetMap. Dans ma ville natale, seuls ceux situés sur les grands axes en ont. Dans une grande ville où j'ai vécu, les bâtiments sans numéro sont minoritaires. Cette disparité est gênante car, sans numéro de voie, impossible de définir la destination pour calculer un itinéraire (sauf à connaître d’avance sa localisation).
La solution bourrine, c'est d'ajouter chaque numéro de voie à la main. Ça demande une très grande motivation et beaucoup de temps.
Mais, au moins pour la France, il existe un procédé semi-automatique qui consiste à importer les numéros de voie depuis le cadastre. Voir le tutoriel officiel.
Mais ce tuto n'est pas à jour, n'explicite pas tout et est mal structuré. Je vais donc tenter de faire mieux ici.
Prérequis
- Installer le logiciel d'édition de la carte OpenStreetMap JOSM. L'importation n'est pas possible avec l'éditeur web. Voir la section suivante pour les détails ;
- Exporter les numéros de voie (et leur position géographique) depuis le cadastre via l'interface cadastre d'OpenStreetMap. Sélectionner le département. Sélectionner la ville. Cocher « Adresses ». Cliquer sur le bouton « Générer ». Attendre. Cela peut prendre longtemps (plus d'une heure dans mon cas), mais, pas de panique, le serveur web est bien configuré, il n'interrompra pas la connexion (timeout). Plusieurs archives zip seront disponibles au téléchargement. Télécharger celle de la ligne « Mix en façade proche ou point isolé ». Voir la section « Choisir la modélisation » pour les détails.
Installer JOSM
Doc officielle.
J'utilise un système GNU/Debian. JOSM est empaqueté. Paquet josm. À date, il s’agit de la version 17428 (c’est un numéro de révision SVN).
Meilleur choix : paquet josm-installer
(il est dans le composant « contrib » à partir de Debian 11 / Bullseye). Outil qui télécharge la dernière version testée (la 18622 à ce jour). Pour installer JOSM ou le mettre à jour : sudo josm-installer
.
Configurer JOSM
- Afin de trouver plus facilement de l'aide et des tutoriels, je préconise de mettre l'interface en anglais. Menu « Édition », « Préférences », onglet « Langue ». Redémarrer JOSM ;
-
Pour améliorer la visibilité des numéros d'adresses, choisir le style Coloured Streets dans le menu View > Map paint styles [ > « Map paint preferences… » > le chercher dans « Available styles », cliquer sur la flèche pour le déplacer dans « Active styles » ]
-
Parfois, il y a un intrus dans la liste récapitulative des changements (au moment de les envoyer au serveur OSM). Comme un nœud qu’on ne parvient pas à identifier / voir, qui semble être invisible. Le style de rendu « Modified objects » permet de l’identifier tout de suite. L’activer également dans le menu « View », « Map paint styles », « Map paint preferences… » ;
-
Je n'ai pas compris l'intérêt du plugin cadastre-fr :
- Contrairement à ce qui est écrit dans la doc', on peut avoir le fond de carte cadastre sans lui : Menu « Imagery », « OpenStreetMap Carto (Standard) », dézoomer, puis zoomer sur la France puis sur une ville puis sur un quartier, menu « Imagery », « Map », « Cadastre ». Ce fond permet de vérifier et de corriger l'importation automatique, notamment quand un nœud « adresse » a été placé trop loin du bâtiment auquel il appartient pour qu'on devine duquel il s'agit. Je ne comprends pas à quoi sert le menu « Cadastre » et particulièrement l'action « Cadastre grab » : elle crée un calque de type « commune », elle met en cache les données du cadastre pour cette commune, mais tout le calque reste blanc, aucun fond s'affiche, même en attendant plusieurs minutes… ;
- La fonction d'ajout d'une adresse en un clic, mieux expliqué ici n'est pas utile. Elle permet de créer un nœud « adresse » à chaque clic en incrémentant automatiquement le numéro de voie. Sauf qu'elle ne tient pas compte des « bis » & compagnie (il n'y a pas d'intelligence liée au cadastre, quoi), et, dans mon cas d'usage, les numéros de voie seront importés dans JOSM, je n’aurai pas besoin de les ajouter à la mano. Pour utiliser cette fonction, il faut télécharger les données de la carte OSM (je vais y revenir), et cliquer sur la voie, sans quoi le champ « Street » restera grisé, puis cliquer sur l'outil, indiquer le prochain numéro, et cliquer sur la façade d'un bâtiment.
- Je n'ai pas perçu l'intérêt du plugin utilsplugin2, donc je ne l'ai pas installé ;
- Je n'ai pas modifié le paramètre « simplify-way.max-error » car je n'ai pas l'intention de simplifier une voie (c'est-à-dire d'en réduire le nombre de nœuds tout en en conservant la forme). Pour voir / ajouter ce paramètre : dans les préférences (menu « Edit », « Preferences… », cocher « Expert mode », et aller dans l'onglet « Advanced Preferences ».
Pour installer un plugin, il faut bien suivre les instructions : « Edit », « Preferences… », « Plugins », cocher « Available », bouton « Download », cocher le ou les plugins désirés, et cliquer sur le bouton « OK ». Oui, comme si tu voulais fermer les préférences. Oui, c'est trompeur.
Choisir la modélisation
L'interface cadastre d'OpenStreetMap que nous avons utilisé au point deux des prérequis propose au téléchargement plusieurs archives zip. Elles correspondent à plusieurs manières de cartographier, faute de consensus. La documentation synthétise cela sous forme de tableau.
Concernant la colonne, le choix est rapide : la documentation nous expose qu'une relation de type « associatedStreet » est à privilégier. Cette méthode a l'avantage de ne pas dupliquer l'information : l'objet (bâtiment ou point stockant l'adresse) est relié à un autre objet, la voie. Dans l'autre cas, le nom de la voie est également stocké dans l'objet. Si comme moi tu t'inquiètes : pas de souci, le moteur de recherche d'OSM sait trouver une adresse avec cette modélisation. Première colonne, donc.
Concernant les lignes, notons que l'interface cadastre d'OpenStreetMap nous laisse deux choix au lieu de quatre : « Mix en façade de bâtiment proche ou point isolé » et « Toujours comme point isolé ». Dans les deux cas, le numéro de voie sera stocké dans un objet de type point géographique (un nœud). Dans le cas « Mix en façade de bâtiment proche ou point isolé », l'interface d'exportation tentera d'associr ce point à la façade d'un bâtiment, c'est-à-dire d'intégrer ce point à l'objet bâtiment. S’il n’y parvient pas (si le bâtiment n'a pas été modélisé ou s'il est trop loin de sa position attendue, etc., il le laissera comme un point isolé. Le meilleur choix est donc le mix. Troisième ligne, donc.
Donc, dans l'interface cadastre d'OpenSreetMap, j'ai téléchargé l'archive de la ligne « Mix en façade proche ou point isolé ».
Découvrir le contenu généré par l'interface cadastre d'OSM
On décompresse l'archive téléchargée depuis l'interface cadastre d'OSM. Elle contient des fichiers dont l'extension est « .osm ». Il y en a un par voie. Il s'agit de fichiers XML contenant les infos géographiques : point (et ses coordonnées géographiques) contenant un numéro de voie, relation entre un point et une voie, bâtiment (si identifié par l'interface cadastre), etc. Ils s'ouvrent tout simplement avec JOSM.
Les fichiers _ORPHELINS_XX correspondent à des objets (point, bâtiment, etc.) qui ont un numéro de voie sans être associé à une voie. Il faut les ajouter dans une relation de type « associatedStreet ».
Les fichiers _AMBIGUS_XX correspondent à des objets dont le logiciel peine à identifier leur voie d'appartenance. Soit car leur position géographique leur permet d'être valablement sur plusieurs voies (auquel cas, il faut associer l’objet à la bonne voie), soit car il y a une divergence de nommage de la voie entre OSM et le cadastre (avenue ou chemin ?, par exemple), qu’il faut corriger.
Cartographier
- Ouvrir un des fichiers de l'archive avec JOSM (je ne conseille pas de travailler à une granularité dépassant une voie, c'est un coup à perdre plus de travail en cas d'un retour en arrière imposé par des erreurs difficiles à corriger) ;
- Afficher un fond de carte : menu « Imagery », « OpenStreetMap Carto (Standard) » ;
- Pour se déplacer sur la carte, maintenir le bouton droit de la souris et la bouger ;
- Les nœuds (points) affublés d'un « F » sont en erreur. Exemple : « Joindre le nœud au bâtiment (J) » signifie qu'il est trop loin de la façade d'un bâtiment, et il suffit de le déplacer avant de l'associer à un bâtiment (voir ci-dessous). Une fois le problème corrigé, il faut supprimer l'attribut « fixme » de l'objet. Pour la signification des différentes erreurs possibles, lire le point 3 de la doc' ;
- Pour être en capacité d'associer un point stockant le numéro de voie à son bâtiment d'appartenance, il faut d'abord télécharger les données d'OpenStreetMap. Si la vue sur la carte peut contenir tous les points et bâtiments avec un niveau de zoom acceptable (sinon il y aura trop d'objet et le téléchargement sera refusé) : menu « File », « Download in current view » (menu « View », « Expert Mode » pour le débloquer). Sinon, menu « File », « Download data… ». On peut télécharger tous les objets d'une zone dans l'onglet « Slippy map » ou tous ceux d'une voie (par exemple) dans « Areas around places ». Quel que soit le procédé, vérifie bien que tu as tous les objets (bâtiments, voie, relation, etc.) qui correspondent aux adresses que tu vas importer ;
- S'il ne l'est pas déjà, associer chaque point « numéro de voie » à son bâtiment d'appartenance. Doc' officielle. Cette doc' parle de joindre à une way alors que je parle de joindre à un bâtiment ? Dans OSM, tout est une voie (ou un nœud). Un bâtiment est une voie fermée. La différenciation se fait par les attributs que l'on affuble à un objet. On clique un point, on maintient la touche « ctrl » du clavier, on clique sur un bâtiment, on relâche « ctrl », on appuie sur la touche « j » du clavier. Si l'association a bien eu lieu, l'objet bâtiment passe en vert (conséquence du style de rendu « modified objects » activé ci-dessus). Attention : le point doit vraiment être sur la façade, même à un niveau de zoom élevé, sinon la jonction déplacera ou déformera la façade ;
- Pour ajouter un numéro de voie manquant dans le cadastre : outil « draw nodes » (raccourci clavier : « a »), double clic là où ajouter le nœud. Lui ajouter un attribut « addr:housenumber » et un attribut « source » = « survey » (ou autre source, en fonction de comment tu as su que ce numéro existe à tel endroit). Sélectionner le point. Dans les outils à droite de l'écran, cliquer sur la relation de type « associatedStreet » correspondante à la voie (ou la créer si elle n'existe pas) puis sur le bouton de modification, et ajouter le nœud à la relation (flèche entre les deux encarts) ;
- Il est possible de sauvegarder ton travail pour le reprendre plus tard sans diffuser tes modifications : menu « File », « Save Session ».
Il peut arriver qu'un bâtiment n'a pas de numéro de voie (dans le cadastre). Soit c'est effectivement le cas : le numéro est sur une autre voie à laquelle participe également le bâtiment. Soit c'est faux : le cadastre n'est pas à jour, et tu peux ajouter un point de type « adresse » (cf. ci-dessus). De même, dans l'ordre, un « 5 bis » peut arriver avant le numéro « 5 » de la même rue. Si tu veux avoir le fin mot, pas le choix, il faudra te déplacer in situ et corriger en conséquence. Tu peux aussi arrêter là : diffuser le maximum extractible depuis le cadastre, c'est déjà bien, les erreurs restantes pourront être corrigées par la suite.
Diffuser tes modifications
Quand t'as terminé…
- Menu « File », « Upload data… » ;
- « brief comment » : quelque chose comme « Ajout des numéros de voie à la rue / avenue / boulevard / impasse XXXX » ? ;
- « data source » : quelque chose comme « cadastre.openstreetmap.fr » ? Quand je confirme des éléments suspects par une visite sur place, je mets « cadastre.openstreetmap.fr + survey » ;
- « Upload Changes », saisir son identifiant et mot de passe OSM (la première fois, afin d'obtenir un jeton OAuth), etc.
- Le changement sera bientôt répercuté sur la carte web et listée par OSMCha.
Notes diverses
- Un point isolé est utile quand un bâtiment a plusieurs numéros de voie ou quand il est loin de la rue (le point permet alors de montrer où se situe l'entrée en présence de plusieurs chemins ou d'un chemin entourant le bâtiment) ;
- Dans JOSM, il est possible de régler l'opacité d'un calque afin de cumuler plusieurs fonds de carte (OSM, cadastre, etc.) : à droite de l'interface, dans « layers », bouton "œil" à côté du bouton poubelle ;
- Sur la carte OSM web standard, les numéros de voie (sous forme d'un nœud membre de la façade d'un bâtiment) n'apparaissent pas à l'endroit où le nom de la voie est inscrit. Cela dépend du fond de carte : la carte cyclOSM (pour les vélos) ne réagit majoritairement pas de la même façon (les numéros de voie sont présents autour du nom de la voie). Idem sur la carte générale fournie par OpenStreetMap France.
Autres manières d'ajouter semi-automatiquement les numéros de voie
- Le plugin cadastre-fr ajoute un onglet « Download from Cadastre » dans « Download data… ». Il permet de télécharger uniquement les nœuds stockant les adresses (dans le bandeau jaune, il faut décocher tous les types d'objets sauf « Address ». Inconvénient : quel que soit le type de recherche (recherche autour d'une rue ou en sélectionnant une aire géographique), les objets retournés couvrent une grande superficie, puisqu'il s'agit de toute une section du cadastre… Peu pratique en fonction de ce qu'on cherche à faire (je préfère diffuser mes modifications rue par rue) ;
- Le site web BANO (Base Adresses Nationale Ouverte) d'OSM propose un outil, le pifomètre. On lui indique le code INSEE d'une commune, et, dans la colonne « Voies avec adresse(s) numérotée(s) », peu importe avec ou sans rapprochement OSM / FANTOIR, il y a une sous-sous-colonne « adresses à intégrer ». Une fois que l'on a activé le contrôle à distance de JOSM, on peut cliquer sur « XXXX points » pour charger dans JOSM (qui doit être ouvert avant de cliquer) les adresses manquantes d'une voie afin d'effectuer les mêmes manips que ci-dessus (associer un point « adresse » à son bâtiment, ajouter ledit point à une relation portant le nom de la voie, etc.). La BANO est l'un des fonds de carte disponible dans JOSM. Très pratique pour ajouter des nœuds « adresse » "par dessus" (effet calque). Attention : dans certaines rues, la méthode développée dans la section « Cartographier » est plus fiable (elle inclut les bâtiments et l'association bâtiment + nœud « adresse »). Dans d’autres, elle moins fiable (l'interface d'exportation du cadastre ignore les adresses déjà ajoutées à OSM, il faut donc dédoublonner à la main).
Merci à Johndescs d'avoir participé à ce qui est devenu notre premier ajout semi-automatique des numéros d'une voie. \o/