OpenStreetMap

Intégration de données open-data

Posted by Gonéo on 10 December 2021 in French (Français). Last updated on 21 December 2021.

Cette page présente les différentes opérations pour intégrer un jeu de données open-data dans OpenStreetMap. Dans cet exemple il s’agit de rapprocher les données de l’open-data de la métropole de Lyon avec les données OSM.

La méthode présentée ici est manuelle. C’est donc d’une manipulation à usage unique qui sera à refaire en cas de mise à jour de la source de données.

Pour pérenniser le processus et pour prendre en compte automatiquement les mises à jour de la source, il serait possible d’automatiser avec le plugin Open Data, ce qui nécessite du code (Java) pour adapter le fichier source au format OSM. Il est également envisageable d’ajouter la source à Osmose, avec du code Python.

Remarque : il y a certainement d’autres manières de faire, aussi n’hésitez pas à commenter et à apporter vos suggestions d’amélioration.

Avant de commencer, il est conseillé de consulter la page du wiki sur les imports afin de se conformer aux règles.

Préparation des données externes

Cette étape consiste à préparer les données open-data pour les rendre compatibles avec le format OSM.

  1. Récupérer le jeu de données publié. Exemple avec les arceaux vélo. Ici les données sont publiées en Licence Ouverte, ce qui est compatible avec une réutilisation OdbL.
  2. Télécharger le fichier au format GeoJSON. FIXME changer l’extension du fichier en .geojson ?
  3. Il s’agit maintenant d’analyser le jeu de données et de le restructurer pour le faire correspondre au format attendu par OSM. Dans le cas des arceaux à vélo les tags suivants seront nécessaires:
    1. amenity=bicycle_parking
    2. bicycle_parking=*
    3. capacity=*
    4. covered=yes/no
    5. operator=*
    6. ref:FR:GrandLyon=*
    7. start_date=*
  4. Manipulation des tags.
    1. Suppression des tags inutiles. Le plus simple est sans doute de charger le fichier dans JOSM. Il n’est pas nécessaire d’afficher un fond de carte dans un premier temps. Sélectionner tous les objets avec CTRL+A, puis dans le panneau “Attributs”, supprimer tous les tags inutiles. Penser à enregistrer le fichier.
    2. Renommage d’un tag. Pendant que le fichier est chargé, garder tous les objets sélectionnés et renommer les tag, sans toucher aux valeurs. Exemple: renommer capacité en capacity. Penser à enregistrer le fichier.
    3. Renommage des valeurs. Le renommage dans JOSM n’est pas le plus adapté. Un simple éditeur de texte sera aussi efficace pour un “remplacer par” général. Dans le cas du fichier de Lyon, remplacer Oui par yes , Non par no, Willmotte par stands, etc. Enregistrer.
    4. Recharger le fichier dans JOSM

Préparation des données OSM

Cette étape consiste à extraire les données OSM correspondantes, pour pouvoir faire le rapprochement. L’extraction se fait avec Overpass

  1. Ouvrir le menu “Télécharger des données” et aller à l’onglet “Télécharger depuis l’API Overpass”, rédiger et exécuter la requête appropriée. Charger les données dans un nouveau calque.
    /* Sélection des arceaux à vélo */
    area[name="Métropole de Lyon"];
    nwr[amenity=bicycle_parking](area);
    (._;>;);
    out meta;
  1. Pour plus de détails voir le wiki Overpass et le site Overpass.

Rapprochement des données

Cette étape consiste à rapprocher les données OSM et les données externes. Ceci s’effectue avec le greffon Conflation.

  1. Dans le panneau du greffon Conflation, cliquer sur “Configurer” pour ouvrir la boite de dialogue.
  2. Référence : activer le calque du fichier Geojson, sélectionner toutes les données, cliquer sur “Figer
  3. Sujet : activer le calque des données OSM, sélectionner toutes les données, cliquer sur “Figer
  4. Pour plus de détails voir le wiki Conflation
  5. Cliquer sur “Générer les correspondances

Le greffon Conflation va comparer les données et proposer un rapprochement. Pour chaque correspondance:

  1. Il est possible de visualiser les objets avec “Clic droit > Agrandir pour sélectionner les primitives
  2. Cliquer sur le bouton “Rapprocher”.
    • S’il n’y a aucun conflit, les tags seront fusionnés
    • S’il y a un conflit, un dialogue permettra de choisir les valeurs des tags à conserver.

Ne pas oublier que le jeu externe - tout comme OSM - peut contenir des erreurs ou des imprécisions. Il est donc conseillé de vérifier les données.

Une fois le rapprochement effectué, envoyer le changset en n’oubliant pas de mentionner la source des données.

Note : la page sur l’import semi-automatique du cadastre fournit des informations plus détaillées qu’ici sur l’utilisation du greffon Conflation.

Location: 69002, Rhône, Auvergne-Rhône-Alpes, France métropolitaine, 69002, France

Discussion

Comment from yvecai on 11 December 2021 at 18:49

Je rajouterai bien 2-3 points en préambule, issus de wiki.openstreetmap.org/wiki/FR:Import/Guidelines, par exemple.

;-)

Comment from Gonéo on 12 December 2021 at 20:42

Merci, j’ai ajouté un lien vers la page plutôt que d’essayer d’en faire un résumé ici.

Comment from naomap on 21 December 2021 at 09:25

Bonjour. Il faudrait inverser les 2 dernières lignes de la requête Overpass. En l’état le nodes référencés par les ways ne sont pas retournés, il manque donc les parkings à vélos définis par des ways fermés.

Comment from Gonéo on 21 December 2021 at 10:22

Merci @naomap c’était un glisser-déplacer malheureux. J’ai corrigé. Et j’ai affiné la zone avec “Métropole de Lyon” pour correspondre au jeu open-data. Ça évite de sélectionner les communes aux alentours.

Log in to leave a comment