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é.

On peut aussi ajouter des cartes par l'Éditeur Visuel, voir plus loin.

If the map uses features, as explained below, zoom, latitude, and longitude do not need to be set, the map will automatically adjust to fit all features. Width and height however, must always be set.

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" } }

Le contenu de la balise doit être soit vide, soit un GeoJSON valide avec style, tel que produit par un éditeur GeoJSON. Kartographer prend en charge les [$simple spécifications simplestyle] avec les icônes Maki (sous licence Creative Commons Zéro). Aide:Extension:Kartographer/Icons contient une liste complète des icônes prises en charge. Kartographer supports the simplestyle specification with Maki icons (Licensed under Creative Commons Zero). Help:Extension:Kartographer/Icons contains a full list of supported icons.

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.

Changer en  entraine la création d'un lien vers une carte en plein écran :

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

Add additional classes to with the class attribute. For instance  to hide the pin in front of the link.

La balise peut contenir le même geojson que.

et compteurs automatiques
 { "type": "FeatureCollection", "features": [ {     "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "302060" },     "geometry": { "type": "Point", "coordinates": [ -122.41816520690917,         37.79097260220947        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "302060" },     "geometry": { "type": "Point", "coordinates": [ -122.40786552429199,         37.799654055191525        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "302060" },     "geometry": { "type": "Point", "coordinates": [ -122.40185737609865,         37.796262984039544        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "302060" },     "geometry": { "type": "Point", "coordinates": [ -122.38743782043457,         37.80535070427755        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number", "marker-color": "302060" },     "geometry": { "type": "Point", "coordinates": [ -122.38005638122557,         37.795449103799726        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-letter", "marker-color": "208020" },     "geometry": { "type": "Point", "coordinates": [ -122.40941047668457,         37.81850557172186        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-letter", "marker-color": "208020" },     "geometry": { "type": "Point", "coordinates": [ -122.40357398986815,         37.81280993744834        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-letter", "marker-color": "208020" },     "geometry": { "type": "Point", "coordinates": [ -122.39842414855956,         37.8071138637568        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number-bar", "marker-color": "f01080" },     "geometry": { "type": "Point", "coordinates": [ -122.41181373596191,         37.78595317184089        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number-bar", "marker-color": "f01080" },     "geometry": { "type": "Point", "coordinates": [ -122.39542007446289,         37.787674400057654        ]      }    },    {      "type": "Feature", "properties": { "marker-symbol": "-number-bar", "marker-color": "f01080" },     "geometry": { "type": "Point", "coordinates": [ -122.38649368286131,         37.78401144262929        ]      }    }  ] }

crée un lien qui affiche une carte en plein écran lors du clic. Le texte du lien peut être initialisé avec l'attribut $text. Si cet attribut n'est pas renseigné, les coordonnées seront affichées (exemple :  attribute.  Without this attribute, the coordinates will be shown (example:   is set to the magic   or   value. In this case each  will be replaced with an incremental counter , and   with   values.

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, $numbermuseum aura un compteur différent de $numberbar. Optionally, editors may add a suffix to have multiple counters on the page at the same time. This way  will have different counter from.

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 $text pour le texte du lien (peut contenir n'importe quelle balise de wikicode valide). Utilisez $group pour ajouter le contenu de cet élément au groupe nommé (voir ci-dessous). Use  for the text of the link (could be any valid wikitext markup). Use  to add the contents of this tag to the named group (see below).

Marqueurs
Des marqueurs peuvent être ajoutés aux cartes pour indiquer un emplacement. Ces fonctionnalités sont ajoutées à l'aide du format JSON. Markers can be added to maps to denote a location. These features are added using the JSON format. contient une liste complète des icônes qui peuvent servir de symbole de marqueur.

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  (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" } } ]

Vous pouvez combiner des données externes, une entité et une collection d'entités dans le même élément &lt;mapframe> ou &lt;maplink> :

 [ {    "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      ]    }  } ]

Les données cartographiques de Commons peuvent être combinées avec d'autres types de données :

Styliser les éléments d'identification Wikidata
 { "type": "ExternalData", "service": "geoline", "ids": "Q2108", "properties": { "title": "Highway I-696", "description": "", "stroke": "#ffb100", "stroke-width": 8 } }

Pour les données externes, vous pouvez également ajouter des styles et des titres, en utilisant le mot-clé propriétés :

Les principales touches de style sont : "stroke" (color), "stroke-width", "stroke-opacity", "fill" (color), "fill-opacity".

Éléments qui se chevauchent
Les éléments de carte qui se chevauchent sont dessinés dans l'ordre dans lequel ils sont écrits dans le code. Par exemple, si une carte comprend deux lignes qui se chevauchent, la ligne définie en premier apparaîtra sous la ligne définie en second. Les exemples suivants montrent comment cela peut affecter l'apparence de la carte :

 { "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 ] ] } } ] }

Le code de la carte ci-dessus comprend trois éléments, qui utilisent tous la fonctionnalité "feature" de GeoJSON. La première caractéristique est un "Polygon" - le rectangle rouge. Ceci est suivi de deux fonctionnalités "LineString". La ligne jaune est définie en premier, elle apparaît donc sous la ligne noire. Notez que la hiérarchie utilisée pour dessiner des éléments s'applique indépendamment du fait que les données sont des GeoJSON brutes ou proviennent d'un ID Wikidata ou d'une page de données Commons.

La carte ci-dessous change l'ordre de celui du premier exemple : la ligne noire est définie en premier et est donc déplacée au bas de la pile :

 { "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 ] ] } } ] }

Options de rendu
Le tableau suivant montre comment une carte peut être formatée pour être affichée sur une page wiki. Le tableau contient deux colonnes : la première montre une carte interactive via la balise et la seconde montre le rendu d'un exemple d'image avec les mêmes options.

Use the width value  in order to make the map take up the full width of the page.  

Langues de la carte
Les étiquettes de carte essaieront d'utiliser la langue du wiki où la carte intégrée est affichée. Si cette langue n'est pas disponible, la carte utilisera la langue de secours comme décrit.


 * 1) Rechercher la valeur dans la langue demandée
 * 2) Rechercher la valeur dans une langue (ou des langues) qui sont spécifiquement définies comme langues de secours
 * 3) Recherchez une valeur translittérée
 * 4) Rechercher une étiquette dans la langue locale
 * 5) Si aucune valeur n'est trouvée, n'affichez aucune étiquette.

Vous pouvez spécifier la langue à utiliser pour les étiquettes en ajoutant le  suivi de le code de langue souhaité. par exemple. lang="ja" pour afficher les étiquettes en japonais (si disponible).

Résultat : . Cela montre les étiquettes de carte dans les langues de la zone cartographiée (essentiellement en désactivant l'internationalisation). Ce message donne plus de conseils sur quand et pourquoi, vous pouvez souhaiter utiliser lang="local" - et explique généralement comment fonctionnent les données multilingues d'OpenStreetMap.

Sans l'attribut, les cartes s'afficheront dans la langue du wiki dans lequel elles apparaissent.

Remplacement des langues de carte
Initialement, ces solutions de secours suivent celles trouvées dans MediaWiki. Les substitutions linguistiques pour Maps sont stockées dans fallbacks.json et peuvent être différentes des paramètres MediaWiki. Les projets Wikimedia individuels peuvent [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. demander une modification de ce processus de secours] dans Phabricator. Plus d'informations techniques peuvent être trouvées dans T192701. 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.

Les cartes utilisent les données cartographiques, y compris les données d'étiquette de carte pour toutes les langues, issues du projet de cartographie open source OpenStreetMap. Si la carte que vous souhaitez afficher n'offre pas d'étiquettes dans la langue souhaitée, vous pouvez ajouter des étiquettes dans cette langue en les ajoutant à OpenStreetMap. Pour commencer, il existe un Guide des débutants OpenStreetMap, et des conseils sur les conventions de dénomination. 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.

Voir aussi

 * Conditions d'utilisation des cartes
 * Help:VisualEditor/Maps - How to add and edit maps with the visual editor
 * Informations sur l'utilisation d'objets OSM dans les cartes
 * Maps project (2015-2017) - Documentation sur l'activité d'ingénierie Wikimedia de l'équipe Discovery de 2015 à 2017
 * Map improvements 2018 - Documentation sur l'activité d'ingénierie Wikimedia de l'équipe Collaboration en 2018
 * Guide du développeur de Kartographer