Шаблонът GeoTemplate не е предназначен за включване в статии или други шаблони. Той се използва от външния скрипт GeoHack, който го попълва с данни за географските координати и от своя страна е извикван от някои от шаблони за географски координати.

Тъй като не се използва от МедияУики, някои от обичайните функционалности на шаблоните не работят в него. Това е и една от причините тази документация да не е включена в шаблона (другата е, че той е достатъчно дълъг и без нея). Начинът на заместване на променливите от GeoHack не позволява те да бъдат използвани като аргументи или части от имената на други шаблони.

Параметри

редактиране

GeoHack (скриптът, който попълва GeoTemplate с работещи хипервръзки) поема входни данни от два източника:

  • Параметри зададени в извикващия URL: Координатите се дават във формата D_M_S_N_D_M_S_E, D_M_N_D_M_E, D_N_D_E или D;D, където D е градуси, M е минути, S е секунди, а NS/EW са означенията на посоките север/юг/изток/запад. Координатите могат да бъдат последвани от координатни параметри като type (тип), scale (мащаб) и region (регион), разделени със символа за подчертаване (_). В Уикипедия URL-ът се поражда от шаблони за географски координати.
    Например, уики-кодът {{coor dms|51|28|40|N|0|0|6|W|type:landmark_scale:2000_region:GB}} генерира URL, съдържащ params=51_28_40_N_0_0_6_W_type:landmark_scale:2000_region:GB.
  • Страница-шаблон (съдържанието на GeoTemplate) в която променливи се заместват със стойности, изчислени въз основа на данните, предадени чрез URL-а. Остатъкът от тази страница документира наличните променливи.

GeoHack предоставя следните променливи въз основа на подадените координати (51_28_40_N_0_0_6_W в следващия пример).

  • {ch1903easting}, {ch1903northing}Координати по CH1903+
  • {latdegabs}, {londegabs} – Градуси по WGS84 (абсолютна стойност, цяло число)
  • {latdegdec}, {londegdec}, {londegneg} – Градуси по WGS84 (десетична дроб със знак)
  • {latdegint}, {londegint} – Градуси по WGS84 (най-близката по-малка цяла стойност)
  • {latdeground}, {londeground} – Градуси по WGS84 (закръглена цяла стойност)
  • {latmindec}, {lonmindec} – Минути по WGS84 (десетична дроб)
  • {latminint}, {lonminint} – Минути по WGS84 (цяло число)
  • {latNS}, {lonEW} – Посока на абсолютните целочислени градуси по WGS84
  • {latsecdec}, {lonsecdec} – Секунди по WGS84 (десетична дроб)
  • {latsecint}, {lonsecint} – Секунди по WGS84 (цяло число)
  • {nztmeasting}, {nztmnorthing} – New Zealand Transverse Mercator coordinate
  • {osgb36ref}Ordnance Survey Grid reference
  • {utmnorthing} {utmeasting} {utmzone} – координати по UTM
  • {osgb36northing}, {osgb36easting}
  • {utm33northing}, {utm33easting} -

Мащабиране

редактиране

GeoHack приема параметър scale („мащаб“, scale:2000 в горния пример), който използва за да предостави мащаб или приближение на различните услуги за показване на карти.

име използва се от формула
{scale} Virtual Globe подава се в URL-а чрез scale или се изчислява на основата на type
{mmscale} Multimap най-близката стойност на мащаба, приемана от Multimap (виж mapsources.php)
{span} Google Maps, WikiMapia scale / 1000000
{altitude} MSN Maps, Fourmilab, Swissinfo integer( scale * 143 / 1000000)
{zoom} MapQuest, Gule Sider integer(18.0 – log(scale))
{osmzoom} OpenStreetMap, Live Search Maps 18 – ( round(log( scale ,2) – log(1693,2)) )

GeoHack приема параметър type („тип“; type:landmark в горния пример), от който изчислява стойност на scale (мащаба), ако такава не е подадена. Следващата таблица показва типовете, които в момента се приемат от GeoHack, свързания с всеки тип мащаб и допълнителните променливи, изчислявани от GeoHack въз основа на типа.

{type} отношение {scale} {mmscale} {span} {altitude} {zoom} {osmzoom}
country 1 : 10 000 000 10000000 10000000 10.0 1430 1 5
state 1 : 3 000 000 3000000 4000000 3.0 429 3 7
adm1st 1 : 1 000 000 1000000 1000000 1.0 143 4 9
adm2nd
(по подразбиране)
1 : 300 000 300000 200000 0.3 42 5 11
city, mountain, isle,
river, waterbody
1 : 100 000 100000 100000 0.1 14 6 12
forest, glacier 1 : 50 000 50000 50000 0.05 7 7 13
airport 1 : 30 000 30000 25000 0.03 4 7 14
edu, pass, landmark 1 : 10 000 10000 10000 0.01 1 8 15

Стойностите по подразбиране за всеки тип (type) могат да бъдат overridden като бъде добавен и параметър scale. Например, type:airport задава на {scale} стойността по подразбиране – 30000, докато type:airport_scale:10000 задава стойност 10000 на {scale}.

За подробности върху имплементацията вижте mapsources.php

  • {region}, {globe}, {page}
  • {pagename} – Стойността на ключа pagename („име на страницата“) в заявката (например &pagename=Статия) – очаква се да е стойността на FULLPAGENAMEE за съответната статия.
  • {title} – Стойността на ключа title („заглавие“) в заявката (например &title=Име). Ако не е подадена в заявката се използва същата стойност като {pagename}.

Код на разделите за региони

редактиране

Когато параметрите съдържат изрично указан регион или GeoHack успее да определи региона по координатите, подходящият раздел се премества на мястото указано по този начин:

<div id="GEOTEMPLATE-LOCAL" />

Разделите за региони са оградени с HTML-таг, където XX в стойността на атрибута id е кода по ISO 3166-1 alpha-2:

<div id="GEOTEMPLATE-XX">
...
</div>