Config.Json

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:

  1. Titel & Logo (portalTitle)
  2. Art der Themenauswahl (treeType)
  3. Starteinstellungen der Kartenansicht (mapView)
  4. Schaltflächen auf der Kartenansicht sowie mögliche Interaktionen (controls)
  5. Menüeinträge sowie Vorhandenheit jeweiliger Tools und deren Reihenfolge (menu)
  6. Typ und Eigenschaften des genutzten Suchdienstes (searchBar)
  7. Löschbarkeit von Themen (layersRemovable)
  8. welche Sprachen genutzt werden sollen (portalLanguage)
  9. Konfiguration von Icons für den Classic-Tree
  10. 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&amp;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
print nein print 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.

Beispiel: https://geodienste.beispiel.de/HH_WFS_DOG?service=WFS&request=GetFeature&version=2.0.0&&StoredQuery_ID=Flurstueck&gemarkung=0601&flurstuecksnummer=00011

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
email 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

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!"
            }
        ]
    }
]

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.