Allgemein
Layer bilden die Grundlage für visuelle Repräsentation der Daten eines Themas.
Die Definitionen der Layer erfolgt in <GISX3HOME>/definitions/layers. Die Konfiguration des jeweiligen Layer kann in beliebigen Unterverzeichnissen stattfinden (z.B. für Punkte in "<GISX3HOME>/definitions/layers/poi"). Die Unterverzeichnisse werden dadurch zu Bestandteilen der Layer ID (Verzeichnisebenen werden mittels "." getrennt). Es gelten die allgemeinen Hinweise zur Benamung.
Beispiel: Ein Layer der in der Datei <GISX3HOME>/definitions/layers/polygons/buildings.xml definiert wurde, hat die interne ID "polygons.buildings".
Überblick
Der Rumpf einer Layerdefinitionsdatei sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?> <VectorLayer xmlns="http://www.geograt.de/namespaces/gisx3/layerdefinition/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <visibleName>Layername</visibleName> ... usw. ... </VectorLayer>
Ein Beispiel finden Sie unten stehend.
Attribut | Beschreibung | Datentyp | Optional |
---|---|---|---|
visibleName | Angabe des zu anzeigenden Namens im Layerbaum. | Text | Nein |
description | Kurze interne Beschreibung des Layers Standardwert: null | Text | Ja |
visibleByDefault | Angabe, ob dieser Layer beim ersten Aufruf der Seite sichtbar ist. Standardwert: false | true | false | Ja |
opacity | Angabe der Deckkraft des Layers. Werte zwischen 0 und 1 sind erlaubt. | Fließkomma | Ja |
authorization | Angabe der Rolle(n), die diesen Layer sehen dürfen. Lesen Sie bitte dieses Kapitel für die Beschreibung der Rollenvergabe. Standardwert: null -> Keine Rollenbeschränkung. | Rollenvergabe | Ja |
maxZoom | Angabe bis zu welcher Zoomstufe der Layer sichtbar ist. Standardwert: Wert für maxZoom in der Kartendefinition | Ganzzahl | Ja |
minZoom | Angabe ab welcher Zoomstufe der Layer sichtbar ist. Standardwert: Wert für minZoom in der Kartendefinition | Ganzzahl | Ja |
drawOrder | Angabe der Zeichenreihenfolge der Layer. Layer mit größeren Werten überdecken Layer mit kleinerer drawOrder. | Ganzzahl | Ja |
copyright | Angabe der Copyrightinformationen. Wird in der Fußzeile des Kartenfenster angezeigt. | Text | Ja |
DrawOrder
Bei dieser Einstellung kann festgelegt werden in welcher Reihenfolge die Layer gezeichnet werden sollen. Es sind alle ganzzahligen Werte zulässig.
Die Zeichenreihenfolge wird aufsteigend entsprechend der drawOrder definiert. Ein Layer mit drawOrder -100 wird z.B. unter einem Layer mit drawOrder -50 oder einem Layer ohne drawOrder definition gezeichnet.
Bei mehreren Layer mit gleicher drawOrder gilt die Reihenfolge in der die Layer in die Karte (Map) eingebunden wurden.
Falls keine drawOrder in der Layerdefinition angegeben wird, wird der Wert auf 0 gesetzt.
Beispiel einer Layerdefinition
Um die visuelle Repräsentation der Daten eines Themas während der Laufzeit zu ändern, kann in der dementsprechenden Datei verschiedenste Änderungen vorgenommen werden.
Nachfolgend ein beispielhafter Aufbau einer Layerdefinition.
<?xml version="1.0" encoding="UTF-8"?> <VectorLayer xmlns="http://www.geograt.de/namespaces/gisx3/layerdefinition/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <visibleName>Layername</visibleName> <visibleByDefault>false</visibleByDefault> <dataStore>gisx2</dataStore> <dataSource>poi.layername</dataSource> <type>UntiledVector</type> <iconStyle> <icon> <layerValue>iconName</layerValue> </icon> <iconType>png</iconType> </iconStyle> </VectorLayer>
Aufschlüsselung der Layerdefinition:
- Zeile 3: Angabe des zu anzeigenden Namens im Layerbaum.
- Zeile 4: Angabe, ob der Layer beim Aufruf der Webseite angezeigt wird, oder ob dieser erst noch über den Layerbaum aktiviert werden muss.
- Zeile 5: Angabe des Datenspeichers. Diese Angabe ist casesensitive, d.h. der Wert hier und der Ordnername in den Themendefinitionen müssen gleich geschrieben werden.
- Zeile 6: Angabe der Datenquelle. Hier ist die ID der Themendefinition für diesen Layer anzugeben. (<GISX3HOME>/datastores/<dataStore>/themes/poi/layername.xml)
- Zeile 7: Angabe des Vektorentyps.
- UntiledVector: Die gesamten Layerdaten werden geladen. Bei Layern mit wenigen Daten ist dies vorzuziehen, da hier weniger Daten transportiert werden müssen und die Perfomance höher ist.
- TiledVector: Es werden nur die Layerdaten angezeigter Kacheln geladen. Etwas mehr Daten werden transportiert und die Perfomance ist niedriger, allerdings müssen nicht alle Daten auf einmal geladen werden.
- Zeile 8 - 13: Definition eines Styles. In diesem Fall wird ein zu ladendes Symbol definiert (iconName.png).
- Zeile 9 - 11: Angabe des Symbolnamens
- Zeile 12: Angabe des Symboltyps.