Шаблон:Maplink
Този шаблон използва Lua: |
Този шаблон използва Уикиданни свойството:
(виж къде се ползва) |
Този шаблон използва OpenStreetMap тага: |
Този шаблон създава препратка или рамка, в която се показва карта от OpenStreetMap с определени данни в нея. Картата и данните могат да бъдат показани на цял екран със скрол барове и възможност за промяна на мащаба. Данните за картата могат да се извлекат от:
- данни, съхранявани в GeoJSON формат в Общомедия
line
/polygon
обекти в OpenStreetMap- координати, зададени на шаблона или извлечени от Уикиданни
- сурови GeoJSON данни, препоръчително чрез включване на отделна страница
Забележки:
- За много голяма/бавна карта трябва да се използва директно тагът
mapframe
вместо този шаблон. Причината за това е, че при извикване на шаблона рендирането на каратата се включва във времето за изпълнение на Lua, което е ограничено. - Към момента GeoJSON файлове не могат да бъдат пряко качвани в Общомедия. Вместо това там трябва да бъде създадена страница в именното пространство
Data:
с име, завършващо с.map
– вижте mw:Help:Map Data за повече информация. - За да се активират функциите на OpenStreetMap (OSM), съответният идентификатор в Уикиданни трябва да се добави към обекта в OSM (и да се изчака до 1-2 дни) – вижте mw:Help:Extension:Kartographer#External_data и mw:Help:Extension:Kartographer/OSM за повече информация.
Приложение
[редактиране на кода]Този шаблон е предназначен да показва точки (координати), както и линии или многоъгълници, включително (но не само): This template is intended to show points as well as linear or polygon features on a map, including (but not limited to):
- Пътища
- Реки
- Железопътни линии, включително подземни
- Курсове на кораби
- Полетни трасета
- Пътувания на изследователи
- Ареали на животински видове
- Страни и техните подразделения
и много други...
Употреба
[редактиране на кода]Базова употреба
[редактиране на кода]- Страница с данни в Общомедия (например Data:ecos.fws.gov/Endangered habitat 58938/Plethodon neomexicanus.map):
- {{maplink|from=}} (в параметъра
from=
се указва.map
страница с данни, без префиксаData:
)
- {{maplink|from=}} (в параметъра
- GeoJSON данни (e.g. {{maplink/demo}}):
- {{maplink|raw=}} (в параметъра
raw=
се задават сурови GeoJSON данни, препоръчително чрез включване на подстраница на Уикипедия:Map data)
- {{maplink|raw=}} (в параметъра
- Граница или друг линеен обект от OSM:
- {{maplink|type=line|id=}} (параметърът
id
е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
- {{maplink|type=line|id=}} (параметърът
- Фигура от OSM:
- {{maplink|type=shape|id=}} (параметърът
id
е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
- {{maplink|type=shape|id=}} (параметърът
- Инвертирана фигура от OSM:
- {{maplink|type=shape-inverse|id=}} (параметърът
id
е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
- {{maplink|type=shape-inverse|id=}} (параметърът
- Точков обект (координати):
- Всички именувани координати от дадена страница или раздел (шаблони {{coord}}, използващи параметъра
|name=
) - Окръжност (с център в зададената точка):
Допълнителни функции
[редактиране на кода]- За да се покаже картата в самата страница, вместо да се създаде препратка към нея, се използва параметърът
|frame=yes
: {{maplink|frame=yes|frame-align=left|type=line|id=Q123913911|text=Примерна карта в рамка}}.
- Показваната карта може да се настрои с допълнителни параметри, като
|plain=yes
, който премахва външната рамка: {{maplink|frame=yes|frame-align=left|plain=yes|type=line|id={{get QID|Гевгелийски квартал}}|frame-width=200|frame-height=250|frame-lat=42.7088|frame-long=23.2814|zoom=11}}.
Групи параметри
[редактиране на кода]Група параметри - страница с данни
{{maplink
|display=
|from=
|zoom=
|text=
|icon=
}}
Група параметри – сурови данни
{{maplink
|display=
|raw= <!-- preferably {{Wikipedia:Map data/subpage}} -->
|zoom=
|text=
|icon=
}}
Група параметри – линии и фигури
{{maplink
|display=
|type=
|id=
|title=
|description=
|stroke-color=
|stroke-width=
|zoom=
|text=
|icon=
}}
Група параметри – точки
{{maplink
|display=
|type=point
|id=
|title=
|description=
|coord=
|marker=
|zoom=
|text=
|icon=
}}
Група параметри – окръжности
{{maplink
|display=
|type=circle
|radius= <!-- in metres, alternative parameters available for other units -->
|id=
|title=
|description=
|coord=
|marker=
|zoom=
|text=
|icon=
}}
Параметри
[редактиране на кода]Общи параметри
[редактиране на кода]- display
- Начин на показване на шаблона. Валидните стойности са:
inline
- показване само на мястото на използване (стойност по подразбиране)title
- показване само в заглавната част на страницатаinline,title
- показване на мястото на използване и в заглавната част на страницатаtitle,inline
- показване на мястото на използване и в заглавната част на страницата
- text
- Текст на препратката (или заглавие при показване в рамка); стойност по подразбиране: "Карта"
- icon
- Стойност "no" изключва показването на икона при препратката
- zoom
- Ниво на мащаба, от
1
до19
(по-големите стойности задават по-едър мащаб); по подразбиране мащабът се определя автоматично от данните в картата, освен когато те задават единична точка. - raw
- Задава като източник за данните в картата суров GeoJSON код (препоръчително включен чрез подстраница на Уикипедия:Map data) или <maplink> функционалност, която не е достъпна чрез останалите параметри. Вижте по-долу за допълнителна информация.
Параметри при показване в рамка
[редактиране на кода]Показването в рамка работи само при показване на мястото на използване на шаблона (inline
)
- frame
- Стойност "yes" указва показване на картата в рамка, вместо като препратка
- plain
- Стойност "yes" указва показване само на картата, без рамка и заглавие (параметърът
text
ще бъде игнориран) - frame-align
- Подравняване спрямо страницата:
left
,center
илиright
; стойност по подразбиране:right
- frame-width
- Ширина на картата в пиксели, стойност по подразбиране:
300
- frame-height
- Височина на картата в пиксели, стойност по подразбиране:
200
- frame-coordinates
- (или frame-coord)
- Опционален - координати на центъра на картата. Координатите трябва да се зададат с шаблона {{Coord}} (например
|frame-coordinates={{Coord|12.34|S|56.78|W}}
). Ако параметърът не е зададен, координатите се извличат от Уикиданни. - frame-latitude
- (или frame-lat)
- (игнорира се, ако е зададен
|frame-coordinates=
или|frame-coord=
) - Опционален - географска ширина на центъра на картата.
- frame-longitude
- (или frame-long)
- (игнорира се, ако е зададен
|frame-coordinates=
или|frame-coord=
) - Опционален - географска дължина на центъра на картата.
- Забележка: Ако не координатите не са зададени с параметри, те се определят автоматично по един от следните начини:
- Въз основа на линейните обекти и фигурите (ако са зададени такива) или
- От точката, зададена в
|coord=
(ако има такава) или - От Уикиданни (ако са налични - за елемента, определен с параметъра
|id=
или за страницата, в която е поставен шаблона)
- overlay
- Изображение или друга карта, която да бъде поставена върху базовата карта. Например:
|overlay=[[File:Example.svg|140x140px]]
или|overlay={{maplink|frame=yes|plain=yes|frame-width=100|frame-height=100|type=shape|id=Q25302465|frame-align=center}}
или|overlay={{Graph:Street map with marks|width=100|height=100|lat=37.8|lon=-122.4|zoom=6|{ "lat": 37.8, "lon": -122.4 }|minimap=false}}
- overlay-horizontal-alignment
- Хоризонтално подравняване на наложения обект -
left
илиright
; стойност по подразбиране:right
- overlay-vertical-alignment
- Вертикално подравняване на наложения обект -
top
илиbottom
; стойност по подразбиране:bottom
- overlay-horizontal-offset и overlay-vertical-offset
- Опционален – изместване на наложения обект от ръба на картата, например
10
за поле от 10 пиксела - overlay-border
- CSS стил за рамката, например
3px solid black
; стойност по подразбиране:1px solid white
.
За всеки отделен обект
[редактиране на кода]На една карта могат да бъдат изобразени множество обекти. За всеки отделен обект се добавя пореден номер в края на името на параметрите. Например, вториат обект използва параметри като |type2=
и |id2=
, третият обект - |type3=
и |id3=
и т.н. Всеки обект се изобразява върху обектите с по-малки номера.
- type
- Тип на данните. Валидните стойности са:
line
– geoline обект от OSM (например път)shape
– geoshape обект от OSM (например област или община)shape-inverse
– geomask обект от OSM (подобен на geoshape, щриховката е приложена върху областите извън обекта, така че данните в него да се виждат по-добре)data
– страница с geoJSON данни в Общомедия (стойност по подразбиране)point
– точков обект (координати)named
– всички именувани координати в дадена страница или раздел (от шаблоните {{coord}} със зададен параметар|name=
)circle
– окръжност с център със зададените координати
- id
- (или ids)
- Идентификатор в Уикиданни (Q-код) за точков обект или идентификатор в Уикиданни, с който е обозначена линията или фигурата в OSM. Могат да се задават повече от един идентификатори, разделени със запетая. Стойност по подразбиране: идентификатор на текущата страница (ако не е зададен параметъра
|from=
). - from
- Източник на данните:
- Ако type е
data
или не е зададен: JSON (.map) файл от Общомедия (без представкатаData:
) - Ако type е
named
: име на страница или страница#разде, откъдето да се вземат координатите. Ако параметърът е пропуснат или зададен само като #раздел, се използва текущата страница.
- Ако type е
- title
- Заглавие на обекта (за обекти от OSM), показвано при щракване върху обекта; стойност по подразбиране: заглавието на страницата
- description
- Описание на обекта (за обекти от OSM), показвано при щракване върху обекта; опционален параметър
- stroke-color
- (или stroke-colour)
- Код за цвета, използван за изобразяване на обекта (за обекти от OSM); стойност по подразбиране:
#ff0000
(червено) - stroke-width
- Дебелина на линиите, с които се изобразява обекта (за обекти от OSM); стойност по подразбиране:
6
- stroke-opacity
- Прозрачност на линиите, с които се изобразява обекта (за обекти от OSM) – число между
0
(напълно прозрачни) и1
(напълно непрозрачни); стойност по подразбиране:1
- fill
- Код за цвета на фона в обекта (за
shape
илиshape-inverse
обекти от OSM); стойност по подразбиране:#000000
(черно). По подразбиране фонът е полупрозрачен, така че картата под него да е видима. - fill-opacity
- Прозрачност на фона в обекта (за
shape
илиshape-inverse
обекти от OSM) – число между0
(напълно прозрачен) и1
(напълно непрозрачен); стойност по подразбиране:0.5
- coord
- Географски координати на точков обект, зададени чрез шаблона {{Coord}} (например
|coord={{Coord|12.34|S|56.78|W}}
). Ако параметърът не е зададен, координатите се извличат от Уикиданни. - marker
- Наименование на Maki маркера, с който се показва точков обект. Вижте mw:Maps/Icons за възможни стойности. Ако параметърът не е зададен, се използва порст маркер без допълнително изображение.
- marker-color
- (или marker-colour)
- Код за цвета, използван за фон на маркера. Стойност по подразбиране:
5E74F3
( ) - marker-size
- Размер на маркера - може да има стойности
small
,medium
(default) илиlarge
. - radius
- (или radius_m) или алтернативните параметри radius_km, radius_mi или radius_ft
- Радиус на окръжността. По подразбиране в метри (или в километри, мили или футове при алтернативните параметри).
- edges
- Брой на страните на многоъгълника, с който се изобразява окръжността. Стойност по подразбиране:
32
. При по-голяма стойност окръжността е по-гладка, но се използват повече изчислителни ресурси.
Превключване на няколко карти
[редактиране на кода]Шаблонът дава възможност за превключване между няколко картови рамки, при което параметри като zoom
и frame-coordinates
или идентификаторите на обектите се превключват между различни стойности. Функционалността изисква броят на стойностите във всеки от дефинираните списъци да е еднакъв.
Указания:
- Добавете параметър
switch
, за да зададете етикети за различните възможности - списък с елементи, разделени с,
, или;
(ако етикетите използват запетаи) или###
(ако етикетите използват и точка и запетая). Всеки етикет се показва с представката "Към ".- Пример:
|switch=zoomed out, zoomed mid, zoomed in
- Пример:
- За всеки параметър, който трябва да се превключва, задайте стойност
SWITCH:
, последвана от списък стойности, между които да се превключва, също разделени с,
, или;
или###
- Пример:
|zoom=SWITCH:4,9,14
- Параметрите
frame
,plain
иtext
не трябва да се превключват
- Пример:
- Уверете се, че всеки списък съдържа един и същ брой елементи. Положението на стойностите в
SWITCH:
списъка съответства на положението на етикетите в|switch=
.
{{mapframe|frame=yes|type=point|id=Q100|text=Бостън|zoom=SWITCH:4,9,14|switch=zoomed out, zoomed mid, zoomed in}}
Примери и съвети
[редактиране на кода]Множество обекти
[редактиране на кода]Използването на повече от един обект дава възможност за:
- Съчетаване на външни данни от Общомедия и OpenStreetMap
- Прилагане на различни стилове за различни обекти
- Включване на множество връзки към външни данни за различни обекти
{{Maplink|frame=yes
|type=shape|id=Q3495894|title=Shape|description=Description of shape
|type2=line|id2=Q1318331|title2=Line|description2=Description of line
|type3=point|id3=Q5470563|title3=Point|description3=Description of point
}}
{{Maplink|frame=yes|plain=yes|frame-width=250|frame-height=280|zoom=6|frame-lat=29.185|frame-long=76.225
|type=shape-inverse|id=Q1174|title=Haryana
|type2=point|id2=Q200663|stroke-width=3|title2=Faridabad
}}
Параметър raw
[редактиране на кода]Параметърът raw
дава възможност за използване на същите входни данни, както пълната функция <maplink>. Той позволява:
- Пряко използване на GeoJSON данни
- Използване на заявки към Уикиданни за извличане на информация за картата
- Използване на шаблони - ако дадена карта използва пряко GeoJSON или съдържа множество обекти, с поставянето на данните в шаблон се избягва претрупването на текста на статията
Вижте mw:Help:Extension:Kartographer за повече указания.
Примери със заявки към Уикиданни
[редактиране на кода]{{maplink|frame=yes|text=Ten countries|raw={
"type": "ExternalData",
"service": "geoshape",
"query": "
SELECT * WHERE {
?id wdt:P463 wd:Q1065 .
} LIMIT 10
"}
|frame-width=600|frame-height=400|frame-lat=25|frame-long=10|zoom=1
}}
{{maplink|frame=yes|raw={
"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('[[', 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
"}|frame-width=600|frame-height=400|frame-lat=52|frame-long=-110|zoom=3}}
Указания за усложнена употреба
[редактиране на кода]- en:Wikipedia:Creating route maps from OpenStreetMap data
- en:Wikipedia:Creating shape maps from OpenStreetMap data
Вижте също
[редактиране на кода]- en:Wikipedia:Maps for Wikipedia, списък с картографски инструменти в Уикипедия (на английски)