Help:Extension:Kartographer/fr

L'extension Kartographer permet d'utiliser des cartes interactives sur les wikis Wikimedia. Cette page présente des techniques permettant de créer des cartes dynamiques à l’aide des balises Kartographer, qui intègre des cartes directement dans les pages wiki, et , qui crée des liens vers des cartes dynamiques.

Pour commencer
 Ce code va insérer une simple carte interactive, telle celle visible sur la droite.


 * Sur Wikivoyage et test2wiki, cette carte intégrée est interactive. Un simple clic permet de faire un panoramique sur la carte. Un double-clic (ou un clic sur l'icône dans le coin droit) ouvre une carte en plein écran, qui est également interactive.
 * Sur Wikipedia et d'autres wikis Wikimedia, ces cartes intégrées sont statiques. Un simple clic ouvre une carte en plein écran, qui est interactive.

Vous pouvez utiliser le paramètre  pour forcer l'alignement à gauche, à droite ou au centre. L'attribut  permet des niveaux de zoom compris entre 0 et 19. Zéro est le plus éloigné, 19 le plus rapproché.

Utilisation de
 { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] }, "properties": { "title": "Exploratorium", "description": "", "marker-symbol": "museum", "marker-size": "large", "marker-color": "0050d0" } }

La balise doit être vide ou doit contenir un GeoJSON valide avec mise en forme, tel que produit par un éditeur GeoJSON. Kartographer intègre les spécifications simplestyle avec les icônes Maki (sous licence Creative Commons Zéro). Help:Extension:Kartographer/Icons contient une liste complète des icônes prises en charge.

Cadres (frames)
Les cartes sans cadre sont bonnes pour une insertion dans un modèle, alors que les cartes encadrées sont bonnes pour une insertion directe dans la page, à la main ou à l'aide de l'éditeur visuel.


 * pour insérer une carte sans cadre, ajoutez l'attribut "frameless" :
 * Pour ajouter une légende, utilisez l'attribut.

==

accepte aussi un paramètres supplémentaire « text » pour spécifier le texte du lien à la place des coordonnées :

La balise peut contenir le même geojson que.

=== . Si cet attribut n'est pas renseigné, les coordonnées seront affichées (exemple :  est initialisé avec le   magique ou avec la valeur  . Dans ce cas, chaque   sera remplacé par un compteur incrémental   et   par les valeurs.

Si GeoJSON a plus d'un compteur, la valeur du premier sera affiché comme texte du lien. Optionnellement, les contributeurs peuvent ajouter un suffixe pour avoir plusieurs compteurs différents en même temps sur la page. Ainsi,  aura un compteur différent de.

Il serait logique d'utiliser une couleur distincte pour chaque groupe de compteurs. Toutes les donénes ajoutées grâce aux seront également affichées dans toutes les cartes insérées par, sauf si un attribut   est utilisé.

pourrait être développé en

