Шаблон:Maplink

от Уикипедия, свободната енциклопедия
Карта
Mapframe

MaplinkMaplink

[редактиране] [почистване] Документация

Този шаблон създава препратка или рамка, в която се показва карта от 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:)
  • GeoJSON данни (e.g. {{maplink/demo}}):
    {{maplink|raw=}} (в параметъра raw= се задават сурови GeoJSON данни, препоръчително чрез включване на подстраница на Уикипедия:Map data)
  • Граница или друг линеен обект от OSM:
    {{maplink|type=line|id=}} (параметърът id е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
  • Фигура от OSM:
    {{maplink|type=shape|id=}} (параметърът id е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
  • Инвертирана фигура от OSM:
    {{maplink|type=shape-inverse|id=}} (параметърът id е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
  • Точков обект (координати):
    ...от Уикиданни:
    {{maplink|type=point|id=}} (параметърът id е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
    ...от зададени координати:
    {{maplink|type=point|coord=}} (координатите се задават с шаблона {{Coord}})
  • Всички именувани координати от дадена страница или раздел (шаблони {{coord}}, използващи параметъра |name=)
    ...от текущата страница: {{maplink|type=named}} или {{maplink|type=named|from=#Раздел}}
    ...от друга страница: {{maplink|type=named|from=Друга страница}} или {{maplink|type=named|from=Друга страница#Раздел}}
  • Окръжност (с център в зададената точка):
    ...от Уикиданни:
    {{maplink|type=circle|radius=|id=}} (параметърът id е необходим, само когато е нужен идентификаторът в Уикиданни на страница, различна от текущата)
    ...от зададени координати:
    {{maplink|type=circle|radius=|coord=}} (координатите се задават с шаблона {{Coord}})

Допълнителни функции[редактиране на кода]

  • За да се покаже картата в самата страница, вместо да се създаде препратка към нея, се използва параметърът |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: име на страница или страница#разде, откъдето да се вземат координатите. Ако параметърът е пропуснат или зададен само като #раздел, се използва текущата страница.
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 или идентификаторите на обектите се превключват между различни стойности. Функционалността изисква броят на стойностите във всеки от дефинираните списъци да е еднакъв.

Указания:

  1. Добавете параметър switch, за да зададете етикети за различните възможности - списък с елементи, разделени с ,, или ; (ако етикетите използват запетаи) или ### (ако етикетите използват и точка и запетая). Всеки етикет се показва с представката "Към ".
    Пример: |switch=zoomed out, zoomed mid, zoomed in
  2. За всеки параметър, който трябва да се превключва, задайте стойност SWITCH:, последвана от списък стойности, между които да се превключва, също разделени с ,, или ; или ###
    Пример: |zoom=SWITCH:4,9,14
    Параметрите frame, plain и text не трябва да се превключват
  3. Уверете се, че всеки списък съдържа един и същ брой елементи. Положението на стойностите в 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 за повече указания.

Примери със заявки към Уикиданни[редактиране на кода]

Карта
Ten countries
{{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}}

Указания за усложнена употреба[редактиране на кода]

Вижте също[редактиране на кода]