Konfiguration #
config.json #
Die config.json enthält die gesamte Konfiguration der Portal-Oberfläche. In ihr wird geregelt welche Elemente sich wo in der Menüleiste befinden, worauf die Karte zentriert werden soll und welche Layer geladen werden sollen. Hier geht es zu einem Beispiel. Die config.json besteht aus der Portalconfig und der Themenconfig
{
"Portalconfig": {},
"Themenconfig": {}
}
Portalconfig #
Im Abschnitt Portalconfig können folgende Eigenschaften konfiguriert werden:
- Titel & Logo (portalTitle)
- Art der Themenauswahl (treeType)
- Starteinstellungen der Kartenansicht (mapView)
- Schaltflächen auf der Kartenansicht sowie mögliche Interaktionen (controls)
- Menüeinträge sowie Vorhandenheit jeweiliger Tools und deren Reihenfolge (menu)
- Typ und Eigenschaften des genutzten Suchdienstes (searchBar)
- Löschbarkeit von Themen (layersRemovable)
- welche Sprachen genutzt werden sollen (portalLanguage)
- Konfiguration von Icons für den Classic-Tree
- Optionales Ausblenden der Header-Leiste
Es existieren die im Folgenden aufgelisteten Konfigurationen:
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
portalTitle | nein | portalTitle | Der Titel und weitere Parameter die in der Menüleiste angezeigt werden können. | false | |
treeType | nein | enum[“light”,“default”,“custom”,“classic”] | “light” | Legt fest, welche Themenbaumart genutzt werden soll. Es existieren die Möglichkeiten light (einfache Auflistung ohne Ordner), default (FHH-Atlas), custom (benutzerdefinierte Layerliste anhand json), classic (klassischer Themenbaum mit vollständig frei konfigurierbaren Ordnern und Layern). | false |
singleBaselayer | nein | Boolean | false | Legt fest, ob nur ein Baselayer gleichzeitig ausgewählt werden kann. | false |
Baumtyp | nein | enum[“light”,“default”,“custom”,“classic”] | “light” | Deprecated in 3.0.0 Bitte Attribut “treeType” verwenden. | false |
mapView | nein | mapView | Mit verschiedenen Parametern wird die Startansicht konfiguriert und der Hintergrund festgelegt, der erscheint wenn keine Karte geladen ist. | false | |
controls | nein | controls | Mit den Controls kann festgelegt werden, welche Interaktionen in der Karte möglich sein sollen. | false | |
menu | nein | menu | Hier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ist identisch mit der Reihenfolge, in der config.json (siehe Tools). | false | |
searchBar | nein | searchBar | Über die Suchleiste können verschiedene Suchen gleichzeitig angefragt werden. | false | |
layersRemovable | nein | Boolean | false | Gibt an ob der Layer gelöscht werden darf. | false |
portalLanguage | nein | portalLanguage | Mit dieser Konfiguration werden die Sprachen im Portal eingestellt, eine Default-Sprache ausgewählt und die Start-Reihenfolge festgelegt. | false | |
classicTreeIcons | nein | Objekt | {} | Definition benutzerdefinierter Icons für den Classic-Layertree, z.B. {“showInfoIcon: “fas fa-info-circle”}. Siehe unten für eine vollständige Dokumentation. | false |
displayHeader | nein | Boolean | true | Wenn auf false gesetzt, wird die Header-Leiste nicht angezeigt. |
false |
Beispiel für eine vollständige Konfiguration der Classic-Layertree Icons: #
"classicTreeIcons": {
"collapsedIcon": "fas fa-caret-right",
"expandedIcon": "fas fa-caret-down",
"unselectedIcon": "fas fa-square",
"selectedIcon": "fas fa-check-square",
"settingsIcon": "fas fa-cog",
"showInfoIcon": "fas fa-info-circle",
"moveLayerUpIcon": "fas fa-caret-up",
"moveLayerDownIcon": "fas fa-caret-down",
"copyLayerIcon": "fas fa-copy",
"removeLayerIcon": "fas fa-trash",
"zoomToLayerIcon": "fas fa-expand-arrows-alt",
"folderIcon": "fas fa-folder",
"authenticationIcon": "fas fa-lock
}
Portalconfig.searchBar #
Konfiguration der Searchbar
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
bkg | nein | bkg | Konfiguration des BKG Suchdienstes. | false | |
gazetteer | nein | gazetteer | Konfiguration des Gazetteer Suchdienstes. | false | |
gdi | nein | gdi | Konfiguration des GDI (elastic) Suchdienstes. Deprecated in 3.0.0. Bitte elasticSearch verwenden. | false | |
elasticSearch | nein | elasticSearch | Konfiguration des ElasticSearch Suchdienstes. | false | |
osm | nein | osm | Konfiguration des OpenStreetMap (OSM) Suchdienstes. | false | |
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
placeholder | nein | String | “Suche” | Placeholder für das Freitextfeld. | false |
recommendedListLength | nein | Integer | 5 | Anzahl der Einträge in der Vorschlagsliste. | false |
quickHelp | nein | Boolean | false | Gibt an ob eine Schnellhilfe angeboten wird. | false |
specialWFS | nein | specialWFS | Konfiguration des specialWFS Suchdienstes. | false | |
tree | nein | tree | Konfiguration der Suche im Themenbaum. | false | |
visibleWFS | nein | visibleWFS | Konfiguration der Suche über die sichtbaren WFS Layer. | false | |
visibleVector | nein | visibleVector | Konfiguration der Suche über die sichtbaren WFS Layer. | false | |
zoomLevel | nein | Integer | ZoomLevel, auf das die Searchbar maximal hineinzoomt. | false | |
renderToDOM | nein | String | HTML-Id an diese sich die Searchbar rendert. Bei “#searchbarInMap” zeichnet sich die Searchbar auf der Karte. Wird verwendet in MeldeMichel. | true |
Portalconfig.searchBar.bkg #
Konfiguration des BKG Suchdienstes
ACHTUNG: Backend notwendig!
Um die eigene UUID für den BKG nicht öffentlich zu machen, sollten die URLS (hier “bkg_geosearch” und “bkg_suggest”) der restServices im Proxy abgefangen und umgeleitet werden. Beispielhafte Proxy Einstellung
ProxyPass /bkg_geosearch http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/geosearch
<Location /bkg_geosearch>
ProxyPassReverse http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/geosearch
</Location>
ProxyPass /bkg_suggest http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/suggest
<Location /bkg_suggest>
ProxyPassReverse http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/suggest
</Location>
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
epsg | nein | String | “EPSG:25832” | EPSG-Code des zu verwendenden Koordinatensystems. | false |
extent | nein | Extent | [454591, 5809000, 700000, 6075769] | Koordinaten-Ausdehnung innerhalb dieser der Suchalgorithmuss suchen soll. | false |
filter | nein | String | “filter=(typ:*)” | Filter string der an die BKG-Schnittstelle geschickt wird. | false |
geosearchServiceId | ja | String | Id des Suchdienstes. Wird aufgelöst in der rest-services.json. | false | |
minChars | nein | Integer | 3 | Deprecated in 3.0.0. Bitte “minCharacters” verwenden. | false |
minCharacters | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
score | nein | Number | 0.6 | Score der die Qualität der Suchergebnisse definiert. | false |
suggestCount | nein | Integer | 20 | Anzahl der Vorschläge. | false |
suggestServiceId | ja | String | Id des Vorschlagsdienstes. Wird aufgelöst in der rest-services.json. | false | |
zoomToResult | nein | Boolean | Gibt an, ob auf das Feature beim Mousehover auf die Adresse gezoomt werden soll. | false |
Beispiel
#!json
"bkg": {
"minCharacters": 3,
"suggestServiceId": "4",
"geosearchServiceId": "5",
"extent": [454591, 5809000, 700000, 6075769],
"suggestCount": 10,
"epsg": "EPSG:25832",
"filter": "filter=(typ:*)",
"score": 0.6,
"zoomToResult": true
}
Portalconfig.searchBar.osm #
Suche bei OpenStreetMap über Stadt, Strasse und Hausnummer. Wird nur durch Klick auf die Lupe oder Enter ausgelöst, da die Anzahl der Abfragen der OSM-Suchmaschine limitiert ist.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Number | 3 | Mindestanzahl an Zeichen im Suchstring, bevor die Suche initiiert wird. | false |
serviceId | ja | String | Gibt die ID für die URL in der rest-services.json vor. | false | |
limit | nein | Number | 50 | Gibt die maximale Zahl der gewünschten, ungefilterten Ergebnisse an. | false |
states | nein | string | "” | kann die Namen der Bundesländer enthalten. Trenner beliebig. Eventuell auch englische Ausprägungen eintragen, da die Daten frei im OpenSourceProjekt https://www.openstreetmap.org erfasst werden können. | false |
classes | nein | string | [] | kann die Klassen, für die Ergebnisse erzielt werden sollen, enthalten. | false |
Beispiel
#!json
"osm": {
"minChars": 3,
"serviceId": "10",
"limit": 60,
"states": "Hamburg, Nordrhein-Westfalen, Niedersachsen, Rhineland-Palatinate Rheinland-Pfalz",
"classes": "place,highway,building,shop,historic,leisure,city,county"
}
Portalconfig.searchBar.gazetteer #
Konfiguration des Gazetteer Suchdienstes
ACHTUNG: Backend notwendig!
Es wird eine Stored Query eines WFS mit vorgegebenen Parametern abgefragt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
searchDistricts | nein | Boolean | false | Gibt an ob nach Bezirken gesucht werden soll. | false |
searchHouseNumbers | nein | Boolean | false | Gibt an ob nach Straßen und Hausnummern gesucht werden soll. Bedingt searchStreets=true. | false |
searchParcels | nein | Boolean | false | Gibt an ob nach Flurstücken gesucht werden soll. | false |
searchStreetKey | nein | Boolean | false | Gibt an ob nach Straßenschlüsseln gesucht werden soll. | false |
searchStreet | nein | Boolean | false | Gibt an ob nach Straßen gesucht werden soll. Vorraussetzung für searchHouseNumbers. | false |
serviceID | ja | String | Id des Suchdienstes. Wird aufgelöst in der rest-services.json. | false |
Beispiel
#!json
"gazetteer": {
"minChars": 3,
"serviceId": "6",
"searchStreets": true,
"searchHouseNumbers": true,
"searchDistricts": true,
"searchParcels": true,
"searchStreetKey": true
}
Portalconfig.searchBar.gdi #
Konfiguration des GDI Suchdienstes. Deprecated in 3.0.0. Bitte elasticSearch verwenden.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
serviceID | ja | String | Id des Suchdienstes. Wird aufgelöst in der rest-services.json. | false | |
queryObject | ja | queryObject | Query Objekt, das vom Elastic Search Model ausgelesen wird. | false |
Beispiel
#!json
"gdi": {
"minChars": 3,
"serviceId": "elastic",
"queryObject": {
"id": "query",
"params": {
"query_string": "%%searchString%%"
}
}
Portalconfig.searchBar.gdi.queryObject #
Todo
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
id | ja | String | "" | Todo | false |
params | ja | params | Parameter Object für ElasticSearch. | false |
Portalconfig.searchBar.gdi.queryObject.params #
Todo
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
query_string | ja | String | “%%searchString%%” | Todo | false |
Portalconfig.searchBar.elasticSearch #
Konfiguration des Elastic Search Suchdienstes
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
serviceId | ja | String | Id des Suchdienstes. Wird aufgelöst in der rest-services.json. | false | |
type | nein | enum[“POST”, “GET”] | “POST” | Art des Requests. | false |
payload | nein | CustomObject | {} | Payload der mitgeschickt werden soll. Der Payload muss das Attribut für den searchString vorhalten. | false |
searchStringAttribute | nein | String | “searchString” | Attributname im payload für den searchString. | false |
responseEntryPath | nein | String | "" | Der Pfad in der response (JSON) zum Attribut, dass die gefundenen features enthält. | false |
triggerEvent | nein | params | {} | Radio event das ausgelöst werden soll durch Mouseover und Click. | false |
hitMap | nein | hitMap | Mapping Objekt. Mappt die Attribute des Ergebnis Objektes auf den entsprechenden Key. | true | |
hitType | nein | String | “Elastic” | Typ des Suchergebnissses, wird in der Auswahlliste hinter dem Namen angezeigt. | false |
hitGlyphicon | nein | String | “glyphicon-road” | CSS Glyphicon Klasse des Suchergebnisses. Wird vor dem Namen angezeigt. | false |
useProxy | nein | Boolean | false | Flag die angibt ob die url vom geproxied werden soll oder nicht. | false |
Beispiel
#!json
"elasticSearch": {
"minChars":3,
"serviceId":"elastic_hh",
"type": "GET",
"payload": {
"id":"query",
"params":{
"query_string":""
}
},
"searchStringAttribute": "query_string",
"responseEntryPath": "hits.hits",
"triggerEvent": {
"channel": "Parser",
"event": "addGdiLayer"
},
"hitMap": {
"name": "_source.name",
"id": "_source.id",
"source": "_source"
},
"hitType": "Fachthema",
"hitGlyphicon": "glyphicon-list"
}
Portalconfig.searchBar.elasticSearch.hitMap #
Mapping Objekt. Mappt die Attribute des Ergebnis Objektes auf den entsprechenden Key.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | “name” | Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen. | false |
id | ja | String | “id” | Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen. | false |
coordinate | ja | String | “coordinate” | Attribut value wird auf attribut key gemappt. Notwendig um den mapMarker anzuzeigen. | false |
Portalconfig.searchBar.elasticSearch.triggerEvent #
Radio event das ausgelöst werden soll durch Mouseover und Click. Definiert durch “channel” und “event”.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
channel | ja | String | Channel an den der hit beim mouseover und click in der recommendedList getriggered wird. | false | |
event | ja | String | Event das getriggered wird. | false |
Portalconfig.searchBar.specialWFS #
Konfiguration der SpecialWFS Suche
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
glyphicon | nein | String | “glyhicon-home” | Default glyphicon das in der Vorschlagsliste erscheint. Kann in der definition überschrieben werden. | false |
maxFeatures | nein | Integer | 20 | Maximale Anzahl an gefundenen Features. Kann in der definition überschrieben werden. | false |
timeout | nein | Integer | 6000 | Timeout in ms für die Dienste Anfrage. | false |
definitions | nein | definition[] | Definition der speziellen WFS suchen. | false |
Beispiel
#!json
"specialWFS": {
"minChars": 5,
"timeout": 10000,
"definitions": [
{
"url": "/geodienste_beispiel_de/MRH_WFS_Rotenburg",
"typeName": "app:mrh_row_bplan",
"propertyNames": ["app:name"],
"name": "B-Plan",
"namespaces": "xmlns:app='http://www.deegree.org/app'"
},
{
"url": "/geodienste_beispiel_de/HH_WFS_Bebauungsplaene",
"typeName": "app:prosin_imverfahren",
"propertyNames": ["app:plan"],
"geometryName": "app:the_geom",
"name": "im Verfahren",
"namespaces": "xmlns:app='http://www.deegree.org/app'"
}
]
}
Portalconfig.searchBar.specialWFS.definition #
Konfiguration einer Definition bei der SpecialWFS Suche
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
url | nein | String | URL des WFS. | false | |
name | nein | String | Name der Kategorie. Erscheint in der Vorschlagsliste. | false | |
glyphicon | nein | String | “glyhicon-home” | CSS Klasse des Glyphicons das in der Vorschlagsliste erscheint. | false |
typeName | nein | String | TypeName des WFS layers. | false | |
propertyNames | nein | String[] | Array von Attributnamen. Diese Attribute werden durchsucht. | false | |
geometryName | nein | String | “app:geom” | Attributname der Geometrie wird benötigt um darauf zu zoomen. | false |
maxFeatures | nein | Integer | 20 | Maximale Anzahl an gefundenen Features. | false |
namespaces | nein | String | XML Namespaces zur Abfrage von propertyNames oder geometryName (xmlns:wfs, xmlns:ogc und xmlns:gml werden immer genutzt). | false | |
data | nein | String | Deprecated in 3.0.0 Filterparameter für den WFS request. | false |
Beispiel
#!json
{
"url": "/geodienste_beispiel_de/HH_WFS_Bebauungsplaene",
"typeName": "app:prosin_imverfahren",
"propertyNames": ["app:plan"],
"geometryName": "app:the_geom",
"name": "im Verfahren"
}
Portalconfig.searchBar.tree #
Alle Layer, die im Themenbaum des Portals sind, werden durchsucht.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
Beispiel
#!json
"tree": {
"minChars": 5
}
Portalconfig.searchBar.visibleWFS #
Konfiguration der Suche über die sichtbaren WFS. Deprecated in 3.0.0. Verwenden Sie visibleVector.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
Beispiel
#!json
"visibleWFS": {
"minChars": 3
}
Portalconfig.searchBar.visibleVector #
Konfiguration der Suche über die sichtbaren VectorLayer. Bei der Layerdefinition unter “Fachdaten” muss für jeden VectorLayer, der durchsucht werden soll das attribut “searchField” gesetzt sein. siehe searchField
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
minChars | nein | Integer | 3 | Minimale Anzahl an Buchstaben, ab der die Suche losläuft. | false |
layerTypes | nein | enum[“WFS”, “GeoJSON”] | [“WFS”] | Vector Typen die verwendet werden sollen. | true |
gfiOnClick | nein | Boolean | false | Öffnet das GetFeatureInfo (gfi) bei Klick auf das Suchergebnis. | false |
Beispiel
#!json
"visibleVector": {
"minChars": 3,
"layerTypes": ["WFS", "GeoJSON"]
}
Portalconfig.portalLanguage #
Konfiguration der Sprache
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
enabled | nein | Boolean | true | Aktiviert die Sprach-Umschalter-GUI im Portal. | Die Sprache kann dann nur noch über andere Eingriffe (z.B. Kommandozeile Backbone.i18next.changeLanguage(“en”)) umgeschaltet werden. |
debug | nein | Boolean | false | Kann für die Entwicklungsphase auf true gesetzt werden, um das Sprach-Tool zu debuggen. | |
languages | nein | Object | {“de”: “deutsch, “en”: “english”} | Konfiguration der im Portal verwendeten Sprachen. Bitte beachten, dass die entsprechenden Sprach-Dateien auch hinterlegt sein müssen. | |
startLanguage | nein | String | “de” | Die Standard-Sprache die beim Start automatisch aktiv sein soll. | Bitte beachten, dass dieser Wert ignoriert wird wenn eine andere Start-Bedingung erfüllt ist. Die startLanguage ist zugleich der Fallback, falls eine Sprache nicht erkannt wird oder Sprach-Schlüssel fehlen. |
changeLanguageOnStartWhen | nein | Array | [“querystring”, “localStorage”, “navigator”] | Stellt die Reihenfolge der Sprach-Eingriffe ein, auf die beim Start geachtet werden soll. |
Portalconfig.controls #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
attributions | nein | attributions | false | Zusätzliche Layerinformationen die im Portal angezeigt werden sollen | false |
fullScreen | nein | Boolean / Objekt | false | Ermöglicht dem User die Darstellung im Vollbildmodus (ohne Tabs und Adressleiste) per Klick auf den Button. Ein erneuter Klick auf den Button wechselt wieder in den normalen Modus. | false |
mousePosition | nein | Boolean / Objekt | false | Die Koordinaten des Mauszeigers werden angeziegt. | false |
orientation | nein | orientation | Orientation nutzt die geolocation des Browsers zur Standortbestimmung des Nutzers. | false | |
zoom | nein | Boolean / Objekt | false | Legt fest, ob die Zoombuttons angezeigt werden sollen. | false |
totalview | nein | totalView | false | Deprecated in 3.0.0. bitte “totalView” verwenden. | false |
totalView | nein | totalView | false | Zeigt einen Button an, mit dem die Startansicht mit den initialen Einstellungen wiederhergestellt werden kann. | false |
button3d | nein | Boolean / Objekt | false | Legt fest, ob ein Button für die Umschaltung in den 3D Modus angezeigt werden soll. | false |
orientation3d | nein | Boolean / Objekt | false | Legt fest, ob im 3D Modus eine Navigationsrose angezeigt werden soll. | false |
backforward | nein | backForward | false | Deprecated in 3.0.0. Bitte “backForward” verwenden. | false |
backForward | nein | backForward | false | Zeigt Buttons zur Steuerung der letzten und nächsten Kartenansichten an. | false |
geolocation | nein | geolocation | false | Zeigt einen Button zur Standortbestimmung an. | false |
Portalconfig.controls.attributions #
Das Attribut attributions kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt diese flag ob vorhandene Attributions angezeigt werden sollen oder nicht. Ist es vom Typ Object so gelten folgende Attribute:
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
isInitOpenDesktop | nein | Boolean | true | Legt fest, ob die Attributions (Desktop-Ansicht) initial ausgeklappt werden sollen. | false |
isInitOpenMobile | nein | Boolean | false | Legt fest, ob die Attributions (Mobile-Ansicht) initial ausgeklappt werden sollen. | false |
position | nein | String | Gibt die Position des Tools an (“top”, “topRight”, “bottomRight”, “bottom”, “bottomLeft”, “topLeft”). | false |
Beispiel als Boolean
#!json
"attributions": true
Beispiel als Object
#!json
"attributions": {
"isInitOpenDesktop": true,
"isInitOpenMobile": false,
}
Portalconfig.controls.orientation #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
zoomMode | nein | enum[“none”, “once”, “always”] | “once” | none (Die Standortbestimmung ist deaktiviert.), once (Es wird einmalig beim Laden der Standort bestimmt und einmalig auf den Standort gezoomt.), always (Die Karte bleibt immer auf den Nutzerstandort gezoomt.). | false |
poiDistances | nein | Boolean/Integer[] | true | Bei poiDistances=true werden die Defaultwerte verwendet. Legt fest, ob “In meiner Nähe” geladen wird und zeigt eine Liste von Features in der Umgebung an. Bei Angabe eines Array werden die darin definierten Abstände in Metern angeboten. Bei Angabe von true werden diese Abstände angeboten: [500,1000,2000]. | false |
position | nein | String | Gibt die Position des Tools an (“top”, “topRight”, “bottomRight”, “bottom”, “bottomLeft”, “topLeft”). | false |
Beispiel mit poiDistances vom Typ Boolean
#!json
"orientation": {
"zoomMode": "once",
"poiDistances": true
}
Beispiel mit poiDistances vom Typ Integer[]
#!json
"orientation": {
"zoomMode": "once",
"poiDistances": [500, 1000, 2000, 5000]
}
Beispiel mit Positionierung des Werkzeugs
#!json
"orientation": {
"zoomMode": "once",
"position": "top"
}
Portalconfig.controls.overviewMap #
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
resolution | nein | Integer | deprecated in 3.0.0: Legt die Resolution fest, die in der Overviewmap verwendet werden soll. Falls nicht angegeben, passt sich der Kartenausschnitt per Zoom automatisch an. | |
baselayer | nein | String | deprecated in 3.0.0, danach bitte layerId verwenden!: Über den Parameter baselayer kann ein anderer Layer für die Overviewmap verwendet werden. Hier muss eine Id aus der services.json angegeben werden die in der config.js des Portals, im Parameter layerConf steht. | |
layerId | nein | String | Über den Parameter layerId kann ein anderer Layer für die Overviewmap verwendet werden. Hier muss eine Id aus der services.json angegeben werden die in der config.js des Portals, im Parameter layerConf steht. | |
isInitOpen | nein | Boolean | true | Legt fest, ob die OverviewMap beim Start dargestellt oder verborgen sein soll. |
position | ja | String | Gibt die Position des Tools an (“top”, “topRight”, “bottomRight”, “bottom”, “bottomLeft”, “topLeft”). |
Hinweis: Overviewmap ist nur für die Positionierung bottomLeft
optimiert.
Beispiel overviewmap als Object:
#!json
"overviewMap": {
"resolution": 305.7487246381551,
"layerId": "452",
"isInitOpen": false,
"position": "bottomLeft"
}
Portalconfig.controls.zoom #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
showZoomIn | nein | Boolean/Integer[] | true | Es wird hineingezoomt | true |
showZoomIn | nein | Boolean/Integer[] | true | Es wird hinausgezoomt | true |
showZoomBox | nein | Boolean/Integer[] | true | Zoom über Auswahl | true |
Beispiel nur Zoombox wird freigeschalten
#!json
"zoom": {
"showZoomIn": false,
"showZoomOut": false,
"showZoomBox": true
}
Portalconfig.controls.geolocation #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
zoomLevel | nein | Integer | 5 | Das Zoom-Level zu dem bei der Standortbestimmung gezoomt werden soll. | false |
showAccuracyGeometry | nein | Boolean | false | Stellt die Genauigkeit der Standortbestimmung über eine Kreisgeometrie dart. | false |
position | nein | String | “bottomLeft” | Gibt die Position des Tools an (“top”, “topRight”, “bottomRight”, “bottom”, “bottomLeft”, “topLeft”). | false |
Beispiel mit Positionierung des Werkzeugs
#!json
"geolocation": {
"zoomLevel": 8,
"position": "bottom",
"showAccuracyGeometry": true
}
Portalconfig.portalTitle #
In der Menüleiste kann der Portalname und ein Bild angezeigt werden, sofern die Breite der Leiste ausreicht. Der Portaltitle ist mobil nicht verfügbar.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
title | nein | String | “Master” | Name des Portals. | false |
logo | nein | String | URL zur externen Bilddatei. Wird kein logo gesetzt, so wird nur der Titel ohne Bild dargestellt. | false | |
link | nein | String | “https://geobasis-bb.de” | URL der externen Seite, auf die verlinkt wird. | false |
tooltip | nein | String | Deprecated in 3.0.0 Tooltip beim Hovern über das PortalLogo angezeigt wird. | false | |
toolTip | nein | String | “Landesbetrieb Geoinformation und Vermessung” | Tooltip beim Hovern über das PortalLogo angezeigt wird. | false |
help | nein | String | Link zur optionalen und externen Hilfe. | false | |
titlelist | nein | Object | Definition verschiedener Links (Hilfe, Feedback, Neuerungen) | false |
Beispiel portalTitle:
#!json
"portalTitle": {
"title": "Master",
"logo": "../../lgv-config/img/hh-logo.png",
"link": "https://geobasis-bb.de",
"toolTip": "Landesbetrieb Geoinformation und Vermessung"
}
Portalconfig.portalTitle.titlelist #
Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
---|---|---|---|---|---|
title | ja | String | Name des Links. | false | |
href | ja | String | URL der externen Seite, auf die verlinkt wird. | false | |
target | nein | String | target wird definiert ("_blank” = Neue seite) | false | |
title-alternative | nein | String | Alternativer Name des Links. | false | |
class | nein | String | "" | Klasse des Links | false |
separator | nein | String | Teiler der Links | false |
Beispiel portalTitle mit titlelist:
#!json
"portalTitle": {
"title": "Master",
"logo": "../../lgv-config/img/hh-logo.png",
"link": "https://geobasis-bb.de",
"toolTip": "Landesbetrieb Geoinformation und Vermessung",
"titlelist": {
"help": {
"title": "Hilfe",
"href": "ressources/Hilfe/Brandenburgviewer_Nutzerhandbuch.pdf",
"separator": "|"
},
"feedback": {
"href": "mailto:kundenservice@geobasis-bb.de?subject=Feedback%20zum%20neuen%20BRANDENBURGVIEWER&body=Sehr%20geehrte%20Damen%20und%20Herren,%0D%0A%0D%0A",
"title": "Feedback",
"title-alternative": "Feedback geben",
"separator": "|"
},
"neues": {
"title": "Neuerungen",
"href": "ressources/Hilfe/Brandenburgviewer_Neuerungen.pdf",
"title-alternative": "Was ist neu?",
"separator": "|"
}
}
}
Portalconfig.controls.totalView #
Das Attribut totalView kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es den Butten an, der in den Defaulteinsellungen gesetzt ist. Ist es vom Typ Object, so gelten folgende Attribute
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
glyphicon | nein | String | Über den Parameter glyphicon kann ein anderes Glyphicon für das Zurückschalten zur Startansicht verwendet werden. | false | |
tableGlyphicon | nein | String | Über den Parameter tableGlyphicon kann bei einem TABLE Style ein anderes Glyphicon für das Zurückschalten zur Startansicht verwendet werden. | false |
Beispiel totalView als Object:
#!json
"totalView" : {
"glyphicon": "glyphicon-step-forward",
"tableGlyphicon": "glyphicon-step-forward"
},
Beispiel totalView als Boolean:
#!json
"totalView": true
Portalconfig.controls.backForward #
Das Attribut backForward kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean, zeigt es die Buttons zur Steuerung der letzten und nächsten Kartenansichten mit den Defaulteinsellungen an. Ist es vom Typ Object, so gelten folgende Attribute
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
glyphiconFor | nein | String | Über den Parameter glyphiconFor kann ein anderes Glyphicon für das Vorschalten der Kartenansicht verwendet werden. | false | |
glyphiconBack | nein | String | Über den Parameter glyphiconBack kann ein anderes Glyphicon für das Zurückschalten der Kartenansicht verwendet werden. | false | |
position | nein | String | Gibt die Position des Tools an (“top”, “topRight”, “bottomRight”, “bottom”, “bottomLeft”, “topLeft”). | false |
Beispiel backForward als Object:
#!json
"backForward" : {
"glyphiconFor": "glyphicon-fast-forward",
"glyphiconBack": "glyphicon-fast-backward"
}
Beispiel backForward als Boolean:
#!json
"backForward": true
Portalconfig.mapView #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
backgroundImage | nein | String | “./ressources/img/backgroundCanvas.jpeg” | Pfad zum alternativen Hintergrund angeben. | false |
startCenter | nein | Coordinate | [565874, 5934140] | Die initiale Zentrumskoordinate. | false |
options | nein | option[] | [{“resolution”:66.14579761460263,“scale”:250000,“zoomLevel”:0}, {“resolution”:26.458319045841044,“scale”:100000,“zoomLevel”:1}, {“resolution”:15.874991427504629,“scale”:60000,“zoomLevel”:2}, {“resolution”: 10.583327618336419,“scale”:40000,“zoomLevel”:3}, {“resolution”:5.2916638091682096,“scale”:20000,“zoomLevel”:4}, {“resolution”:2.6458319045841048,“scale”:10000,“zoomLevel”:5}, {“resolution”:1.3229159522920524,“scale”:5000,“zoomLevel”:6}, {“resolution”:0.6614579761460262,“scale”:2500,“zoomLevel”:7}, {“resolution”:0.2645831904584105,“scale”: 1000,“zoomLevel”:8}, {“resolution”:0.13229159522920521,“scale”:500,“zoomLevel”:9}] | Die initialen Maßstabsstufen und deren Auflösungen. | true |
extent | nein | Extent | [510000.0, 5850000.0, 625000.4, 6000000.0] | Der Map-Extent. | false |
resolution | nein | Float | 15.874991427504629 | Die initiale Auflösung der Karte aus options. Vorzug vor zoomLevel. | true |
zoomLevel | nein | Integer | Der initiale ZoomLevel aus Options. Nachrangig zu resolution. | false | |
epsg | nein | String | “EPSG:25832” | Der EPSG-Code der Projektion der Karte. Der EPSG-Code muss als namedProjection definiert sein. | false |
Beispiel:
#!json
"mapView": {
"backgroundImage": "/lgv-config/img/backgroundCanvas.jpeg",
"startCenter": [561210, 5932600],
"options": [
{
"resolution": 611.4974492763076,
"scale": 2311167,
"zoomLevel": 0
},
{
"resolution": 305.7487246381551,
"scale": 1155583,
"zoomLevel": 1
},
{
"resolution": 152.87436231907702,
"scale": 577791,
"zoomLevel": 2
},
{
"resolution": 76.43718115953851,
"scale": 288896,
"zoomLevel": 3
},
{
"resolution": 38.21859057976939,
"scale": 144448,
"zoomLevel": 4
},
{
"resolution": 19.109295289884642,
"scale": 72223,
"zoomLevel": 5
},
{
"resolution": 9.554647644942321,
"scale": 36112,
"zoomLevel": 6
},
{
"resolution": 4.7773238224711605,
"scale": 18056,
"zoomLevel": 7
},
{
"resolution": 2.3886619112355802,
"scale": 9028,
"zoomLevel": 8
},
{
"resolution": 1.1943309556178034,
"scale": 4514,
"zoomLevel": 9
},
{
"resolution": 0.5971654778089017,
"scale": 2257,
"zoomLevel": 10
}
],
"extent": [510000.0, 5850000.0, 625000.4, 6000000.0],
"resolution": 15.874991427504629,
"zoomLevel": 1,
"epsg": "EPSG:25832"
}
Portalconfig.mapView.option #
Eine option definiert eine Zoomstufe. Diese muss definiert werden über die Auflösung, die Maßstabszahl und das ZoomLevel. Je höher das ZoomLevel ist, desto kleiner ist die Scale. und desto näher hat man gezoomt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
resolution | ja | Number | Auflösung der definierten Zoomstufe. | true | |
scale | ja | Integer | Maßstabszahl der definierten Zoomstufe. | true | |
zoomLevel | ja | Integer | Zoomstufe der definierten Zoomstufe. | true |
Beispiel einer mapview Option
#!json
{
"resolution": 611.4974492763076,
"scale": 2311167,
"zoomLevel": 0
}
Portalconfig.menu #
Hier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ergibt sich aus der Reihenfolge in der Config.json.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
info | nein | info | Ordner im Menü, der tools oder staticlinks darstellt. | false | |
tools | nein | tools | Ordner im Menü, der Werkzeuge darstellt. | false | |
tree | nein | tree | Darstellung udn Position des Themenbaums. | false |
Portalconfig.menu.legend #
Konfigurations-Optionen der Legende.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
showCollapseAllButton | nein | Boolean | false | Option zum Ein- bzw. Ausblenden aller Legenden | false |
Portalconfig.menu.info #
Informations-Ordner in dem Werkzeuge oder staticlinks eingetragen werden können.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
children | nein | children | Konfiguration der Kindelemente des Informations Ordners. | false |
Portalconfig.menu.info.children #
Liste der Werkzeuge oder Staticlinks die im Info-Ordner erscheinen sollen.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
children | nein | staticlinks | Konfiguration der Kindelemente des Informations Ordners. | false |
Portalconfig.menu.tree #
Hier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ergibt sich aus der Reihenfolge in der Config.json.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des Themenbaumes. | false | |
glyphicon | nein | String | CSS Klasse des glyphicons. | false | |
isInitOpenDesktop | nein | Boolean | false | Gibt an, ob der Themenbaum in der Desktop Ansicht initial geöffnet ist. | false |
isInitOpenMobile | nein | Boolean | false | Gibt an, ob der Themenbaum in der mobilen Ansicht initial geöffnet ist. | false |
fixTree | nein | Boolean | false | Gibt an, ob der Tree fixiert sein soll (wirksam für ClassicTree). | false |
Portalconfig.menu.folder #
Ein Ordner-Object wird dadurch definiert, dass es neben “name” und “glyphicon” noch das attribut “children” besitzt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des Ordners im Menu. | false | |
glyphicon | ja | String | “glyphicon-folder-open” | CSS Klasse des Glyphicons, das vor dem Ordnernamen im Menu angezeigt wird. | false |
children | nein | tool/staticlinks | Kindelemente dieses Ordners. | false |
Beispiel eines folders
#!json
"tools":{
"name": "Werkzeuge",
"glyphicon": "glyphicon-wrench",
"children": {
{
"name": "Legende",
"glyphicon": "glyphicon-book"
}
}
}
Portalconfig.menu.menuPosition #
Definiert die Positionierung der Menüleiste. Wenn nicht angegegben wird “top” als default verwendet.
“top” hat eine Ausdehnung von 100%, während die anderen Varianten standardmäßig 200px breit sind.
Die Breite kann mittels menuWidth
angegeben werden, siehe unten.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
menuPosition | nein | enum[“top”, “left”, “right”] | “top” | Positionierung der Menüleiste. | false |
Beispiel
#!json
"menu": {
"menuPosition": "left",
"menuWidth": 250,
"tools": {
...
}
}
Portalconfig.menu.menuWidth #
Definiert die Breite des Menüs wenn die Positionierung “left” oder “right” ist. Der Wert verwendet die Einheit Pixel.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
menuWidth | nein | number | 200 | Breite des Menüs in Pixeln. | false |
Beispiel
#!json
"menu": {
"menuPosition": "left",
"menuWidth": 250,
"tools": {
...
}
}
Portalconfig.menu.tools #
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
children | nein | children | Konfiguration der Werkzeuge. | false |
Portalconfig.menu.tools.children #
Liste aller konfigurierbaren Werkzeuge. Jedes Werkzeug erbt von tool und kann/muss somit auch die dort angegebenen attribute konfiguiert bekommen.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
compareFeatures | nein | compareFeatures | Vergleichsmöglichkeit von Vector-Features. | false | |
parcelSearch | nein | parcelSearch | Flurstückssuche. | false | |
measure | nein | tool | Messwerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km bzw m²/km² gewechselt werden. | false | |
coord | nein | tool | Werkzeug um Koordinaten per Maus(-Klick) abzufragen. Per Click in dei Karte werden die Koordinaten in der Anzeige eingefroren und können per Click auf die Anzeige direkt in die Zwischenablage kopiert werden. | false | |
gfi | nein | gfi | GetFeatureInfo(gfi). Werkzeug um Informationen abzufragen. Dabei wird entweder ein WMS-Request gestellt oder die Vectordaten im Browser abgefragt. Anschließend werden die Attribute der gefundenen Features dargestellt. | false | |
nein | Druckmodul mit dem die Karte als PDF exportiert werden kann. | false | |||
searchByCoord | nein | tool | Koordinatensuche. Über eine Eingabemaske können das Koordinatensystem und die Koordinaten eingegeben werden. Das Werkzeug zoomt dann auf die entsprechende Koordinate und setzt einen Marker darauf. | false | |
kmlimport | nein | tool | Import von KML Dateien. Über dieses Werkzeug können KML Dateien importiert werden. | false | |
wfsFeatureFilter | nein | tool | Filtern von WFS Features. Über dieses Werkzeug können WFS features gefiltert werden. Dies setzt jedoch eine Konfiguration der “filterOptions” am WFS-Layer-Objekt vorraus. | false | |
extendedFilter | nein | tool | Dynamisches Filtern von WFS Features. Über dieses Werkzeug können WFS features dynamisch gefiltert werden. Dies setzt jedoch eine Konfiguration der “extendedFilter” am WFS-Layer-Objekt vorraus. | false | |
routing | nein | routing | Routing. Über dieses Werkzeug können Routen berechnet werden. | true | |
draw | nein | tool | Zeichnen. Mithilfe dieses Werkzeuges können Punkte, Linien, Polygone, Kreise und Texte gezeichnet werden. Farben und Transparenzen sind voreingestellt. Das Gezeichnete kann auch als KML exportiert werden. | false | |
styleWMS | nein | tool | Klassifizierung vom WMS Diensten. Dieses Tool findet Verwendung im Pendlerportal der MRH(Metropolregion Hamburg). Über eine Maske können Klassifizierungen definiert werden. An den GetMap-Requuest wird nun ein SLD-Body angehängt, der dem Server einen neuen Style zum Rendern definiert. Der WMS-Dienst liefert nun die Daten in den definierten Klassifizierungen und Farben. | true | |
featureLister | nein | featureLister | Listet alle Features eines Vektor Layers auf. | false | |
lines | nein | lines | Pendlerdarstellung als linenhafte Objekte. | false | |
animation | nein | animation | Pendleranimation als punkthafte Objekte. | false | |
saveSelection | nein | tool | Werkzeug zum Zustand Speichern. Mithilfe dieses Werkzeuges kann der Kartenzustand als URL zum Abspeichern erzeugt werden. Dabei werden die Layer in deren Reihenfolge, Transparenz und Sichtbarkeit dargestellt. Zusätzlich wird auch noch die Zentrumskoordinate mit abgespeichert. | false | |
layerslider | nein | layerSlider | Deprecated in 3.0.0 Bitte “layerSlider” verwenden. | false | |
layerSlider | nein | layerSlider | Werkzeug zum Abspielen einer Reihendfolge von Layers. | false | |
legend | nein | tool | Legende. Stellt die Legende aller sichtbaren Layer dar. | false | |
contact | nein | contact | Kontaktformular. Stellt dem User eine Möglichkeit zur Verfügung, mit dem einem Konfigurierten Postfach in Verbindung zu treten um Fehler zu melden oder Wünsche und Anregungen zu äußern. | false | |
filter | nein | filter | Neues Filtermodul. | false | |
virtualcity | nein | virtualcity | virtualcityPLANNER planning Viewer | false | |
shadow | nein | shadow | Konfigurationsobjekt für die Schattenzeit im 3D-Modus. | false |
Portalconfig.menu.tool #
Über den Attribut-key des Werkzeuges wird definiert, welches Werkzeug mit welchen Eigenschaften geladen wird. Jedes Tool besitzt mindestens die unten aufgeführten Attribute. Welche Tools konfigurierbar sind, finden Sie unter tools.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des Werkzeuges im Menu. | false | |
glyphicon | nein | String | CSS Klasse des Glyphicons, das vor dem Toolnamen im Menu angezeigt wird. | false | |
onlyDesktop | nein | Boolean | false | Flag ob das Werkzeug nur im Desktop Modus sichtbar sein soll. | false |
isVisibleInMenu | nein | Boolean | true | Flag ob das Tool unter Werkzeuge angezeigt wird. | false |
renderToWindow | nein | Boolean | true | Flag ob das Tool beim Anklicken im frei schwebenden Fenster dargestellt werden soll. | false |
resizableWindow | nein | Boolean | false | Flag ob das Tool-Fenster vergrößer-/verkleinerbar ist. | false |
keepOpen | nein | Boolean | false | Flag ob das Tool parallel zu anderen Tools geöffnet bleibt. | false |
Beispiel eines Tools
#!json
"legend":{
"name": "Legende",
"glyphicon": "glyphicon-book"
}
Portalconfig.menu.tool.gfi #
Zeigt Informationen zu einem abgefragten Feature ab, indem GetFeatureInfo-Requests oder GetFeature-Requests oder geladene Vektordaten abgefragt werden.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des Werkzeuges im Menu. | false | |
glyphicon | nein | String | “glyphicon-info-sign” | CSS Klasse des Glyphicons, das vor dem GFI im Menu angezeigt wird. | false |
isActive | nein | Boolean | true | Gibt an ob das GFI per default aktiviert ist. | false |
centerMapMarkerPolygon | nein | Boolean | false | Angabe, ob für ein angeklicktes Feature die Koordinaten des Zentrums ermittelt werden sollen oder ob die Koordinaten der tatsächlich angeklickten Koordinate bestimmt werden. | false |
contentWidth | nein | Number | “500” | Steuert die initiale Breite des GFI-Fenster Inhalts (Wert in Pixeln). | false |
contentHeight | nein | Number | “300” | Steuert die initiale Höhe des GFI-Fenster Inhalts (Wert in Pixeln). | false |
iframeContentWidth | nein | Number | Steuert die initiale Breite des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln. | false | |
iframeContentHeight | nein | Number | Steuert die initiale Höhe des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln. | false | |
highlightVectorRules | nein | highlightVectorRules | Regeldefinitionen zum Überschreiben des Stylings von abgefragten Vektordaten.highlightVectorRules | false | |
showPaging | nein | Boolean | false | Option zum Anzeigen der Treffer-Anzahl (z.B. 1 / 3) in der Tool-Leiste | false |
cursor | nein | String | “pointer” | Definition des Cursors bei ausgewähltem GFI-Tool, z.B. “pointer” oder “help”. Weitere Infos und Möglichkeiten der Konfiguration: https://developer.mozilla.org/en-US../../Web/CSS/cursor. | false |
Beispiel einer GFI Konfiguration
#!json
"gfi":{
"name":"Informationen abfragen",
"glyphicon":"glyphicon-info-sign",
"isActive":true,
"centerMapMarkerPolygon":true,
"highlightVectorRules": {
"fill": {
"color": [215, 102, 41, 0.9]
},
"image": {
"scale": 1.5
},
"stroke": {
"width": 4
},
"text": {
"scale": 2
}
}
}
Beispiel einer GFI Konfiguration zur Informationsabfrage von Features
#!json
"gfi":{
"name":"Informationen abfragen",
"glyphicon":"glyphicon-info-sign",
"isActive":true,
"centerMapMarkerPolygon":true
}
Portalconfig.menu.tool.gfi.highlightVectorRules #
Liste der Einstellungen zum überschreiben von Vektorstyles bei GFI Abfragen.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
fill | nein | fill | Mögliche Einstellung: color | false | |
image | nein | image | Mögliche Einstellung: scale | false | |
stroke | nein | stroke | Mögliche Einstellung: width | false | |
text | nein | text | Mögliche Einstellung: scale | false |
Portalconfig.menu.tool.gfi.highlightVectorRules.fill #
Todo
#!json
{
"color": [215, 102, 41, 0.9]
}
Portalconfig.menu.tool.gfi.highlightVectorRules.image #
Todo
#!json
{
"scale": 1.5
}
Portalconfig.menu.tool.gfi.highlightVectorRules.stroke #
Todo
#!json
{
"width": 4
}
Portalconfig.menu.tool.gfi.highlightVectorRules.text #
Todo
#!json
{
"scale": 2
}
Portalconfig.menu.tool.filter #
Der Filter bietet eine vielzahl von Möglichkeiten um Vektor-Daten filtern zu können.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
isGeneric | nein | Boolean | false | Zeigt an ob sich der Filter dynamisch erzeugen lässt. Ist momentan noch nicht umgesetzt. | false |
minScale | nein | Integer | Minimale Zoomstufe auf die der Filter bei der Darstellung der Ergebnisse heranzoomt. | false | |
liveZoomToFeatures | nein | Boolean | false | Gibt an ob der Filter sofort nach der Filterung auf die Filterergebnisse zoomt. | false |
predefinedQueries | nein | predefinedQuery[] | Definition der Filterabfragen. | false | |
saveToUrl | nein | Boolean | true | Speichert das aktuelle Filterergebnis in der Url ab. Dadurch kann das Filterergebnis als Lesezeichen abgelegt werden. | false |
Beispiel
#!json
"filter":{
"name": "Filter",
"glyphicon": "glyphicon-filter",
"deactivateGFI": false,
"isGeneric": false,
"isInitOpen": false,
"allowMultipleQueriesPerLayer": false,
"predefinedQueries": [
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Grundschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "bilingual"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Stadtteilschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Stadtteilschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "fremdsprache", "fremdsprache_mit_klasse", "schulische_ausrichtung"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Gymnasien",
"info": "Sie finden berufliche Gymnasien ab der Klassenstufe 11 bei den Beruflichen Schulen.",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Gymnasien"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "fremdsprache", "fremdsprache_mit_klasse", "schulische_ausrichtung"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Sonderschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Sonderschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "ganztagsform", "foerderart", "abschluss"]
},
{
"layerId": "1711",
"isActive": true,
"isSelected": true,
"name": "Krankenhäuser",
"predefinedRules": [],
"attributeWhiteList": ["teilnahme_geburtsklinik", "teilnahme_notversorgung"]
}
]
}
Portalconfig.menu.tool.filter.predefinedQuery #
Objekt, das eine Filtereinstelung definiert.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
layerId | ja | String | Id des Layers. Muss auch in der Themenconfig konfiguriert sein. | false | |
isActive | nein | Boolean | false | Gibt an ob diese Filtereinstellung initial durchgeführt werden soll. | false |
isSelected | nein | Boolean | false | Gibt an ob diese Filtereinstellung initial angezeigt werden soll. | false |
searchInMapExtent | nein | Boolean | false | Gibt an ob nur die Features im Kartenauschnitt gefiltert werden sollen. | false |
info | nein | String | Kurzer Info text der über der Filtereinstellung erscheint. | false | |
predefinedRules | nein | predefinedRule[] | Filterregel die die Daten vorfiltert. | true | |
attributeWhiteList | nein | String[]/attributeWhiteListObject[] | Whitelist an Attributen die verwendet werden sollen. | true | |
snippetType | nein | String | Datentyp des Attributes. Wenn nicht angegeben wird der Datentyp automatisch ermittelt. Er kann in Ausnahmefällen auch manuell überschrieben werden. Beispielsweise mit “checkbox-classic”. Dies wird benötigt im Projekt DIPAS auf der Touchtabl-Variante des Portals. | true |
Beispiel
#!json
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Grundschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "bilingual"]
}
Portalconfig.menu.tool.filter.predefinedQuery.predefinedRule #
Filterregel die die Daten immer vorfiltert.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
attrName | ja | String | Attributname nach dem vorgefiltert werden soll. | false | |
values | ja | String[] | Attributwerte für das Vorfiltern. | false |
Beispiel
#!json
{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}
Portalconfig.menu.tool.filter.predefinedQuery.attributeWhiteListObject #
Ein AttributeWhiteList Objekt kann entweder ein String sein, welcher den Attributnamen repräsentiert. Er kann aber auch ein Objekt sein.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Attributname. | false | |
matchingMode | nein | enum[“AND”, “OR”] | “OR” | Logische Verknüpfung mehrerer Attributwerte (bei Mehrfachauswahl) innerhalb eines Attributes. | false |
Beispiel als String
#!json
"Grundschulen"
Beispiel als Objekt
#!json
{
"name": "Grundschulen",
"matchingMode": "AND"
}
Portalconfig.menu.tool.compareFeatures #
Hier können Vector Features miteinander verglichen werden.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
numberOfFeaturesToShow | nein | Integer | 3 | Anzahl der Features die maximal miteinander vergleichen werden können. | false |
numberOfAttributesToShow | nein | Integer | 12 | Anzahl der Attribute die angezeigt wird. Gibt es mehr Attribute können diese über einen Button zusätzlich ein-/ bzw. ausgeblendet werden. | false |
Beispiel
#!json
"compareFeatures": {
"name": "Vergleichsliste",
"glyphicon": "glyphicon-th-list",
"numberOfFeaturesToShow": 5,
"numberOfAttributesToShow": 10
}
Portalconfig.menu.tool.parcelSearch #
Flurstückssuche über einen WFS.
ACHTUNG: Backend notwendig!
Je nach Konfiguration werden spezielle Stored Queries eines WFS mit vorgegebenen Parametern abgefragt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
serviceId | ja | String | Id des Dienstes der abgefragt werden soll. Wird in der rest-services.json abgelegt. | false | |
storedQueryId | ja | String | Id der stored query die verwendet werden soll. | true | |
configJSON | ja | String | Pfad zur Konfigurationsdatei, die die Gemarkungen enthält. Beispiel. | false | |
parcelDenominator | nein | Boolean | false | Flag ob Flurnummern auch zur Suche verwendet werden sollen. | false |
styleId | nein | String | Hier kann eine StyleId aus der style.json angegeben werden um den Standard-Style vom MapMarker zu überschreiben. | false |
Beispiel
#!json
"parcelSearch": {
"name": "Flurstückssuche",
"glyphicon": "glyphicon-search",
"serviceId": "6",
"storedQueryID": "Flurstueck",
"configJSON": "/lgv-config/gemarkungen_hh.json",
"parcelDenominator": false,
"styleId": "flaecheninfo"
}
Portalconfig.menu.tool.print #
Druckmodul. Konfigurierbar für 3 Druckdienste: den High Resolution PlotService, MapfishPrint 2 oder MapfishPrint 3.
ACHTUNG: Backend notwendig!
Es wird mit einem Mapfish-Print2, Mapfish-Print3 oder einem HighResolutionPlotService im Backend kommuniziert.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
mapfishServiceId | ja | String | Id des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt. | false | |
printAppId | nein | String | “master” | Id der print app des Druckdienstes. Dies gibt dem Druckdienst vor welche/s Template/s er zu verwenden hat. | false |
filename | nein | String | “report” | Dateiname des Druckergebnisses. | false |
title | nein | String | “PrintResult” | Titel des Dokuments. Erscheint als Kopfzeile. | false |
version | nein | String | Flag welcher Druckdienst verwendet werden soll. Bei “HighResolutionPlotService” wird der High Resolution PlotService verwendet, wenn der Parameter nicht gesetzt wird, wird Mapfish 2 verwendet, sonst wird MapfishPrint 3 verwendet. | false | |
printID | nein | String | Deprecated in 3.0.0. Id des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt. | false | |
outputFilename | nein | String | “report” | Deprecated in 3.0.0. Dateiname des Druckergebnisses. | false |
gfi | nein | Boolean | false | Deprecated in 3.0.0. Dateiname des Druckergebnisses. | false |
configYAML | nein | String | “/master” | Deprecated in 3.0.0. Configuration des Templates das verwendet werden soll. | false |
isLegendSelected | nein | Boolean | false | Gibt an ob die Checkbox zum Legende mitdrucken aktiviert sein soll. Wird nur angezeigt wenn der Druckdienst (Mapfish Print 3) das Drucken der Legende unterstützt. | false |
legendText | nein | String | “Mit Legende” | Beschreibender Text für die printLegend-Checkbox. | false |
dpiForPdf | nein | Number | 200 | Auflösung der Karte im PDF. | false |
Beispiel Konfiguration mit MapfishPrint2
#!json
"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"printID": "123456",
"configYAML": "/master",
"outputFilename": "report",
"title": "Mein Titel",
"gfi": true
}
Beispiel Konfiguration mit High Resolution PlotService
#!json
"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"mapfishServiceId": "123456",
"filename": "Ausdruck",
"title": "Mein Titel",
"version" : "HighResolutionPlotService"
}
Beispiel Konfiguration mit MapfishPrint3
#!json
"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"mapfishServiceId": "mapfish_printservice_id",
"printAppId": "mrh",
"filename": "Ausdruck",
"title": "Mein Titel",
"version" : "mapfish_print_3"
}
Portalconfig.menu.tool.routing #
Routing Modul.
ACHTUNG: Backend notwendig!
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
viomRoutingID | ja | String | Id des Routingdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt. | false | |
bkgSuggestID | ja | String | Id des Vorschlagsdienstes des BKG. Er wird verwendet um Addressvorschläge zu liefern. Wird in der rest-services.json abgelegt. | false | |
bkgGeosearchID | ja | String | Id des Geokodierungsdienstes des BKG. Er wird verwendet um gewählte Addressen in Koordinaten umzuwandeln. Wird in der rest-services.json abgelegt. | false | |
isInitOpen | nein | Boolean | false | Flag ob das tool initial geöffnet sein soll. | false |
Beispiel
#!json
"routing": {
"name": "Routenplaner",
"glyphicon": "glyphicon-road",
"viomRoutingID": "1",
"bkgSuggestID": "2",
"bkgGeosearchID": "3",
"isInitOpen": false
}
Portalconfig.menu.tool.featureLister #
Modul, das Vektor Features darstellt. Durch hovern über ein feature in der Liste wird auf der Karte der Marker gesetzt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
maxFeatures | nein | Integer | 20 | Anzahl der zu zeigenden Features. Über einen Button können weitere features in dieser Anzahl zugeladen werden. | false |
Beispiel
#!json
"featureLister": {
"name": "Liste",
"glyphicon": "glyphicon-menu-hamburger",
"maxFeatures": 10
}
Portalconfig.menu.tool.contact #
Werkzeug, wodurch der Nutzer mit einem definierten Postfach Kontakt aufnehmen kann.
ACHTUNG: Backend notwendig!
Das Contact kommuniziert mit einem SMTP-Server und ruft dort die sendmail.php auf.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
serviceID | ja | String | Id des Emaildienstes der verwendet werden soll. Wird in der rest-services.json abgelegt. | false | |
from | nein | email[] | [{“email”: “kundenservice@geobasis-bb.de”,“name”:“LGBGeoportalHilfe”}] | Absender der Email. | false |
to | nein | email[] | [{“email”: “kundenservice@geobasis-bb.de”,“name”: “LGBGeoportalHilfe”}] | Addressat der Email. | false |
cc | nein | email[] | [] | CC der Email. | false |
bcc | nein | email[] | [] | BCC der Email. | false |
ccToUser | nein | Boolean | false | Flag ob der Absender auch als CC eingetragen werden soll. | false |
textPlaceholder | nein | String | “Bitte formulieren Sie hier Ihre Frage und drücken Sie auf "Abschicken"” | Platzhaltertext im Freitextfeld. | false |
includeSystemInfo | nein | Boolean | false | Flag ob systeminfos des Absendern mitgeschickt werden sollen. | false |
deleteAfterSend | nein | Boolean | false | Flag ob das Kontaktfenster nach erfolgreichem Versenden der Nachricht geschlossen und der Inhalt gelöscht werden soll. | false |
withTicketNo | nein | Boolean | true | Flag ob bei erfolgreichem Versand der Anfrage eine Ticketnummer zurückgegeben werden soll. | false |
Beispiel
#!json
"contact":{
"name": "Kontakt",
"glyphicon": "glyphicon-envelope",
"serviceID": "123",
"from": [
{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}
],
"to": [
{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}
],
"cc": [],
"bcc": [],
"ccTouser": true,
"textPlaceholder": "Hier Text eingeben.",
"includeSystemInfo": true,
"deleteAfterSend": true,
"withTicketNo": false
}
Portalconfig.menu.tool.contact.email #
Email Objekt bestehend aus der email und aus dem Anzeigename.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
nein | String | Email. | false | ||
name | nein | String | Anzeigename. | false |
Beispiel
#!json
{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}
Portalconfig.menu.tool.layerSlider #
Der Layerslider ist ein Werkzeug um verschiedene Layer in der Anwendung hintereinander an bzw auszuschalten. Dadurch kann z.B. eine Zeitreihe verschiedener Zustände animiert werden.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
title | ja | String | Titel der im Werkzeug vorkommt. | false | |
timeInterval | nein | Integer | 2000 | Zeitintervall in ms bis der nächste Layer angeschaltet wird. | false |
layerIds | ja | layerId[] | [] | Array von Objekten aus denen die Layerinformationen herangezogen werden. | false |
sliderType | nein | enum[“player”,“handle”] | “player” | Typ des Layer sliders. Entweder als “player” mit Start/Pause/Stop-Buttons oder als “handle” mit einem Hebel. Bei “handle” wird die transparenz der Layer zusätzlich mit angepasst. | false |
Beispiel |
#!json
"layerSlider": {
"name": "Zeitreihe",
"glyphicon": "glyphicon-film",
"title": "Simulation von Beispiel-WMS",
"sliderType": "player",
"timeInterval": 2000,
"layerIds": [
{
"title": "Dienst 1",
"layerId": "123"
},
{
"title": "Dienst 2",
"layerId": "456"
},
{
"title": "Dienst 3",
"layerId": "789"
}
]
}
Portalconfig.menu.tool.layerSlider.layerId #
Definiert einen Layer für den Layerslider.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
title | ja | String | Name des Diestes, wie er im Portal angezeigt werden soll. | false | |
layerId | ja | String | Id des Diestes, der im Portal angezeigt werden soll. ACHTUNG: Diese LayerId muss auch in der Themenconfig konfiguriert sein! | false |
Beispiel
#!json
{
"title": "Dienst 1",
"layerId": "123"
}
Portalconfig.menu.tool.virtualcity #
Das virtualcity Tool bietet die Möglichkeit die Planungen von einem virtualcityPLANNER Dienst in der Kartenviewer API anzuzeigen. Die Planungen müssen im virtualcityPLANNER auf Öffentlich gesetzt sein, dann können sie über dieses Tool angezeigt werden
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
serviceId | ja | String | Id des services. Wird aufgelöst in der rest-services.json. |
Beispiel
#!json
{
"title": "virtualcityPLANNER",
"serviceId": "1"
}
Portalconfig.menu.tool.shadow #
Das ShadowTool bietet eine Oberfläche zur Definition einer Zeitangabe. Über Slider und Datepicker können Zeitangaben in einem 30-Minuten Raster angegeben werden. Die ausgewählte Zeitangabe dient dem Rendern der Schatten aller 3D-Objekte im 3D-Modus, indem der Sonnenstand simuliert wird. Durch Ziehen des Sliders oder Auswahl eines neuen Datums wird unmittelbar ein neuer Sonnenstand simuliert. Per default startet das Tool mit der aktuellen Zeitangabe, die über Parameter überschrieben werden kann.
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
shadowTime | nein | shadowTime | Default-Zeitangabe, mit der das ShadowTool startet. Erkennt “month”, “day”, “hour”, “minute” | |
isShadowEnabled | nein | Boolean | false | Default Shadow-Wert. True um unmittelbar Shadow einzuschalten. False zum manuellen bestätigen. |
Beispiel
#!json
{
"shadowTime": {
"month": "6",
"day": "20",
"hour": "13",
"minute": "0"
},
"isShadowEnabled": true
}
Portalconfig.menu.tool.shadow.shadowTime #
Todo
Beispiel
#!json
{
"month": "6",
"day": "20",
"hour": "13",
"minute": "0"
}
Portalconfig.menu.tool.measure #
Messwerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km bzw m²/km² gewechselt werden. Die Anzeige der Messgenauigkeit bzw. Abweichung kann ausgeschaltet werden (displayDeviance: false).
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des Werkzeuges im Menu. | false | |
glyphicon | nein | String | “glyphicon-info-sign” | CSS Klasse des Glyphicons, das vor dem GFI im Menu angezeigt wird. | false |
displayDeviance | nein | Boolean | true | Falls false wird die Genauigkeit nicht angezeigt. | false |
Portalconfig.menu.staticlinks #
Das Array staticlink beinhaltet Objekte die entweder als link zu einer anderen Webressource dienen oder als Trigger eines zu definierenden Events.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
staticlinks | nein | staticlink[] | Array von Statischen links. | false |
Beispiel als onClickTrigger
#!json
"staticlinks": [
{
"name": "Alert",
"glyphicon": "glyphicon-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}
]
Portalconfig.menu.staticlinks.staticlink #
Ein Staticlink-Objekt enthält folgende Attribute.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Name des staticLink-Objekts im Menu. | false | |
glyphicon | nein | String | “glyphicon-globe” | CSS Klasse des Glyphicons, das vor dem staticLink-Objekt im Menu angezeigt wird. | false |
url | nein | String | Url welche in einem neuen Tab angezeigt werden soll. | false | |
onClickTrigger | nein | onClickTrigger[] | Array von OnClickTrigger events. | false |
Beispiel als url
#!json
{
"name": "Brandenburg",
"glyphicon": "glyphicon-globe",
"url": "http://www.brandenburg.de"
}
Beispiel als onClickTrigger
#!json
{
"name": "Alert",
"glyphicon": "glyphicon-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}
Portalconfig.menu.staticlinks.staticlink.onClickTrigger #
Über einen onClickTrigger wird ein Event getriggert und eventuell Daten mitgeschickt.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
channel | ja | String | Name des Radio channels. | false | |
event | ja | String | Event des Radio channels das getriggered werden soll. | false | |
data | nein | String/Boolean/Number | Daten die mit geschickt werden sollen. | false |
Beispiel
#!json
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
Themenconfig #
Die Themenconfig definiert welche Inhalte an welche Stelle im Themenbaum vorkommen. Je nach Konfiguration des treeType können auch Ordner Strukturen in den Fachdaten angegeben werden. Für eine komplett freie Konfiguration des Themenbaums wählen Sie den Typ “classic”.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
Hintergrundkarten | ja | Hintergrundkarten | Definition der Hintergrundkarten. | false | |
Fachdaten | nein | Fachdaten | Definition der Fachdaten. | false | |
Fachdaten_3D | nein | Fachdaten_3D | Definition der Fachdaten für den 3D-Modus. | false | |
classicTree | nein | classicTree | Freie Definition der Layer und Ordner. | false |
Beispiel
#!json
"Themenconfig": {
"Hintergrundkarten": {},
"Fachdaten": {},
"Fachdaten_3D": {}
}
oder
#!json
"Themenconfig": {
"classicTree": [
...
]
}
Themenconfig.Hintergrundkarten #
Hier werden die Hintergrundkarten definiert
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
Layer | ja | Layer/GroupLayer[] | Definition der Layer. | false |
Beispiel
#!json
"Hintergrundkarten": {
"name": "Meine Hintergrundkarten",
"Layer": [
{
"id": "123"
}
]
},
Themenconfig.Fachdaten #
Hier werden die Fachdaten definiert
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
Layer | ja | Layer/GroupLayer[] | Definition der Layer. | false | |
Ordner | nein | Ordner[] | Definition der Ordner. | false |
Beispiel
#!json
"Fachdaten": {
"name": "Meine Fachdaten",
"Layer": [
{
"id": "123"
}
]
},
Themenconfig.Fachdaten_3D #
Hier werden die 3D-Daten für die 3D-Ansicht definiert. Wird nur im 3D-Modus eingeblendet.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | nein | String | “3D Daten” | Name der Schaltfläche für 3D-Daten. | false |
Layer | ja | Layer[] | Definition der 3DLayer. | false |
Beispiel
#!json
"Fachdaten_3D":
{
"name": "Meine Fachdaten 3D",
"Layer":
[
{
"id": "12883"
}
]
}
Themenconfig.classicTree #
Hier wird die Konfiguration des “classic” Themenbaums angegeben. Es gibt hier keine festen Einteilungen in Fachdaten oder Hintergrundkarten. Der Nutzer kann die Struktur und Reihenfolge von Ordnern und Layern vollständig über diese Konfiguration steuern.
Soll ein Layer als “BaseLayer” bzw. Hintergrundlayer verwendet werden, so kann dies hier oder in der services*.json
mittels des Attributes “isBaseLayer” angegeben werden.
Ordner müssen zwingend die Eigenschaft “type” mit dem Wert “folder” verwenden. Für Layer ist die Verwendung der Eigenschaft “type” mit dem Wert “layer” optional.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
name | ja | String | Anzeigename des Layers oder Ordners. | false | |
id | ja bei Layern, nein bei Ordnern | String | ID des Layers | false | |
type | nein bei Layern, ja bei Ordnern | String | “layer” | Muss bei Ordnern explizit auf “folder” gesetzt werden | false |
children | ja bei Ordnern | Array | Muss bei Ordnern ein Array sein mit weiteren Layern / Ordnern | false | |
mainTopic | nein | Boolean | false | Hervorhebung des Ordnernamens falls true , z.B. bei Hauptthemen. |
false |
Beispiel
#!json
"Themenconfig": {
"classicTree": [
{
"id": "1000",
"name": "Layer 1"
},
{
"name": "Mein erster Ordner",
"type": "folder",
"children": [
{
"id": "1006",
"name": "Luftbilder 1"
},
{
"id": "1007",
"name": "Luftbilder 2"
},
{
"name": "Mein zweiter Ordner",
"type": "folder",
"children": [
{
"name": "Mein dritter Ordner",
"type": "folder",
"children": [
{
"id": "2426",
"name": "Layer 2"
},
{
"id": "2005",
"name": "Layer 3"
}
]
}
]
}
]
},
{
"id": "1234",
"name": "Layer 4"
}
]
}
Themenconfig.Ordner #
Hier werden die Ordner definiert. Ordner können auch verschachtelt konfiguriert werden.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
Titel | ja | String | Titel des Ordners. | false | |
Layer | ja | Layer/GroupLayer[] | Definition der Layer. | false | |
Ordner | nein | Ordner[] | Definition der Ordner. | false |
Beispiel Ordner mit einem Layer
#!json
"Fachdaten": {
"Ordner": [
{
"Titel": "Mein Ordner",
"Layer": [
{
"id": "123"
}
]
}
]
}
Beispiel Ordner mit einem Unterordner in dem eine Layer konfiguriert ist
#!json
"Fachdaten": {
"Ordner": [
{
"Titel": "Mein erster Ordner",
"Ordner": [
{
"Titel": "Mein zweiter Ordner",
"Layer": [
{
"id": "123"
}
]
}
]
}
]
}
Beispiel Ordner einem Unterordner. Auf der Ebene des Unterordners ist auch nochmal ein Layer definiert
#!json
"Fachdaten": {
"Ordner": [
{
"Titel": "Mein erster Ordner",
"Ordner": [
{
"Titel": "Mein zweiter Ordner",
"Layer": [
{
"id": "123"
}
]
}
],
"Layer": [
{
"id": "456"
}
]
}
]
}
Themenconfig.GroupLayer #
Hier werden die GruppenLayer definiert. Layer können auf viele verschiedene Arten konfiguriert werden. Ein großteil der Attribute ist in der services.json definiert, kann jedoch hier am Layer überschrieben werden. Neben diesen Attributen gibt es auch Typ-spezifische Attribute für WMS und Vector.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
id | ja | String/String[] | Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen. | false | |
children | nein | Layer[] | Wird dieses Attribut verwendet, so wird ein Gruppenlayer erzeugt, der beliebig viele Layer beinhaltet. In diesem Falle ist eine einzigartige Id manuell zu wählen. | false | |
name | nein | String | Name des Layers. | false | |
transparency | nein | Integer | 0 | Transparenz des Layers. | false |
visibility | nein | Boolean | false | Sichtbarkeit des Layers. | false |
supported | nein | String[] | [“2D”, “3D”] | Gibt die Modi an in denen der Layer verwendet werden kann. | false |
extent | nein | Extent | [454591, 5809000, 700000, 6075769] | Ausdehnung des Layers. | false |
gfiTheme | nein | String | “default” | Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll. | true |
layerAttribution | nein | String | Wert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist. | false | |
legendURL | nein | String | Wert aus services.json. Url die verwendet wird um die Legende anzufragen. | false | |
maxScale | nein | String | Wert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll. | false | |
minScale | nein | String | Wert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll. | false | |
autoRefresh | nein | Integer | Automatischer reload des Layers. Angabe in ms. Minimum ist 500. | false | |
isNeverVisibleInTree | nein | Boolean | false | Anzeige ob Layer niemals im Themenbaum sichtbar ist. | false |
urlIsVisible | nein | Boolean | true | Anzeige ob die URL in der Layerinformation angezeigt werden soll. | false |
Beispiel
#!json
{
"id": "myId",
"name": "myGroupLayer",
"children": [
{
"id": "123",
"name": "myLayer_1"
},
{
"id": "456",
"name": "myLayer_2"
}
]
}
Themenconfig.Layer #
Hier werden die Layer definiert. Layer können auf viele verschiedene Arten konfiguriert werden. Ein großteil der Attribute ist in der services.json definiert, kann jedoch hier am Layer überschrieben werden. Neben diesen Attributen gibt es auch Typ-spezifische Attribute für WMS und Vector.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
id | ja | String/String[] | Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen. ACHTUNG: Hierbei ist wichtig, dass die angegebenen ids diesselbe URL ansprechen, also den selben Dienst benutzen. | false | |
name | nein | String | Name des Layers. | false | |
entities | ja | Entity3D[] | Modelle, die angezeigt werden sollen | false | |
transparency | nein | Integer | 0 | Transparenz des Layers. | false |
visibility | nein | Boolean | false | Sichtbarkeit des Layers. | false |
supported | nein | String[] | [“2D”, “3D”] | Gibt die Modi an in denen der Layer verwendet werden kann. | false |
extent | nein | Extent | [454591, 5809000, 700000, 6075769] | Ausdehnung des Layers. | false |
gfiTheme | nein | String | “default” | Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll. | true |
layerAttribution | nein | String | Wert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist. | false | |
legendURL | nein | String | Wert aus services.json. Url die verwendet wird um die Legende anzufragen. | false | |
maxScale | nein | String | Wert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll. | false | |
minScale | nein | String | Wert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll. | false | |
autoRefresh | nein | Integer | Automatischer reload des Layers. Angabe in ms. Minimum ist 500. | false | |
isNeverVisibleInTree | nein | Boolean | false | Anzeige ob Layer niemals im Themenbaum sichtbar ist. | false |
urlIsVisible | nein | Boolean | true | Anzeige ob die URL in der Layerinformation angezeigt werden soll. | false |
layerSliderConfig | nein | Object | Ein Objekt welches angibt, dass dieser Ordner weitere Layer über einen Slider verfügbar machen soll. Dien enthaltenen Layer müssen zusätzlich im Tree vorhanden sein. Siehe nachstehendes Beispiel mit einem LayerSlider . |
false |
Beispiel mit einer Id
#!json
{
"id": "123"
}
Beispiel mit einem Array von Ids
#!json
{
"id": ["123", "456", "789"],
"name": "mein testlayer"
}
Beispiel mit einem LayerSlider
#!json
{
"type": "folder",
"name": "Luftbilder",
"isVisibleInTree": false,
"layerSliderConfig": {
"title": "Luftbilder",
"layers": [
{
"title": "Luftbilder 1936",
"layerId": "1000"
},
{
"title": "Luftbilder 1967",
"layerId": "1001"
},
{
"title": "Luftbilder 1995",
"layerId": "1002"
}
]
}
}
Themenconfig.Layer.WMS #
Hier werden WMS typische Attribute aufgelistet.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
attributesToStyle | nein | String[] | Array von Attributen nach denen der WMS gestylt werden kann. Wird benötigt vom Werkzeug “styleWMS” in tools. | false | |
featureCount | nein | Integer | 1 | Anzahl der Features die zurückgegeben werden sollen bei einer GetFeatureInfo-Abfrage. | false |
geomType | nein | String | Geometrietyp der Daten hinter dem WMS. Momentan wird nur “Polygon” unterstützt. Wird benötigt vom Werkzeug “styleWMS” in tools. | false | |
styleable | nein | Boolean | Zeigt an der Layer vom Werkzeug “styleWMS” verwendet werden kann. Wird benötigt vom Werkzeug “styleWMS” in tools. | true | |
infoFormat | nein | String | “text/xml” | Wert aus services.json. Format in dem der WMS-GetFeatureInfo-request zurückgegeben werden soll. | false |
styles | nein | String[] | Werden styles angegeben so werden diese mit an den WMS geschickt. Der Server interpretiert diese Styles und liefert die Daten entsprechend zurück. Erfolgt die Angabe eines styles, so muss der Layername als String[] angegeben werden. | true |
Beispiel
#!json
{
"id": "123456",
"name": "MyWMSLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"gfiTheme": "default",
"layerAttribution": "MyBoldAttribution for layer 123456",
"legendURL": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"attributesToStyle": ["MyFirstAttr"],
"featureCount": 2,
"geomType": "geometry",
"infoFormat": "text/html",
"styleable": true,
"styles": ["firstStyle", "secondStyle"]
}
Themenconfig.Layer.Tileset #
Hier werden Tileset typische Attribute aufgelistet.
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
hiddenFeatures | nein | String[] | [] | Liste mit IDs, die in der Ebene versteckt werden sollen |
cesium3DTilesetOptions | nein | cesium3DTilesetOption | Cesium 3D Tileset Options, werden direkt an das Cesium Tileset Objekt durchgereicht. maximumScreenSpaceError ist z.B. für die Sichtweite relevant. | |
cesium3DTileStyle | nein | cesium3DTileStyle | Cesium 3D Tile Styles, werden direkt an das Cesium Tileset Objekt durchgereicht. |
Beispiel
#!json
{
"id": "123456",
"name": "TilesetLayerName",
"visibility": true,
"hiddenFeatures": ["id1", "id2"],
"cesium3DTilesetOptions" : {
"maximumScreenSpaceError" : 6
},
"cesium3DTileStyle" : {
"color": "color('red', 0.5)"
}
}
Themenconfig.Layer.Tileset.Cesium3DTilesetOptions #
Todo
Beispiel
#!json
"cesium3DTilesetOptions" : {
"maximumScreenSpaceError" : 6
}
Themenconfig.Layer.Tileset.Cesium3DTileStyle #
Todo
Beispiel
#!json
"cesium3DTileStyle" : {
"color": "color('red', 0.5)"
}
Themenconfig.Layer.Terrain #
Hier werden Terrain typische Attribute aufgelistet.
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
cesiumTerrainProviderOptions | nein | cesiumTerrainProviderOption | Cesium TerrainProvider Options, werden direkt an den Cesium TerrainProvider durchgereicht. requestVertexNormals ist z.B. für das Shading auf der Oberfläche relevant. |
Beispiel
#!json
{
"id": "123456",
"name": "TerrainLayerName",
"visibility": true,
"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
},
}
Themenconfig.Layer.Terrain.CesiumTerrainProviderOptions #
Todo
#!json
"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
}
Themenconfig.Layer.Entity3D #
Hier werden Entities3D typische Attribute aufgelistet.
Name | Verpflichtend | Typ | default | Beschreibung | Standard |
---|---|---|---|---|---|
url | ja | String | "" | Url zu dem Modell. Beispiel: "https://datenbeispiel.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb" |
false |
attributes | nein | Attribute | Attribute für das Modell. Beispiel: {"name": "test"} |
false | |
latitude | ja | Number | Breitengrad des Modell-Origins in Grad. Beispiel: 53.541831 |
false | |
longitude | ja | Number | Längengrad des Modell-Origins in Grad. Beispiel: 9.917963 |
false | |
height | nein | Number | 0 | Höhe des Modell-Origins. Beispiel: 10 |
false |
heading | nein | Number | 0 | Rotation des Modells, in Grad. Beispiel: 0 |
false |
pitch | nein | Number | 0 | Neigung des Modells in Grad. Beispiel: 0 |
false |
roll | nein | Number | 0 | Roll des Modells in Grad. Beispiel: 0 |
false |
scale | nein | Number | 1 | Skalierung des Modells. Beispiel: 1 |
false |
allowPicking | nein | Boolean | true | Ob das Modell angeklickt werden darf (GFI). Beispiel: true |
false |
show | nein | Boolean | true | Ob das Modell angezeigt werden soll (sollte true sein). Beispiel: true |
false |
Beispiel
#!json
{
"id": "123456",
"name": "EntitiesLayerName",
"visibility": true,
"typ": "Entities3D",
"entities": [
{
"url": "https://datenbeispiel.de/gdi3d/datasource-data/Simple_Building.glb",
"attributes": {
"name": "simple building in Planten und Blomen"
},
"latitude": 53.5631,
"longitude": 9.9800,
"height": 12,
"heading": 0,
"pitch": 0,
"roll": 0,
"scale": 5,
"allowPicking": true,
"show": true
}
],
"gfiAttributes" : {
"name": "Name"
}
},
Themenconfig.Layer.Entity3D.Attribute #
Name | Verpflichtend | Typ | default | Beschreibung | Standard |
---|---|---|---|---|---|
name | nein | String | "" | Todo | false |
Beispiel
#!json
{
"name": "Fernsehturm.kmz"
}
Themenconfig.Layer.StaticImage #
Hier werden typische Attribute für ein StaticImage aufgelistet.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
id | ja | String | “Eineindeutige-ID7711” | Es muss eine eineindeutige ID vergeben werden. | false |
typ | ja | String | “StaticImage” | Setzt den Layertypen auf StaticImage welcher statische Bilder als Layer darstellen kann. | false |
url | ja | String | “https://meinedomain.de/bild.png" | Link zu dem anzuzeigenden Bild. | false |
name | ja | String | “Static Image Name” | Setzt den Namen des Layers für den Layerbaum. | false |
extent | ja | Extent | [560.00, 5950.00, 560.00, 5945.00] | Gibt die Georeferenzierung des Bildes an. Als Koordinatenpaar werden im EPSG25832 Format die Koordinate für die Bildecke oben links und unten rechts erwartet. | false |
Beispiel
#!json
{
"typ": "StaticImage",
"url": "https://www.w3.org/Graphics/PNG/alphatest.png",
"name": "Testing PNG File",
"visibility": true,
"extent": [560296.72, 5932154.22, 562496.72, 5933454.22]
}
Themenconfig.Layer.Vector #
Hier werden Vector typische Attribute aufgelistet. Vector Layer sind WFS, GeoJSON (nur in EPSG:4326), SensorLayer.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
clusterDistance | nein | Integer | Pixelradius. Innerhalb dieses PRadius werden alle features zu einem feature “geclustered”. | false | |
extendedFilter | nein | Boolean | Gibt an ob dieser layer vom Werkzeug “extendedFilter” in tools verwendet werden kann. | false | |
filterOptions | nein | filterOption[] | Filteroptionen die vom Werkzeug “wfsFeatureFilter” in tools benötigt werden. | false | |
mouseHoverField | nein | String/String[] | Attributname oder Array von Attributnamen, die angezeigt werden sollen, sobald der User mit der Maus über ein Feature hovert. | false | |
routable | nein | Boolean | Gibt an ob die Position der GFI-Abfrage als Routing Ziel verwendet werden kann. Hierzu muss das Werkzeug routing konfiguriert sein. | false | |
searchField | nein | String | Attributname nach dem die Searchbar diesen Layer durchsucht. | false | |
additionalInfoField | nein | String | “name” | Attributname des Features für die Hitlist in der Searchbar. Ist das Attribut nicht vorhanden wird der Layername angegeben. | false |
styleId | nein | String | Id die den Style definiert. Id wird in der style.json aufgelöst. | false | |
hitTolerance | nein | String | Clicktoleranz bei der ein Treffer für die GetFeatureInfo-Abfrage ausgelöst wird. | false |
Beispiel
#!json
{
"id": "123456",
"name": "MyVectorLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"gfiTheme": "default",
"layerAttribution": "MyBoldAttribution for layer 123456",
"legendURL": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"clusterDistance": 60,
"extendedFilter": true,
"filterOptions": [
{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
},
{
"fieldName": "mySecondAttributeToFilter",
"filterName": "Filter_2",
"filterString": ["*", "value3", "value4"],
"filterType": "combo"
}
],
"mouseHoverField": "name",
"routable": false,
"searchField": "name",
"styleId": "123456",
"hitTolerance": 50
},
{
"id" : "11111",
"name" : "lokale GeoJSON",
"url" : "portal/master/test.json",
"typ" : "GeoJSON",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : ""
}
Themenconfig.Layer.Vector.filterOption #
Filteroption die vom Werkzeug “wfsFeatureFilter” in tools benötigt wird.
Name | Verpflichtend | Typ | Default | Beschreibung | Standard |
---|---|---|---|---|---|
fieldName | ja | String | Attributname nach dem zu filtern ist. | false | |
filterName | ja | String | Name des Filters im Werkzeug. | false | |
filterString | ja | String[] | Array von Attributwerten nach denen gefiltert werden kann. Bei “*” werden alle Wertausprägungen angezeigt. | false | |
filterType | ja | String | typ des Filters Momentan wird nur “combo” unterstützt. | false |
Beispiel
#!json
{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
}
Datatypes #
In diesem Kapitel werden die erwarteten Datentypen definiert.
Datatypes.Coordinate #
Eine Koordinate besteht aus einem Array bestehend aus zwei Zahlen. Die erste repräsentiert den Rechtswert, die zweite den Hochwert.
Beispiel Koordinate bestehend aus Ganzzahlen(Integer)
#!json
[561210, 5932600]
Beispiel Koordinate bestehend aus Gleitkommazahlen(Float)
#!json
[561210.1458, 5932600.12358]
Datatypes.Extent #
Ein Extent besteht aus einem Array bestehend aus vier Zahlen. Ein Extent besschreibt einen rechteckigen Gültigkeitsbereich. Dabei wird ein Rechteck aufgespannt, das durch die “linke untere” und die “rechte obere” Ecke definiert wird. Das Schema lautet [Rechtswert-Links-Unten, Hochwert-Links-Unten, Rechtswert-Rechts-Oben, Hochwert-Rechts-Oben] oder [minx, miny, maxx, maxy].
Beispiel Extent
#!json
[510000.0, 5850000.0, 625000.4, 6000000.0]
Datatypes.CustomObject #
Ein Objekt mit den benötigten Inhalten. Parameter können je nach Konfiguration, Verwendung und Backend-Komponenten unterschiedlich sein.