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, montrant "Downtown San Francisco".


 * 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, cette carte intégrée est statique. Un simple clic ouvre une carte en plein écran, qui est interactive.

Le paramètre  force 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.

Si la carte utilise des entités (features), comme expliqué ci-dessous, zoom, latitude et longitude peuvent ne pas être indiqués, la carte va automatiquement s'ajuster pour convenir â toutes les entités. Cependant, la largeur (width) et la hauteur (height) doivent toujours être données. Width can be set with pixels, % or, whereas height must be in pixels.

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

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ètre supplémentaire « text » pour spécifier le texte du lien à la place des coordonnées :

Ajoutez des classes supplémentaires à avec l'attribut "class". Par exemple  pour cacher l'épingle devant le lien.

La balise peut contenir le même geojson que.

et les 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. 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ée 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  pour le texte du lien (peut contenir n'importe quelle balise de wikicode valide). Utilisez  pour ajouter le contenu de cette balise 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. 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 IDs 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 IDs 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 marqueurs de carte de différentes couleurs 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êt (POI) définis par des balises et une carte commune sur un côté 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 nulle part ailleurs.

Si ou  spécifient l'attribut , les données dans ces balises seront placées 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 montre quelles données sont affichées 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’Alaska 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 IDs 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 (notez que la variable doit être appelée ). 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 données externes, entité et 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" (entité) de GeoJSON. La première entité est un "Polygon" (polygone) - le rectangle rouge. Celle-ci est suivie de deux entités "LineString" (ligne). 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 de Commons.

La carte ci-dessous change l'ordre 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'une image d'exemple 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.

Valeurs de secours 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. Note that country and city names are drawn from label nodes in OpenStreetMap, not from the data attached to boundary relations.

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