Шаблонът 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 в горния пример), който използва за да предостави мащаб или приближение на различните услуги за показване на карти.
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>