Aide:Extension:Kartographer/OSM
Quel est le rapport entre Kartographer et OpenStreetMap ?
Kartographer est une extension MediaWiki qui permet aux éditeurs de Wikitexte d'inclure une carte dans une page. Cette carte est générée par un serveur de cartes Wikimedia à l'aide des données OpenStreetMap.
La conception graphique de cette carte (calque de base) est appelée un style et détermine quelles données OSM seront affichées sur les tuiles de la carte (il agit donc comme un filtre), mais aussi les couleurs et les types de graphiques utilisés pour restituer les données. Bien que le style de la carte soit similaire à celui d'OpenStreetMap, il est spécifique à Wikimedia et basé sur ce qu'on appelle le style OSM Bright.
En plus de la carte de base, Kartographer permet aux éditeurs de dessiner des formes et des marqueurs en surbrillance sur la carte. Ces formes peuvent provenir de plusieurs sources, mais sont généralement récupérées à partir d'OpenStreetMap. Dans ce cas, cela utilise les informations Wikidata dont OpenStreetMap garde la trace.
Si vous voulez corriger un problème sur une carte, vous devrez sans doute devenir contributeur OpenStreetMap et (ou) ajouter un identifiant Wikidata aux données OpenStreetMap. Gardez à l'esprit que OpenStreetMap n'accepte généralement que des objets existants et donc il n'y a pas d'objets historiques dans ses cartes. Ces données doivent être fournies par d'autres moyens. Il faut ensuite attendre que les données ajoutéees soient synchronisées avec Wikimedia (généralement en une journée). Enfin, il se peut qu'une partie du système ait mis en cache d'anciennes données. Un certain temps peut donc s'écouler entre la modification sur OpenStreetMap et sa prise en compte dans Wikimedia.
Comment utiliser les objets OpenStreetMap
Vous pouvez dessiner des objets polygonaux et des voies (des zones et des lignes), tels que des pays, des routes ou des parcs à partir d'OpenStreetMap directement sur les cartes. Mais pour cela, l’objet OSM doit être étiqueté avec l'identifiant Wikidata. Les cartes Wikipédia ne prennent pas encore en charge les points (nœuds).
Par exemple, pour mettre en évidence le Bryant Park à New York, vous devez trouver son identifiant Wikidata.
Le plus simple est d'aller sur l'article wiki correspondant Bryant Park, et de cliquer sur Élément Wikidata dans la boîte à outils sur la gauche.
Dans certains cas rares, il peut ne pas exister d'élément Wikidata correspondant, auquel cas vous devez le créer et lui ajouter l'article Wikipédia.
Une fois ajouté (voir comment faire ci-dessous), vous pourrez utiliser le service geoline pour tracer des lignes, le service "geoshape" pour les polygones et le service "geomask" pour appliquer un masque inverse sur tout sauf le polygone nécessaire.
<mapframe text="Bryant Park, New York" width="300" height="300" latitude="40.75333" longitude="-73.9827" zoom="15">
{
"type": "ExternalData",
"service": "geoshape",
"ids": "Q995174",
"properties": {
"title": "Bryant Park",
"description": "[[File:2011-NYC-Bryant-Park-Library.JPG|300px]]",
"stroke": "#125123",
"stroke-width": 3,
"fill": "#2aaf4d"
}
}
</mapframe>
Comment ajouter un identifiant Wikidata à OSM
- Allez sur OpenStreetMap
- Si vous n'avez pas de compte, cliquez sur "Connexion " (dans le coin supérieur droit) et cliquez sur l'icône Wikipédia - cela permet à OSM d'utiliser votre compte Wikipédia.
- En utilisant la boîte de recherche, trouvez l'objet dont vous avez besoin dans le panneau de gauche, puis cliquez dessus.
- Une fois que l'objet est affiché entouré une ligne orange vif, vérifiez si les balises wikipedia et (ou) wikidata sont présentes. Si les deux sont là, vous avez terminé.
- Zoomer sur n'importe quelle endroit de la ligne orange jusqu'au sol.
- Cliquez sur le bouton modifier en haut. Attention à ne rien cliquer sur la carte.
- Le côté gauche de l'écran doit maintenant afficher la boîte Modifier la fonctionnalité. Faites défiler vers le bas jusque Ajouter un champ: qui se trouve juste au-dessus de Toutes les balises (..).
- S'il n'y avait pas de balise Wikipedia ni de balises Wikidata, cliquez sur la case ajouter un champ et sélectionnez Wikipedia. Sélectionnez la langue et copiez / collez le nom de l'article. Cela ajoutera automatiquement la balise Wikidata (vous pouvez les vérifier dans la section toutes les balises).
- S'il y avait une balise Wikipedia, mais pas de balise Wikidata, vous pouvez soit supprimer et réajouter la case Wikipedia, et simplement ajouter manuellement la balise "Wikidata" dans la section "toutes les balises".
- Cliquer pour enregistrer et remplir le résumé des modifications.
- Les données doivent être disponibles pour Wikipedia sous un jour environ (nous travaillons à ce que cela soit plus rapide)
Comment obtenir un seul objet à partir de plusieurs lignes
Souvent, un groupe de lignes correspond à un seul élément – comme une route composée de plusieurs voies. Chaque balise Wikidata doit avoir une valeur unique, donc les lignes individuelles doivent être groupées dans un seul objet. Les instructions suivantes supposent que vous souhaitez créer (ou trouver) un seul objet pour une route, mais que vous devez travailler (avec des variations mineures) pour d'autres types de lignes.
Terminologie
- nœud
- Un noeud est un point unique sur la carte
- voie
- Une voie relie deux ou plusieurs nœuds
- relation
- Une relation est un ensemble de voies qui constituent un itinéraire
Limites
Résumé du processus
- Dans OSM, trouvez ou créez une relation qui couvre tout le chemin
- Ajoutez un identifiant d'élément Wikidata (numéro commençant par un Q) à l'aide de la balise
wikidata(s'il n'est pas déjà présent) - Attendre 1 ou 2 jours que la base de données soit mise à jour
Détails du processus
- Allez sur OpenStreetMap
- Bougez la carte pour voir la route que vous voulez, et entrez le nom de la route dans la boîte de recherche
- Les résultats (voies) apparaîtront dans un panneau à gauche de l'écran. Trouvez une voie qui fait partie de la route que vous voulez, et cliquez dessus. Le panneau chargera ensuite les détails de la voie sélectionnée et sera mis en évidence sur la carte.
- Descendre dans le panneau jusqu'à la section Partie de. Si vous y trouvez des relations, faire un clic dessus pour vérifier si elles couvrent toute la route. Si vous trouvez celle que vous voulez, c'est bon; sinon vous devrez en créer une (voir Créer une nouvelle relation ci-dessous)
- Cliquez sur le bouton modifier en haut. Attention à ne rien cliquer sur la carte. Le côté gauche de l'écran doit maintenant afficher la case Modifier la fonctionnalité.
Descendez jusqu'à la case Ajouter le champ : qui se trouve juste au-dessus de la case Toutes les balises (..).- S'il n'y avait pas de balises Wikipedia ni balises Wikidata, cliquez sur la case Ajouter un champ et sélectionnez Wikipedia. Sélectionner la langue et copier-coller le nom de l'article. Cela ajoutera automatiquement la balise Wikidata (vous pouvez les vérifier dans la section toutes les balises).
- S'il y avait une balise Wikipedia, mais pas de balise Wikidata, vous pouvez soit supprimer et réajouter la case Wikipedia, et simplement ajouter la balise Wikidata manuellement dans la section 'Toutes les balises.
- Cliquer sur Enregistrer et remplir le résumé des modifications. Les données devraient être disponibles dans Wikipédia sous 1 jour environ.
Créer une nouvelle relation
S'il n'existe pas de relation pour la route que vous voulez, vous devrez en créer une nouvelle. Il y a plusieurs façons de faire cela : l'éditeur Potlatch 2 est bien pour des routes plus courtes, l'éditeur JOSM convient mieux aux routes plus longues. Instructions for the iD online editor, see https://community.openstreetmap.org/t/succinct-steps-to-add-a-relation-in-id-editor/87669
Utilisation de Potlatch
- Zoomer dans la zone autour de la route, puis cliquer sur la flèche déroulante à côté de Modifier, sélectionner Modifier avec Potlatch 2
- Une fois les données chargées par Potlatch sur l'écran, faire Ctrl+clic pour sélectionner la première voie (segment de route). Il apparaîtra, mis en évidence sur la carte. Continuer avec des Ctrl+clic sur les voies à ajouter jusqu'à ce que la route entière soit mise en valeur.
- Dans le volet de gauche, il y a un tableau en bas qui énumère les relations existantes pour les voies sélectionnées. Sous ce tableau, cliquer sur Ajouter à. Une fenêtre intitulée Sélectionner la relation apparaîtra, en bas de cette fenêtre cliquer sur le bouton Nouvelle relation....
- En bas de la fenêtre, cliquer sur Avancé. Un tableau vide de clé-valeurs est affiché – ajoutez-lui les paires suivantes en cliquant sur Ajouter juste sous le tableau
name: nom de la routetype:routeroute:roadwikidata: Q-nombre (l'ID de Wikidata)
- Fermez la fenêtre contextuelle Modifier la relation et sauvegardez la modification. Vous pouvez revenir à https://www.openstreetmap.org et répéter l'étape 1 pour vérifier la nouvelle relation que vous venez de créer.
Utilisation de JOSM
- Assurez-vous que votre compte possède un mot de passe OSM associé : connectez-vous avec le compte Wikipedia, puis allez sur votre profil (cliquez sur la case de votre nom dans le coin supérieur droit de l'écran), allez à Paramètres, remplissez les champs Mot de passe et Confirmer le mot de passe, descendez et cliquez sur Enregistrer les changements.
- Télécharger ou exécuter JOSM à partir de https://josm.openstreetmap.de/
- Maintenant, dans JOSM, vous devez télécharger les voies qui composent la route que vous voulez. Il y a deux façons de le faire (et vous pouvez également utiliser une combinaison de ces deux méthodes) :
- Téléchargez les relations existantes qui se chevauchent avec la route que vous voulez (par exemple Relation: 94 (317411) interfère avec la plupart des autoroutes du Grand Est. Utilisez la méthode décrite ci-dessus dans Détails du processus pour trouver les voies qui se superposent et notez l'ID de leur objet (le numéro entre crochets, également présent dans l'URL après
/relation/une fois cliqué)- Allez à Fichier -> Télécharger l'objet... -> entrer l' ID de l' objet (ou les IDs), cliquez sur Téléverser les objets
- Télécharger les zones qui contiennent la route. Rappelez-vous que les boîtes de délimitation ne peuvent pas être trop grandes, sinon le serveur OSM refusera le téléchargement.
- Allez à Fichier -> Télécharger à partir d'OSM... -> sélectionner la zone avec la souris, cliquer sur Télécharger. Répéter si nécessaire.
- Téléchargez les relations existantes qui se chevauchent avec la route que vous voulez (par exemple Relation: 94 (317411) interfère avec la plupart des autoroutes du Grand Est. Utilisez la méthode décrite ci-dessus dans Détails du processus pour trouver les voies qui se superposent et notez l'ID de leur objet (le numéro entre crochets, également présent dans l'URL après
- Une fois téléchargé, vous devez voir des lignes représentant toutes les voies le long de la route (ainsi que d'autres données si vous avez téléchargé les zones). Maintenant vous devez sélectionner toutes les voies qui constituent la route. Il y a deux manières de faire cela :
- Chercher les éléments à ajouter ou à supprimer de la sélection
- Allez Modification -> Rechercher... -> Entrez le nom de la route dans la boîte de recherche. Cela peut être répété autant de fois que nécessaire, si plusieurs noms sont utilisés le long de la route, ou si des éléments non routiers sont sélectionnés (par exemple des bâtiments le long de l'itinéraire) - pour la première recherche sélectionnez Remplacer la sélection, pour les recherches suivantes, sélectionner Ajouter à la sélection ou Supprimer de la sélection. Cliquer sur Commencer pour lancer la recherche.
- Faites un Shift+clic sur les éléments à ajouter, ou un Ctrl+clic sur ceux à supprimer de la sélection. Plusieurs éléments peuvent être ajoutés ou supprimés en gardant le clic et en dessinant un rectangle qui entoure complètement les éléments.
- Chercher les éléments à ajouter ou à supprimer de la sélection
- Les éléments sélectionnés seront mis en valeur à l'écran et seront listés dans une boîte à droite. Chercher dans cette liste les éléments à supprimer à l'aide d'une autre recherche. Regardez également la route sur la partie principale de l'écran pour trouver les voies manquantes à ajouter avec une autre recherche.
- Dès que la sélection vous convient allez à la route Configuration -> Relations -> Routes -> Road . Entrer le nom de la route dans le champ nom, cliquer sur Nouvelle relation. Une fenêtre plus détaillée va s'ouvrir. Dans le tableau clé/valeur, cliquez sur l'espace vide de la colonne clé et entrez "wikidata" (lettres minuscules). Dans le champ Valeur à droite, entrez l'ID Wikidata (Q-numéro) de la route. Cliquer sur le bouton OK.
- Maintenant téléversez les données sur OSM :
- Aller à Fichier -> Téléverser les données. Une boîte d'avertissement peut apparaître - avec des instructions, Si vous avez des doutes, ignorez-les (ou si vous savez ce que vous faites, vous pouvez les réparer); cliquer sur Continuer le téléchargement
- Dans la fenêtre suivante, vérifiez que vous n'avez pas accidentellement supprimé ou modifié des choses, ou ajouté autre chose que la nouvelle relation que vous venez de créer. Entrez un commentaire significatif pour les données OSM, puis cliquez sur Téléverser les modifications.
- Connectez-vous avec votre nom d'utilisateur et votre mot de passe OSM quand ils seront demandés.
- Vérifier que la nouvelle relation a été téléversée (suivez les étapes de la section Détails du processus ci-dessus et la nouvelle relation doit apparaître). Les petites modifications peuvent être faites avec Potlatch si nécessaire.
Synchronisation entre OpenStreetMap et les wikis Wikimedia
Structure du serveur Kartographer brièvement
Pour des raisons de performances, les wikis Wikimedia ne demandent pas directement les données à OpenStreetMap. Au lieu de cela, les données d'OSM sont régulièrement copiées sur les serveurs Wikimedia.
- Le serveur de cartes
- contient toute la structure et fournit les fonctionnalités nécessaires pour dessiner des cartes : par exemple, la définition de la manière dont les cartes Kartographer sont stylisées, quelles parties des données OSM ne sont pas affichées sur les cartes Kartographer, comment les données et les fonctionnalités de la carte sont assemblées, etc.
- contient une base de données avec un ensemble de formes géographiques (geoshapes) et de geolines importées à partir des données OSM liées aux éléments Wikidata.
- Copies du serveur - Les données cartographiques sont copiées sur 5 serveurs, car un seul serveur n'est pas en mesure de gérer la quantité de requêtes provenant des pages wiki. Lorsqu'une personne consulte une page wiki contenant une carte Kartographer, les données de cette carte sont extraites de l'une de ces copies du serveur. Le partage de charge décide quel serveur sera choisi en fonction de sa charge et de la provenance de la demande.
Toute cette structure de serveur est dupliquée sur deux data centers : eqiad et codfw. Ainsi, il existe toujours une solution de secours lorsqu'un data center doit subir une maintenance ou est en panne, etc.
Processus de synchronisation entre les wikis OSM et Wikimedia
- La copie la plus récente des objets OSM pertinents dans le monde entier est importée une fois sur les principaux serveurs cartographiques. Ce qui est considéré comme pertinent est préconfiguré, afin de ne pas surcharger la base de données.
- Cet export est copié sur chaque copie du serveur.
- Ces gros exports ne se produisent pas régulièrement. Les serveurs Wikimedia récupèrent chaque jour les diffs du serveur OSM, lesquels contient toutes les modifications effectuées depuis la veille.
- Grâce à ces diffs, les données sur les deux centres de données Wikimedia, et à partir de là sur toutes les copies du serveur, sont quotidiennement mises à jour.
- Si tout fonctionne comme prévu, les données sur les serveurs Wikimedia sont synchronisées avec OSM une fois par jour. Cela signifie que : Si vous apportez une modification à une carte OSM ou connectez une forme OSM à un élément Wikidata, cela peut prendre jusqu'à une journée avant que la modification ne soit visible sur les wikis Wikimedia.
| Problèmes et solutions | Reconnaître un problème de synchronisation |
|---|---|
| Si un diff ne peut pas être importé, toutes les modifications sur OpenStreetMap du jour concerné ne sont pas synchronisées avec les wikis Wikimedia. Dans ce cas, les cartes ne sont plus synchronisées pour tout le monde. Cela ne sera pas corrigé avec le diff du jour suivant, car chaque diff ne contient que les modifications d'OSM au cours de la dernière journée.
Dans le passé, les diffs échouaient à certains moments de sorte que les serveurs OSM et Wikimedia restaient parfois incohérents durant plusieurs semaines.
|
|
Il arrive parfois que les données ne soient pas copiées des serveurs principaux vers toutes les copies des serveurs. Cela signifie que les données entre les copies du serveur sont incohérentes :
|
|

Les erreurs de synchronisation ne peuvent jamais être totalement évitées et une légère latence est considérée comme normale. Si vous constatez une latence supérieure à 2 semaines, nous vous encourageons à créer un rapport de bogue dans Phabricator.
Lectures complémentaires
- Structure plus détaillée du serveur de cartes
- Schéma technique du processus de synchronisation
- Pour déterminer quel centre de données est actuellement utilisé, comparez celui qui a la charge la plus élevée : eqiad, codfw
