Vorlage:CoordinateComplex/Doku
Diese Vorlage prüft, formatiert und verlinkt komplexere Geokoordinaten. Sie wird über die Vorlage:Coordinate verwendet, kann aber in anderen Vorlagen (nicht in Artikeln!) auch direkt eingebunden werden. Diese Dokumentation beschäftigt sich mit der technischen Implementierung; sie geht nicht auf die Verwendung und Bedeutung der Parameter ein! Dazu siehe die Vorlage:Coordinate/Doku.
Parameter
[Quelltext bearbeiten]NS | Ist der Parameter leer, „“, „/“, „//“, „///“, „///N“ oder „///S“, so wird dies als Lagewunsch betrachtet. Enthält der Parameter einen Schrägstrich, so werden die ersten 4 Teile von der Vorlage:Coordinate/LatDMS umgewandelt, andernfalls wird der Wert direkt weitergegeben. Dieses Ergebnis wird von der Vorlage:Coordinate/LatRange auf Plausibilität geprüft. |
EW | Ist der Parameter leer, „“, „/“, „//“, „///“, „///E“, „///W“ oder „///O“, so wird dies als Lagewunsch betrachtet. Enthält der Parameter einen Schrägstrich, so werden die ersten 4 Teile von der Vorlage:Coordinate/LonDMS umgewandelt, andernfalls wird der Wert direkt weitergegeben. Dieses Ergebnis wird von der Vorlage:Coordinate/LonRange auf Plausibilität geprüft. |
type | Der Parameter akzeptiert die Werte continent , country , state , adm1st , adm2nd , city , isle , mountain , waterbody , forest , landscape , airport , railwaystation , building , event , landmark und example (letzterer nicht im ANR). Passt der Wert nicht, so wird er als leer betrachtet.
|
pop | Der Parameter muss eine positive, ganze Zahl sein, andernfalls wird ein Fehler weitergegeben. |
elevation | Der Parameter muss eine Zahl mit höchstens 2 Nachkommastellen <sic!> sein, sonst wird ein Fehler weitergegeben. |
dim | Der Parameter muss eine Zahl sein. Beim Typ „landmark“ wird der Wert auf ein Maximum von „250“ limitiert. Ist er keine Zahl, werden vom Typ abhängige Defaultwerte gesetzt: „500001“ für „country“ und „state“, „10001“ für „adm1st“, „adm2nd“, „city“, „mountain“ und „isle“, gar nichts bei „landmark“ und sonst „500“. Diese Werte regeln allein die automatische Rundung, für den Einbau in den Link wird der Parameter ungeprüft <sic!> übernommen. |
globe | Ein Wert „earth“ wird entfernt, sonst wird der Parameter weitergereicht. |
name | Ein Wert „coordinates“ wird entfernt (diese id hätte den CSS-Effekt einer Artikelkoordinate), sonst wird der Parameter weitergereicht. |
article | Wenn weder text, map noch article einen Wert haben wird „/“ weitergereicht. |
tooltipformat | Falls nicht gesetzt (weggelassen), wird der defaultwert „DMS“ weitergereicht. |
mapcaption | Falls nicht gesetzt (weggelassen), wird der defaultwert „auto“ weitergereicht. |
region map maplabel maplayer maplevel mapname mapsize maptrenner maptype sortkey text tooltip |
All diese Parameter werden unbesehen weitergereicht. |
Implementierungshinweise
[Quelltext bearbeiten]Die Vorlage:Coordinate ist nur eine Wrappervorlage und reicht die dort beschriebenen Parameter abhängig von der simple
-Option entweder an die Vorlage:CoordinateSimple oder CoordinateComplex weiter. Die Complex-Vorlage führt die oben angegebenen Parameterprüfungen durch und reicht die Ergebnisse weiter an:
- die Vorlage:CoordinateMap, wenn der
map
-Parameter gesetzt ist- wobei diese die Vorlage:CoordinateMain oder CoordinateNO einbindet, wenn auch Text- oder Artikelkoordinaten gewünscht sind oder Fehler ausgegeben werden müssen
- die Vorlage:CoordinateNO im Falle eines Lagewunsches (siehe #Parameter
NS
undEW
) bzw. die Vorlage:CoordinateNOx wenn die Einbindung nicht im ANR erfolgt. - sonst die Vorlage:CoordinateMain.
Eine ungeordnete Übersicht über die vorhandenen Vorlagen und Metaseiten kann Spezial:Präfixindex/Vorlage:Coordinate geben. Für die
CoordinateMain
[Quelltext bearbeiten]Diese Vorlage ist für die Text- und Artikel-Ausgabe der geprüften Parameter zuständig. Falls die Parameter NS
oder EW
Fehler enthalten, so wird nur die Fehlermeldung 1 ausgegeben.
- Im Falle eines
text
-Outputs- falls der
sortkey
-Parameter gefüllt ist, wird die Vorlage:CoordinateSort eingebunden - das folgende wird in ein <span>-Tag mit dem
name
oder dem Wert „text_coordinates“ als id sowie den Klassen „coordinates plainlinks-print“ gehüllt - sollte der Typ „example“ sein, wird der Text „Beispiel “ vorangestellt
- gibt es keine Artikel-Ausgabe und ist der Parameter
name
leer, so wird die Fehlermeldung 8 ausgegeben - die Vorlage:CoordinateLink wird zur Formatierung und Verlinkung eingebunden:
- Die (teilweise <sic!>) fehlerbereinigten Werte der Daten-Parameter
NS
,EW
,globe
,type(_safe)
,pop
,elevation
,dim
,dim(_safe)
,region
undname
sowie die Parametertooltip
und tooltipformat (ttf
) werden übernommen. - Das
format
wird „sortable“, wenn der Parametersortkey
gefüllt ist - Der Text-Parameter
0
wird, wenn der Teil des Parameterstext
vor dem ersten Schrägstrich- nichts, „OSGB36“, „DMS“, „DM“, „DEC“, „CH1903“ oder „UTM“ lautet (d.h., ein valides Ausgabeformat darstellt), leergelassen
- „ICON0“ lautet, mit „⊙“ gefüllt
- „ICON“ lautet, mit „⦁“ gefüllt
- „ICON1“ lautet, mit „▼“ gefüllt
- und sonst mit dem Wert von
text
gefüllt
- Der Parameter
datei
(überschreibt den text-Parameter) wird gefüllt - Das erste Ausgabeformat wird
- von der Vorlage:CoordinateDefault vorgegeben, wenn der Parameter
text
mit einem Schrägstrich beginnt (auch: … ein Schrägstrich ist). - aus dem Teil des Parameters
text
vor dem ersten Schrägstrich gewählt: „DMS“ und das noch nicht implementierte „OSGB36“ bewirken „DMS“; „DM“, „DEC“, „CH1903“ und „UTM“ das jeweilige.
- von der Vorlage:CoordinateDefault vorgegeben, wenn der Parameter
- Das zweite Ausgabeformat wird
- von der Vorlage:CoordinateDefault vorgegeben, wenn der Parameter
text
ein Schrägstrich ist. - aus dem Teil des Parameters
text
nach dem ersten Schrägstrich gewählt: hier stehen „DMS“, „DEC“, „CH1903“ und „UTM“ zur Wahl - und im Zweifelsfalle leergelassen
- von der Vorlage:CoordinateDefault vorgegeben, wenn der Parameter
- Das zweite Format wird (im Falle einer Ausgabe, d.h. wenn nicht mit dem ersten identisch) wird durch Klammern vom ersten abgetrennt und nicht beschriftet.
- Die (teilweise <sic!>) fehlerbereinigten Werte der Daten-Parameter
- falls der
- dann wird das #Mikroformat in einem <span>-Tag mit den Klassen „geo noexcerpt“ und der Inline-CSS-Anweisung „display:none“ ausgegeben
- wenn bei der Validierung von
pop
oderelevation
ein Fehler aufgetreten ist, wederregion
nochglobe
angegeben wurden oder dertype
ungültig ist, wird die Vorlage:CoordinateMessage mit den Fehlern 3, 4, 6, 7 bzw. 9 eingebunden. Es wird auch überprüft, ob trotz keiner Kartenausgabe Parameter für die Kartendarstellung übergeben wurden und der Fehler 10 ausgelöst. - im Falle eines
article
-Outputs- ein <span>-Tag mit der id „coordinates“ sowie den Klassen „coordinates plainlinks-print“ und der Text „Koordinaten: “ werden ausgegeben
- sollte der Typ „example“ sein, wird der Text „Beispiel “ vorangestellt
- die Vorlage:CoordinateLink wird zur Formatierung und Verlinkung eingebunden:
- Die (teilweise <sic!>) fehlerbereinigten Werte der Daten-Parameter
NS
,EW
,globe
,type(_safe)
,pop
,elevation
,dim
,dim(_safe)
undregion
werden übernommen;name
bleibt leer <sic!>. - Text, Tooltip und Datei werden nicht angezeigt
- Das erste Ausgabeformat ist immer „DMS“
- Das zweite Ausgabeformat wird,
- wenn der Parameter
article
eines der lokalen Formate „CH1903“ und „UTM“ oder eine beliebige Verkettung durch einen Schrägstrich dieser mit „DMS“ ist, ebenjenes Format - wenn der Parameter
article
gleich „DMS“ oder „DM“, oder eine Kombination mit dem noch nicht unterstützten Format „OSGB36“ ist, leer - und sonst von der Vorlage:CoordinateDefault aus dem
region
-Parameter bestimmt.
- wenn der Parameter
- Das zweite Format wird (im Falle einer Ausgabe, d.h. wenn nicht mit dem ersten identisch) wird durch einen Strichpunkt vom ersten abgetrennt und beschriftet.
- Die (teilweise <sic!>) fehlerbereinigten Werte der Daten-Parameter
CoordinateMap
[Quelltext bearbeiten]Diese Vorlage gibt eine Karte aus, fungiert aber auch gleichzeitig als reine Zwischenebene für Text-/Artikel-Ausgabe und Lagewünsche.
- Sind
text
oderarticle
gefüllt, oder gibt es Probleme mitNS
,EW
,pop
,elevation
,region
,globe
undtype
- so wird die Vorlage:CoordinateMain mit allen benötigten Parametern eingebunden
- Sollte das Problem von
NS
bzw.EW
in ihrer Leerheit liegen, so wird stattdessen nur der Lagewunsch mit Vorlage:CoordinateNO(NR) erzeugt
- ansonsten (wenn Main nicht verwendet wird) wird das #Mikroformat-<span> ausgegeben
- danach wird der Parameter
maptrenner
ausgegeben, um erweiterte Anzeigemöglichkeiten zu schaffen. So lassen sich Textausgabe und Karte bsp. durch eine neue Tabellenzeile trennen. Anmerkung: Wäre es nicht sinnvoller, die Reihenfolge zu vertauschen (b/c-break)? -- ✓ Bergi 03:45, 19. Jan. 2012 (CET) - Für die Darstellung der Karte wird die Vorlage:CoordinateMap/map eingebunden:
- Wenn der Parameter
mapname
gefüllt ist, wird er verwendet, sonst wird wenn derregion
-Code gültig ist, mit der Vorlage:CoordinateMap/name eine passende Positionskarte bestimmt, sonst wird mit der Vorlage:Info globe und dem Parameterglobe
eine bestimmt (im Zweifelsfall also „Erde“) - Die Parameter
maptype
,(map)float
,(map)size
,(map)caption
und(map)layer
werden übernommen - Wenn der Parameter
maplabel
leer oder gleich „none“ ist, so wird ein passender generiert: Wenn der Parametername
leer ist, so wird der Seitentitel verwendet, sonst wird wenn es einetext
-Ausgabe gibt <sic!> und das Lemmaname
existiert der Link generiert, sonst wird dername
genommen. labelpos
wird „none“ übergeben, wenn der Parametermaplabel
gleich „none“ ist. Somit steht für Fehlermeldungen oder Bildtitel ein label zur Verfügung, auch wenn es nicht angzeigt werden soll- Die Daten-Parameter
NS
,EW
,type_safe
,pop
,elevation
,dim_safe
,dim
,region
undglobe
werden übernommen - Der Parameter
name
wird, falls leer, durch den Seitentitel ersetzt
- Wenn der Parameter
Die Vorlage:CoordinateMap/map bindet einen Positionskarten-Frame ein:
- die Positionskarte ist
mapname
- Wenn der Parameter
caption
gleich dem default-Wert „auto“ ist, so wird aus dem Kartennamen eine passenden Bildunterschrift generiert float
,size
,label
,maptype
undlayer
werden weitergereicht- Wenn es einen Fehler bei
NS
oderEW
gibt, so wird dieser Lagewunsch oder Fehlertyp 1 im Rahmen angezeigt - sonst wird eine Positionskartenmarkierung eingebunden:
X
undY
werden mit den Hilfsvorlagen /map/x bzw. /y und den Positionskartendatenvorlagen ausNS
undEW
berechnetlabel
undlabelpos
werden weitergereicht- die Anzeige ist immer mit „font-size:90%;“
- als
marker
wird ein Datei-CoordinateLink verwendet:- Die Daten-Parameter
NS
,EW
,globe
,type
,pop
,elevation
,dim
,dim_save
,region
undname
werden übernommen - Es wird im Tooltip immer der
name
und das „DMS“-Format angezeigt - Die Markergröße ist fest auf „8“px festgelegt und berücksichtigt auch nicht die Positionskartendatenvorlagen <sic!>
- standardmäßig wird die Datei:Red pog.svg verwendet, sie kann durch die Positionskartendatenvorlage geändert werden <sic!>
- Die Daten-Parameter
Mikroformat
[Quelltext bearbeiten]![microformats](http://178.128.105.246/content-http-upload.wikimedia.org/wikipedia/commons/thumb/6/60/Microformat-logo.png/170px-Microformat-logo.png)
Die Vorlage unterstützt das GEO-Mikroformat.[1] Die semantische Textauszeichnung geschieht automatisch mit den Klassen ›geo‹, ›latitude‹, ›longitude‹, ›body‹[2] und ›elevation‹[3]. Diese Klassen sind für diesen Zweck reserviert und dürfen nicht anderweitig verwendet werden.
Die Implementierung des Mikroformats durch die Vorlage ist recht eigenwillig und problematisch. Obwohl die Spezifikation vorsieht, dass diese Textauszeichnung in der Regel in HTML-Attributen untergebracht werden soll, erzeugt die Vorlage für das Mikroformat ein eigenes Element und versucht, dieses Element über die CSS-Anweisung display:none
für den Benutzer unsichtbar zu machen. Das funktioniert nicht in allen Fällen zuverlässig (siehe etwa phab:T91491 und phab:T131923); insbesondere funktioniert es nicht in der internen Suchfunktion, dort wird das Mikroformat in Form „kryptischer Zahlenkolonnen“ sichtbar (Beispiel).
- ↑ microformats.org: geo
- ↑ microformats.org: geo-extension-nonWGS84. Die Klasse ›body‹ wurde 2006 zur Standardisierung vorgeschlagen, ist aber noch kein Standard.
- ↑ microformats.org: geo-extension-elevation. Die Klasse ›elevation‹ wurde 2007 zur Standardisierung vorgeschlagen, ist aber noch kein Standard.
Fehler
[Quelltext bearbeiten]Die Vorlage:CoordinateMessage akzeptiert folgende Fehlercodes:
- 1 – Gradzahl-Fehler
- Fehler in Wertebereich oder Format von Längen- oder Breitengrad. Dazu sind
NS
undEW
als Parameter2
und3
zu übergeben - 2 – Wertebereich des Ausgabeformats
- Breiten- und Längengrad-Bereich des Ausgabeformats überschritten, z.B. in der Vorlage:Coordinate/to CH1903. Das Format ist als Parameter
2
zu übergeben - 3 – fehlende / fehlerhafte Eingabe
- Erwartet die Parameter
type
,rg
,elevation
undpop
- falscher
type
wird unter „3“ sortiert - fehlender
type
wird unter „4“ sortiert - fehlende region/globe (
rg
) wird unter „6“ sortiert - eine fehlerhafte
elevation
wird unter „7“ sortiert - eine fehlerhafte
pop
wird unter „9“ sortiert
- falscher
- 5 – unbenannte Parameter
- erwartet diese zur Ausgabe
- 8 – Name fehlt
- In der Textausgabe ist der Parameter
name
verpflichtend - 10 – überflüssige Parameter
- Es wird keine Karte ausgegeben, aber es wurden Parameter für diese angegeben. Erzeugt nur einen Wartungslink auf Vorlage:Coordinate/Wartung/map-parameter.
- default
- Kommt nicht vor, würde die Seite aber unter „!“ in die Wartungskategorie einsortieren
Beispiele
[Quelltext bearbeiten]Die Vorlage wird nicht direkt in inhaltliche Seiten eingebunden. Als Funktionstest und zur Veranschaulichung folgen gleichwohl einige Parametersätze.
{{CoordinateComplex |NS = 23/7/21/N |EW = 82/23/11/W |type = city |region = CU-03 |pop = 2121871 |elevation = 59 |name = La Habana |article = / |map = center |mapsize = 270 |mapname = Kuba }}
Koordinaten: 23° 7′ N, 82° 23′ W