atp2osm logo atp2osm

Documentation

Comment fonctionne atp2osm et comment contribuer.

Qu'est-ce qu'une « marque » ?

La notion de marque vient directement d'All The Places (ATP). ATP est une base de données collaborative structurée autour des enseignes nationales et internationales : chaînes de magasins, réseaux de restauration, banques, chaînes de pharmacies… Chaque enseigne y est identifiée par un code Wikidata unique, par exemple Q37158 pour Zara. Les commerces indépendants (boulangerie de quartier, restaurant local…) n'en font pas partie.

Quelques termes clés

spider
Programme dédié à une seule enseigne, qui collecte automatiquement ses données depuis son site officiel (horaires d'ouverture, téléphone, adresse…).
scraping
Technique d'extraction automatique d'informations depuis des pages web. C'est ce que fait chaque spider ATP pour récupérer les données d'une enseigne.

atp2osm reprend cette structure et intègre les données enseigne par enseigne, en suivant de près les spiders ATP. Toutes les données d'une même enseigne proviennent ainsi d'une source unique et homogène : c'est ce qui permet de juger la qualité d'un spider en contrôlant un échantillon aléatoire de 3 POI par lot intégré, puis d'étendre cette confiance à l'ensemble du jeu de données.

Résumé

Ce qui est fait

  • Ajout des tags opening_hours, phone, website, email manquants
  • Correspondance sur les nœuds, chemins et relations
  • Regroupement des intégrations par département
  • Traçabilité complète dans l'historique

Ce qui n'est pas fait

  • Créer de nouveaux nœuds OpenStreetMap
  • Modification ou suppression de tags existants
  • Modification de la géométrie
  • Intégration sans validation humaine

Principe général

atp2osm est un outil d'enrichissement d'OpenStreetMap à partir des données All The Places (ATP). ATP collecte automatiquement les informations des points d'intérêt (horaires, téléphone, site web, email) directement depuis les sites officiels des enseignes.

L'outil compare ces données aux nœuds OpenStreetMap existants, repère les tags manquants, et vous permet de les relire puis de les intégrer dans OpenStreetMap avec votre propre compte. Aucun nœud n'est jamais créé ni supprimé : seuls des tags manquants sont ajoutés.

Le processus en détail

  • Collecte des données ATP

    Chaque semaine, les dernières données ATP sont téléchargées depuis alltheplaces.xyz. Elles contiennent les POI avec leurs attributs extraits des sites officiels des enseignes.

  • Mise à jour des données OpenStreetMap

    En parallèle, les données OpenStreetMap sont importées dans la base locale via osm2pgsql.

  • Correspondance spatiale et attributaire

    Chaque POI ATP est mis en correspondance avec les nœuds OpenStreetMap dans un rayon de 500 m, en vérifiant qu'au moins un attribut est commun parmi brand:wikidata, brand, name, phone, website, email. Les correspondances ambiguës (plusieurs nœuds OpenStreetMap pour un même POI ATP) sont écartées.

  • Calcul des tags manquants

    Pour chaque correspondance retenue, l'outil calcule quels tags sont présents dans ATP mais absents d'OpenStreetMap. Seuls les tags manquants sont proposés : un tag existant n'est jamais modifié.

  • Validation et intégration

    Vous vérifiez les changements proposés pour une marque, puis vous déclenchez l'intégration automatique de l'ensemble du jeu de données. Les modifications sont envoyées à l'API OpenStreetMap avec votre compte, groupées par département.

Comment contribuer

  1. 1

    Connectez-vous avec votre compte OpenStreetMap

    Utilisez le bouton de connexion en bas du menu. Vos intégrations sont enregistrées sous votre nom dans l'historique des changesets OpenStreetMap.

  2. 2

    Choisissez une marque

    La page Marques à intégrer liste toutes les enseignes pour lesquelles des enrichissements sont disponibles, avec le nombre de nœuds concernés.

  3. 3

    Vérifiez les correspondances

    Pour chaque nœud, vérifiez que la correspondance ATP ↔ OpenStreetMap est correcte : position, nom de l'établissement, tags proposés. En cas de doute, consultez la source ATP ou l'objet OpenStreetMap avant de valider.

  4. 4

    Intégrer

    Si les données vous semblent correctes, lancez l'intégration. Les changesets sont créés automatiquement sur OpenStreetMap, un par département. L'opération est irréversible : assurez-vous d'avoir vérifié les données.

Validation des marques

La validation se fait lot par lot : une marque est découpée en lots de départements entiers, et avant d'intégrer un lot vous en contrôlez un échantillon tiré au hasard. Si les données de cet échantillon sont correctes, la fiabilité est considérée comme acquise pour l'ensemble des établissements du lot.

L'échantillon contient au moins un exemple de chaque tag modifié par le lot : si le lot ajoute par exemple phone, website, opening_hours et email, l'échantillon comprendra un POI portant chacun de ces tags. Chaque tag est donc vu au moins une fois avant l'intégration, et l'échantillon est complété au hasard jusqu'à 3 éléments s'il en compte moins. Selon les tags concernés, vous pouvez ainsi avoir 4 POI à vérifier, voire davantage.

Avant de valider, assurez-vous que les éléments vérifiés sont représentatifs : testez plusieurs établissements dans des régions différentes, vérifiez les cas limites (horaires spéciaux, numéros de téléphone mal formatés, URL redirigées…). Si le moindre doute persiste sur la qualité du spider, signalez une erreur plutôt que de valider.

Statuts des intégrations

Chaque intégration enregistrée dans l'historique se voit attribuer un statut reflétant son résultat.

Succès

Intégration réussie

Tous les changements ont été envoyés à OpenStreetMap et sont désormais visibles publiquement.

Partielle

Intégration partiellement réussie

Certains départements n'ont pas pu être intégrés à cause d'une erreur de l'API OpenStreetMap. Les changements envoyés sont néanmoins visibles sur OpenStreetMap. Les données non intégrées restent disponibles pour une prochaine intégration.

Annulée

Intégration annulée : données signalées

L'intégration a été interrompue après qu'un contributeur a détecté des erreurs dans les données ATP. Aucune modification n'a été envoyée à OpenStreetMap.

Erreur

Erreur technique

Une erreur qui ne dépend pas de vous a empêché l'intégration de se terminer. Aucune modification n'a été envoyée à OpenStreetMap. Vous pouvez relancer l'intégration depuis la page de la marque concernée après 4 semaines. Ce délai laisse le temps de corriger les éventuelles erreurs dans les jeux de données.

Lire les chiffres des spiders

La page des spiders détaille, étape par étape, ce que chaque spider All The Places apporte.

Collectés iciLes POI que le spider a produits dans le pays et ses territoires.
CorrespondancesCeux qui ont un objet OpenStreetMap à moins de 500 m partageant une marque, un nom, un email, un téléphone ou un site web. Les autres sont absents d'OpenStreetMap, ou présents sans aucun attribut permettant de les reconnaître.
À intégrerLes correspondances où il reste quelque chose à faire : un tag à ajouter (vague 1) ou à remplacer (vague 2), hors départements encore en période d'attente. Un POI présent dans les deux vagues compte deux fois, comme deux intégrations. La page des marques n'affiche qu'une vague à la fois et seulement les marques dotées d'un code Wikidata : ses totaux sont donc inférieurs.
IntégrésLes POI réellement écrits dans OpenStreetMap via les marques que le spider produit : une marque partagée par deux spiders compte pour les deux.

Licences

OpenStreetMap

Les données OpenStreetMap sont publiées sous licence ODbL 1.0 (Open Database License). Toute contribution faite avec cet outil est soumise aux Contributor Terms d'OpenStreetMap.

All The Places

Les données ATP sont publiées sous licence CC0 1.0 (domaine public). Elles sont librement réutilisables, sans restriction.

atp2osm

Le code source de cet outil est publié sous licence GPL-3.0. Les contributions sont les bienvenues sur GitHub.

Exporter les données

Les données produites par atp2osm sont librement exportables, en CSV ou en JSON, sans authentification. Il s'agit uniquement de la trace des intégrations et de la liste des marques manquantes : les données sources restent chez leurs producteurs respectifs (All The Places et OpenStreetMap).

GET/api/export/history.csv
Une ligne par intégration : marque, contributeur, date, statut, nombre d'objets et de tags.
GET/api/export/subdivisions.csv
Le détail par changeset : subdivision administrative, nombre d'objets, identifiant du changeset OpenStreetMap et statut.
GET/api/export/todo.csv
Les marques signalées comme absentes d'ATP. Celles qu'ATP connaît désormais sont exclues, sauf avec ?show_in_atp=1.
GET/api/stats.json
Les chiffres de la page de statistiques : totaux, séries par période, principaux tags, marques et contributeurs, fiabilité des spiders. Accepte les mêmes filtres que la page.

Remplacez .csv par .json pour obtenir le même contenu en JSON. Les exports history et todo acceptent les mêmes filtres que les pages correspondantes (q, status, user, from, to) : le bouton « Exporter » situé au-dessus de chaque tableau reprend d'ailleurs les filtres actifs.

Ressources