Les attributs,  , et   contrôlent l'emplacement de la carte surgissante. utilisez $alt pour le texte de l'indication du lien. Utilisez  pour le texte du lien (peut contenir n'importe quelle balise de wikicode valide). Utilisez  pour ajouter le contenu de cet élément au groupe nommé (voir ci-dessous).

Marqueurs
Des marqueurs peuvent être ajoutés aux cartes pour indiquer un emplacement. Ces fonctionnalités sont ajoutées à l'aide du format JSON.

Résultat :

Les marqueurs peuvent également contenir des informations telles que des images et des liens vers des articles.

Résultat (interagissez avec le marqueur pour voir le résultat) :

Les identifiants Wikidata pour les données OSM peuvent être utilisés pour mettre en surbrillance les frontières à l’aide du service geoshape.

Résultat :

Les identifiants Wikidata peuvent être utilisés pour masquer la totalité de la carte sauf une région spécifiée.

Résultat :

Les marqueurs peuvent être numérotés.

Résultat :

Les marqueurs peuvent utiliser des lettres.

Résultat :

Ajoutez plusieurs marqueurs de carte de différentes tailles à l'aide d'une collection d'entités.

Résultat :

Ajoutez des groupes de différents marqueurs de carte colorés et de différents compteurs.

Résultat :


 * Les marqueurs de carte peuvent utiliser n’importe quelle couleur comportant une valeur RBG (une recherche rapide sur Internet de "sélecteur de couleurs rgb" fera apparaître plusieurs options).
 * Les marqueurs peuvent être de trois tailles différentes : petite, moyenne ou grande.
 * GeoJSON créé ailleurs peut être copié (conformément aux restrictions de licence et de copyright), puis collé dans maplink (par exemple)
 * Si vous créez des cartes sur Wikivoyage, il peut être judicieux d’utiliser des groupes (voir ci-dessous).
 * Si vous souhaitez en savoir plus sur l'ajout de données externes à votre carte, voir la section Données externes.

Groupes
Pour l'utilisation sur le projet Wikivoyage, il y a besoin d'afficher une carte pour laquelle les données sont définies quelque part ailleurs sur la page. Par exemple, il peut y avoir de multiples points d'intérêts (POI) définis par les balises et une carte commune sur un côte de la page les affichant tous.

Le concept de groupement permet aux contributeurs de partager des données entre plusieurs balises et.

Par défaut, les données internes à la balise ou  ne sont affichées que pour cette balise, et ne seront affichées nul part ailleurs.

Si ou  spécifient l'attribut , les données dans ces balises seront placés dans un groupe nommé, avec l'ensemble des données ayant le même nom de groupe. Par conséquent, toute balise avec le même nom de groupe affichera les mêmes données cartographiques, et chaque balise pourra ajouter des données supplémentaires au groupe.

Une balise peut aussi afficher d'autres groupes, quelque soit son appartenance au groupe ou non, en spécifiant l'attribut. Plusieurs noms de groupe peuvent être spécifiés, séparés par des virgules. Le nom de groupe ne peut contenir que des lettres anglaises de bas de casse. La grille suivante affiche quelles données sont affichés pour chaque balise.

Données externes
 { "type": "ExternalData", "service": "geoshape", "ids": "Q797" }

En plus de dessiner des polygones en utilisant GeoJSON, vous pouvez aussi obtenir les contours des objets géographiques célèbres grâce à leur ID Wikidata s’ils sont renseignés comme tels dans la base de données d’OpenStreetMap. Par exemple, l’élément Wikidata pour l’Alasja est Q797 et nous pouvons le dessiner sur une carte en utilisant la référence « données externes ». Il est possible d’indiquer plusieurs ID en les séparant par des virgules. Pour créer un masque couvrant les régions d’intérêt, utilisez le service « geoshape ». Pour inverser cela et créer un masque couvrant tout le reste, utilisez le service « geomask ».

GeoShapes via Wikidata Query
 { "type": "ExternalData", "service": "geoshape", "query": "SELECT ?id ?head (SAMPLE(?img) as ?img_) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat(, ?headLabel, ) as ?title) (concat(?stateLabel, '\\n', '') as ?description) WHERE { ?id wdt:P31 wd:Q35657 . ?id wdt:P6 ?head . ?head wdt:P102 ?party . BIND(if(?party = wd:Q29468, '0', if(?party = wd:Q29552, '1', '2')) as ?partyId) SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf  .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel" }

Bien que cela facilite les cas d'utilisation simples lorsque l'identifiant Wikidata est bien connu, vous souhaiterez parfois obtenir une liste d'identifiants à la suite d'une requête Wikidata. Une requête SPARQL obtient une liste de tous les états américains dans la colonne ID du résultat et le service geoshapes ajoute les contours géométriques de chaque État. Toutes les autres colonnes du résultat de la requête SPARQL deviennent des valeurs dans l'objet "properties (propriétés)". La colonne "fill (remplir)" change la couleur de l'état. La colonne "title (titre)" indique le nom du gouverneur de l'état, et "description" contient un balisage wiki pour montrer le nom de l'état et la photo du gouverneur. Pour éditer cette requête, copiez le paramètre de requête après le symbole "#" sur ''' https://query.wikidata.org/# ... ''' :

Données cartographiques de Commons

 * Plus d'information : 

Les données cartographiques stockées sur Commons peuvent être dessinées sur la carte. Par exemple, c:Data:Neighbourhoods/New York City.map :

 { "type": "ExternalData", "service": "page", "title": "Neighbourhoods/New York City.map" }

Combinaison de plusieurs types de données
 [ {    "type": "ExternalData", "service": "geoshape", "ids": "Q13518258", "properties": { "stroke": "#ffb100", "stroke-width": 6, } },  {    "type": "Feature", "geometry": { "type": "Point", "coordinates": [4.75566, 44.104498] }, "properties": { "title": "Porte de Castellan" } },  {    "type": "Feature", "geometry": { "type": "Point", "coordinates": [4.75829, 44.10258] }, "properties": { "title": "Porte Léon Roche" } } ]

You can combine ExternalData, Feature, and FeatureCollection together in the same &lt;mapframe> or &lt;maplink> element:

 [ {    "type": "ExternalData", "service": "page", "title": "Neighbourhoods/New York City.map" }, {    "type": "ExternalData", "service": "geoshape", "ids": "Q160409", "properties": { "fill": "#07c63e", "title": "Central Park" } },  {    "type": "Feature", "properties": {"title": "Roosevelt Island", "marker-color": "f01080"}, "geometry": { "type": "Point", "coordinates": [ -73.94511222839355,       40.76734665426719      ]    }  } ]

Map data from Commons can be combined with other types of data:

Styling Wikidata ID elements
 { "type": "ExternalData", "service": "geoline", "ids": "Q2108", "properties": { "title": "Highway I-696", "description": "", "stroke": "#ffb100", "stroke-width": 8 } }

For external data, you can also add styles and titles, using the properties keyword:

The main style keys are: "stroke" (color), "stroke-width", "stroke-opacity", "fill" (color), "fill-opacity".

Overlapping elements
Map elements that overlap are drawn in the order in which they are written in the code. For instance, if a map includes two lines that overlap, the line that is defined first will appear beneath the line that is defined second. The following examples show how this can affect the appearance of the map:

 { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ], [ 77.926025390625, -24.43714786161562 ], [ 77.926025390625, -25.150257104114733 ] ] ] } }, { "type": "Feature", "properties": {"stroke": "#fffa00","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ] ] } }, { "type": "Feature", "properties": {"stroke": "#000000","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -24.43714786161562 ], [ 80.14251708984374, -25.150257104114733 ] ] } } ] }

The code for the map above includes three elements, all of which use GeoJSON's "feature" functionality. The first feature is a "Polygon" - the red rectangle. This is followed by two "LineString" features. The yellow line is defined first, so it appears beneath the black line. Note that the hierarchy used to draw elements applies regardless of whether the data is raw GeoJSON or comes from a Wikidata ID or Commons data page.

The map below changes the order from that of the first example: the black line is defined first and is thus moved to the bottom of the stack:

 { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {"stroke": "#000000","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -24.43714786161562 ], [ 80.14251708984374, -25.150257104114733 ] ] } }, { "type": "Feature", "properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0}, "geometry": { "type": "Polygon", "coordinates": [ [ [  77.926025390625,  -25.150257104114733  ],  [  80.14251708984374,  -25.150257104114733  ],  [  80.14251708984374,  -24.43714786161562  ],  [  77.926025390625,  -24.43714786161562  ],  [  77.926025390625,  -25.150257104114733  ]  ]  ]  } }, { "type": "Feature", "properties": {"stroke": "#fffa00","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ] ] } } ] }

Rendering options
The following table shows how a map can be formatted for display on a wiki page. The table contains two columns: the first shows an interactive map via the tag, and the second showing the rendering of an example image with the same options.

Map languages
Map labels will try to use the language of the wiki where the embedded map is displayed. If that language is not available, then the map will use fallback language as described.


 * 1) Look for value in the requested language
 * 2) Look for value in a language (or languages) that are specifically defined as fallback languages
 * 3) Look for a transliterated value
 * 4) Look for label in the local language
 * 5) If no value is found, display no label.

