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.
Une enseigne est absente ? Son spider ATP n'existe peut-être pas encore.
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
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
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
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
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
Au moins 3 éléments par lot sont validés manuellement, tirés au hasard parmi les établissements de ce lot.
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.
Intégration réussie
Tous les changements ont été envoyés à OpenStreetMap et sont désormais visibles publiquement.
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.
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 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 ici | Les POI que le spider a produits dans le pays et ses territoires. |
|---|---|
| Correspondances | Ceux 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égrer | Les 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és | Les 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.
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
- All The Places — la source des données de POI
- Page du wiki OpenStreetMap — documentation des intégrations automatisées
- Code source — contributions bienvenues