Помощь:Расширение:Картограф
![]() |
Примечание: Редактируя эту страницу, вы соглашаетесь на передачу своего вклада по лицензии CC0. Подробнее — в проекте Помощь с общественным достоянием. |
![]() |
Основные страницы помощи:
- Как создать карты с помощью Kartographer в Визуальном редакторе
- Введение в Kartographer в викитексте
- текущее: Kartographer - обширная страница помощи
Расширение Kartographer позволяет создавать интерактивные и статические карты на вики-страницах Викимедиа.
Эта страница представляет собой исчерпывающий справочник по использованию Kartographer, включая множество опций, доступных при использовании тегов <mapframe>
, которые встраивают карты непосредственно в вики-страницы, и <maplink>
, которые создают ссылки на полностраничные интерактивные карты и используют элементы GeoJSON, поддерживаемые Kartographer.
Внизу страницы можно найти множество примеров.
Для получения помощи в работе с Kartographer и OpenStreetMap ознакомьтесь с Помощь:Расширение:Картограф/OSM .
Как использовать Kartographer
Поиск страниц, использующих Kartographer
Чтобы найти страницы с картами Kartographer, вы можете искать insource:mapframe
.
Показать статьи рядом
В режиме полного экрана вы можете нажать кнопку "Показать статьи рядом", чтобы увидеть до 300 географически близких статей в виде маркеров на карте. Множественные отметки в одном месте кластеризуются в группы при уменьшении масштаба и разъединяются при увеличении.
Как только вы переместите карту мышью или измените масштаб, кнопка "перезагрузить результаты" покажет больше статей рядом.
Соседние статьи создаются из вики, в которой вы находитесь в настоящий момент, учитывая релевантность и близость. Маркеры для статей рядом круглые. Они отображаются в дополнение к любым маркерям, которые были добавлены вручную и имеют другую форму.
Когда вы нажимаете на маркер рядом с статьей, в окне появляется название, краткое описание и изображение статьи. Нажмите на заголовок, чтобы перейти к статье. Если статья связана с записью на Викиданных, в окне отображается краткое описание из Викиданных. Чтобы скрыть на карте статьи рядом, нажмите на кнопку "Показать статьи рядом" ещё раз.
Страница проекта (английский язык)
Как создать карты с помощью Kartographer
Основной синтаксис карт
Чтобы разместить карту или ссылку на карту прямо на вики-странице , Kartographer предлагает два тега: <mapframe>
, который внедряет встроенную карту, которая ведёт на полноэкранную интерактивную карту, и <maplink>
, который создаёт текст (с опциональным маркером), ведущий на полноэкранную интерактивную карту.
Некоторые вики оформляют эти теги в шаблонах, например, Mapbox и Mapframe. Посмотрите на страницу помощи Kartographer вашей вики, чтобы узнать, есть ли в вашей вики шаблоны - или используйте теги непосредственно из этого документа в качестве руководства.
<mapframe>
Тег <mapframe>
вставляет карту на вики-странице.
Тег может быть пустым или содержать GeoJSON.
Более подробное описание по использованию GeoJSON см. ниже.
<mapframe text="San Francisco museums" width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013" />
<maplink>
Тег <maplink>
создаёт ссылку на полноэкранную карту.
<maplink zoom="13" latitude="46.204391" longitude="6.143158"/>
Его атрибуты и использование по существу идентичны <mapframe>
; незначительные различия см. ниже.
Атрибуты
Ниже вы найдете список атрибутов для <mapframe>
и <maplink>
.
Строго говоря, единственные обязательные атрибуты (отмеченные в таблице *) — это width и height; без указания местоположения Kartographer создаст на странице уменьшенную карту мира указанного размера.
Если zoom не указан, Kartographer применяет наиболее вероятный автоматический уровень масштабирования на основе положения всех маркеров или геоформ на карте.
Использование в каждом теге:
attribute="value"
Атрибут | Значение | Описание | Пример |
---|---|---|---|
width* | пкс, «full» | Ширина рамки карты. "100%" also works as an alias for "full", but no other percentage. | width=200 , width="full"
|
height* | пкс | Высота рамки карты. | height=300
|
zoom | 0-19 | Уровень детализации карты. Уровень масштабирования 0 отображает всю доступную карту, а уровень масштабирования 19 показывает самый высокий уровень детализации. Если zoom не указан, Kartographer применяет наиболее вероятный автоматический уровень масштабирования на основе положения всех присутствующих маркеров или геоформ. | zoom=12
|
latitude, longitude | десятичные градусы | Положение на Земле. Подробную информацию см. в этой статье в GIS-вики. Если не указано иное, Kartographer попытается получить центральную точку из статьи. | latitude=46.204391 longitude=6.143158
|
align | "left", "center", "right" | Горизонтальное положение карты на странице. По умолчанию значение этого значения определяется направленностью языка страницы (RTL: "слева"; LTR: "права"). При значениях "left" или "right", другой контент вики будет обтекать карту (см. соответствующий раздел Справка:Изображения ). | align="right"
|
mapstyle | "osm", "osm-intl" | The style of the basemap. At Wikimedia there are currently only two styles available. One with labels (osm-intl) and one without labels (osm). | mapstyle="osm"
|
lang | код языка, "local" | Язык, который будет использоваться для надписей и маркеров на карте. "local использует язык региона, показанного на карте. Примечание: не все надписи доступны на всех языках. См. также #Languages_and_fallbacks. | lang="es"
|
alt | alternative text | Defines the alternative text for generated image of maps. Only works for wikis with wgKartographerStaticMapframe enabled.
|
alt="Street map of Manhattan. The Empire State building is marked in the middle of the island, just south of Central Park."
|
text | wikitext |
|
text="Map of New York marking the location of the Empire State Building"
|
frameless | ignored |
|
frameless
|
class | "no-icon" |
|
class="no-icon"
|
* = required
Самозакрывающиеся теги
Если вы не используете GeoJSON, вы можете использовать <mapframe>
и <maplink>
как самозакрывающиеся автономные теги.
Самозакрывающиеся:
<mapframe width="350" height="350" zoom="13" longitude="-122.3988" latitude="37.8013" />
Включение 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
Теги <mapframe>
и <maplink>
могут быть пустыми или содержать действительный GeoJSON, чтобы отмечать на карте маркеры, рисовать формы и применять маски слоёв.
Для получения дополнительной информации по этой широкой теме вы можете прочитать полезное введение в GeoJSON и полную спецификацию GeoJson.
maplink
. Как уже упоминалось ранее, GeoJSON, используемый для maplink
, может быть использован для mapframe
без изменений.
Маркеры
Карты, использующие GeoJSON, могут содержать один или несколько маркеров, указывающих на конкретные места. Эти маркеры устанавливаются с использованием ключевых слов, специфических для маркера, в соответствии с уровнем "properties" в GeoJSON.
Kartographer поддерживает спецификацию спецификацию simplestyle с иконками Maki icons, которые доступны под CC0 license. Смотрите полный список поддерживаемых иконок.
<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>
Результат: Colorado State Capitol with marker icon
Авто-счётчики
Множественные маркеры на карте могут быть объединены и названы с использованием шаблонов и счётчиков. Ниже приведены краткие характеристики атрибитов стиля для элементов, размещённых на карте с использованием GeoJSON. Для получения дополнительной информации см. спецификацию simplestyle.
Атрибут | Значение | Описание | Пример |
---|---|---|---|
marker-symbol | название иконки, "‑number", "‑letter" | Определяет, используются ли для нумерации маркеров числа (1, 2, 3...) или буквы (A, B, C...).
Автоматическая "нумерация" выполняется в интервале чисел 1-99 и букв от A до Z. Если в название группы входит сочетание, например, "-число-есть", создаются несколько серий. |
"marker-symbol": "museum"
|
marker-color | hexadecimal color | Трёхзначное или шестизначное шестнадцатеричное значение цвета для каждого маркера. | "marker-color": "#228b22"
|
marker-size | small, medium, large | Посмотрите на примеры каждого размера. | "marker-size": "medium"
|
title | wikitext | При нажатии на маркер отображается викитекст, заданный в параметре title. | "title": "[[:en:Downtown_Aquarium,_Denver|Downtown Aquarium Denver]] "
|
description | wikitext | При нажатии на маркер отображается викитекст или изображение, определённое в викитексте в параметре description. | "description": "[[File:Denver-DTA.jpg|150x150px]]"
|
Для знакомства с обширным списком примеров см. раздел Примеры.
Формы, линии и точки
GeoJSON позволяет добавлять линии, геометрические области и точки в качестве анотаций на карту. Вы можете непосредственно определить их или импортировать из внешних баз данных.
Встроенные
GeoJSON позволяет нарисовать точки (маркеры), простые линии и геометрические области в пределах карты. Следующие примеры включают атрибут "geometry" объектов GeoJSON внутри объекта [https//datatracker .ietf. org/doc/ html/rFc7946 #section-3.2 Feature
]. Для получения дополнительной информации ознакомьтесь с полной спецификацией GeoJSON.
Объект | Координаты (долг./шир.) | Функционал карты |
---|---|---|
MultiPoint
|
Множественные позиции | множественные точки (маркеры) |
MultiLineString
|
множественные наборы позиций LineString
|
множественные линии |
MultiPolygon
|
множественные наборы позиий Polygon
|
множественные полигоны |
Внешние данные
GeoJSON позволяет импортировать географические объекты из внешних источников с помощью атрибута "type" со значением "ExternalData".
Карты могут использовать хорошо известные географические объекты с помощью их идентификатора Wikidata (также через запросы Wikidata SPARQL). Источником для внешних полигонов и линий является база данных OpenStreetMap, координаты маркеров извлекаются непосредственно из Викиданных.
Кроме того, карты могут напрямую соединиться с сырым GeoJSON, хранящимся на Викискладе (.map files): см. Справка:Данные для географических карт для получения подробностей.
Объекты могут быть отрисованы с использованием данных из внешнего источника следующими способами:
"service": "geopoint"
- Рисует маркер."service": "geoline"
- Рисует простую линию."service": "geoshape"
- Рисует закрашенный полигон."service": "geomask"
- Рисует полигон и закрашенный слой вне пределов полигона."service": "page"
- путь к файлу .map на Викискладе, содержащему действительный GeoJSON.
через идентификатор Викиданных
Атрибут | Значение |
---|---|
type | ExternalData |
service | geopoint, geoline, geoshape, or geomask |
ids | One or more Wikidata IDs, separated by commas |
Полигоны и линии в базе OpenStreetMap (OSM) связаны с использованием идентификаторов Викиданных.
Идентификаторы Викиданных являются относительно новым явлением для сообщества OSM.
На начало 2022 года существует примерно 1,9 млн элементов с идентификаторами Викиданных.
Вы можете добавить свой собственный на https://www.openstreetmap.org/ — убедитесь в добавлении тега wikidata
и соответствующего значения QID
.
Полигон или линия обычно становятся доступны в Kartographer в течение двух дней.
За подробными инструкциями обратитесь к Помощь:Расширение:Картограф/OSM .
Маркер рисуется, если связанный объект Викиднных имеет заполненное утверждение 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>
Через запрос к Викиданным
Атрибут | Значение |
---|---|
type | ExternalData |
service | geopoint, geoline, geoshape, or geomask |
query | a Wikidata SPARQL query |
Переменные | Разрешено | Комментарий |
---|---|---|
?id
|
geopoint, geoline, geoshape, or geomask | Required |
?title
|
geopoint, geoline, geoshape, or geomask | Gives a heading on a popup. Accepts wikitext. |
?description
|
geopoint, geoline, geoshape, or geomask | Further text on a popup. Accepts wikitext. |
?geo
|
geopoint | Should be coordinates. |
Marker variables behaves like described in auto-counters. | ||
?marker_symbol
|
geopoint | |
?marker_size
|
geopoint | |
?marker_color
|
geopoint | |
Fill and stroke variables behaves like described in styling shapes. | ||
?fill
|
geoshape, or geomask | |
?fill_opacity
|
geoshape, or geomask | |
?stroke
|
geoline, geoshape, or geomask | |
?stroke_opacity
|
geoline, geoshape, or geomask | |
?stroke_width
|
geoline, geoshape, or 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>
Вместо идентификатора элемента Викиданных карта также может получать данные из запроса Викиданных в SPARQL. (Вы можете создавать запросы SPARQL с помощью 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="Euskal Herriko kastroen mapa interaktiboa">
{
"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>
Картографические данные из Викисклада
Картографические данные в формате GeoJSON, которые хранятся на Викискладе, может быть отрисованы на карте.
Атрибут | Значение |
---|---|
type | ExternalData |
service | page |
title | путь к файлу .map на Викискладе, содержащему действительный GeoJSON.
Например, карта микрорайонов города Нью-Йорка Neighbourhoods/New_York_City.map будет отрисована из этой карты. |
- Дополнительная информация: Справка:Данные для географических карт
<mapframe width="300" height="400">
{
"type": "ExternalData",
"service": "page",
"title": "Neighbourhoods/New York City.map"
}
</mapframe>
Предупреждение: | The map loader does not currently support chained ExternalData calls. If a resource of type ExternalData is fetched that itself relies on ExternalData references, loading will fail. See задача T155927 and задача T193458. |
Предупреждение: | Файловые имена файлов .map ограничены длиной 400 символов и размером файла 2 МиБ. Имейте это в виду при создании файлов для этой цели на Викискладе. |
= Маска слоя
Маска - это просто встроенная форма, которая определяется таким же образом, но с внешней стороны окрашенной формы.
<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>
Возможность сочетания нескольких типов данных
Вы можете объединить внешние данные, объекты Feature и FeatureCollection вместе в одном элементе <mapframe>
или <maplink>
, например, чтобы выделить объекты с заголовками и описаниями поверх объектов из внешнего источника.
Картографические данные с Викисклада можно сочетать с другими типами данных, объединяя их в параллельные блоки GeoJSON'а. Посмотрите на #Mixed types (Смешанные типы) различных комбинаций.
Оформление для форм
В дополнение к стилю маркера, приведённому выше, линии и области поддерживают следующие простые стили «properties»:
Атрибут | Значение | Описание |
---|---|---|
stroke | hexadecimal color | Цвет линии или контура. |
stroke-width | пкс | Толщина линии формы. |
stroke-opacity | 0.0-1.0 | Определяет прозрачность линии формы. Установка 1 рисует твёрдую линию; 0 невидимую; большие значения (близкие к 1) показывают меньше фона через линию. |
fill | hexadecimal color | Цвет, который используется для заполнения формы. |
fill-opacity | 0.0-1.0 | Определяет прозрачность линии формы. Установка 1 рисует непрозрачную область; 0 невидимую; большие значения (близкие к 1) показывают меньше фона через заполненную область. |
Пересекающиеся элементы на карте
Элементы карты, которые перекрывают друг друга, отрисовываются в том порядке, в котором они появляются в программном коде. Если карта содержит две перекрывающиеся линии, линия, определенная первой, появится под линией, определенной следующей. Это относится к любым определённым в коде элементам, рисующимся на карте.
Примеры
<mapframe 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>
Программный код карты, представленной выше, включает три элемента, каждый из которых использует функцию GeoJSON "feature" («объект»). Первый объект – это многоугольник ("Polygon") – красный прямоугольник. За ним следуют два объекта "LineString" («линейные последовательности»). Желтая линия (yellow line) задана первой, поэтому она идет под черной линией (black line). Следует отметить, что порядок отображения элементов действует вне зависимости от того, берутся ли необработанные данные GeoJSON, либо используется идентификатор с Викиданных или страница данных с Викисклада.
Приведенная ниже карта меняет порядок по сравнению с предыдущим примером:черная линия задана первой и поэтому оказалась внизу стопки элементов:
GeoJSON resources
Reference
- Full GeoJSON specification (RFC7946)
- GeoJSON on English Wikipedia
- simplestyle spec used by Kartographer
- Maki icon set used by Kartographer
Guides
Editors and tools
- GeoJSON.io editor
- Vector.rocks editor
- GeoJSON linter to validate your GeoJSON
Группы для Викигида
В проекте Викигид требуется отображать карты, данные которой указаны на всей странице.
Например, может быть несколько достопримечательностей (POI), заданных тегами <maplink>
, и все они отображаются на одной общей карте на странице сбоку.
(Посмотрите на пример использования в Зальцбурге.)
Группирование позволяет редакторам распределять данные между множеством тэгов <mapframe>
и <maplink>
.
Обычно данные внутри тэга <mapframe>
или <maplink>
отображаются только на карте, созданной этим тегом, и нигде больше.
Но в Викигиде, если тэг <maplink>
включает атрибут group="..."
, тогда данные в этих тэгах будут помещены в именованную группу вместе со всеми другими данными под тем же именем группы.
В результате любые теги с одинаковым именем группы покажут одни и те же картографические данные, а каждый тег может в порядке возрастания добавлять данные в группу.
Каждый тег <mapframe>
в теге Викигида отображает встроенную карту, показывающую группы, указанные в его теге.
Карта может также отображать другие группы, если указать параметр show="..."
.
Также можно указать несколько названий групп, разделённых запятыми.
Название группы может состоять только из строчных английских букв.
Такая матрица покажет, какие данные отобразятся для каждого тега.
Example:
<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>
and <maplink>
tags in templates. Consult Mapshape, Listing and See for a good starting place.
Языки и резервные варианты
Карты Kartographer получают свои ярлыки из открытого проекта OpenStreetMap (https://www.openstreetmap.org/). По умолчанию Kartographer пытается отобразить метки карты на языке вики, в которой отображается встроенная карта. Если этот язык не доступен, то карта будет использовать настроенный резервный язык данной вики, а затем местный язык в регионе карты, указанный в карте Kartographer. Если ни одна из этих меток не доступна, Kartographer не будет отображать название.
Вы можете указать определённый язык для отображения через атрибут lang
, установив его значением код желаемого языка. Например, lang="ja"
для отображения надписей на японском (если они доступны).
Для использования локального для местности карты языка укажите lang=local
.
Чтобы узнать об использовании локального языка местности в ваших подписях и о мультиязычных данных OpenStreetMap в целом, прочитайте эту публикацию.
Данные для карт в Kartographer, включая данные картографических подписей на всех доступных языках, берутся из картографического проекта с открытым исходным кодом OpenStreetMap.
Если та карта, которую вы хотите отобразить, не содержит надписей на желаемом языке, вы всегда можете добавить надписи на этом языке, внеся их самостоятельно на OpenStreetMap.
Обратите внимание на то, что названия стран и городов берутся из подписей к точкам в OpenStreetMap, а не из данных, привязанным к границам.
Перед внесением вклада ознакомьтесь с Руководством для новичков OpenStreetMap и следующими договорённостями о принятых правилах наименования.
Примеры
Простые
<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>
Маркеры и счётчики
Colorado State Capitol with a town hall marker, article link and 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>
Числовые маркеры
Colorado State Capitol with a number marker
<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>
Буквенные маркеры
Colorado State Capitol with a letter marker
<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>
Несколько маркеров в коллекции объектов
<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>
Группы автоматических счётчиков
<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
Wikidata QID
<maplink text="State of Colorado, outlined" zoom="7" > { "type": "ExternalData", "service": "geoshape", "ids": "Q1261" } </maplink>
Запрос к Викиданным
<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>
Картографические данные из Викисклада
<mapframe width="300" height="400">
{
"type": "ExternalData",
"service": "page",
"title": "Neighbourhoods/New York City.map"
}
</mapframe>
Смешанные типы
<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>
Смешанные типы с маркерами
<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>
Mixed types with SPARQL query
<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>
Варианты отображения (рендеринга) карты
Следующая таблица оказывает, как <mapframe>
-карта может быть отформатирована для отображения на вики-странице. Таблица содержит две колонки: первая показывает интерактивную карту, полученную из тэга <mapframe>
, вторая показывает рендеринг изображения-примера при тех же параметрах.
Опции | Отображение <mapframe>
|
Отображение изображения |
---|---|---|
|
... text text text text text text ... | ... text text text |
|
Not supported: see задача 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 ... Inconsistent, see задача T157640. |
... text text text text text text ... |
|
Not supported: see задача 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 |
Используйте значение full
, чтобы карта заняла полную ширину страницы.
<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478"></mapframe>
<mapframe width="full" height="200" zoom="13" longitude="-122.39953994750977" latitude="37.81032643553478" frameless></mapframe>
Оформление
<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>
См. также
- Информация о внедрении Kartographer
- Special:MyLanguage/Help:VisualEditor/Maps - Как добавлять и редактировать карты с помощью визуального редактора
- Использование Kartographer с OpenStreetMap
- Maps project (2015-2017) - Документация по деятельности разработчиков Wikimedia из команды Discovery с 2015 по 2017
- Map improvements 2018 - Документация по деятельности разработчиков Wikimedia из команды Collaboration в 2018г.
- WMDE Geoinformation - Документация по инженерной деятельности WMDE в период с 2021 по 2023 год, часть технических пожеланий WMDE.
- Руководство для разработчика Kartographer
- Условия использования карт