You can specify the language to use for labels by adding the  followed by the desired language code. e.g. lang="ja" to display labels in Japanese (if available).

Result:. This shows map labels in the languages of the area mapped (essentially opting out of internationalization). This post gives more guidance about when, and why, you might wish to user lang="local"—and generally explains how OpenStreetMap multilingual data works.

Without the  attribute, maps will display in the language of the wiki in which they appear.

Map language fallbacks
Initially these fallbacks follow those found in MediaWiki. The language fallbacks for Maps are stored in fallbacks.json and can be made different than the MediaWiki settings. Individual Wikimedia projects can [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?title=Request%20to%20change%20Maps%20fallback%20for%20XXXX%20Wiki&tags=Maps&description=Please%20provide%20a%20link%20to%20community%20consensus%20for%20this%20change.%0A%0AA%20description%20of%20the%20requested%20fallback%20is%20also%20needed. request a change to this fallback process] in Phabricator. More Technical information can be found in T192701.

Maps use map data, including map label data for all languages, from the open-source mapping project OpenStreetMap. If the map you want to display doesn’t offer labels in the desired language, you can add labels in that language by adding them to OpenStreetMap. To get you started, there is an OpenStreetMap Beginners’ Guide, and guidance about naming conventions.

A community can decide to change its language fallbacks
Read all about changing your language's fallbacks on the Map Improvements project page.