OpenStreetMap

Gonéo's Diary

Recent diary entries

J’ai entamé un travail de mise à jour dans OpenStreetMap des arceaux à vélo de la métropole de Lyon. Il reste beaucoup à faire.

À cette heure je compte 4.091 objets dans le jeu de la métropole versus 3.351 dans le jeu OpenStreetMap. Après analyse le greffon Conflation de JOSM annonce ces chiffres :

  • 2.846 correspondances, avec des écarts allant jusqu’à 40 mètres (la limite que j’ai fixée pour le rapprochement)
  • 1.245 objets présents uniquement dans le jeu de la métropole
  • 505 objets présents uniquement dans le jeu OpenStreetMap

Quand les positions correspondent et que c’est pas déjà renseigné, j’ajoute systématiquement la référence (le champ “nom” du jeu de la métropole) en tant que ref:FR:GrandLyon. Ceci permettra un rapprochement plus fiable par la suite.

Positionnement : Pour les objets que j’ai traités, l’erreur de positionnement se situe parfois dans les données OpenStreetMap, parfois dans les données Métropole, voire parfois dans les 2. Quand les arceaux étaient visibles j’ai recalé les positions dans OSM. J’ai laissé une note=positionnement corrigé par rapport à l'open-data en espérant que ça remonte peut-être un jour à la métropole. Et pour éviter qu’à chaque comparaison on se demande qui a raison. Malheureusement je ne l’ai pas fait au début et il en manque. Je referai une passe.

Suppressions : Il y a des arceaux qui disparaissent suite à des réaménagements de voirie. Ils sont supprimés du jeu Métropole mais ils sont encore présents dans les données OpenStreetMap. Quand j’ai un doute je laisse un fixme=resurvey, que je double avec une note demandant de confirmer si les arceaux existent encore. Ça peut faire doublon mais le fixme est plus facile à utiliser pour les requêtes, tandis que la note est plus visible pour les contributeurs qui sont sur le terrain.

Non référencés : À l’inverse il y a des arceaux présents sur OpenStreetMap (souvent du type Wilmotte typique de la métropole), mais qui ne sont bizarrement pas référencés dans le jeu Métropole. Dans ce cas j’ai laissé une note=absent du fichier open-data en déc. 2021 ce qui permettra à la métropole de les vérifier. Il y a aussi des doublons, créés par des contributeurs qui ont ajouté les arceaux sans vérifier qu’ils étaient déjà renseignés avec quelques mètres d’écart ; dans ce cas un ménage s’impose. Enfin on trouve des arceaux probablement installés par des écoles, des entreprises, des commerces, etc.

Capacité : Enfin, la capacité (nombre de vélos acceptés) évolue dans le temps. Souvent vers le haut, parfois vers le bas.

Tout ça donne le sentiment d’un travail fait en double de manière inutile. À la source, la métropole publie ce jeu de données mais leurs modifications ne sont pas répercutées ou alors tardivement dans OSM. De l’autre côté il y a un travail intéressant de la part des contributeurs qui corrigent certaines erreurs de position et qui ajoutent des arceaux non référencés mais la métropole ne bénéficie pas de ces contributions.

Il ne faut pas oublier que pour le vélo OpenStreetMap est aujourd’hui LA référence. Toutes les applications majeures utilisent ces données ; que ce soit GéoVélo, Strava, OsmAnd, OrganicMaps, etc. En termes pratiques pour les cyclistes et en termes d’image pour une métropole qui se veut pro-vélo, il est souhaitable que les nouveaux aménagements réalisés soient référencés rapidement tout en étant précis.

Rien que pour les arceaux à vélo parle de plus de 4.000 objets qui évoluent dans le temps. Si on ajoute les pistes et autres bandes cyclables alors la quantité d’informations à gérer devient énorme. Les pistes représentent une information encore plus demandée que les arceaux. Il serait souhaitable de trouver un système qui permette de collaborer efficacement. Dans l’idéal il y a l’option prise par la métropole de Montpellier : les agents saisissent directement dans OSM, avec un import contrôlé dans leur système. Le Grand Lyon n’en est pas là, au moins à court terme. Est-ce qu’il y a d’autres solutions envisageables ?

À minima on pourrait imaginer se baser sur la date de dernière modification et ne traiter que les objets qui sont plus récents dans l’open-data. Aujourd’hui cette date n’existe pas dans le jeu open-data. Elle existe à coup sûr dans le système, il faudrait peut-être envisager de la publier. Le suivi des évolutions est (un peu) facilité mais la mise à jour d’OSM reste manuelle et désynchronisée.

Les propositions sont les bienvenues.

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

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