Aide:Extension:Kartographer
![]() |
Note : si vous modifiez cette page, vous acceptez de placer votre contribution sous licence CC0. Plus d’informations sont disponibles sur le projet Aide dans le domaine public. | ![]() |
Pages d'aide principales :
- Comment créer des cartes avec Kartographer dans l'éditeur visuel
- Introduction à Kartographer en wikitext
- Kartographer actuel - page d'aide détaillée
L'extension Kartographer permet de créer des cartes interactives et statiques sur les pages wiki de Wikimedia.
Cette page est un manuel d'utilisation exhaustif de Kartographer, incluant les nombreuses options disponibles lors de l'utilisation des balises <mapframe>
. Il embarque les cartes directement dans les pages wiki, et <maplink>
crée des liens vers des cartes interactives pleine page. Il traite les éléments GeoJSON pris en charge par Kartographer.
Vous trouverez de nombreux exemples de valeur en bas de la page.
Si vous avez besoin d'aide sur Kartographer et OpenStreetMap, consultez Aide:Extension:Kartographer/OSM .
Comment utiliser Kartographer
Trouver des pages utilisant Kartographer
Pour trouver des pages contenant des cartes Kartographer, rechercher insource:mapframe
.
Afficher les articles à proximité
En mode plein écran, vous pouvez cliquer sur le bouton « Afficher les articles à proximité » pour voir sur la carte jusqu’à 300 articles géographiquement proches sous forme de marqueurs. Plusieurs marqueurs situés au même endroit sont regroupés en clusters lorsque la lisibilité du zoom ne permet pas de les différencier. Ils se dissocient en faisant un zoom avant sur l'image.
Lorsque vous déplacez la carte ou que vous effectuez un zoom avant ou arrière, un bouton « recharger les résultats » apparaît pour afficher plus d'articles à proximité.
Les articles à proximité sont générés à partir du wiki que vous consultez, en tenant compte de la pertinence et de la proximité. Les marqueurs pour les articles à proximité sont ronds. Ils sont affichés en plus de tous les marqueurs ajoutés manuellement, lesquels sont représentés avec une forme différente.
Lorsque l'on clique sur le marqueur d'un article à proximité, une fenêtre contextuelle affiche le titre, une brève description et une image de l'article. Cliquez sur le titre pour accéder à l'article. Si l'article est lié à une entrée de Wikidata, la fenêtre contextuelle affiche la brève description issue de Wikidata. Pour masquer les articles à proximité sur la carte, cliquez à nouveau sur le bouton « Afficher les articles à proximité ».
Comment créer des cartes avec Kartographer
Syntaxe de base des cartes
Pour placer une carte ou un lien de carte directement sur une page wiki, Kartographer propose deux balises : <mapframe>
qui intègre une carte en ligne et renvoie vers une carte interactive en mode plein écran, et <maplink>
qui crée un texte enrichi (avec un marqueur facultatif) et renvoie vers une carte interactive en mode plein écran.
Certains wikis encapsulent ces balises dans des modèles, tels que Mapbox et Mapframe. Consultez la page d'aide Kartographer de votre wiki local pour voir si votre wiki dispose de modèles - ou utilisez les balises directement avec ce document comme guide.
<mapframe>
La balise <mapframe>
intègre une carte dans une page wiki.
La balise doit être vide ou contenir du GeoJSON.
Voir ci-dessous pour plus de ressources sur l'écriture avec du GeoJSON.
<mapframe text="San Francisco" width="350" height="350" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478" />
<maplink>
La balise <maplink>
entraine la création d'un lien vers une carte en mode plein écran :
<maplink zoom="13" latitude="46.204391" longitude="6.143158"/>
Donne : 46°12′16″N 6°8′35″E
Ses attributs et son utilisation sont sensiblement identiques à <mapframe>
; voir ci-dessous pour ses différences mineures.
Attributs
Vous trouverez ci-dessous une liste d'attributs pour <mapframe>
et <maplink>
.
Strictement parlant, les seuls attributs obligatoires (marqués dans le tableau par un *
) sont largeur et hauteur. Sans emplacement spécifié, Kartographer produira une carte du monde avec un zoom arrière de la taille spécifiée sur la page.
Lorsque zoom n'est pas spécifié, Kartographer applique un niveau de zoom automatique basé sur la position de tous les marqueurs ou formes géographiques de la carte.[1]
Utilisation dans chaque balise :
attribut="valeur"
Attribut | Valeur | Description | Exemples |
---|---|---|---|
width* | pixels, "full" | La largeur du cadre de la carte. "100%" also works as an alias for "full", but no other percentage. | width=200 , width="full"
|
height* | pixels | La hauteur du cadre de la carte. | height=300
|
zoom | 0-19 | Le niveau de détail de la carte. Le niveau de zoom 0 affiche l'intégralité de la carte disponible et le niveau de zoom 19 affiche le niveau de détail le plus élevé. Lorsque zoom n'est pas spécifié, Kartographer applique un niveau de zoom automatique basé sur la position des marqueurs ou des formes géographiques présentes. | zoom=12
|
latitude, longitude | degrés décimaux | La position sur la terre. Voir cet article du wiki GIS pour des informations détaillées. Si non spécifié, Kartographer tentera de déduire le point central du contenu d'un article. | latitude=46.204391 longitude=6.143158
|
align | "left", "center", "right" | La position horizontale du cadre de la carte sur la page. La valeur par défaut de cette valeur est définie par la directionalité de la langue de la page (RTL : « gauche » ; LTR : « droite »). Avec une valeur « gauche » ou « droite », le reste du contenu du wiki s'affichera sur la carte (voir la section correspondante de Aide:Images ). | align="right"
|
mapstyle | "osm", "osm-intl" | Le style du fond de carte. Sur Wikimedia, deux styles sont disponibles. Un avec des étiquettes (osm-intl) et un sans étiquettes (osm). | mapstyle="osm"
|
lang | code de langue, "local" | La langue à utiliser pour les étiquettes et les marqueurs de la carte. « local » utilise la langue de la zone affichée sur la carte. Remarque : toutes les étiquettes ne sont pas disponibles dans toutes les langues. Voir également la section Langues et repli. | lang="es"
|
alt | texte alternatif | Définit le texte alternatif pour l'image générée par les cartes. Fonctionne uniquement pour les wikis avec wgKartographerStaticMapframe activé.
|
alt="Plan de Manhattan. L'Empire State Building est situé au milieu de l'île, juste au sud de Central Park."
|
text | wikitext |
|
text="Carte de New York marquant l'emplacement de l'Empire State Building"
|
frameless | ignored |
|
frameless
|
class | "no-icon" |
|
class="no-icon"
|
* = required
Balises auto-fermantes
Lorsque vous n'utilisez pas un GeoJSON, vous pouvez utiliser <mapframe>
et <maplink>
comme balises auto-fermantes autonomes.
Fermeture automatique :
<mapframe width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013" />
Inclure du code GeoJSON :
<mapframe width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013">
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
}
</mapframe>
GeoJSON
Les balises <mapframe>
et <maplink>
peuvent être vides ou contenir du GeoJSON valide, pour annoter la carte avec des marqueurs, dessiner des formes et appliquer un masque sur une zone.
Pour plus de détails sur ce vaste sujet, vous pouvez lire cette introduction à GeoJSON ainsi que la documentation complète de GeoJSON.
maplink
. Comme mentionné précédemment, le GeoJSON utilisé pour maplink
peut être utilisé pour mapframe
sans changement.
Marqueurs
Les cartes qui utilisent du GeoJSON peuvent contenir un ou plusieurs marqueurs pour indiquer des emplacements spéciaux. Ces marqueurs sont définis à l'aide de mots-clés spécifiques aux marqueurs sous le niveau « propriétés » en GeoJSON.
Kartographer prend en charge les spécifications simplestyle avec les icônes Maki qui sont disponibles sous licence CC0. Voir la liste complète des icônes prises en charge.
<maplink text="Colorado State Capitol with marker icon" longitude="-104.98491" latitude="39.73939" zoom="17">
{
"type": "Feature", "properties":
{
"marker-symbol": "town-hall",
"marker-color": "46ea5f",
"marker-size": "medium"
},
"geometry":
{
"type": "Point",
"coordinates": [-104.98485267162323, 39.73928364167763]
}
}
</maplink>
Résultat : Capitole de l'état du Colorado avec icône de marquage
Compteurs automatiques
Plusieurs marqueurs sur une carte peuvent être regroupés et nommés à l'aide de motifs et de compteurs. Synthèse des attributs de style des éléments placés sur une carte à l'aide de GeoJSON. Pour plus d'informations, voir la spécification simplestyle.
Attributs | Valeur | Description | Exemple |
---|---|---|---|
marker-symbol | nom de l'icône, "‑number", "‑letter" | Détermine si les étiquettes des marqueurs incrémentiels procèdent par numéro (1, 2, 3...) ou par lettre (A, B, C...).
Les séries automatiques de -number vont de 1 à 99 et les lettres de A à Z. Si un nom de groupe est inclus comme “-number-eat”, plusieurs séries sont générées. |
"marker-symbol": "museum"
|
marker-color | hexadecimal color | Une valeur de couleur hexadécimale à trois ou six caractères pour chaque marqueur. | "marker-color": "#228b22"
|
marker-size | small, medium, large | Voir les exemples de chaque taille. | "marker-size": "medium"
|
title | wikitext | Lorsqu'un marqueur est sélectionné, il affiche le wikitext spécifié dans la valeur "title". | "title": "[[:en:Downtown_Aquarium,_Denver|Downtown Aquarium Denver]] "
|
description | wikitext | Lorsqu'un marqueur est sélectionné, il affiche un wikitexte ou une image spécifiée en wikicode dans la valeur "description". | "description": "[[File:Denver-DTA.jpg|150x150px]]"
|
Pour une plus grande variété d’exemples, consultez la section Exemples.
Formes, lignes et points
Le GeoJSON permet d'ajouter des lignes, des formes géographiques et des points à la carte. On peut ajouter des données disponibles en ligne ou les importer depuis les bases de données externes.
Données en ligne
GeoJSON permet d'ajouter des points (des marqueurs), des lignes simples et des polygones sur la carte. Les exemples suivants incluent l'attribut "geometry" des objets GeoJSON à l'intérieur d'un Objet rfc7946#section-3.2 Fonctionnalité
. Consultez les spécifications GeoJSON complètes pour davantage d'informations.
Objet | Coordonnées (longitude/latitude) | Fonctionnalité de la carte |
---|---|---|
MultiPoint
|
positions multiples | plusieurs points (marqueurs) |
MultiLineString
|
plusieurs ensembles de positions LineString
|
plusieurs lignes |
MultiPolygon
|
plusieurs ensembles de positions Polygon
|
plusieurs polygones |
Données externes
GeoJSON vous permet d'importer des objets géographiques issus de sources externes en utilisant l'attribut type
avec la valeur ExternalData
.
Les cartes peuvent s'appuyer sur des objets géographiques connus en utilisant l'identifiant Wikidata (également via des requêtes Wikidata SPARQL). Les polygones et les lignes externes sont issus de la base de données OpenStreetMap et les coordonnées des marqueurs sont récupérées directement à partir de Wikidata.
De plus, les cartes peuvent être directement liées au GeoJSON brut stocké sur Wikimedia Commons (fichiers .map) : voir Help:Map Data pour les détails.
Les objets peuvent être affichés à l'aide de données provenant de sources externes ainsi :
"service": "geopoint"
- Dessiner un marqueur."service": "geoline"
- Dessiner une ligne simple."service": "geoshape"
- Dessiner un polygone avec une ombre interne."service": "geomask"
- Dessiner un polygone et griser tout ce qui se trouve en dehors du polygone."service": "page"
- Chemin d'accès à un fichier .map sur Wikimedia Commons contenant du GeoJSON valide.
Via les identifiants Wikidata
Attributs | Valeur |
---|---|
type | ExternalData |
service | geopoint, geoline, geoshape, geomask |
ids | Un ou plusieurs identifiants Wikidata, séparés par des virgules |
Les polygones et les lignes de la base de données OpenStreetMap (OSM) sont référencés par les identifiants Wikidata.
Les identifiants Wikidata sont relativement nouveaux pour la communauté OSM.
Début 2025, il y avait environ 3,6 millions d'entités ayant des identifiants Wikidata.
On peut ajouter ses propres données géographiques sur https://www.openstreetmap.org/ – vérifier de bien ajouter la balise wikidata
et la valeur correspondante QID
.
Le polygone ou la ligne deviennent généralement disponibles pour Kartographer dans les deux jours.
Pour les instructions détaillées, voir Aide:Extension:Kartographer/OSM .
Le marqueur est dessiné si l'élément Wikidata lié possède une déclaration de coordonnées P625.
<mapframe height="300" width="300" text="Combined map of Salzburg and Elixhausen">
{
"type": "ExternalData",
"service": "geoshape",
"ids": "Q34713,Q701153"
}
</mapframe>
<mapframe text="Geopoints using QIDs [[wikidata:Q667450|Q667450]] and [[wikidata:Q15958518|Q15958518]]" latitude="43.74" longitude="7.43" zoom="13" width="400" height="400">
{
"type": "ExternalData",
"service": "geopoint",
"ids": "Q667450, Q15958518"
}
</mapframe>
Via Wikidata Query
Attributs | Valeur |
---|---|
type | ExternalData |
service | geopoint, geoline, geoshape, geomask |
query | Requête SPARQL à Wikidata |
Variable | Autorisé pour | Commentaire | Required? |
---|---|---|---|
?id
|
geopoint, geoline, geoshape, geomask | obligatoire | |
?title
|
geopoint, geoline, geoshape, geomask | Donne un titre à une fenêtre contextuelle. Accepte le wikicode. | optionnel |
?description
|
geopoint, geoline, geoshape, geomask | Suite du texte dans une fenêtre contextuelle. Accepte le wikicode. | |
?geo
|
geopoint | Doit être des coordonnées. | |
Les variables de marqueurs se comportent comme décrit dans compteurs automatiques . | |||
?marker_symbol
|
geopoint | ||
?marker_size
|
geopoint | ||
?marker_color
|
geopoint | ||
Les variables de fond et de remplissage se comportent comme décrit dans formes stylisées . | |||
?fill
|
geoshape, geomask | ||
?fill_opacity
|
geoshape, geomask | ||
?stroke
|
geoline, geoshape, geomask | ||
?stroke_opacity
|
geoline, geoshape, geomask | ||
?stroke_width
|
geoline, geoshape, geomask |
<mapframe longitude="-110" latitude="52" zoom="3" width="400" height="300" text="Governors of US states with their party affiliation">
{
"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('[[w:', substr(str(?link),31,400), '{{!}}', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img_), 52, 400), '{{!}}200px]]') 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 <https://en.wikipedia.org/> .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel"
}
</mapframe>
Au lieu d'un identifiant d'un élément Wikidata, une carte peut également dériver les données d'une requête Wikidata en SPARQL. (Vous pouvez construire des requêtes SPARQL à l'aide du Query Builder).
<mapframe text="Public art in Hoogvliet, Rotterdam" latitude="51.86" longitude="4.36" zoom="13" width="400" height="400">
{
"type": "ExternalData",
"service": "geopoint",
"query": "SELECT DISTINCT ?id ?geo (?idLabel as ?title) (if(BOUND(?image), concat(?typeLabel, '\\n', '[[File:', substr(str(?image), 52, 400), '{{!}}200px]]'), ?typeLabel) as ?description) (if(?type = wd:Q860861, '#800000', if(?type = wd:Q245117, '#000080', '#008000')) as ?marker_color) WHERE { ?id wdt:P136 wd:Q557141; wdt:P625 ?geo; wdt:P276* wd:Q2103147; wdt:P31 ?type. OPTIONAL {?id wdt:P18 ?image}. SERVICE wikibase:label { bd:serviceParam wikibase:language 'en, nl'. ?id rdfs:label ?idLabel. ?type rdfs:label ?typeLabel} .} ORDER BY ?id"
}
</mapframe>
<mapframe width="400" height="300" text="Hillforts in the Basque Country, with image, size and color">
{
"type": "ExternalData",
"service": "geopoint",
"marker-size": "small",
"query": "SELECT ?id ?geo ?idLabel ?img ?herriaLabel (?idLabel as ?title) (concat(?herriaLabel, '\\n', '[[File:', substr(str(?img), 52, 400), '{{!}}200px]]') as ?description) ('small' as ?marker_size) ('#228b22' as ?marker_color) ('landmark-JP' as ?marker_symbol) WHERE {\n SERVICE wikibase:label { bd:serviceParam wikibase:language \"eu,es,fr,en\". }\n ?id wdt:P31 wd:Q744099.\n ?id wdt:P131*/^wdt:P527 wd:Q47588;\n wdt:P625 ?geo.\n OPTIONAL { ?id wdt:P18 ?img .}\n ?id wdt:P131 ?herria.\n}"
}
</mapframe>
Données cartographiques de Commons
Les données cartographiques en GeoJSON stockées sur Commons peuvent être dessinées sur la carte.
Attributs | Valeur |
---|---|
type | ExternalData |
service | page |
title | chemin d'accès à un fichier .map sur Wikimedia Commons contenant du GeoJSON valide.
Par exemple : Neighbourhoods/New_York_City.map sera dessiné à partir de cette carte. |
- Autres informations : Help:Map Data
<mapframe width="300" height="400">
{
"type": "ExternalData",
"service": "page",
"title": "Neighbourhoods/New York City.map"
}
</mapframe>
Attention : | Le chargeur de cartes ne prend pas en charge actuellement les appels chaînés ExternalData. Si une ressource de type ExternalData est récupérée et qu'elle dépend elle-même de références ExternalData, le chargement va échouer. Voir T155927 et T193458. |
Attention : | Les noms de fichiers .map sont limités à 400 caractères et à une taille de fichier de 2 Mo. Ce point est à garder en mémoire lors de la création des fichiers dans Wikimedia Commons. |
Calque du masque
Un masque est une forme inversée, spécifiée de la même manière, mais l'extérieur de la forme est grisé.
<mapframe align="right" height="420" width="420" latitude="47.7992" longitude="13.0482" zoom="11" text="Map of Salzburg with mask">
{
"type": "ExternalData",
"service": "geomask",
"ids": "Q34713",
"properties": {
"fill": "#555555",
"fill-opacity": 0.5,
"stroke": "#000000",
"stroke-width": 1,
"stroke-opacity": 1
}
}
</mapframe>
Combinaison de plusieurs types de données
Vous pouvez combiner ensemble des objets ExternalData, Feature, FeatureCollection dans un même élément <mapframe>
ou <maplink>
, par exemple pour mettre en évidence des fonctionnalités avec des titres et des descriptions par dessus des objets provenant de sources externes.
Les données cartographiques de Commons peuvent être combinées avec d'autres types de données en les regroupant dans des blocs GeoJSON parallèles.
Voir la section Types mixtes pour différentes combinaisons.
Stylisation des couches de données
En plus du style des marqueurs ci-dessus, les lignes et les polygones prennent en charge ces propriétés de style simple :
Attributs | Valeur | Description |
---|---|---|
stroke | hexadecimal color | La couleur de la ligne ou du contour. |
stroke-width | pixels | Épaisseur de la ligne délimitant la forme. |
stroke-opacity | 0.0-1.0 | Définit la transparence de la ligne de la forme. Un paramètre à 1 dessine une ligne continue ; à 0 une ligne invisible ; les valeurs s'approchant de 1 montrent moins l'arrière-plan à travers la ligne. |
fill | hexadecimal color | La couleur utilisée pour remplir la forme. |
fill-opacity | 0.0-1.0 | Définit la transparence de l'intérieur de la zone. Avec un paramètre à 1, l'intérieur est complétement rempli; à 0 la forme est invisible; plus les valeurs s'approchant de 1, moins l'arrière-plan est visible à travers la zone de remplissage. |
Éléments qui se chevauchent
Les éléments cartographiques qui se chevauchent sont dessinés dans l'ordre où ils apparaissent dans le code. Si une carte comprend deux lignes qui se chevauchent, la ligne définie en premier apparaît sous la ligne définie en second. Ceci s'applique à tous les éléments définis dans le code qui dessine la carte.
Exemples
code source |
---|
<mapframe text="Defining respectively rectangle, yellow and black diagonals" width="500" height="270" longitude="79.030" latitude="-24.794" zoom="8" align="center">
{
"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]
]
}
}
]
}
</mapframe>
|
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 (#fffa00) est définie en premier, elle apparaît donc sous la ligne noire (#000000). 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 diagonale noire (#000000) est définie en premier et est donc placée au bas de la pile, puis vient le rectangle (#ff0000) avec son opacité qui fait apparaitre la diagonale d'un rouge sombre, et enfin la diagonale jaune (#fffa00).
code source |
---|
<mapframe text="Defining respectively black diagonal, rectangle, yellow diagonal" width="500" height="270" longitude="79.030" latitude="-24.794" zoom="8" align="center">
{
"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
]
]
}
}
]
}
</mapframe>
|
Ressources GeoJSON
Références
- Spécifications complètes GeoJSON (RFC7946)
- GeoJSON sur la Wikipedia anglophone
- spécifications simplestyle utilisées par Kartographer
- ensemble d'icônes Maki utilisé par Kartographer
Guides
Editeurs et outils
- éditeur GeoJSON.io
- éditeur Vector.rocks
- linter GeoJSON pour valider votre GeoJSON
Groupes pour Wikivoyage
Le projet Wikivoyage a besoin d'afficher des cartes dont les données sont définies ailleurs sur la page.
Il peut y avoir plusieurs points d'intérêt (POI) définis avec des balises <maplink>
, qui apparaissent tous sur une seule carte commune sur le côté de la page.
(Voir un exemple utilisant la ville de Salzbourg.)
Le regroupement permet aux éditeurs de partager des données entre plusieurs balises <mapframe>
et <maplink>
.
Normalement, les données à l'intérieur d'une balise <mapframe>
ou <maplink>
sont affichées uniquement sur la carte créée par cette balise et nulle part ailleurs.
Mais sur Wikivoyage, si une balise <maplink>
inclut l'attribut group="..."
, les données à l'intérieur de ces balises seront placées dans un groupe nommé à côté de toutes les autres données portant le même nom de groupe.
Les balises portant le même nom de groupe s'afficheront sur une seule carte de données ; chaque balise ajoute progressivement des données au groupe.
Chaque balise <mapframe>
sur une balise Wikivoyage créé une carte intégrée affichant les groupes spécifiés dans sa balise.
Une carte peut également afficher des groupes supplémentaires en spécifiant l'attribut show="..."
.
Plusieurs noms de groupes peuvent être spécifiés, séparés par une virgule.
Un nom de groupe ne peut contenir que des lettres latines minuscules.
Cette grille illustre les données qui seront affichées pour chaque balise.
Exemple :
<maplink> -- shows 1
<maplink group='food'> -- shows 2 4 8 10
<maplink group='bar' show='bar'> -- shows 3 9
<maplink group='food' show='bar'> -- shows 2 3 4 8 9 10
<maplink show='bar'> -- shows 3 5 9
<maplink show='food,bar'> -- shows 2 3 4 6 8 9 10
<mapframe> -- shows 7
<mapframe group='food'> -- shows 2 4 8 10
<mapframe group='bar' show='bar'> -- shows 3 9
<mapframe group='food' show='bar'> -- shows 2 3 4 8 9 10
<mapframe show='bar'> -- shows 3 9 11
<mapframe show='food,bar'> -- shows 2 3 4 8 9 10 12
<mapframe>
et <maplink>
dans des modèles. Consult Mapshape, Listing and See for a good starting place.
Langues et replis
Les cartes Kartographer tirent leurs étiquettes du projet de cartographie open source OpenStreetMap (https://www.openstreetmap.org/). Par défaut, Kartographer essaie d'afficher les étiquettes de la carte dans la langue du wiki dans lequel la carte intégrée est affichée. Si cette langue n'est pas disponible, la carte utilise la langue de secours configurée dans le wiki, puis la langue locale de la région de la carte spécifiée dans la carte Kartographer. Si aucun de ces éléments n'est disponible, Kartographer n'affiche aucune étiquette.
Vous pouvez spécifier la langue à utiliser pour les étiquettes avec l'attribut lang
et en définissant sa valeur sur le code de langue souhaité. Exemple : lang="ja"
affichera les étiquettes en japonais, si elles sont disponibles.
Pour utiliser la langue locale de la zone cartographique, spécifiez lang=local
.
Pour plus d'informations sur l'utilisation de la langue locale dans les étiquettes et sur les données multilingues OpenStreetMap en général, lire cet article.
Les cartes Kartographer obtiennent leurs données, y compris les données d'étiquettes de carte dans toutes les langues disponibles, à partir du projet de cartographie open source OpenStreetMap.
Si la carte que vous souhaitez afficher ne propose pas d'étiquettes dans la langue souhaitée, vous pouvez toujours ajouter des étiquettes dans cette langue en les ajoutant vous-même à OpenStreetMap.
Notez que les noms de pays et de ville sont tirés des nœuds d'étiquettes dans OpenStreetMap, et non des données attachées aux relations d'OpenStreetMap.
Pour commencer, consultez le Guide du débutant OpenStreetMap et ces bonnes pratiques en matière de conventions de dénomination.
Exemples
Simple
<mapframe text="San Francisco museums" width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013">
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] },
"properties": {
"title": "[[w:Exploratorium|Exploratorium]]",
"description": "[[File:Giant_Mirror_at_the_Exploratorium.jpeg|200px]]",
"marker-symbol": "museum",
"marker-size": "large",
"marker-color": "0050d0"
}
}
</mapframe>
Marqueurs et compteurs
Capitole de l'État du Colorado avec un marqueur de la mairie, un lien d'article et une image
<maplink text="Colorado State Capitol with a town hall marker, article link and image" longitude="-104.98491" latitude="39.73939" zoom="17">
{
"type": "Feature",
"properties": { "marker-symbol": "town-hall", "marker-color": "46ea5f", "marker-size": "medium", "title": "[[w:Colorado_State_Capitol|Colorado State Capitol]]", "description": "[[File:Coloradocapitolhill2.JPG|150px]]"},
"geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }
}
</maplink>
Marqueurs numérotés
Capitole de l'état du Colorado avec un marqueur numérique
<maplink text="Colorado State Capitol with a number marker" longitude="-104.98491" latitude="39.73939" zoom="17">{ "type": "Feature", "properties": { "marker-color": "228b22", "marker-symbol": "-number"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>
Marqueurs alphabétiques
Capitole de l'État du Colorado avec un marqueur alphabétique
<maplink text="Colorado State Capitol with a letter marker" longitude="-104.98491" latitude="39.73939" zoom="17">{ "type": "Feature", "properties": { "marker-color": "508e33", "marker-symbol": "-letter"}, "geometry": { "type": "Point", "coordinates": [-104.98485267162323, 39.73928364167763] }}</maplink>
Plusieurs marqueurs dans une collection spécifique
<maplink text="Denver Amusements" longitude="-105.01247406005858" latitude="39.74956567318853" zoom="14"> {"type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.00768899917603, 39.74859230437501] }, "properties": { "title": "[[w:Pepsi_Center|Pepsi Center]]", "marker-color": "420617", "marker-symbol": "-letter-see", "marker-size":"small"} }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01238822937012, 39.7526011757416] }, "properties": { "title": "[[w:Downtown_Aquarium%2C_Denver|Downtown Aquarium Denver]]", "marker-color": "508e33", "marker-symbol": "-letter-see","marker-size":"medium", "description": "[[File:Denver-DTA.jpg|150px]]" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01247406005858, 39.74956567318853] }, "properties": { "title": "[[w:Confluence_Park|Confluence Park]]", "marker-color": "0d2751", "marker-symbol": "-letter-see", "marker-size":"large" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-105.01646518707275, 39.74656303364532] }, "properties": { "title": "South Platte Bike Trail", "marker-color": "61b9e2", "marker-symbol": "-number-see", "marker-size":"medium" } },]}</maplink>
Groupes de compteurs automatiques
code source |
---|
<mapframe text="Several groups of automatic counters" width="350" height="350" zoom="13" longitude="-122.39902496337889" latitude="37.80151060070086">
{
"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
]
}
}
]
}
</mapframe>
|
ExternalData
QID Wikidata
<maplink text="State of Colorado, outlined" zoom="7" > { "type": "ExternalData", "service": "geoshape", "ids": "Q1261" } </maplink>
Requête wikidata
<mapframe longitude="-110" latitude="52" zoom="3" width="500" height="500" text="Governors of US states with their party affiliation">
{
"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('[[w:', substr(str(?link),31,500), '{{!}}', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img_), 52, 500), '{{!}}200px]]') 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 <https://en.wikipedia.org/> .} GROUP BY ?id ?head ?headLabel ?link ?stateLabel"
}
</mapframe>
Données cartographiques de Commons
<mapframe width="300" height="400">
{
"type": "ExternalData",
"service": "page",
"title": "Neighbourhoods/New York City.map"
}
</mapframe>
Types mixtes
<mapframe text="Caderousse city wall" width="300" height="300" zoom="15" longitude="4.75600" latitude="44.10200">
[
{
"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"
}
}
]
</mapframe>
Types mixtes avec marqueurs
<mapframe width="300" height="300" zoom="12" longitude="-73.965278" latitude="40.782222">
[
{
"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
]
}
}
]
</mapframe>
Types mixtes avec des requêtes SPARQL
<mapframe width="300" height="300" text="Manual railway and queried stations">
[
{
"type": "ExternalData",
"service": "geopoint",
"properties": {
"marker-symbol": "rail",
"marker-color": "302060" },
"query": "SELECT ?id ?geo ?idLabel (?idLabel as ?title) WHERE { ?id wdt:P81 wd:Q1760190 ; wdt:P31 wd:Q2175765; wdt:P625 ?geo . SERVICE wikibase:label { bd:serviceParam wikibase:language 'sv'. } }"
},
{
"type": "ExternalData",
"service": "geoline",
"properties": {
"stroke": "#AA0000",
"stroke-width": 3
},
"ids": "Q119890957, Q119891049"
}
]
</mapframe>
Options de rendu
Le tableau suivant montre comment une carte <mapframe>
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 <mapframe>
et la seconde montre le rendu d'une image d'exemple avec les mêmes options.
Options | Rendu d'une <mapframe>
|
Rendu d'une image |
---|---|---|
|
... texte texte texte text text text ... | ... texte texte texte |
|
Non pris en charge : voir T157502. | ... text text text |
|
... text text text text text text ... | ... text text text |
|
... text text text text text text ... | ... text text text |
|
... text text text text text text ... | ... text text text |
|
... text text text text text text ... Incohérent, voir T157640. |
... text text text text text text ... |
|
Non pris en charge : voir T157502. | ... text text text |
|
... text text text text text text ... | ... text text text |
|
... text text text text text text ... | ... text text text |
|
... text text text text text text ... | ... text text text |
Utiliser width="full"
afin que la carte occupe toute la largeur de la page.
<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478"></mapframe>
Image à largeur complète sans cadre (et sans légende) :
<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478" frameless></mapframe>
Stylisation
<mapframe text="Interstate Highway I-696" width="300" height="300" longitude="-83.2297" latitude="42.4883" zoom="9">
{
"type": "ExternalData",
"service": "geoline",
"ids": "Q2108",
"properties": {
"title": "Highway I-696",
"description": "[[File:I-696 near M-10 in 1988.jpg|200px]]",
"stroke": "#ffb100",
"stroke-width": 8
}
}
</mapframe>
Voir aussi
- Informations d'implémentation de Kartographer
- Special:MyLanguage/Help:VisualEditor/Maps - Ajouter et modifier des cartes avec l'éditeur visuel
- Utilisation de Kartographer avec OpenStreetMap
- 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
- WMDE Geoinformation - Documentation sur l'activité d'ingénierie de WMDE entre 2021 et 2023, faisant partie de WMDE Technical Wishes.
- Guide du développeur de Kartographer
- Conditions d'utilisation des cartes
Références
- ↑ Les formes géographiques sont disponibles via un service ou la propriété geoshape (P3896)