Jump to content

Help:Extension:Kartographer/OSM

From mediawiki.org
This page is a translated version of the page Help:Extension:Kartographer/OSM and the translation is 52% complete.

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 (la couche de base) est appelée un style. Ce dernier 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 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 a 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. 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 un changement sur OpenStreetMap et sa prise en compte dans Wikimedia.


Comment utiliser les objets d'OpenStreetMap

Vous pouvez dessiner des objets polygonaux et des routes (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 un identifiant Wikidata. Les cartes Wikipédia ne prennent pas encore en charge les points (nœuds).

Map
Bryant Park, New York

Par exemple, pour mettre en évidence 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 le côté. Dans certains cas rares, il peut ne pas y avoir d'élément Wikidata correspondant, auquel cas vous devez le créer et l'ajouter à l'article Wikipédia.

Une fois ajouté (voir "comment faire" ci-dessous), vous pourrez utiliser le service "geoline" pour les lignes, le service "geoshape" pour les polygones et le service "geomask" pour masquer 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.
  • Using the search box, find the object you need in the left pane, and click on it.
  • Once the object is shown in a bright orange line, check if the "wikipedia" and/or "wikidata" tag is there.

If both are there, you are done.

  • Zoom in onto any part of the orange line all the way to the ground.
  • Click "edit" button at the top.

Be careful not to click anything in the map.

  • The left side of the screen should now show "Edit feature" box.

Scroll down to "Add field:" box, which is right above the "All tags (..)".

  • If there was no wikipedia and no wikidata tags, click "add field" box and select Wikipedia.

Select the language and copy/paste the article name. This will automatically add the Wikidata tag as well (you can check them in the "all tags" section).

  • If there was a wikipedia tag, but no wikidata, you can either delete and re-add the wikipedia box, and simply add the "wikidata" tag by hand in the "all tags" section.
  • Click Save, and enter a good change description.
  • The data should become available for Wikipedia in about 1 day (we are still working on making this quicker)

Comment obtenir un seul objet à partir de plusieurs lignes

Often, a group of lines correspond to a single item – such as a road that is made up of multiple ways. Each "wikidata" tag should have a unique value, so therefore the individual lines need to be grouped into a single object. The following instructions assume you want to create (or find) a single object for a road, but should work (with minor variations) for other types of lines.

Terminologie

nœud/node
Un noeud/node est un point unique sur la carte
ligne
Une ligne relie deux ou plusieurs nœuds
relation
Une relation est un ensemble de lignes qui constituent un itinéraire

Limites

Actuellement, seules les relations avec type=multipolygon, type=route, type=boundary, type=waterway seront affichées sur les cartes.

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 du tag 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

  1. Allez sur OpenStreetMap
  1. Move the map so you can see the road you want, and enter the road name into search box
  1. Results (ways) will come up in a pane of the left of the screen.

Find a way which is part of the road you want, and click it. The pane will then load details for the selected way, and it will be highlighted on the map.

  1. Scroll down the pane to the bottom, and look at the section "Part of".

If there are any relations listed there, click on them to check if they cover the whole road. If you find one you want, good; otherwise you will need to create one (see 'Create a new relation' below)

  1. Click "edit" button at the top.

Be careful not to click anything in the map. The left side of the screen should now show "Edit feature" box.
Scroll down to "Add field:" box, which is right above the "All tags (..)".

    • If there was no wikipedia and no wikidata tags, click "add field" box and select Wikipedia.

Select the language and copy/paste the article name. This will automatically add the Wikidata tag as well (you can check them in the "all tags" section).

    • If there was a wikipedia tag, but no wikidata, you can either delete and re-add the wikipedia box, and simply add the "wikidata" tag by hand in the "all tags" section.
  1. Click Save, and enter a good change description.

The data should be available to Wikipedia in about 1 day.

Créer une nouvelle relation

If there is no exisitng relation for the road you want, you'll have to create a new one. There are multiple ways do this: Potlatch 2 editor is good for shorter roads, JOSM editor is better for longer roads.

Utilisation de Potlatch

  1. Zoom in to the area around the road, then click the dropdown arrow next to "Edit", select "Edit with Potlatch 2"
  1. Once Potlatch has loaded data onto the screen, use Ctrl+click to select the first way (road segment).

It will show up highlighted on the map. Continue to Ctrl+click additional ways until the whole road is highlighted.

  1. In the pane on the left, there is a table down the bottom listing any existing relations for the ways that have been selected.

Below this table, click on "Add to". A window titled "Select relation" will pop-up, down the bottom of this window click the "New relation..." button.

  1. At the bottom of the window, click advanced.

A blank table of Keys and Values is shown – add the following keys/values to the table (click "Add" just under the table)

    • name : name of the road
    • type : route
    • route : road
    • wikidata : Q-number (the wikidata ID)
  1. Close the "Edit relation" pop-up window, and save the edit.

You can go back to https://www.openstreetmap.org and repeat Step 1 to verify the new relation you just created.

Utilisation de JOSM

  1. Make sure your account has an OSM password associated with it: login with Wikipedia account, then go to your profile (click your name box in the top-right corner of screen), go to Settings, fill in Password and Confirm password fields, scroll down and click Save changes.
  1. Download or launch JOSM from https://josm.openstreetmap.de/
  1. Now, in JOSM, you need to download the ways that make up the road you want. There are two ways to do this (and you can also use a combination of both methods):

Use the method described in 'Process details' above to find any overlapping ways, and note their object id (the number in brackets, also in the url following /relation/ once clicked on)

    • Go to File -> Download object... -> enter object id (or ids), click Download objects
    • Download areas containing the road.

Be aware that the bounding boxes can't be too large, or the OSM server will not allow the download.

    • Go to File -> Download from OSM... -> select area with mouse, click Download.

Repeat if necessary.

  1. Once downloaded, you should see lines representing all the ways along the route (as well as other data if you downloaded areas).

Now you need to select all the ways that make up the road. There are two ways to do this:

    • Search for items to add to or remove from the selection
    • Go to Edit -> Search... -> Enter the name of the road in the search box.

This can be repeated as many times as necessary, if multiple names are used along the route, or non-road items are selected (e.g. buildings along the road) – for the first search select "Replace selection", for subsequent searches, select "Add to selection" or "Remove from selection". Click Start search.

    • Shift+click on items to add them to the selection, or Ctrl+click on items to remove them from the selection.

Multiple items can be added or removed by holding down the click, and drawing a box that completely contains the items.

  1. The selected items will be highlighted on the screen, and will be listed in a box on the right.

Look through this list for items to remove with another search. Also look at the route on the main part of the screen for any missed ways to add with another search.

  1. Once you're happy with the selection, go to Presets -> Relations -> Routes -> Road route.

Enter the road name in the name field, click New relation. A more detailed window will pop up. In the Key/Value table, click into the blank space in the Key column, type "wikidata" (lowercase). In the Value field to the right, type the Wikidata ID (Q-number) for the road. Click Okay button.

  1. Now upload the data to OSM:
    • Go to File -> Upload data.

A warning box may pop up - per the instructions there, "When in doubt ignore them" (or if you know what you are doing, you can fix them); click Continue upload

    • In the next window, check that you're not accidentally deleting things, changing things, or adding anything other than the new relation you just made.

Enter a meaning comment for the changes, for the data source you can specify "OSM data", then click Upload changes.

    • Login with your username and OSM password when requested.
  1. Verify that the new relation has been uploaded (follow the steps in 'Process details' above and the new relation should come up).

Minor changes can be made using Potlatch if required.

Synchronisation entre OpenStreetMap et les wikis Wikimedia

En bref : la structure du serveur Kartographer

Pour des raisons de performances, les wikis Wikimedia n'utilisent pas directement les données d'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 geoshapes et de geolines importées à partir des données OSM qui liées à des é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. Un équilibreur de charge décide quel serveur choisir en fonction de la charge du serveur 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, 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 toutes les copies du serveur.
  • Ces gros export 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 soit visible sur les wikis Wikimedia.
Problèmes et leurs solutions Comment savoir s'il y a un problème de synchronisation
Si un diff ne peut pas être importé, toutes les modifications du jour sur OpenStreetMap ne sont pas synchronisées avec les wikis Wikimedia. Dans ce cas, les cartes ne sont pas 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 parfois, de sorte que les serveurs OSM et Wikimedia étaient parfois incohérents pendant plusieurs semaines.

  • Pour résoudre ce problème, les équipes de la WMF ont à nouveau synchronisé les serveurs OSM et Wikimedia (en effectuant une copie depuis OSM comme décrit ci-dessus).
  • De plus, ils ont travaillé à l’élimination de certains problèmes entraînant l’échec des importations.
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 :
  • Une personne regarde donc une carte et voit des données différentes de celles d'une autre personne, selon la copie du serveur utilisée pour générer les cartes.
  • De même, une personne peut voir des données différentes pour une même carte, selon qu’ils consultent une carte statique sur la page wiki ou la version dynamique en taille réelle. Car lorsque l'on ajoute ou modifie une carte Kartographer, cette carte est généralement un rendu et mise en cache (sur la plupart des wikis). Ainsi, tout le monde voit la même carte lorsqu’il consulte la page wiki, et la page se charge plus rapidement pour tout le monde. Les cartes en taille réelle, en revanche, sont générées en direct chaque fois que quelqu'un ouvre la carte. Selon le serveur qui envoie les données à votre navigateur, il se peut que vous voyiez des données différentes sur la carte en taille réelle et sur la page wiki avec les résultats du cache, et également des données différentes de celles d'une autre personne regardant la carte en taille réelle.
  • Pour résoudre ces problèmes, tous les serveurs de cartes ont été réinitialisés avec les données les plus récentes. De plus, des mises à jour et des améliorations ont été déployées pour garantir une meilleure stabilité du processus de synchronisation.

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 à déposer un rapport de bug sur Phabricator.

Lectures complémentaires