Skip to content

config.json 3.0🔗

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 layerConfig

Beispiel

{
   "portalConfig": {},
   "layerConfig": {}
}

portalConfig🔗

Im Abschnitt portalConfig können folgende Eigenschaften konfiguriert werden:

  1. Konfiguration der Karte und darauf platzierter Elemente (map)
  2. Einträge im Mainmenu sowie Vorhandenheit jeweiliger Module und deren Reihenfolge (mainMenu)
  3. Einträge im Secondarymenu sowie Vorhandenheit jeweiliger Module und deren Reihenfolge (secondaryMenu)
  4. Konfiguration der Fußzeile (portalFooter)
  5. Konfiguration der Themenauswahl (tree)

Es existieren die im Folgenden aufgelisteten Konfigurationen:

Name Verpflichtend Typ Default Beschreibung
map nein map MKonfiguration der Karte und darauf platzierter Elemente.
mainMenu nein menu Hier können die Menüeinträge im Mainmenu und deren Anordnung konfiguriert werden. Die Reihenfolge der Module ist identisch mit der Reihenfolge in der config.json (siehe Modules).
secondaryMenu nein menu Hier können die Menüeinträge im Secondarymenu und deren Anordnung konfiguriert werden. Die Reihenfolge der Module ist identisch mit der Reihenfolge in der config.json (siehe Modules).
portalFooter nein portalFooter Möglichkeit den Inhalt der Fußzeile des Portals zu konfigurieren.
tree nein tree Möglichkeit um Einstellungen für den Themenbaum vorzunehmen.

Beispiel

{
    "portalConfig": {
        "map": {},
        "mainMenu": {},
        "secondaryMenu": {},
        "portalFooter": {},
        "tree": {}
    }
}

portalConfig.map🔗

Konfiguration der Karte und darauf platzierter Elemente.

Name Verpflichtend Typ Default Beschreibung
baselayerSwitcher nein baselayerSwitcher Der baselayerSwitcher ermöglicht ein einfaches Wechseln bzw. Auswählen einer Hintergrundkarte.
controls nein controls Mit den Controls kann festgelegt werden, welche Interaktionen in der Karte möglich sein sollen.
featureViaURL nein featureViaURL Optionale Konfiguration für den URL-Parameter featureViaURL. Siehe urlParameter für Einzelheiten.
getFeatureInfo nein getFeatureInfo Mit der GetFeatureInfo(gfi) lassen sich Informationen zu beliebigen Layern anzeigen. Dabei werden bei einem WMS die Daten über die GetFeatureInfo geladen. Bei Vektordaten (WFS, Sensor, GeoJSON usw.) werden die angezeigten Attribute aus den Daten selbst verwendet.
layerPills nein layerPills Konfiguration der LayerPills.
map3dParameter nein map3dParameter Cesium Attribute.
mapMarker nein mapMarker Setzt die Standardwerte des Map Markers außer Kraft. Nützlich für 3D-Marker, da die Overlays von OpenLayers nicht im 3D-Modus dargestellt werden können. Dazu muss der Map Marker als Vektorlayer definiert werden.
mapView nein mapView Mit verschiedenen Parametern wird die Startansicht der Karte konfiguriert und der Hintergrund festgelegt, der erscheint wenn keine Karte geladen ist.
mouseHover nein mouseHover Aktiviert die MouseHover-Funktion für Vektorlayer, z.B. WFS oder GeoJSON. Für die Konfiguration pro Layer siehe Vector.
startingMapMode nein String "2D" Gibt an in welchem Modus die Karte startet. Möglich sind 2D und 3D
zoomTo nein zoomTo[] Konfiguration für die URL-Abfrageparameter zoomToFeatureId und zoomToGeometry.

Beispiel

{
    "map": {
        "baselayerSwitcher": {},
        "controls": {},
        "getFeatureInfo": {},
        "layerPills": {},
        "map3dParameter": {},
        "mapView": {},
        "mouseHover": {},
        "startingMapMode": "3D"
    }
}

portalConfig.map.baselayerSwitcher🔗

Der baselayerSwitcher ermnöglicht ein einfaches Wechseln bzw. Auswählen eines Layers, der eine Hintergrundkarte beinhaltet (baselayer).

Name Verpflichtend Typ Default Beschreibung
active nein Boolean false Definiert, ob der baselayerSwitcher aktiv ist.
activatedExpandable nein Boolean false Gibt an, ob der baselayerSwitcher aufgeklappt ist und alle verfügbaren baselayer angezeigt werden oder nur der aktive, welcher sich auf höchster Ebene befindet.
singleBaseLayer nein Boolean false Definiert ob der bisherige Baselayer ausgeblendet wird.
Beispiel
"baselayerSwitcher": {
      "active": true,
      "activatedExpandable": false
    }

portalConfig.map.controls🔗

Mit den Controls kann festgelegt werden, welche Interaktionen in der Karte möglich sein sollen.

Controls können in der config.json in die Ebene "expandable" verschachtelt werden und sind somit nicht mehr in der Leiste an der Seite, sondern über den Button mit den drei Punkten aufklappbar.

Name Verpflichtend Typ Default Beschreibung
backForward nein Boolean/backForward false Zeigt Buttons zur Steuerung der letzten und nächsten Kartenansichten an.
button3d nein Boolean/button3d false Legt fest, ob ein Button für die Umschaltung in den 3D Modus angezeigt werden soll.
expandable nein Boolean Mit expandable werden Controls hinter einem Button mit drei Punkten versteckt und lassen sich bei Bedarf aufklappen.
freeze nein Boolean/freeze false Legt fest, ob ein "Ansicht sperren" Button angezeigt werden soll.
fullScreen nein Boolean/fullScreen 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.
orientation nein orientation Orientation nutzt die geolocation des Browsers zur Standortbestimmung des Nutzers.
rotation nein rotation false Control, das die aktuelle Rotation der Karte anzeigt. Per Klick kann die Maprotation wieder auf Norden gesetzt werden. Es können 2 weitere Control-Button konfiguriert werden, die die Karte im und gegen den Uhrzeigersinn drehen. Siehe auch unter mapInteractions in config.js.md.
startModule nein startModule false Zeigt Buttons für die konfigurierten Module an. Über diese lassen sich die jeweiligen Module öffnen und schließen.
tiltView nein Boolean/tiltView false Zeigt zwei Buttons an, mit denen sich die Kamera in der 3D-Szene hoch- bzw. runterkippen lässt.
totalView nein Boolean/totalView false Zeigt einen Button an, mit dem die Startansicht mit den initialen Einstellungen wiederhergestellt werden kann.
zoom nein Boolean/zoom false Legt fest, ob die Zoombuttons angezeigt werden sollen.

Beispiel

"controls": {
      "backForward": true,
      "fullScreen": true,
      "expandable": {
        "button3d": true
      }
    }

portalConfig.map.controls.backForward🔗

Das Attribut backForward kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, 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
iconForward nein String "skip-end-fill" Über den Parameter iconForward kann ein anderes Icon für das Vorschalten der Kartenansicht verwendet werden.
iconBack nein String "skip-start-fill" Über den Parameter iconBack kann ein anderes Icon für das Zurückschalten der Kartenansicht verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel backForward als Object:

"backForward" : {
    "iconForward": "bi-skip-forward-fill",
    "iconBack": "bi-skip-backward-fill"
}

Beispiel backForward als Boolean:

"backForward": true

portalConfig.map.controls.button3d🔗

Das Attribut button3d kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es den Button zum Umschalten in den 3D Modus an. Ist es vom Typ Object, so gelten folgende Attribute

Name Verpflichtend Typ Default Beschreibung
icon2d nein String "https://geodienste.hamburg.de/lgv-config/img/badge-2d.svg" Über den Parameter icon kann ein anderes Icon für das Control button3d verwendet werden, wenn die Karte im 3D Modus ist.
icon3d nein String "badge-3d" Über den Parameter icon kann ein anderes Icon für das Control button3d verwendet werden, wenn die Karte im 2D Modus ist.
supportedDevices nein String ["Desktop", "Mobile"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

portalConfig.map.controls.freeze🔗

Bildschirm wird gesperrt, sodass keine Aktionen mehr in der karte ausgeführt werden können. Legt fest, ob ein "Ansicht sperren" Button angezeigt werden soll.

Das Attribut freeze kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es die Buttons an, die in den Defaulteinstellungen gesetzt sind. Ist es vom Typ Object, so gelten folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-lock" Über den Parameter icon kann ein anderes Icon für das Control Freeze verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

portalConfig.map.controls.fullScreen🔗

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.

Name Verpflichtend Typ Default Beschreibung
iconArrow nein String "arrows-fullscreen" Über den Parameter iconArrow kann ein anderes Icon für den Button zum Einschalten des Vollbildmodus verwendet werden.
iconExit nein String "fullscreen-exit" Über den Parameter iconExit kann ein anderes Icon für den Button zum beenden des Vollbildmodus verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel fullScreen als Object

"fullScreen" : {
    "iconArrow": "arrows-fullscreen",
    "iconExit": "fullscreen-exit"
},

Beispiel fullScreen als Boolean

"fullScreen": true

portalConfig.map.controls.orientation🔗

Orientation nutzt die geolocation des Browsers zur Standortbestimmung des Nutzers. Es wird eine Liste von Features in der Umgebung des Standortes angezeigt.

Name Verpflichtend Typ Default Beschreibung
customPosition nein String "common:modules.controls.orientation.poiChoiceCustomPosition" Damit kann gesteuert werden, welcher Text für customPosition in der poiChoice angezeigt wird. Das hier angegebene muss dem Pfad für den Parameter in der Übersetzungsdatei entsprechen.
iconGeolocate nein String "bi-geo-alt" Icon das im Controls-Menü für das Control Standpunkt angezeigt wird. Zur Auswahl siehe Bootstrap Icons
iconGeolocatePOI nein String "bi-record-circle" Icon das im Controls-Menü für das Control "In meiner Nähe" angezeigt wird. Zur Auswahl siehe Bootstrap Icons
onlyFilteredFeatures nein boolean false Wenn 'onlyFilteredFeatures' true ist, werden in der Ergebnissanzeige von poi nur über den Filter gefilterte Features berücksichtigt.
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].
supportedDevices nein String ["Desktop", "Mobile"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.
zoomMode nein enum["once", "always"] "once" Der Standort wird bestimmt und der Marker wird an- oder ausgeschaltet. Dafür ist es notwendig das Portal über https zu laden. Modi: once (Es wird einmalig auf den Standort gezoomt. ), always (Die Karte wird mit jedem Einschalten auf den Standort gezoomt.).

Beispiel mit poiDistances vom Typ Boolean

"orientation": {
    "iconGeolocate": "bi-geo-alt",
    "iconGeolocatePOI": "bi-record-circle",
    "zoomMode": "once",
    "poiDistances": true
}

Beispiel mit poiDistances vom Typ Integer[]

"orientation": {
    "zoomMode": "once",
    "poiDistances": [500, 1000, 2000, 5000]
}

portalConfig.map.controls.rotation🔗

Steuert die Anzeige von 3 Control-Buttons: "Rotation zurücksetzen", "Im Uhrzeigersinn drehen" und "Gegen den Uhrzeigersinn drehen" sowie die Anzeige einer Kompass-Rose zur Navigation in 2D und/oder 3D. Die Kompass-Rose wird nicht auf mobilen Geräten angezeigt. Das Attribut rotation kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist und auf true gesetzt ist, zeigt es den Button "Rotation zurücksetzen" nur an, wenn die Maprotation ungleich Norden/0 ist. Die beiden anderen Buttons werden immer angezeigt. Die Kompass-Rose wird dann nur in 3D angezeigt. Ist es vom Typ Object, so gelten folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
compass2d nein Boolean false Steuert die Anzeige der Kompass-Rose in 2D.
compass3d nein Boolean true Steuert die Anzeige der Kompass-Rose in 3D.
moveDistance nein Number 1000 Distanz in Meter, die bei Klick auf die Bewegungs-Pfeile der Kompass-Rose genutzt wird.
resetRotationIcon nein String "bi-cursor" Icon für den Button "Rotation zurücksetzen". Zur Auswahl siehe Bootstrap Icons
rotateCounterClockwiseIcon nein String "bi-arrow-counterclockwise" Icon für den Button "Gegen den Uhrzeigersinn drehen". Zur Auswahl siehe Bootstrap Icons
rotateClockwiseIcon nein String "bi-arrow-clockwise" Icon für den Button "Im Uhrzeigersinn drehen". Zur Auswahl siehe Bootstrap Icons
rotationAngle nein Number 22.5 Winkel um den die Karte gedreht wird bei Klick auf einen der Dreh-Buttons.
rotationIcons nein Boolean true Die Buttons "Im Uhrzeigersinn drehen" und "Gegen den Uhrzeigersinn drehen" werden angezeigt.
showResetRotation nein Boolean true Der Button "Rotation zurücksetzen" wird angezeigt.
showResetRotationAlways nein Boolean false Ist das Attribut auf true gesetzt, wird das Control permanent angezeigt. Per default wird es nur angezeigt, wenn die Maprotation ungleich 0/Norden ist.
supportedDevices nein String ["Desktop", "Mobile"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel rotation als Object:

"rotation": {
    "compass2d": true,
    "moveDistance": 2500,
    "showResetRotation": true,
    "showResetRotationAlways": false,
    "rotationIcons": false
}

Beispiel rotation als Boolean:

"rotation": true

portalConfig.map.controls.startModule🔗

Das Attribut startModule muss vom Typ Object sein. Es wird für jedes konfigurierte Modul ein Button angezeigt, über den sich das jeweilige Modul öffen und schließen lässt.

Name Verpflichtend Typ Default Beschreibung
mainMenu nein mainMenu[] Hier werden die Module zu denen jeweils ein Button angezeigt werden soll konfiguriert. Diese werden beim öffnen in dem mainMenu dargestellt.
secondaryMenu nein secondaryMenu[] Hier werden die Module zu denen jeweils ein Button angezeigt werden soll konfiguriert. Diese werden beim öffnen in dem secondaryMenu dargestellt.
supportedDevices nein String ["Desktop", "Mobile", "Table"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel

"startModule": {
    "mainMenu": [
        {
            "type": "scaleSwitcher"
        }
    ],
    "secondaryMenu": [
        {
            "type": "myModule"
        }
    ]
}

portalConfig.map.controls.startModule.mainMenu🔗

Hier werden die Module zu denen jeweils ein Button angezeigt werden soll konfiguriert. Diese werden beim Öffnen in dem mainMenu dargestellt.

Name Verpflichtend Typ Default Beschreibung
type nein String Type des Modules, das als Control dargestellt und bei Click im MainMenü geöffnet werden soll.

Beispiel

"mainMenu": [
    {
        "type": "scaleSwitcher"
    }
]

portalConfig.map.controls.startModule.secondaryMenu🔗

Hier werden die Module zu denen jeweils ein Button angezeigt werden soll konfiguriert. Diese werden beim Öffnen in dem secondaryMenu dargestellt.

Name Verpflichtend Typ Default Beschreibung
type nein String Type des Modules, das als Control dargestellt und bei Click im SecondaryMenü geöffnet werden soll.

Beispiel

"secondaryMenu": [
    {
        "type": "scaleSwitcher"
    }
]

portalConfig.map.controls.tiltView🔗

Zeigt zwei Buttons an, mit denen sich die Kamera in der 3D-Szene hoch- bzw. runterkippen lässt.

Das Attribut tiltView kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es die Buttons an, die in den Defaulteinstellungen gesetzt sind. Ist es vom Typ Object, so gelten folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
tiltDownIcon nein String "bi-caret-down-square" Über den Parameter tiltDownIcon kann ein anderes Icon für das runterkippen der Kamera verwendet werden.
tiltUpIcon nein String "bi-caret-up-square" Über den Parameter tiltUpIcon kann ein anderes Icon für das hochkippen der Kamera verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel tiltView als Object

"tiltView" : {
    "tiltDownIcon": "bi-caret-down-square",
    "tiltUpIcon": "bi-caret-up-square",
},

Beispiel tiltView als Boolean

"tiltView": true

portalConfig.map.controls.totalView🔗

Zeigt einen Button an, mit dem die Startansicht mit den initialen Einstellungen wiederhergestellt werden kann.

Das Attribut totalView kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es den Button an, der in den Defaulteinstellungen gesetzt ist. Ist es vom Typ Object, so gelten folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-skip-backward-fill" Über den Parameter icon kann ein anderes Icon für das Zurückschalten zur Startansicht verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel totalView als Object

"totalView" : {
    "icon": "bi-skip-forward-fill"
},

Beispiel totalView als Boolean

"totalView": true

portalConfig.map.controls.zoom🔗

Legt fest, ob die Zoombuttons angezeigt werden sollen.

Das Attribut zoom kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean ist, zeigt es die Buttons an, die in den Defaulteinstellungen gesetzt sind. Ist es vom Typ Object, so gelten folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
iconIn nein String "bi-plus-lg" Über den Parameter icon kann ein anderes Icon für hereinzoomen verwendet werden.
iconOut nein String "bi-dash-lg" Über den Parameter icon kann ein anderes Icon für herauszoomen verwendet werden.
supportedDevices nein String ["Desktop"] Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String ["2D", "3D"] Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.

Beispiel zoom als Object

"zom" : {
    "iconIn": "bi-plus-lg",
    "iconOut": "bi-dash-lg"
},

Beispiel zoom als Boolean

"zoom": true

portalConfig.map.featureViaURL🔗

Optionale Konfiguration für den URL-Parameter featureViaURL. Siehe urlParameter für Einzelheiten.

Name Verpflichtend Typ Default Beschreibung
epsg nein Integer 4326 EPSG-Code für das Koordinatenreferenzsystem, in das die Koordinaten übersetzt werden sollen.
layers ja layers[] Layerkonfigurations-Array für bestimmte Features.
zoomTo nein String/String[] Id der layers oder deren Array, auf die das Masterportal anfänglich zoomt. Wenn keine angegeben werden, wird die übliche anfängliche Zentralkoordinate verwendet.

Beispiel:

{
    "featureViaURL": {
        "epsg": 25832,
        "zoomTo": "urlPointFeatures",
        "layers": [
            {
                "id": "urlPointFeatures",
                "geometryType": "Point",
                "name": "URL Point Features",
                "styleId": "url_points"
            },
            {
                "id": "urlLineFeatures",
                "geometryType": "LineString",
                "name": "URL Line Features",
                "styleId": "url_lines"
            },
            {
                "id": "urlPolygonFeatures",
                "geometryType": "Polygon",
                "name": "URL Polygon Features",
                "styleId": "url_polygons"
            },
            {
                "id": "urlMultiPointFeatures",
                "geometryType": "MultiPoint",
                "name": "URL MultiPoint Features",
                "styleId": "url_mulitpoints"
            },
            {
                "id": "urlMultiLineStringFeatures",
                "geometryType": "MultiLineString",
                "name": "URL MultiLineString Features",
                "styleId": "url_multilinestring"
            },
            {
                "id": "urlMultiPolygonFeatures",
                "geometryType": "MultiPolygon",
                "name": "URL MultiPolygon Features",
                "styleId": "url_multipolygons"
            }
        ]
    }
}

portalConfig.map.featureViaURL.layers🔗

Die beschriebenen Parameter gelten für jeden Eintrag des Arrays layers.

Name Verpflichtend Typ Default Beschreibung
id ja String Eindeutige ID für den zu erstellenden Layer
geometryType ja enum["LineString", "Point", "Polygon", "MultiPoint", "MultiLineString", "MultiPolygon"] Geometrietyp des anzuzeigenden Merkmals.
name ja String Layername, der im Themenbaum, in der Legende und im GFI-Pop-up angezeigt wird.
styleId nein String Für das Merkmal zu verwendende StyleId, die sich auf die style.json bezieht.

Beispiel:

{
    "layers": [{
        "id": "urlPolygonFeatures",
        "geometryType": "Polygon",
        "name": "URL Polygon Features",
        "styleId": "url_polygons"
    }]
}

portalConfig.map.getFeatureInfo🔗

Zeigt Informationen zu einem abgefragten Feature ab, indem GetFeatureInfo-Requests oder GetFeature-Requests oder geladene Vektordaten abgefragt werden.

Bei allen GFI-Abfragen, außer dem direkten Beziehen von HTML, welches durch das Konfigurieren von "text/html" als "infoFormat" an einem WMS geschieht, wird das Zeichen "|" als Zeilenumbruch interpretiert. Es ist ebenso möglich "\r\n" oder "\n" zu verwenden.

Name Verpflichtend Typ Default Beschreibung
centerMapToClickPoint nein Boolean false Wenn der Parameter auf true gesetzt wird, verschiebt sich die Karte beim Klick auf ein Feature so, dass das Feature im Mittelpunkt der sichtbaren Karte liegt.
coloredHighlighting3D nein coloredHighlighting3D Regeldefinitionen zum Überschreiben des Highlightings von angeklickten 3D tiles.
hideMapMarkerOnVectorHighlight nein Boolean false Wenn Wert auf true gesetzt ist, wird der MapMarker beim VectorHighlighting nicht mit angezeigt. Gilt nur für das DetachedTemplate.
highlightVectorRules nein highlightVectorRules Regeldefinitionen zum Überschreiben des Stylings von abgefragten Vektordaten.
icon nein String "bi-info-circle-fill" CSS Klasse des Icons, das vor dem GFI im Menu angezeigt wird.
menuSide nein String "secondaryMenu" Gibt an in welchem Menü die Informationen angezeigt werden sollen.
name ja String "common:modules.getFeatureInfo.name" Name des Moduls im Menü.

Beispiel einer GetFeatureInfo Konfiguration

"getFeatureInfo": {
    "name":"Informationen abfragen",
    "icon":"bi-info-circle-fill",
    "coloredHighlighting3D": {
        "enabled": true,
        "color": "GREEN"
    },
    "highlightVectorRules": {
        "fill": {
            "color": [215, 102, 41, 0.9]
        },
        "image": {
            "scale": 1.5
        },
        "stroke": {
            "width": 4
        },
        "text": {
            "scale": 2
        }
    },
    "hideMapMarkerOnVectorHighlight": true
}

Beispiel einer GetFeatureInfo Konfiguration zur Informationsabfrage von Features

"getFeatureInfo":{
    "name":"Informationen abfragen"
}

portalConfig.map.getFeatureInfo.coloredHighlighting3D🔗

Highlight Einstellungen von 3D Tiles. Falls z. B. ein Gebäude per Linksklick selektiert wurde, wird es in der definierten Farbe gehighlighted. Für mehr Informationen über die Farbmöglichkeiten: Color-documentation

Name Verpflichtend Typ Default Beschreibung
color nein String/String[] "RED" Color kann als Array oder Cesium.Color definiert werden(z. B. "GREEN" für Cesium.Color.GREEN)
enabled nein Boolean true False falls coloredHighlighting3D disabled ist.

Beispiel Array

"coloredHighlighting3D": {
    "enabled": true,
    "color": [0, 255, 0, 255]
}

Beispiel Cesium.Color

"coloredHighlighting3D": {
    "enabled": true,
    "color": "GREEN"
}

portalConfig.map.getFeatureInfo.highlightVectorRules🔗

Liste der Einstellungen zum Überschreiben von Vektorstyles bei GetFeatureInfo Abfragen.

Hinweis: Das Highlighting funktioniert nur, wenn der Layer in der config.json über eine gültige StyleId verfügt!

Name Verpflichtend Typ Default Beschreibung
fill nein Fill [255, 255, 255, 0.5] Mögliche Einstellung: color
image nein Image 1 Mögliche Einstellung: scale
stroke nein Stroke 1 Mögliche Einstellung: width
text nein text Mögliche Einstellung: scale

portalConfig.map.getFeatureInfo.highlightVectorRules.text🔗
Name Verpflichtend Typ Default Beschreibung
scale nein Float 1 Mögliche Einstellung: scale

Beispiel

"text": {
    "scale": 2
}

portalConfig.map.layerPills🔗

Konfiguration, um Einstellungen für die LayerPills vorzunehmen.

Layerpills sind Buttons, die oberhalb der Karte die ausgewählten Layer anzeigen. Beim Anklicken einer LayerPill, werden die entsprechenden Layerinformationen im Menü angezeigt. Über den Schließen-Button wird der Layer abgewählt. Das Attribut LayerPills wird als Objekt angegeben und beinhaltet folgende Attribute:

Name Verpflichtend Typ Default Beschreibung
active nein Boolean false Gibt an, ob LayerPills aktiv sind.
mobileOnly nein Boolean false Definiert, ob LayerPills nur in der mobilen Version aktiv sein sollen.

Beispiel

"layerPills": {
    "active": true,
    "mobileOnly": true
}

portalConfig.map.map3dParameter🔗

Cesium Scene settings in 3D mode. For more attributes see Scene

Name Verpflichtend Typ Default Beschreibung
camera nein camera Cesium Scene camera settings in 3D mode.
fog nein fog Cesium Scene fog settings in 3D mode.
fxaa nein Boolean true activates fast approximate anti-aliasing
globe nein globe Cesium Scene globe settings in 3D mode.
maximumScreenSpaceError nein Number 2.0 Detail level in which terrain/raster tiles are fetched. 4/3 is the highest quality level.
tileCacheSize nein Number 100 terrain/raster tile cache size

Beispiel

{
    "camera": {
        "altitude": 127,
        "heading": -1.2502079000000208,
        "tilt": 45
    },
    "fog": {
        "enabled": true
    },
    "fxaa": true,
    "globe": {
        "enableLighting": true
    },
    "maximumScreenSpaceError": 2,
    "tileCacheSize": 20,
}

portalConfig.map.map3dParameter.camera🔗

Cesium Scene camera settings in 3D mode. The camera is defined by a position, orientation, and view frustum. For more attributes see Scene

Name Verpflichtend Typ Default Beschreibung
altitude nein Number Camera's initial height in meters
heading nein Number Camera's initial heading in radians
tilt nein Number Camera's initial tile in radians

Beispiel

{
    "camera": {
        "altitude": 127,
        "heading": -1.2502079000000208,
        "tilt": 45
    }
}

portalConfig.map.map3dParameter.fog🔗

Cesium Scene fog settings in 3D mode. Blends the atmosphere to geometry far from the camera for horizon views. For more attributes see Scene

Name Verpflichtend Typ Default Beschreibung
enabled nein Boolean false True if fog is enabled.

Beispiel

{
    "fog": {
        "enabled": true
    }
}

portalConfig.map.map3dParameter.globe🔗

Cesium Scene globe settings in 3D mode. The globe rendered in the scene, including its terrain and imagery layers. For more attributes see Scene

Name Verpflichtend Typ Default Beschreibung
enableLighting nein Boolean false Activates light effects on the map based on the sun's position.

Beispiel

{
    "globe": {
        "enableLighting": true
    }
}

portalConfig.map.mapMarker🔗

Setzt die Standardwerte des Map Markers außer Kraft. Nützlich für 3D-Marker, da die Overlays von OpenLayers nicht im 3D-Modus dargestellt werden können. Dazu muss der Map Marker als Vektorlayer definiert werden.

Name Verpflichtend Typ Default Beschreibung
pointStyleId nein String "defaultMapMarkerPoint" StyleId, um auf einen style.json-Punktstyle zu verweisen. Ist sie nicht gesetzt, wird die Datei img/mapMarker.svg verwendet.
polygonStyleId nein String "defaultMapMarkerPolygon" StyleId zum Verweis auf einen style.json-Polygonstyle.

Beispiel:

{
    "mapMarker": {
        "pointStyleId": "customMapMarkerPoint",
        "polygonStyleId": "customMapMarkerPolygon"
    }
}

portalConfig.map.mapView🔗

Mit verschiedenen Parametern wird die Startansicht der Karte konfiguriert und der Hintergrund festgelegt, der erscheint wenn keine Karte geladen ist.

Name Verpflichtend Typ Default Beschreibung
backgroundImage nein String "https://bitbucket.org/geowerkstatt-hamburg/masterportal/src/dev_vue/doc/config.json.md#portalconfigmapview" Pfad zum alternativen Hintergrund angeben.
epsg nein String "EPSG:25832" Der EPSG-Code der Projektion der Karte. Der EPSG-Code muss als namedProjection definiert sein.
extent nein Extent [510000.0, 5850000.0, 625000.4, 6000000.0] Der Map-Extent.
mapInteractions nein mapInteractions Überschreibt die ol map Interaktionen. Bietet weitere Konfigurationsmöglichkeiten für Steuerungsverhalten und keyboardEventTarget.
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.
startCenter nein Number[] [565874, 5934140] Die initiale Zentrumskoordinate.
startResolution nein Float 15.874991427504629 Die initiale Auflösung der Karte aus options. Vorzug vor startZoomLevel.
startZoomLevel nein Integer Der initiale ZoomLevel aus Options. Nachrangig zu resolution.

Beispiel:

{
    "mapView": {
        "backgroundImage": "https://geodienste.hamburg.de/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],
        "startResolution": 15.874991427504629,
        "startZoomLevel": 1,
        "epsg": "EPSG:25832"
    }
}

portalConfig.map.mapView.mapInteractions🔗

Überschreibt die ol map Interaktionen. Bietet weitere Konfigurationsmöglichkeiten für Steuerungsverhalten und keyboardEventTarget.

Name Verpflichtend Typ Default Beschreibung
interactionModes nein interactionModes {"dragPan": false, "altShiftDragRotate": false, "pinchRotate": false} Interaktionseinstellungen für die ol Standardinteraktionen. Wenn nicht gesetzt, wird die Standardeinstellung verwendet.
keyboardEventTarget nein Boolean false Möglichkeit, das Tastaturereignisziel für die ol-Map zu setzen z.B. keyboardEventTarget: document

Beispiel:

{
    "mapInteractions": {
        "interactionModes": {
            "dragPan": false,
            "altShiftDragRotate": true,
            "pinchRotate": false,
            "dragZoom": true
        },
        "keyboardEventTarget": false
    }
}

portalConfig.map.mapView.mapInteractions.interactionModes🔗

Interaction settings for the ol default interactions. If not set, the default setting is used.

Name Verpflichtend Typ Default Beschreibung
altShiftDragRotate nein Boolean true Drehe die Karte mit alt + shift + drag.
dragPan nein Boolean false Ermöglicht es dem Benutzer, die Karte durch Ziehen zu verschieben.
dragZoom nein Boolean false Ermöglicht dem Benutzer das Zoomen der Karte durch Klicken und Ziehen auf der Karte.
pinchRotate nein Boolean false Ermöglicht es dem Benutzer, die Karte durch Drehen mit zwei Fingern auf einem Touchscreen zu drehen.
twoFingerPan nein Boolean false Soll für mobile Geräte ein 2-Finger-Pan anstatt 1-Finger-Pan gesetzt werden?

Beispiel:

"interactionModes": {
    "dragPan": false,
    "altShiftDragRotate": true,
    "pinchRotate": false,
    "dragZoom": true,
    "twoFingerPan": true
}

portalConfig.map.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
resolution ja Number Auflösung der definierten Zoomstufe.
scale ja Integer Maßstabszahl der definierten Zoomstufe.
zoomLevel ja Integer Zoomstufe der definierten Zoomstufe.

Beispiel einer mapview Option

{
    "resolution": 611.4974492763076,
    "scale": 2311167,
    "zoomLevel": 0
}

portalConfig.map.mouseHover🔗

Aktiviert die MouseHover-Funktion für Vektorlayer, z.B. WFS oder GeoJSON. Für die Konfiguration pro Layer siehe Vector.

Name Verpflichtend Typ Default Beschreibung
infoText nein String "common:modules.mouseHover.infoText" Text der angezeigt wird, wenn die Feature die Anzahl von numFeaturesToShow übersteigen.
numFeaturesToShow nein Integer 2 Maximale Menge an Elementinformationen pro Tooltip; bei Überschreitung informiert ein Informationstext den Benutzer über den abgeschnittenen Inhalt.

Beispiel

"mouseHover": {
    "numFeaturesToShow": 1,
    "infoText": "Beispieltext"
}

portalConfig.map.zoomTo🔗

Konfiguration für die URL-Abfrageparameter zoomToFeatureId und zoomToGeometry.

Name Required Type Default Description
addFeatures nein Boolean true Gibt an, ob die gewünschten Merkmale in einer separaten Ebene zur Karte hinzugefügt werden sollen.
allowedValues nein String[] Nur relevant, wenn id gleich zoomToGeometry ist. Filtert zusätzlich die in den URL-Abfrageparametern zulässigen Werte.
id ja enum["zoomToFeatureId", "zoomToGeometry"] Id des URL-Abfrageparameters, auf den sich die Konfiguration bezieht.
layerId ja String Id des Layers, aus der das Feature geholt werden soll.
property ja String Name der Eigenschaft, nach der die Merkmale gefiltert werden sollen.
styleId nein String Nur relevant, wenn id gleich zoomToFeatureId ist. Id des styleObject, das für die Gestaltung der vom Dienst abgerufenen Merkmale verwendet werden soll.

Beispiel:

{
    "zoomTo": [
        {
            "id": "zoomToGeometry",
            "layerId": "1692",
            "property": "bezirk_name",
            "allowedValues": [
                "ALTONA",
                "HARBURG",
                "HAMBURG-NORD",
                "BERGEDORF",
                "EIMSBÜTTEL",
                "HAMBURG-MITTE",
                "WANDSBEK"
            ]
        },
        {
            "id": "zoomToFeatureId",
            "layerId": "4560",
            "property": "flaechenid",
            "styleId": "location_eventlotse"
        }
    ]
}

portalConfig.menu🔗

Hier können die Menüeinträge jeweils für das MainMenu (in der Desktopansicht links) und SecondaryMenu (in der Desktopansicht rechts) und deren Anordnung konfiguriert werden. Die Reihenfolge der Module ergibt sich aus der Reihenfolge in der Config.json.

Name Verpflichtend Typ Default Beschreibung
currentComponent nein String "" Definiert ein Modul, das initial geöffnet ist.
expanded nein Boolean false Definiert ob das jeweilige Menü beim Starten des Portals aus- oder eingeklappt ist.
width nein String "25%" Setzt die initiale Breite des jeweiligen Menüs als Prozentwert.
showDescription nein Boolean Definiert ob eine Beschreibung zu den Modulen im jeweiligen Menü angezeigt werden soll.
searchBar nein searchBar Über das Eingabefeld Suche können verschiedene Suchen gleichzeitig angefragt werden.
sections nein sections[] Unterteilung von Modulen im Menü.
title nein title Der Titel und weitere Parameter die im Hauptmenü angezeigt werden können.

portalConfig.menu.searchBar🔗

Konfiguration der Suchleiste. Es lassen sich verschiedene Suchdienste konfigurieren.

Name Verpflichtend Typ Default Beschreibung
minCharacters nein Integer 3 Minimale Anzahl an Buchstaben, ab der die Suche startet.
placeholder nein String "common:modules.searchBar.placeholder.address" Placeholder für das Suchfeld.
searchInterfaces nein searchInterfaces[] Schnittstellen zu Suchdiensten.
timeout nein Integer 5000 Timeout in Millisekunden für die Dienste Anfrage.
zoomLevel nein Integer 7 ZoomLevel, auf das die Searchbar maximal hineinzoomt.

Beispiel

{
    "searchBar" {
        "minCharacters": 3,
        "placeholder": "common:modules.searchBar.placeholder.address",
        "searchInterfaces": [
            {
                "type": "gazetteer",
                "serviceId": "6",
                "searchAddress": true,
                "searchStreets": true,
                "searchHouseNumbers": true,
                "searchDistricts": true,
                "searchParcels": true,
                "searchStreetKey": true
            }
        ],
        "timeout": 5000,
        "zoomLevel": 7
    }
}

portalConfig.menu.searchBar.searchInterfaces🔗

Definitionen der Suchschnittstellen.

Name Verpflichtend Typ Default Beschreibung
bkg nein bkg Konfiguration des BKG Suchdienstes.
elasticSearch nein elasticSearch Konfiguration des ElasticSearch Suchdienstes.
gazetteer nein gazetteer Konfiguration des Gazetteer Suchdienstes.
komootPhoton nein komootPhoton Konfiguration des Komoot Photon Suchdienstes.
locationFinder nein locationFinder Konfiguration des LocationFinder-Suchdienstes.
osmNominatim nein osmNominatim Konfiguration des OpenStreetMap (OSM) Suchdienstes.
specialWFS nein specialWFS Konfiguration des specialWFS Suchdienstes.
topicTree nein topicTree Konfiguration der Suche im Themenbaum.
visibleVector nein visibleVector Konfiguration der Suche über die sichtbaren Vector Layer.

Beispiel

"searchInterfaces": [
    {
        "type": "gazetteer",
        "serviceId": "6",
        "searchAddress": true,
        "searchStreets": true,
        "searchHouseNumbers": true,
        "searchDistricts": true,
        "searchParcels": true,
        "searchStreetKey": true
    }
]

portalConfig.menu.searchBar.searchInterfaces.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
epsg nein String "EPSG:25832" EPSG-Code des zu verwendenden Koordinatensystems.
extent nein Extent [454591, 5809000, 700000, 6075769] Koordinaten-Ausdehnung innerhalb dieser der Suchalgorithmus suchen soll.
geoSearchServiceId ja String Id des Suchdienstes. Wird aufgelöst in der rest-services.json.
minScore nein Number 0.6 Score der die Qualität der Suchergebnisse definiert.
resultCount nein Integer 20 Maximale Anzahl der Suchtreffer die vom Dienst geliefert werden.
resultEvents nein resultEvents {"onClick": ["setMarker", "zoomToResult"], "onHover": ["setMarker"], "buttons": ["startRouting"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "setMarker", "zoomToResult", "startRouting".
type ja String "bkg" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "geoSearchServiceId": "5",
    "extent": [454591, 5809000, 700000, 6075769],
    "resultCount": 10,
    "epsg": "EPSG:25832",
    "minScore": 0.6,
    "type": "bkg"
}

portalConfig.menu.searchBar.searchInterfaces.elasticSearch🔗

Konfiguration des Elastic Search Suchdienstes

Name Verpflichtend Typ Default Beschreibung
hitIcon nein String "bi-signpost-2" CSS Icon Klasse des Suchergebnisses. Wird vor dem Namen angezeigt.
hitMap nein hitMap Mapping Objekt. Mappt die Attribute des Ergebnis Objektes auf den entsprechenden Key.
hitTemplate nein String "default" Template in dem die Suchergebnisse (alle anzeigen) angezeigt werden. Möglich sind die Werte "default" und "layer".
hitType nein String "common:modules.searchbar.type.subject" Typ des Suchergebnisses, wird in der Auswahlliste hinter dem Namen angezeigt. Nutzen Sie den Übersetzungskey aus der Übersetzungsdatei
resultEvents nein resultEvents {"onClick": ["addLayerToTopicTree"], "buttons": ["showInTree", "showLayerInfo"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "addLayerToTopicTree", "setMarker", "showInTree", "showLayerInfo", "startRouting", "zoomToResult".
requestType nein enum["POST", "GET"] "POST" Art des Requests.
responseEntryPath nein String "" Der Pfad in der response (JSON) zum Attribut, das die gefundenen Features enthält.
searchStringAttribute nein String "searchString" Attributname im payload für den searchString.
serviceId ja String Id des Suchdienstes. Wird aufgelöst in der rest-services.json.
type ja String "elasticSearch" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Als zusätzliches property kann payload hinzugefügt werden. Es muss nicht zwingend gesetzt sein, und passt zur Beschreibung von CustomObject. Per default wird es als leeres Objekt {} gesetzt. Das Objekt beschreibt die Payload, die mitgeschickt werden soll. Es muss das Attribut für den searchString vorhalten. Für weitere Infos zu den nutzbaren Attributen siehe Elasticsearch Guide. Dieses Objekt kann im Admintool nicht gepflegt werden, da dort CustomObject nicht definiert ist.

Beispiel

{
    "type": "elasticSearch",
    "serviceId":"elastic",
    "requestType": "GET",
    "payload": {
        "id":"query",
        "params":{
            "query_string":""
        }
    },
    "searchStringAttribute": "query_string",
    "responseEntryPath": "hits.hits",
    "hitMap": {
        "name": "_source.name",
        "id": "_source.id",
        "source": "_source"
    },
    "hitType": "common:modules.searchbar.type.subject",
    "hitIcon": "bi-list-ul"
}

portalConfig.menu.searchBar.searchInterfaces.elasticSearch.hitMap🔗

Mapping Objekt. Mappt die Attribute des Ergebnis Objektes auf den entsprechenden Key.

Name Verpflichtend Typ Default Beschreibung
coordinate nein String/String[] Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.
id ja String/String[] "id" Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.
layerId ja String/String[] Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.
name ja String/String[] "name" Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.
source ja String/String[] "source" Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.
toolTip ja String/String[] Attribut value wird auf attribut key gemappt. Notwendig um das Ergebnis anzuzeigen.

Beispiel

"hitMap": {
    "name": "_source.name",
    "id": "_source.id",
    "source": "_source",
    "layerId": "_source.id",
    "toolTip": [
        "_source.name",
        "_source.datasets.md_name"
    ]
}

portalConfig.menu.searchBar.searchInterfaces.gazetteer🔗

Konfiguration des Gazetteer Suchdienstes

ACHTUNG: Backend notwendig! Es wird eine Stored Query eines WFS mit vorgegebenen Parametern abgefragt.

Name Verpflichtend Typ Default Beschreibung
resultEvents nein resultEvents {"onClick": ["setMarker", "zoomToResult"], "onHover": ["setMarker"], "buttons": ["startRouting"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "setMarker", "startRouting", "zoomToResult".
searchAddress nein Boolean false Gibt an, ob nach Adressen gesucht werden soll.
searchDistricts nein Boolean false Gibt an, ob nach Bezirken gesucht werden soll.
searchHouseNumbers nein Boolean false Gibt an, ob nach Straßen und Hausnummern gesucht werden soll.
searchParcels nein Boolean false Gibt an, ob nach Flurstücken gesucht werden soll.
searchStreetKey nein Boolean false Gibt an, ob nach Straßenschlüsseln gesucht werden soll.
searchStreets nein Boolean false Gibt an, ob nach Straßen gesucht werden soll. Vorraussetzung für searchHouseNumbers.
serviceId ja String Id des Suchdienstes. Wird aufgelöst in der rest-services.json.
showGeographicIdentifier nein Boolean false Gibt an ob das Attribut geographicIdentifier zur Anzeige des Suchergebnisses verwendet werden soll.
type ja String "gazetteer" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "gazetteer",
    "serviceId": "6",
    "searchAddress": true,
    "searchStreets": true,
    "searchHouseNumbers": true,
    "searchDistricts": true,
    "searchParcels": true,
    "searchStreetKey": true
}

portalConfig.menu.searchBar.searchInterfaces.komootPhoton🔗

Suche bei Komoot Photon.

Name Verpflichtend Typ Default Beschreibung
bbox nein string Begrenzungsrechteck für die Suche.
lang nein string "de" Sprache für die Komoot Suche. Wirkt sich auf Sprachspezifische Ortsangaben (Zum Beispiel Ländernamen) aus.
lat nein Number Breitengrad für den Suchmittelpunkt.
limit nein Number Gibt die maximale Zahl der gewünschten, ungefilterten Ergebnisse an.
lon nein Number Längengrad für den Suchmittelpunkt.
osm_tag nein string Filterung für OSM Tags (siehe https://github.com/komoot/photon#filter-results-by-tags-and-values).
serviceId ja String Gibt die ID für die URL in der rest-services.json vor.
resultEvents nein resultEvents {"onClick": ["setMarker", "zoomToResult"], "onHover": ["setMarker"], "buttons": ["startRouting"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "setMarker", "startRouting", "zoomToResult".
type ja String "komootPhoton" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "komootPhoton",
    "serviceId": "10",
    "limit": 20,
    "lang": "de",
    "lat": 52.5,
    "lon": 13.4,
    "bbox": "12.5,52.05,14.05,52.75"
}

portalConfig.menu.searchBar.searchInterfaces.locationFinder🔗

Konfiguration zur Suche unter Verwendung eines ESRI CH LocationFinders.

Name Verpflichtend Typ Default Beschreibung
classes nein LocationFinderClass Kann Klassen (mit Eigenschaften) enthalten die berücksichtigt werden sollen. Wenn hier nichts angegeben wird, so werden alle Klassen berücksichtigt.
epsg nein String Koordinatensystem (EPSG-Code), in dem das Ergebnis angefragt werden soll. Standardmäßig wird hier der Wert von portalConfig.mapView.epsg verwendet.
resultEvents nein resultEvents {"onClick": ["setMarker", "zoomToResult"], "onHover": ["setMarker"], "buttons": ["startRouting"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "setMarker", "startRouting", "zoomToResult".
serviceId ja String Gibt die ID für die URL in der rest-services.json vor.
type ja String "locationFinder" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "locationFinder",
    "serviceId": "locationFinder",
    "classes": [
        {
            "name": "Haltestelle",
            "icon": "bi-record-circle"
        },
        {
            "name": "Straßenname"
        }
    ]
}

portalConfig.menu.searchBar.searchInterfaces.locationFinder.LocationFinderClass🔗

Definition von Klassen, welche als Ergebnis berücksichtigt werden sollen.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-signpost-2" Visualisierung der Klasse durch ein Icon
name ja String Name der Klasse
zoom nein String "center" Legt fest wie auf einen ausgewählten Treffer gezoomt werden soll. Wenn center ausgewählt ist, so wird auf die Zentrumskoordinate (cx und cy) gezoomt und ein Marker angezeigt. Im Falle von bbox wird auf die durch den LocationFinder angegebene BoundingBox (xmin, ymin, xmax und ymax) gezoomt. Ein Marker wird in dem Fall nicht angezeigt.

Beispiel

{
    "type": "locationFinder",
    "serviceId": "10",
    "classes": [
        {
            "name": "Haltestelle",
            "icon": "bi-record-circle"
        },
        {
            "name": "Adresse",
            "icon": "bi-house-door-fill"
        },
        {
            "name": "Straßenname",
            "zoom": "bbox"
        }
    ]
}

portalConfig.menu.searchBar.searchInterfaces.osmNominatim🔗

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
classes nein string [] Kann die Klassen, für die Ergebnisse erzielt werden sollen, enthalten.
limit nein Number 50 Gibt die maximale Zahl der gewünschten, ungefilterten Ergebnisse an.
resultEvents nein resultEvents {"onClick": ["setMarker", "zoomToResult"], "onHover": ["setMarker"], "buttons": ["startRouting"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "setMarker", "startRouting", "zoomToResult".
serviceId ja String Gibt die ID für die URL in der rest-services.json vor.
states nein string "" Kann die Namen der Bundesländer enthalten. Trenner beliebig. Eventuell auch englische Ausprägungen eintragen, da die Daten frei im OpenSourceProjekt OpenStreetMap erfasst werden können.
type ja String "osmNominatim" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "osmNominatim",
    "serviceId": "10",
    "limit": 60,
    "states": "Hamburg, Nordrhein-Westfalen, Niedersachsen, Rhineland-Palatinate Rheinland-Pfalz",
    "classes": "place,highway,building,shop,historic,leisure,city,county"
}

portalConfig.menu.searchBar.searchInterfaces.specialWFS🔗

Konfiguration der WFS-Suchfunktion "specialWFS": fragt Features eines WFS-Dienstes ab. Der Dienst muss hierfür WFS 2.0 Anfragen zulassen.

Beispielsweise würde bei der Eingabe "Kronenmatten" der Dienst https://geoportal.freiburg.de/geoportal_freiburg_de/wfs/stpla_bplan/wfs_mapfile/geltungsbereiche folgende Anfrage mit einer xml FeatureCollection beantworten. Die Features der Collection werden anschließend als Suchergebnisse vorgeschlagen.

<?xml version='1.0' encoding='UTF-8'?>
<wfs:GetFeature service='WFS' xmlns:wfs='http://www.opengis.net/wfs' xmlns:ogc='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml' traverseXlinkDepth='*' version='1.1.0'>
    <wfs:Query typeName='ms:geltungsbereiche'>
        <wfs:PropertyName>ms:planbez</wfs:PropertyName>
        <wfs:PropertyName>ms:msGeometry</wfs:PropertyName>
        <wfs:maxFeatures>20</wfs:maxFeatures>
        <ogc:Filter>
            <ogc:PropertyIsLike matchCase='false' wildCard='*' singleChar='#' escapeChar='!'>
                <ogc:PropertyName>ms:planbez</ogc:PropertyName>
                <ogc:Literal>*Kronenmatten*</ogc:Literal>
            </ogc:PropertyIsLike>
        </ogc:Filter>
    </wfs:Query>
</wfs:GetFeature>

Die WFS 2 query wird dabei dynamisch durch das Masterportal erstellt. Die Konfiguration einer stored query im WFS Dienst ist hierfür nicht erforderlich.

Name Verpflichtend Typ Default Beschreibung
definitions nein definition *[] Definition der speziellen WFS suchen.
geometryName nein String "app:geom" Attributname der Geometrie wird benötigt um darauf zu zoomen. Kann in der definition überschrieben werden.
icon nein String "bi-house-fill" Default icon das in der Vorschlagsliste erscheint. Kann in der definition überschrieben werden.
maxFeatures nein Integer 20 Maximale Anzahl an gefundenen Features. Kann in der definition überschrieben werden.
namespaces nein String "xmlns:wfs='http://www.opengis.net/wfs' xmlns:ogc='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml'" XML Namespaces zur Abfrage von propertyNames oder geometryName (xmlns:wfs, xmlns:ogc und xmlns:gml werden immer genutzt). Kann in der definition überschrieben werden.
resultEvents nein resultEvents {"onClick": ["highlightFeature", "setMarker", "zoomToResult"], "onHover": ["highlightFeature", "setMarker"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "highlightFeature", "setMarker", "zoomToResult".
type ja String "specialWFS" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "specialWFS",
    "definitions": [
        {
            "url": "https://geodienste.hamburgde/MRH_WFS_Rotenburg",
            "typeName": "app:mrh_row_bplan",
            "propertyNames": ["app:name"],
            "name": "B-Plan",
            "namespaces": "xmlns:app='http://www.deegree.org/app'"
        },
        {
            "url": "/geodienste.hamburg.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.menu.searchBar.searchInterfaces.specialWFS.definition🔗

Konfiguration einer Definition bei der SpecialWFS Suche

Name Verpflichtend Typ Default Beschreibung
geometryName nein String "app:geom" Attributname der Geometrie wird benötigt um darauf zu zoomen.
icon nein String "bi-house-fill" CSS Klasse des Icons das in der Vorschlagsliste erscheint.
maxFeatures nein Integer 20 Maximale Anzahl an gefundenen Features.
name nein String Name der Kategorie. Erscheint in der Vorschlagsliste.
namespaces nein String XML Namespaces zur Abfrage von propertyNames oder geometryName (xmlns:wfs, xmlns:ogc und xmlns:gml werden immer genutzt).
propertyNames nein String[] Array von Attributnamen. Diese Attribute werden durchsucht.
typeName nein String Der Name des abzufragenden Layers innerhalb des WFS.
url nein String URL des WFS. Je nach proxy-Konfiguration muss die relative url vom Server des Portals aus angegeben werden.

Beispiel

{
    "url": "https://geodienste.hamburg.de/HH_WFS_Bebauungsplaene",
    "typeName": "app:prosin_imverfahren",
    "propertyNames": ["app:plan"],
    "geometryName": "app:the_geom",
    "name": "im Verfahren"
}

portalConfig.menu.searchBar.searchInterfaces.topicTree🔗

Alle Layer, die im Themenbaum des Portals sind, werden durchsucht.

Name Verpflichtend Typ Default Beschreibung
hitTemplate nein String "default" Template in dem die Suchergebnisse (alle anzeigen) angezeigt werden. Möglich sind die Werte "default" und "layer".
resultEvents nein resultEvents {"onClick": ["activateLayerInTopicTree"], "buttons": ["showInTree", "showLayerInfo"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "activateLayerInTopicTree", "showInTree", "showLayerInfo".
searchType nein String "" Entscheidet, ob die Metadaten oder der Name eines Layers durchsucht werden soll. Möglicher Wert: "metadata". Default ist es nicht gesetzt, sodass der Name durchsucht wird.
type ja String "topicTree" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "topicTree"
}

portalConfig.menu.searchBar.searchInterfaces.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
resultEvents nein resultEvents {"onClick": ["openGetFeatureInfo", "setMarker", "zoomToResult"], "onHover": ["setMarker"]} Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt. Folgende events sind möglich: "openGetFeatureInfo", "setMarker", "zoomToResult".
type ja String "visibleVector" Type der Such-Schnittstelle. Definiert welche Such-Schnittstelle konfiguriert ist.

Beispiel

{
    "type": "visibleVector"
}

portalConfig.menu.searchBar.searchInterfaces.resultEvents🔗

Aktionen, die ausgeführt werden, wenn eine Interaktion, z. B. ein Hover oder ein Klick, mit einem Element der Ergebnisliste erfolgt.

Folgende Events existieren. Welche Events konfiguriert werden können ist den Beschreibungen der jeweiligen Suchschnittstelle zu entnehmen:

  • activateLayerInTopicTree: Aktiviert den gefunden layer im Themenbaum und in der Karte.
  • addLayerToTopicTree: Fügt den gefundenen Layer zum Themenbaum und der Karte hinzu.
  • highligtFeature: Hebt das Scuhergebniss auf der Karte hervor.
  • openGetFeatureInfo: Öffnet die GetFeatureInfo zum Suchtreffer im Menü.
  • setMarker: Es wird ein Marker in der Karte platziert.
  • showInTree: Öffnet die Themenauswahl und zeigt den ausgewählten Layer an.
  • showLayerInfo: Öffnet de Layerinformationen.
  • startRouting: Starte das Modul Routing mit der angeklickten Adresse als Ziel.
  • zoomToResult: Es wird zum Suchtreffer gezoomt.
Name Verpflichtend Typ Default Beschreibung
buttons nein String[] Buttons die bei jedem Suchergebiss in der Ergebnisliste angezeigt werden und bei Klick eine Aktion ausführen
onClick nein String[] Aktionen die auf bei einem Klick auf Ein Suchergebniss ausgeführt werden.
onHover nein String[] Aktionen die auf bei einem Hover auf Ein Suchergebniss ausgeführt werden.

Beispiel 1

"resultEvents": {
    "onClick": ["setMarker", "zoomToResult"],
    "onHover": ["setMarker"]
}

Beispiel 2

"resultEvents": {
    "onClick": ["activateLayerInTopicTree"],
    "buttons": ["showInTree", "showLayerInfo"]
}

portalConfig.menu.sections🔗

Module lassen sich in Abschnitte (Sections) unterteilen. Im Menü werden Abschnitte mit einem horizontalen Strich unterteilt.

Name Verpflichtend Typ Default Beschreibung
about nein about Mit diesem Modul lassen sich spezifische Portalinformationen anzeigen wie z.B. Beschreibungstext, Masterportalversion, Metadaten.
addWMS nein addWMS Mit diesem Modul lassen sich Layer eines WMS laden. Die Angabe erfolgt über eine URL. Es werden alle Layer des Dienstes geladen und im Themenbaum angezeigt.
bufferAnalysis nein bufferAnalysis In der Buffer-Analyse muss ein Quell-Layer, ein Buffer-Radius und ein Ziel-Layer ausgewählt werden. Buffer-Radien werden um die Features des Quell-Layers dargestellt. Sobald ein Ziel-Layer gewählt wurde, werden nur die Features dieses Layers hervorgehoben, welche sich außerhalb der Buffer-Radien befinden. Auch eine invertierte Anzeige ist möglich. Bei dieser werden nur die Features des Ziel-Layers innerhalb der Radien hervorgehoben.
contact nein contact Das Kontaktformular bietet dem Benutzer die Möglichkeit an das konfigurierte Postfach eine Nachricht zu senden. Es können beispielsweise Fehler oder Wünsche und Anregungen gemeldet und Screenshots können beigefügt werden.
compareMaps nein compareMaps Dieses Tool ermöglicht es Benutzern, zwei Layer nebeneinander mit einem Layer-Swiper zu vergleichen.
coordToolkit nein coordToolkit Koordinatenabfrage: Werkzeug um Koordinaten und Höhe per Maus-Klick abzufragen: Bei Klick in die Karte werden die Koordinaten in der Anzeige eingefroren und können auch direkt in die Zwischenablage kopiert werden. 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. Die Koordinatensysteme werden aus der config.js bezogen.
copyrightConstraints nein copyrightConstraints Dieses Modul lädt die Nutzungshinweise über eine CSW Schnittstelle und listed diese je Layer. Sind keine Nutzungshinweise für den Layer vorhanden, wird alternativ ein Kontakt angezeigt, bei dem man die Nutzungsbedingungen erfragen kann.
customMenuElement nein customMenuElement Dieses Modul kann einen Link öffnen, HTML aus config.json oder einer externen Datei anzeigen oder eine Aktion ausführen. Diese Modul kann mehrfach in der config.json konfiguriert werden.
draw nein draw !Attention: Das draw Modul befindet sich gerade im Refactoring. Um das gewohnte Zeichentool aus Masterportalversion 2 zu nutzen kann der type "draw_old" verwendet werden)! Mithilfe des Zeichnen-Werkzeuges können Punkte, Linien, Polygone, Kreise, Doppelkreise und Texte gezeichnet werden. Farben und Transparenzen sind voreingestellt. Die Zeichnungen können in den Formaten: KML, GeoJSON oder GPX heruntergeladen werden.(Das sich im Moment im Rectoring befindente neue draw Modul können sie mit dem type "draw" testen)
featureLister nein featureLister Listet alle Features eines Vektorlayers auf.
fileImport nein fileImport Import von Dateien des Typs .kml, .geojson und *. gpx. Über dieses Modul können solche Dateien importiert werden.
filter nein filter Konfiguration eines fortgeschrittenen Filters für Vektordaten.
language nein language In diesem Modul lässt sich die Sprache des Portals umschalten.
layerClusterToggler nein layerClusterToggler Mit diesem Modul lassen sich Layer in Clustern gleichzeitig aktivieren/laden und deaktivieren.
layerSlider nein layerSlider Mit dem Layerslider lassen sich beliebige Dienste in einer Reihenfolge abspielen. Zum Beispiel geeignet für Luftbilder aus verschiedenen Jahrgängen.
login nein login Konfiguration der Anmeldung bei einem OIDC-Server.
measure nein measure Messwerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km/nm bzw m²/ha/km² gewechselt werden.
news nein news Dieses Modul zeigt alle Meldungen aus der newsFeedPortalAlerts.json und der config.json des aktuellen Portals unabhängig des "gelesen" Status.
openConfig nein openConfig Mit diesem Modul lässt sich eine Konfigurationsdatei (config.json) zur Laufzeit neu laden. Die Module und Karte werden an die neue Konfiguration angepasst.
print nein print Druckmodul mit dem die Karte als PDF exportiert werden kann.
routing nein routing Routing Modul zur Erstellung von Routenplanungen und Erreichbarkeitsanalysen.
scaleSwitcher nein scaleSwitcher Modul zum Ändern des aktuellen Maßstabs der Karte.
selectFeatures nein selectFeatures Ermöglicht Auswahl von Features durch Ziehen einer Box und Einsehen derer GFI-Attribute.
shadow nein shadow Konfigurationsobjekt für die Schattenzeit im 3D-Modus.
statisticDashboard no statisticDashboard Werkzeug zur Anzeige von statistischen Daten.
shareView nein shareView Modul, um einen Link zur aktuellen Karten-Ansicht zu teilen.
styleVT nein styleVT Style-Auswahl zu VT-Diensten. Ermöglicht das Umschalten des Stylings eines Vector Tile Layers, wenn in der services.json mehrere Styles für ihn eingetragen sind.
wfsSearch nein wfsSearch Ermöglicht es ein Formular zu erstellen, um einen WFS Layer abgekoppelt von der Suchleiste mittels Filter anzufragen. Es ist möglich entweder eine gespeicherte Anfrage (Stored Query, WFS@2.0.0) zu nutzen oder eine Anfrage mithilfe der konfigurierten Parameter zu definieren (WFS@1.1.0).
wfst nein wfst WFS-T Modul mit dem Features visualisiert, erstellt, aktualisiert und gelöscht werden können.

portalConfig.menu.sections.modules🔗
Name Verpflichtend Typ Default Beschreibung
description nein String Beschreibung zu einem Modul, die im Menü angezeigt wird.
icon nein String Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String Name des Moduls im Menü.
showDescription nein String Gibt an ob die Beschreibung zum Modul im Menü angezeigt werden soll.
supportedDevices nein String Geräte auf denen das Modul verwendbar ist und im Menü angezeigt wird.
supportedMapModes nein String Karten modi in denen das Modul verwendbar ist und im Menü angezeigt wird.
type nein String Der type des Moduls. Definiert welches Modul konfiguriert ist.

portalConfig.menu.sections.modules.about🔗

Mit diesem Modul lassen sich spezifische Portalinformationen anzeigen wie z.B. Beschreibungstext, Masterportalversion, Metadaten.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-info-circle" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.about.name" Name des Moduls im Menü.
type nein String "about" Der type des Moduls. Definiert welches Modul konfiguriert ist.
abstractText nein String "" Beschreibungstext des Portals
contact no String null Metadaten Kontaktinformationen
cswUrl nein String "../../src/assets/img/Logo_Masterportal.svg" Metadaten URL
logoLink nein String "https://masterportal.org" Link des Logos
logoText nein String "Masterportallogo" Text bei nicht anzeigbarem Logo
metaDataCatalogueId nein String "2" Id des Metadatenkatalogdienstes
metaId nein String "" Id des Metadateneintrages
metaUrl nein String "" URL des Metadateneintrages
noMetadataLoaded nein String "" Text bei nicht anzeigbaren Metadaten
showAdditionalMetaData nein Boolean true Metadatenlink zu erweiterten Metadaten anzeigen
title nein String "" Titel der Metadaten
version nein String "" Versionangabe des Masterportals
versionLink nein String "https://bitbucket.org/geowerkstatt-hamburg/masterportal/downloads/" Link zu der Masterportalversion
ustId nein String "" Umsatzsteueridentifikationsnummer gem. § 27 Umsatzsteuergesetz
privacyStatementText no String "common:modules.about.privacyStatementText" Text für den Datenschutzabschnitt
privacyStatementUrl no String "" URL zu der Datenschutzerklärungsseite
accessibilityText no String "common:modules.about.accessibilityText" Text für den Barrierefreiheitsabschnitt
accessibilityUrl no String "" URL zu der Barrierefreiheitserklärungsseite
Beispiel
{
    "icon": "bi-cloud-circle",
    "name": "common:modules.about.name",
    "type": "about",
    "cswUrl": "https://metaver.de/csw",
    "metaUrl": "https://metaver.de/trefferanzeige?docuuid=40D48B03-AD1D-407B-B04D-B5BC6855BE15",
    "metaId": "40D48B03-AD1D-407B-B04D-B5BC6855BE15"
}

portalConfig.menu.sections.modules.addWMS🔗

Mit diesem Modul lassen sich zusätzliche WMS Layer über eine angegebene URL laden.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-cloud-plus" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.addWMS.name" Name des Moduls im Menü..
type nein String "addWMS" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-cloud-plus",
    "name": "common:modules.addWMS.name",
    "type": "addWMS"
}

portalConfig.menu.sections.modules.bufferAnalysis🔗

Mit diesem Modul lassen sich die Features eines Ziel-Layers anzeigen, die sich inner- oder außerhalb einer Kreisfläche um die Features eines Quell-Layers befinden. Dabei wird die Kreisfläche, ausgehend von den Quell-Layer Features, über den Buffer-Radius definiert. Die Quell- und Ziel-Layer benötigen hierzu vektorbasierte Daten aus WFS(❗) Diensten.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-arrows-angle-expand" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.bufferAnalysis.name" Name des Moduls im Menü..
type nein String "bufferAnalysis" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-arrows-angle-expand",
    "name": "common:modules.bufferAnalysis.name",
    "type": "bufferAnalysis"
}

portalConfig.menu.sections.modules.contact🔗

Mit diesem Modul, kann der Benutzer mit einem definierten Postfach Kontakt aufnehmen. Es kann eine Datei, z.B. ein Screenshot beigefügt werden.

ACHTUNG: Backend notwendig!

Das Modul Contact kommuniziert mit einem SMTP-Server und ruft dort die sendmail.php auf.

Name Verpflichtend Typ Default Beschreibung
closeAfterSend nein Boolean false Kennzeichen, ob das Kontaktfenster nach erfolgreichem Versenden einer Nachricht geschlossen werden soll.
configuredFileExtensions nein String[] Zusätzliche Dateierweiterungen zu "png", "jpg" und "jpeg". Das Backend muss diese Dateitypen unterstützen.
contactInfo nein String Weitere Informationen, welche oberhalb des Kontaktformulars angezeigt werden.
deleteAfterSend nein Boolean false Kennzeichen, ob der Inhalt des Kontaktfensters nach erfolgreichem Versenden der Nachricht gelöscht werden soll.
fileUpload nein Boolean false Kennzeichen, ob der Dateiupload verfügbar sein soll.
from ja email[] Absender der Email. Bitte den untenstehenden Hinweis zur Email-Sicherheit beachten.
icon nein String "bi-envelope" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
includeSystemInfo nein Boolean false Kennzeichen, ob Systeminformationen des Absenders mitgeschickt werden sollen.
locationOfCustomerService nein String "de" Land, in welchem sich der Kundensupport befindet. Wird verwendet für das Datum innerhalb der ticketId.
maxFileSize nein Number 1048576 Die maximale Dateigröße in bytes für hochladbare Inhalte. Standard: 1MB.
maxLines nein Number 5 Anzahl der Zeilen (Höhe) des Textbereiches des Formulars.
name nein String "common:modules.contact.name" Name des Moduls im Menü.
privacyPolicyLink nein String "https://www.masterportal.org/datenschutz.html" Link zur Datenschutzerklärung. Sollte gesetzt werden, wenn showPrivacyPolicy true ist.
serviceId ja String Id des Email-Dienstes der verwendet werden soll. Wird aus der rest-services.json bezogen.
showPrivacyPolicy nein Boolean false Kennzeichen, ob eine Checkbox angezeigt werden soll, um der Datenschutzerklärung zuzustimmen.
subject nein String Der Betreff, welcher für die Email verwendet wird.
to ja email[] Adressat der Email. Bitte den untenstehenden Hinweis zur Email-Sicherheit beachten.
type nein String "contact" Der type des Moduls. Definiert welches Modul konfiguriert ist.
withTicketNo nein Boolean true Kennzeichen, ob bei erfolgreichem Versand der Anfrage eine Ticketnummer zurückgegeben werden soll.
infoMessage nein String "common:modules.contact.infoMessage" Satz zur Erläuterung

Beispiel

{
    "type": "contact",
    "name": "common:menu.contact",
    "icon": "bi-envelope",
    "serviceId": "123",
    "from": [
        {
            "email": "lgvgeoportal-hilfe@gv.hamburg.de",
            "name": "LGVGeoportalHilfe"
        }
    ],
    "to": [
        {
            "email": "lgvgeoportal-hilfe@gv.hamburg.de",
            "name": "LGVGeoportalHilfe"
        }
    ],
    "fileUpload": true,
    "includeSystemInfo": true,
    "closeAfterSend": true,
    "deleteAfterSend": true,
    "withTicketNo": false
}

Hinweis zur Email-Sicherheit

Von der ungeprüften Übernahme von Sender (FROM), Empfänger (TO), Kopie (CC) und Blindkopie (BCC) durch den SMTP-Server wird hiermit aus Sicherheitsgründen ausdrücklich abgeraten. Vor der ungeprüften Übernahme durch den SMTP-Server der Kunden-Email als Antwort an (REPLY-TO) wird gewarnt.

Wir empfehlen dringend FROM und TO am SMTP-Server manuell fest einzustellen, ohne eine Möglichkeit zur externen Konfiguration anzubieten.

Aus Sicherheitsgründen darf der vom Masterportal an den SMTP-Server geschickte Sender (FROM) und der Empfänger (TO) nicht ungeprüft vom SMTP-Server als FROM und TO für die Email verwendet werden. Ansonsten entsteht eine Lücke über die Schad-Mails mit manipuliertem FROM und TO über den SMTP-Server versendet werden. Sollte dennoch eine Konfiguration im Masterportal gewünscht sein (siehe Beispiel oben), können die Parameter from und to unter dem Vorbehalt verwendet werden, dass from und to am SMTP-Server gegen eine Whitelist mit erlaubten Email-Adressen geprüft und das Versenden einer Email im Falle der Angabe inkorrekter Email-Adressen unterbunden wird.

Wir empfehlen auf das automatische Setzen in CC (bzw. BCC) der Email-Adresse des Kunden zu verzichten.

Aus Sicherheitsgründen darf der Kunde nicht automatisch als Kopie (CC) oder Blindkopie (BCC) der Email gesetzt werden. Ein solcher Automatismus wird missbraucht um durch Angabe einer Fremd-Email-Adresse Schad-Mails über den SMTP-Server zu versenden.

Wir empfehlen dringend CC und BCC am SMTP-Server manuell zu nullen.

Es darf keine Möglichkeit geben Kopie (CC) oder Blindkopie (BCC) über das Masterportal einzustellen. Ein solches Feature wird zum Versenden von Schad-Mails über den SMTP-Server missbraucht.

Wir warnen vor der automatischen Einstellung der Kunden-Mail als REPLY-TO.

Die ungeprüfte Übernahme von Daten in den Email-Header ist je nach Sicherheitsstand (bzw. Alter) des SMTP-Servers mit dem Risiko verbunden, dass im einfachsten Fall durch Injektion von Carriage Return und Line Feed in z.B. REPLY-TO aus der Email-Header-Zeile ausgebrochen und der Email-Header selbst manipuliert wird (Beispiel: "test@example.com\r\nBCC:target1@example.com,target2@example.com,(...),target(n)@example.com"). In einem abstrakteren Fall sind auch UTF-Attacken denkbar, bei der eigentlich harmlose UTF-16- oder UTF-32-Zeichen durch Interpretation als ANSI oder UTF-8 zu Verhaltensänderungen des Email-Headers mit einem ähnlichen Ergebnis führen.


portalConfig.menu.sections.modules.contact.email🔗

Email Objekt bestehend aus der Email-Adresse und dem angezeigten Namen.

Name Verpflichtend Typ Default Beschreibung
email nein String Die Email-Adresse.
name nein String Der angezeigte Name.

Beispiel

{
    "email": "lgvgeoportal-hilfe@gv.hamburg.de",
    "name":"LGVGeoportalHilfe"
}

portalConfig.menu.sections.modules.compareMaps🔗

Dieses Tool ermöglicht es Benutzern, zwei Layer nebeneinander mit einem Layer-Swiper zu vergleichen. Benutzer wählen Layer aus den aktiven, sichtbaren Layern aus, und der Swiper teilt die Karte, um jeden Layer in separaten Abschnitten anzuzeigen. Das Tool unterstützt WMS- und WFS-Layer und stellt sicher, dass die Layer vollständig aktualisiert werden, bevor der Swiper bewegt wird, um einen genauen Vergleich zu ermöglichen.

Name Verpflichtend Typ Default Beschreibung
type nein String "compareMaps" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Example

{
    "type": "compareMaps",
}

portalConfig.menu.sections.modules.coordToolkit🔗

Koordinaten-Werkzeug: um zusätzlich zu den 2 dimensionalen Koordinaten die Höhe über NHN anzuzeigen muß eine 'heightLayerId' eines WMS-Dienstes angegeben werden, der die Höhe liefert. Es wird das Format XML erwartet und das Attribut für die Höhen wird unter dem Wert des Parameters 'heightElementName' erwartet.

Name Verpflichtend Typ Default Beschreibung
coordInfo nein coordInfo Hier kann ein Objekt mit Erläuterungen für die Koordinatenreferenzsysteme hinterlegt werden.
delimiter nein String "Pipe-Symbol" Trenner der Koordinaten beim Kopieren des Koordinatenpaares
heightElementName nein String Koordinatenabfrage: Der Element-Name unter dem die Höhe in dem XML gesucht wird
heightLayerId nein String Koordinatenabfrage: Id des WMS-Layers der die Höhe im XML-Format liefert. Wenn nicht definiert, dann wird keine Höhe angezeigt.
heightLayerInfo nein String Hier kann eine Erläuterung für die Höhe hinterlegt werden.
heightValueBuilding nein String Koordinatenabfrage: Der Wert im unter "heightElementName" definierten Element, der für eine nicht gemessene Höhe im Gebäude-Bereich vom WMS geliefert wird, es wird der internationalisierte Text "Gebäudefläche, keine Höhen vorhanden" unter dem Schlüssel "common:modules.coordToolkit.noHeightBuilding" in der Oberfläche angezeigt. Wenn dieses Attribut nicht angegeben wird, dann wird der Text, den das WMS liefert angezeigt.
heightValueWater nein String Koordinatenabfrage: Der Wert im unter "heightElementName" definierten Element, der für eine nicht gemessene Höhe im Wasser-Bereich vom WMS geliefert wird, es wird der internationalisierte Text "Gewässerfläche, keine Höhen vorhanden" unter dem Schlüssel "common:modules.coordToolkit.noHeightWater" in der Oberfläche angezeigt. Wenn dieses Attribut nicht angegeben wird, dann wird der Text, den das WMS liefert angezeigt.
icon no String "bi-globe" Das Icon, das im Button für das Modul gezeigt wird. Hier eine Auswahl Bootstrap Icons.
name no String "common:modules.coordToolkit.name" Name des Moduls im Menu.
showCopyButtons nein Boolean true Schalter um die Buttons zum Kopieren der Koordinaten anzuzeigen oder auszublenden.
type nein String "coordToolkit" Der type des Moduls. Definiert welches Modul konfiguriert ist.
zoomLevel nein Number 7 Koordinatensuche: Gibt an, auf welches ZoomLevel gezoomt werden soll.

Beispiel

{
    "type": "coordToolkit",
    "heightLayerId": "19173",
    "heightElementName": "value_0",
    "heightValueWater": "-20",
    "heightValueBuilding": "200",
    "zoomLevel": 5,
    "heightLayerInfo": "Grundlage der Höheninformation ist das \"Digitalge Höhenmodell Hamburg DGM 1\".",
    "showDescription": true,
    "description": "Bestimme Koordinaten aus der Karte oder suche nach Koordinaten.",
    "coordInfo": {
        "title": "Koordinatenreferenzsystem für 2D-Lageangaben, Erläuterungen",
        "explanations": [
        "ETRS89_UTM32, EPSG 4647 (zE-N): Bezugssystem ETRS89, Abbildungsvorschrift UTM, Zone 32",
        "EPSG 25832: Erklärung..."
        ]
    }
}

portalConfig.menu.sections.modules.coordToolkit.coordInfo🔗
Name Verpflichtend Typ Default Beschreibung
explanations nein Explanations[] Array mit Erklärungen, aus denen eine Liste erstellt wird.
title nein string Überschrift für die Erläuterungen zu den Koordinatenreferenzsystemen.

portalConfig.menu.sections.modules.copyrightConstraints🔗

Listet die Nutzungshinweise der aktiven Layer auf.

Name Verpflichtend Typ Default Beschreibung
type nein String "copyrightConstraints" Der type des Moduls. Definiert welches Modul konfiguriert ist.
Beispiel
{
    "type": "copyrightConstraints"
}

portalConfig.menu.sections.modules.customMenuElement🔗

Dieses Modul kann einen Link öffnen, HTML aus config.json oder einer externen Datei anzeigen oder eine Aktion ausführen. Diese Modul kann mehrfach in der config.json konfiguriert werden. Wenn htmlContent angegeben wird, dann wird pathToContent nicht ausgeführt und umgekehrt.

Name Verpflichtend Typ Default Beschreibung
execute nein execute Aktion, die mit dem Klick auf den Menü-Eintrag ausgeführt werden soll.
htmlContent nein String HTML, das in dem Modul angezeigt wird. Das HTML wird nicht validiert, die Verantwortung für die Sicherheit des HTMLs liegt beim Betreiber des Portals.
icon nein String "bi-asterisk" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String Name des Moduls im Menü.
openURL nein String Url die mit dem Klick auf den Menü-Eintrag in einem neuen Tab geöffnet werden soll.
pathToContent nein String Pfad zu einer Datei, die HTML enthält, das in dem Modul angezeigt wird. Das HTML wird nicht validiert, die Verantwortung für die Sicherheit des HTMLs liegt beim Betreiber des Portals.
type ja String "customMenuElement" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

 {
    "type": "customMenuElement",
    "name": "Url öffnen",
    "openURL": "https://geoinfo.hamburg.de/"
 },
{
    "type": "customMenuElement",
    "name": "Url öffnen und HTML anzeigen",
    "openURL": "https://geoinfo.hamburg.de/",
    "htmlContent": "<div><h1>This is a Heading</h1><p>Es wurde eine Url geöffnet.<p/></div>"
},
{
    "type": "customMenuElement",
    "name": "HTML aus config.json und Action",
    "htmlContent": "<div><p>This is a paragraph.</p></br><a href=\"https://www.w3schools.com/\" target=\"_blank\">Visit W3Schools.com!</a></div>",
    "execute":{
        "action": "Alerting/addSingleAlert",
        "payload":  {"title":"An alle Menschen", "content": "Hallo Welt"}
    }
}

portalConfig.menu.sections.modules.customMenuElement.execute🔗

CustomMenuElement Module execute Optionen.

Name Verpflichtend Typ Default Beschreibung
action ja String Name und ggf. Pfad der Aktion, die ausgeführt werden soll.
payload nein Payload Payload, der an die Aktion übergeben wird.

Beispiel

{
    "action": "Alerting/addSingleAlert",
    "payload":  {"title":"An alle Menschen", "content": "Hallo Welt"}
}

portalConfig.menu.sections.modules.draw🔗

Ongoing Refactoring

Das draw Modul befindet sich gerade im Refactoring. Um das gewohnte Zeichentool aus Masterportalversion 2 zu nutzen kann der type "draw_old" verwendet werden! Mithilfe des Zeichnen-Werkzeuges können Punkte, Linien, Polygone, Kreise, Doppelkreise und Texte gezeichnet werden. Farben und Transparenzen sind voreingestellt. Die Zeichnungen können in den Formaten: KML, GeoJSON oder GPX heruntergeladen werden. (Das sich im Moment im rectoring befindente neue draw Modul können sie mit dem type "draw" testen)

Name Verpflichtend Typ Default Beschreibung
name ja String Name des Werkzeugs im Menü.
iconList nein icon[] [{"id": "iconPoint", "type": "simple_point", "value": "simple_point"}, {"id": "yellow pin", "type": "image", "scale": 2, "value": "geo-fill-ylw.svg"}] Liste an Symbolen, aus welcher ein Nutzer die Auswahl für das Zeichnen eines farbigen Punktes oder eines Symbols hat. Es können wie im Beispiel eigene Bild-Dateien verwendet werden.
drawSymbolSettings nein drawSymbolSet {"color": [55, 126, 184, 1], "opacity": 1} Voreinstellung für das Zeichnen von Symbolen.
addIconsOfActiveLayers nein Boolean false Setzen Sie dieses Flag auf true um die Icons und Symbole aller im Themenbaum aktivierten WFS-Layer als zusätzliche Symbole neben den unter drawSymbolSettings konfigurierten Icons auswählen zu können.
drawLineSettings nein drawLineSet {"strokeWidth": 1, "opacityContour": 1, "colorContour": [0, 0, 0, 1]} Voreinstellung für das Zeichnen von Linien.
drawCurveSettings nein drawCurveSet {"strokeWidth": 1, "opacityContour": 1, "colorContour": [0, 0, 0, 1]} Voreinstellung für das Zeichnen von Freihand-Linien.
drawAreaSettings nein drawAreaSet {"strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "opacityContour": 1} Voreinstellung für das Zeichnen von Flächen.
drawCircleSettings nein drawCircleSet {"circleMethod": "interactive", "unit": "m", "circleRadius": null, "strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "opacityContour": 1, "tooltipStyle": {"fontSize": "16px", "paddingTop": "3px", "paddingLeft": "3px", "paddingRight": "3px", "backgroundColor": "rgba(255, 255, 255, .9)"}} Voreinstellung für das Zeichnen von Kreisen.
drawDoubleCircleSettings nein drawDoubleCircleSet {"circleMethod": "defined", "unit": "m", "circleRadius": 0, "circleOuterRadius": 0, "strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "outerColorContour": [0, 0, 0, 1], "opacityContour": 1} Voreinstellung für das Zeichnen von Doppel-Kreisen.
writeTextSettings nein writeTextSet {"text": "", "fontSize": 10, "font": "Arial", "color": [55, 126, 184, 1], "opacity": 1} Voreinstellung für das Schreiben von Texten.
download nein download {"preSelectedFormat": "KML"} Einstellungen für das Herunterladen der Zeichnung.
enableAttributesSelector nein Boolean false Aktiviert einen Knopf zum Umschalten eines Bereiches zum Editieren von benutzerdefinierten Attributen an dem bereits ausgewählten Feature.
semicolonCSVDelimiter nein Boolean true Legt fest, ob Semicolon als der Feldtrenner für exportierte CSV Datei ist.

Beispiel

{
    "type": "draw_old",
    "name": "Zeichnen / Schreiben",
    "icon": "bi-pencil-flll",
    "iconList": [
        {
            "id": "iconPoint",
            "type": "simple_point",
            "value": "simple_point"
        },
        {
            "id": "iconMeadow",
            "type": "image",
            "scale": 0.8,
            "value": "wiese.png"
        },
        {
            "id": "gelber Pin",
            "type": "image",
            "scale": 2,
            "value": "geo-fill-ylw.svg"
        }
    ],
    "drawDoubleCircleSettings": {
        "circleRadius": 1500,
        "circleOuterRadius": 3000,
        "strokeWidth": 3,
        "color": [55, 126, 184, 0],
        "opacity": 0,
        "colorContour": [228, 26, 28, 1],
        "opacityContour": 1,
        "tooltipStyle": {
            "fontSize": "14px",
            "paddingTop": "3px",
            "paddingLeft": "3px",
            "paddingRight": "3px",
            "backgroundColor": "rgba(255, 255, 255, .9)"
        }
    }
    "semicolonCSVDelimiter": true
}

portalConfig.menu.sections.modules.draw.icon🔗

Punkt Objekt, bestehend aus der Beschriftung, dem Typ und dem Wert.

Name Verpflichtend Typ Default Beschreibung
id ja String Die Beschriftung des Symbols, welche im Auswahlmenü dargestellt wird. Diese muss in der Sprachdatei (meistens common) angelegt werden unter dem Punkt modules.draw.iconList, wobei der darauffolgende Parameter standardmäßig mit icon beginnen und eine repräsentative Beschreibung darstellen sollte. Wird dieser Schlüssel in der Übersetzungesdatei nicht gefunden, dann wird die id in der Oberfläche angezeigt.
caption nein String Deprecated in 3.0.0 Die Beschriftung des Symbols, welche im Auswahlmenü dargestellt wird. Ggü. der id muss hier nicht die id aus der Sprachdatei sondern der gesamte Pfad (modules.draw.iconList + id) angegeben werden.
type ja enum["image", "simple_point"] Typ des zu zeichnenden Objektes.Bei image wird ein Bild gezeichnet, welches dem PNG-Bild oder der svg-Datei des Pfades aus value entspricht. Diese Bilder werden standardmäßig im Verzeichnis /img/draw/ abgelegt und sollten eine Seitenlänge von 96px für eine korrekte Skalierung aufweisen, alternativ kann ein scale-Faktor angegeben werden. Bei simple_point wird ein normaler Punkt gezeichnet.
scale nein number Skalierungsfaktor
value ja String Wert, des zu zeichnenden Objektes. Wenn ohne Pfad oder Url, dann wird der Eintrag aus der config.js - wfsImgPath als Dateiort angenommen.

Beispiele

    {
        "id": "iconPoint",
        "type": "simple_point",
        "value": "simple_point"
    },
    {
        "id": "iconMeadow",
        "type": "image",
        "scale": 0.8,
        "value": "wiese.png"
    },
    {
        "id": "gelber Pin",
        "type": "image",
        "scale": 2,
        "value": "geo-fill-ylw.svg"
    },

portalConfig.menu.sections.modules.draw.drawSymbolSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes des Punkt-Symbols im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
color ja Number[] [55, 126, 184, 1] Die voreingestellte Farbe des Symbols als RGB color array mit Alpha-Kanal, wenn es sich um einen Punkt handelt.
opacity ja Number 1 Die voreingestellte Transparenz des Symbols in einer Range [0..1], wenn es sich um einen Punkt handelt.

Beispiel

    {
        color: [55, 126, 184, 1],
        opacity: 1
    }

portalConfig.menu.sections.modules.draw.drawLineSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für eine Linie im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
strokeWidth ja Number 1 Die voreingestellte Strichstärke (Dicke) der Linie in Pixel.
colorContour ja Number[] [0, 0, 0, 1] Die voreingestellte Farbe der Linie als RGB color array mit Alpha-Kanal.
opacityContour ja Number 1 Die voreingestellte Transparenz der Linie in einer Range [0..1].

Beispiel

    {
        strokeWidth: 1,
        opacityContour: 1,
        colorContour: [0, 0, 0, 1]
    }

portalConfig.menu.sections.modules.draw.drawCurveSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für eine Freihandlinie im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
strokeWidth ja Number 1 Die voreingestellte Strichstärke (Dicke) der Freihandlinie in Pixel.
colorContour ja Number[] [0, 0, 0, 1] Die voreingestellte Farbe der Freihandlinie als RGB color array mit Alpha-Kanal.
opacityContour ja Number 1 Die voreingestellte Transparenz der Freihandlinie in einer Range [0..1].

Beispiel

    {
        strokeWidth: 1,
        opacityContour: 1,
        colorContour: [0, 0, 0, 1]
    }

portalConfig.menu.sections.modules.draw.drawAreaSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für eine Fläche im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
strokeWidth ja Number 1 Die voreingestellte Strichstärke (Dicke) des Randes der Fläche in Pixel.
color ja Number[] [55, 126, 184, 1] Die voreingestellte Farbe der Fläche als RGB color array mit Alpha-Kanal.
opacity ja Number 1 Die voreingestellte Transparenz der Fläche in einer Range [0..1].
colorContour ja Number[] [0, 0, 0, 1] Die voreingestellte Rand-Farbe der Fläche als RGB color array mit Alpha-Kanal.
opacityContour ja Number 1 Die voreingestellte Transparenz der Rand-Farbe der Fläche in einer Range [0..1].

Beispiel

    {
        strokeWidth: 1,
        color: [55, 126, 184, 1],
        opacity: 1,
        colorContour: [0, 0, 0, 1],
        opacityContour: 1
    }

portalConfig.menu.sections.modules.draw.drawCircleSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für einen Kreis im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
circleMethod ja String "interactive" Die voreingestellte Methode wie der Kreis gezogen werden soll. "interactive": Freihand, "defined": mit Angabe fixer Werte
unit ja String "m" Die voreingestellte Maßeinheit mit der der Durchmesser des Kreises unter der circleMethod "defined" berechnet werden soll.
circleRadius ja Number 0 Der voreingestellte Durchmesser des Kreises bezogen auf die Unit unter der circleMethod "defined".
strokeWidth ja Number 1 Die voreingestellte Strichstärke (Dicke) des Randes des Kreises in Pixel.
color ja Number[] [55, 126, 184, 1] Die voreingestellte Farbe des Kreises als RGB color array mit Alpha-Kanal.
opacity ja Number 1 Die voreingestellte Transparenz des Kreises in einer Range [0..1].
colorContour ja Number[] [0, 0, 0, 1] Die voreingestellte Rand-Farbe des Kreises als RGB color array mit Alpha-Kanal.
opacityContour ja Number 1 Die voreingestellte Transparenz der Rand-Farbe des Kreises in einer Range [0..1].
tooltipStyle nein String {} Die voreingestellte Style des Tooltips

Beispiel

    {
        circleMethod: "interactive",
        unit: "m",
        circleRadius: 0,
        strokeWidth: 1,
        color: [55, 126, 184, 1],
        opacity: 1,
        colorContour: [0, 0, 0, 1],
        opacityContour: 1
    }

portalConfig.menu.sections.modules.draw.drawDoubleCircleSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für einen Doppelkreis im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
circleMethod ja String "defined" Die voreingestellte Methode wie der Doppelkreis gezogen werden soll. "interactive": Freihand, "defined": mit Angabe fixer Werte
unit ja String "m" Die voreingestellte Maßeinheit mit der der Durchmesser des Doppelkreises unter der circleMethod "defined" berechnet werden soll.
circleRadius ja Number 0 Der voreingestellte Durchmesser des inneren Ringes des Doppelkreises bezogen auf die Unit unter der circleMethod "defined".
circleOuterRadius ja Number 0 Der voreingestellte Durchmesser des äußeren Ringes des Doppelkreises bezogen auf die Unit unter der circleMethod "defined".
strokeWidth ja Number 1 Die voreingestellte Strichstärke (Dicke) des Randes des Doppelkreises in Pixel.
color ja Number[] [55, 126, 184, 1] Die voreingestellte Farbe des Doppelkreises als RGB color array mit Alpha-Kanal.
opacity ja Number 1 Die voreingestellte Transparenz des Doppelkreises in einer Range [0..1].
colorContour ja Number[] [0, 0, 0, 1] Die voreingestellte innere Ring-Farbe des Doppelkreises als RGB color array mit Alpha-Kanal.
outerColorContour ja Number[] [0, 0, 0, 1] Die voreingestellte äußere Ring-Farbe des Doppelkreises als RGB color array mit Alpha-Kanal.
opacityContour ja Number 1 Die voreingestellte Transparenz der Rand-Farbe des Doppelkreises in einer Range [0..1].

Beispiel

    {
        circleMethod: "defined",
        unit: "m",
        circleRadius: 0,
        circleOuterRadius: 0,
        strokeWidth: 1,
        color: [55, 126, 184, 1],
        opacity: 1,
        colorContour: [0, 0, 0, 1],
        opacityContour: 1
    }

portalConfig.menu.sections.modules.draw.writeTextSet🔗

Objekt zum Ändern des konfigurierten Default-Wertes für einen Text im Zeichen-Tool.

Name Verpflichtend Typ Default Beschreibung
text ja String "" Der voreingestellte Text.
fontSize ja Number 10 Die voreingestellte Schriftgröße.
font ja String "Arial" Die voreingestellte Schriftart (beschränkt auf "Arial", "Calibri" oder "Times New Roman").
color ja Number[] [55, 126, 184, 1] Die voreingestellte Farbe der Fläche als RGB color array mit Alpha-Kanal.
opacity ja Number 1 Die voreingestellte Transparenz der Fläche in einer Range [0..1].

Beispiel

    {
        text: "",
        fontSize: 10,
        font: "Arial",
        color: [55, 126, 184, 1],
        opacity: 1
    }

portalConfig.menu.sections.modules.draw.download🔗

Objekt zum Ändern des voreingestellten Formats beim Herunterladen einer Zeichnung. Das ist eins von "KML", "GPX", "GEOJSON".

Name Verpflichtend Typ Default Beschreibung
preSelectedFormat nein enum["KML","GEOJSON","GPX"] "KML" Die voreingestellte pre-selected form.

Example

{
    "preSelectedFormat": "KML"
}

portalConfig.menu.sections.modules.featureLister🔗

Dieses Modul kann geladene Vektordaten von WFS(❗) Layern in einer Tabelle darstellen. Alle sichtbaren Vektorlayer aus der Karte werden im ersten Reiter angezeigt. Die Features des Layers werden im zweiten Reiter der Tabelle aufgelistet. Die Anzahl der angezeigten Features ist konfigurierbar.

Sobald man den Mauszeiger über einem Feature in der Liste positioniert wird dieses in der Karte hervorgehoben. Durch Klick auf ein Feature werden dessen Attribute in einem dritten Reiter sortierbar dargestellt.

Name Verpflichtend Typ Default Beschreibung
highlightVectorRulesPointLine nein highlightVectorRulesPointLine Angabe der Umriss-Farbe und -Strichstärke für das Hervorheben von Linien und einer Füllfarbe sowie eines Skalierungsfaktors für das Hervorheben von Punkten und einer Zoomstufe.
highlightVectorRulesPolygon nein highlightVectorRulesPolygon Angabe der Füllfarbe und der Umriss-Farbe und -Strichstärke für das Hervorheben der Polygon-Features und einer Zoomstufe.
icon nein String "bi-list" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
maxFeatures nein Integer 20 Anzahl der zu zeigenden Features. Über einen Button können weitere Features in dieser Anzahl zugeladen werden.
name nein String "common:modules.featureLister.name" Name des Moduls im Menü.
type ja String "featureLister" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

"featureLister": {
    "name": "Liste",
    "icon": "bi-list",
    "maxFeatures": 10,
    "highlightVectorRulesPolygon": {
        "fill": {
            "color": [255, 0, 255, 0.9]
        },
        "stroke": {
            "width": 4,
            "color": [0, 0, 204, 0.9]
        },
        "zoomLevel": 5
    },
    "highlightVectorRulesPointLine": {
        "fill": {
            "color": [255, 0, 255, 0.9]
        },
        "stroke": {
            "width": 8,
            "color": [255, 0, 255, 0.9]
        },
        "image": {
            "scale": 2
        },
        "zoomLevel": 5
    }
}

portalConfig.menu.sections.modules.featureLister.highlightVectorRulesPointLine🔗

Angabe der Umriss-Farbe und -Strichstärke für das Hervorheben von Linien und Füllfarbe, sowie Skalierungsfaktor für das Hervorheben von Punkten. Ebenfalls kann eine Zoomstufe angegeben werden.

Name Verpflichtend Typ Default Beschreibung
fill nein Fill [255, 255, 255, 0.5] Mögliche Einstellung: color
image nein Image 1.5 Mögliche Einstellung: scale
stroke nein Stroke 1 Mögliche Einstellung: width
zoomLevel nein Integer 7 Mögliche Einstellung: 0-9

portalConfig.menu.sections.modules.featureLister.highlightVectorRulesPolygon🔗

Angabe der Füll-Farbe und -Strichstärke für das Hervorheben von Polygonen sowie einer Zoomstufe.

Name Verpflichtend Typ Default Beschreibung
fill nein Fill [255, 255, 255, 0.5] Mögliche Einstellung: color
stroke nein Stroke 1 Mögliche Einstellung: width
zoomLevel nein Integer 7 Mögliche Einstellung: 0-9

portalConfig.menu.sections.modules.fileImport🔗

Über dieses Modul können Dateien der Formate ".kml", ".geojson" und "*.gpx" importiert werden.

Name Verpflichtend Typ Default Beschreibung
enableZoomToExtend nein Boolean false Legt fest, ob der Dateiname als Knopf angezeigt wird, welcher die Möglichkeit bietet, in die importierten Features hineinzuzoomen.
icon nein String "bi-box-arrow-in-down" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.fileImport.name" Name des Moduls im Menü.
type nein String "fileImport" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "type": "fileImport",
    "enableZoomToExtend": true
}

portalConfig.menu.sections.modules.filter🔗

Das Filterwerkzeug bietet eine Reihe von Optionen zum Filtern von Vektordaten aus WFS-, OAF-, GeoJSON-, SensorThingsAPI- und VectorTiles-Diensten an.

Name Verpflichtend Typ Default Beschreibung
geometrySelectorOptions nein filterGeometrySelector[] false Optionen für ein zusätzliches Werkzeug zur Filterung innerhalb eines selbst gezeichneten Gebietes. Sollten Sie dieses Modul in Verbindung mit externer Filterung nutzen (extern: true), denken Sie bitte daran Ihren Layer-Filter mit geometryName zu konfigurieren.
layers nein filterLayer[] [] Konfiguration der zu filternden Layer. Wenn hier ein Array von Layer-Ids angegeben wird, versucht das System eine automatische Ermittlung der Layer- und seine Snippet-Einstellungen.
layerGroups nein filterLayerGroups[] [] Konfiguration der zu filternden zusammengehörenden Layer.
layerSelectorVisible nein Boolean true Verwenden des Auswahl-Selektors für die Layer. Auf false setzen um keine Selektion zu verwenden.
liveZoomToFeatures nein Boolean true Zoomen bei Filterung auf den Browser-Extent der die gefilterten Features umfasst.
minScale nein Integer 5000 Der minimale Zoom-Level an dem das Zoomen nach Filterung immer stoppt.
multiLayerSelector nein Boolean true Wenn layerSelectorVisible auf true gesetzt ist, kann hiermit das Verhalten zum Öffnen mehrerer Selektoren gleichzeitig eingestellt werden.
name nein String "common:modules.filter.name" Name des Moduls im Menü.
saveTo nein String "void" Wenn auf "url" gestellt ist, wird die aktuelle Filtereinstellung abgespeichert. Über das Modul shareView kann ein Link erstellt werden in dem die Einstellungen vom Filter mit enthalten sind.
linkText no String "" Linktext für URL-Link zur aktuellen Filtereinstellung, oder leerer String wenn kein solcher Link angezeigt werden soll. Erfordert "saveTo": "url"
type nein String "filter" Der type des Moduls. Definiert welches Modul konfiguriert ist.
closeGfi nein Boolean false Wenn closeGfi auf true gesetzt ist und ein GFI-Fenster geöffnet ist, wird das GFI-Fenster nach neue Filterung geschlossen.

Beispiel

Beispiel für die Konfiguration eines Filters mit einem einzigen Layer. Der Layer und seine Snippets werden automatisch eingestellt.

{
    "type": "filter",
    "icon": "bi-funnel-fill",
    "layerSelectorVisible": false,
    "geometrySelectorOptions": {
        "visible": true
    },
    "closeGfi": false,
    "layerGroups":
    [
        {
            "title": "GRUPPE 1",
            "layers": [
                {
                    "layerId": "47"
                }
            ]
        }
    ],
    "layers": [
        {
            "layerId": "8712"
        }
    ]
}

portalConfig.menu.sections.modules.filter.filterGeometrySelector🔗

Eine zusätzliche Auswahl erscheint über dem Filter, in der eine Geometrie gewählt und auf der Karte gezeichnet werden kann. Der Filter filtert nur in dem ausgewählten Gebiet. Sollten Sie dieses Modul in Verbindung mit externer Filterung nutzen (extern: true), denken Sie bitte daran Ihren Layer-Filter mit geometryName zu konfigurieren.

Name Verpflichtend Typ Default Beschreibung
additionalGeometries nein Boolean false Geometrien aus einem Layer können dem Filter über die Layer-ID hinzugefügt werden. Zusätzlich muss ein Attribut für den Namen der Geometrie angegeben werden.
circleSides nein Number 256 Die Geometrie "Circle" wird aus technischen Gründen in ein Polygon konvertiert. Dies ist die Anzahl der Polygon-Punkte der resultierenden Geometrie.
defaultBuffer nein Number 20 Der Geometrie "LineString" wird ein Buffer (in Metern) gegeben, um aus dem LineString einen "Schlauch" zu machen. Dies ist der Standard-Abstand von der Mitte zum Rand in Metern.
fillColor nein String "rgba(0, 0, 0, 0.33)" Die Füll-Farbe des Außenbereiches (bzw. der Geometry bei invertGeometry = false).
geometries nein String[] ["Polygon", "Rectangle", "Circle", "LineString"] Die auswählbaren Geometrien und ihre Reihenfolge.
invertGeometry nein Boolean true true: Die Geometry ist transparent, der Außenbereich wird als Schatten dargestellt. false: Die Füll-Angaben gelten für die Geometrie selbst.
strokeColor nein String "rgba(0, 0, 0, 1)" Die Farbe der Umrandung der Geometrie.
strokeWidth nein Number 1 Die Dicke der Umrandung der Geometrie.
visible ja Boolean true Aktiviert den "Geometry-Selector".

Beispiel

Beispiel für die minimale Konfiguration des filterGeometrySelector.

{
    "visible": true
}

Beispiel

Beispiel für eine vollständige Konfiguration mit den Standard-Einstellungen des filterGeometrySelector.

{
    "visible": true,
    "circleSides": 256,
    "defaultBuffer": 20,
    "geometries": ["Polygon", "Rectangle", "Circle", "LineString"],
    "invertGeometry": true,
    "fillColor": "rgba(0, 0, 0, 0.33)",
    "strokeColor": "rgba(0, 0, 0, 1)",
    "strokeWidth": 1,
    "additionalGeometries": [
        {
            "layerId": "1692",
            "attrNameForTitle": "bezirk_name"
        }
    ]
}

Beispiel

Beispiel für eine vollständig veränderte Konfiguration des filterGeometrySelector.

{
    "visible": true,
    "circleSides": 32,
    "defaultBuffer": 60,
    "geometries": ["LineString", "Rectangle", "Circle", "Polygon"],
    "invertGeometry": false,
    "fillColor": "rgba(0, 0, 200, 0.1)",
    "strokeColor": "rgba(255, 0, 0, 1)",
    "strokeWidth": 2
}

portalConfig.menu.sections.modules.filter.filterLayer🔗

Die Konfiguration eines Layers.

Name Verpflichtend Typ Default Beschreibung
active nein Boolean false Auf true setzen, damit der Filter mit diesem geöffneten Filter-Layer initial geöffnet wird - nur verfügbar, wenn layerSelectorVisible auf true steht. Steht multiLayerSelector auf false und mehr als ein Filter-Layer wird auf active true gestellt, dann wird nur das letzte dieser Layer initial geöffnet.
clearAll nein Boolean false Beim Klick auf den Zurücksetzen-Button werden alle Features angezeigt. Wird das clearAll-Flag auf true gestellt, werden beim Zurücksetzen keine Features angezeigt.
collection nein String NUR FÜR VectorTiles: Die collection auf die gefiltert werden soll. Wenn es gesetzt ist, muss der parameter baseOAFUrl an dem layer gesetzt sein um die API Anfragen zu starten.
description nein String "" Die detailierte Beschreibung eines Layers bei geöffnetem Auswahl-Selektor oder immer über dem Filter wenn layerSelectorVisible false ist. Kann ein Übersetzungs-Key sein.
download nein Boolean "" Geben Sie hier ein true für eine Export-Datei an, um das Herunterladen der auf diesem Layer gefilterten Daten zu aktivieren. Es erscheint ein Downloadbereich am Ende des Filters. Für VectorTiles funktioniert nur der CSV-Download.
extern nein Boolean false Stellen Sie dieses Flag auf true, um die Filterung serverseitig durchzuführen. Dies sollte für große Datenmengen in Betracht gezogen werden, die nicht in einem Stück in den Browser geladen werden können. Es ist dann außerdem ratsam das Layer-Flag isNeverVisibleInTree auf true zu stellen, um das Laden des gesamten Datensatzes durch User-Interaktion über den Themenbaum zu verhindern.
filterButtonDisabled nein Boolean false Nur für strategy passive: Der Filter-Knopf wird deaktiviert solange der Benutzer nichts im Filter ausgewählt hat.
filterOnMove nein Boolean Wenn auf true eingestellt, wird der Layer bei Kartenbewegung dynamisch gefiltert. Funktioniert nur in Verbindung mit multiLayerSelector: false. Löst in dieser Verbindung beim Öffnen des Akkordeons die Filterung aus.
filterOnOpen nein Boolean Wenn auf true eingestellt, wird der Filter bei Klick auf das accordeon ausgelöst.
geometryName nein String "" Nur für extern: true in Verbindung mit Filterung innerhalb von Polygonen: Der Geometrie-Name der Features um eine Schnittmenge feststellen zu können.
labelFilterButton nein String "common:modules.tools.filter.filterButton" Bei passiver Strategie (passive): Der verwendete Text vom Filter-Button. Kann auch ein Übersetzungs-Key sein.
layerId nein String Die Layer-Id, muss identisch sein mit der unter layerconfig konfigurierten Id des Layers.
maxZoom nein Number Die maximale Zoomstufe. Wenn die aktuelle Zoomstufe größer als maxZoom ist, wird der aktuelle Filter deaktiviert.
minZoom nein Number Die minimale Zoomstufe. Wenn die aktuelle Zoomstufe kleiner als minZoom ist, wird der aktuelle Filter deaktiviert.
paging nein Number 1000 Der Filter lädt Features Stück für Stück in die Map. Dies ermöglicht einen Ladebalken, der die Usability bei großen Datenmengen verbessert. Das Paging ist die Stück-Größe. Bei zu gering eingestellter Größe wird das Filtern ausgebremst. Bei zu groß eingestellter Größe steigt die Verzögerung der Anzeige in der Karte. Der beste Wert kann nur von Fall zu Fall durch Ausprobieren ermittelt werden.
resetLayer nein Boolean false Auf true setzen, damit der Zurücksetzenknopf als reset für den ganzen Layer fungieren soll und damit auch die prechecked Werte ignoriert. Wird ignoriert sollte clearAll auf true gesetzt sein. Des Weiteren sollte der Parameter nicht in Verbindung mit einer niedrigen paging Zahl konfiguriert werden, da ansonsten beim Zurücksetzen der komplette Layer nur sehr langsam und verzögert auf der Karte angezeigt wird.
searchInMapExtent nein Boolean false Wenn auf true eingestellt, wird automatisch eine generische Checkbox erzeugt, mit der die Filterung auf den Browser-Extent beschränkt werden kann. Ist die Checkbox angehakt, ist das automatische Zoomen ausgeschaltet. Bitte unbedingt loadingStrategy auf all setzen, da es sonst zu ungewollten Effekten kommt, wenn nach dem Filtern herausgezoomt wird.
searchInMapExtentInfo nein Boolean true Rechts von der Checkbox wird ein Info-Symbol angezeigt, bei Klick wird eine Standard-Beschreibung eingeblendet. Auf false stellen, wenn es nicht angezeigt werden soll. Kann auch als String mit einem eigenen Info-Text eingestellt werden oder als Übersetzungs-Key.
searchInMapExtentPreselected nein Boolean false Die Checkbox zum Filtern im Browser-Extent ist initial ausgewählt wenn searchInMapExtentPreselected: true eingestellt ist.
searchInMapExtentProactive nein Boolean true Die Checkbox zum Filtern im Browser-Extent löst unter strategy: active eine direkte Filterung im aktuellen Browser-Extent aus. Dies kann durch Einstellen von searchInMapExtentProactive: false abgeschaltet werden.
shortDescription nein String "" Eine kürzere Version der Beschreibung die bei Verwendung von Auswahl-Selektoren bei geschlossenen Selektoren angezeigt wird. Kann ein Übersetzungs-Key sein.
showHits nein Boolean true Die Treffer nach einer Filterung werden als Text angezeigt. Auf false stellen, um die Treffer nicht anzuzeigen.
snippets nein Snippets[] [] Konfiguration der sogenannten Snippets für das Filtern. Kann bei der minimalsten Variante ein Array von Attribut-Namen sein. Kann komplett weggelassen werden, wenn die automatische Snippet-Ermittlung verwendet werden soll.
snippetTags nein Boolean true Wenn gefiltert wurde, wird die Einstellung des Filters als Tags über dem Filter angezeigt. Auf false stellen, wenn dies vermieden werden soll.
strategy nein String Es gibt zwei Filter-Strategien: passive - Filtern nur nach Klick auf den Filter-Button. Und active - Filterung findet immer sofort statt, wenn die Einstellung irgendeines der Snippets verändert wird. Die passive Strategie ist der Default.
title nein String Der Titel der für den Auswahl-Selektor verwendet werden soll (nur bei layerSelectorVisible true). Kann ein Übersetzungs-Key sein. Wenn nicht eingestellt, dann wird die Layer-Id per default verwendet.
wmsRefId nein String/String[] "" Wenn der Layer gefiltert wird, wird der WMS-Layer mit der wmsRefId unsichtbar und im Themenbaum deaktiviert. Stattdessen wird der WFS aus der Filter-Konfiguration angezeigt. Nach dem Zurücksetzen des Filters wird die WMS-Ebene wieder aktiviert und wieder sichtbar.
initialStartupReset nein Boolean false Wenn der Parameter auf true gesetzt wird, dann erscheint ein Knopf zum Zurücksetzen des Filters. Hierbei ist zu beachten, dass dieser das Nachjustieren unterbindet und somit nur für Filterkonfigurationen mit einem Datatypes.Snippets.Children empfohlen.

Beispiel

Dieses Beispiel konfiguriert ein Layer mit nur einem einzigen Snippet. Die Art des Snippets und seine Einstellungen werden automatisch ermittelt. Siehe Datatypes.Snippets um mehr zur Konfiguration von Snippets zu erfahren.

{
    "layerId": "8712",
    "title": "Schools",
    "strategy": "active",
    "searchInMapExtent": true,
    "searchInMapExtentInfo": true,
    "showHits": true,
    "clearAll": false,
    "wmsRefId": "21066",
    "shortDescription": "School master data and pupil numbers of Hamburg schools",
    "description": "School master data and pupil numbers of Hamburg schools",
    "snippetTags": true,
    "paging": 100,
    "filterOnMove": false,
    "minZoom": 7,
    "maxZoom": 14,
    "snippets": [
        {
            "attrName": "rebbz_homepage"
        }
    ]
}

portalConfig.menu.sections.modules.filter.filterLayerGroups🔗

Ein Objekt zum Definieren eines Gruppen-Layers zum Filtern.

Name Verpflichtend Typ Default Beschreibung
layers nein String [] Konfiguration der zu filternden Layer. Kann auch ein Array von einfachen Layer-IDs sein - wenn ja, werden der Layer und alle Snippets automatisch identifiziert. Der Typ ist filterLayer, aber hier wurde er als String definiert, um sich wiederholende Definitionen innerhalb von layerGroups zu vermeiden.
title ja String Der für den Gruppen-Layer zu verwendende Titel (wenn layerSelectorVisible true ist). Kann auch ein Übersetzungsschlüssel sein.

Beispiel

layerGroups definiert zusammengehörige Layer. Jede Gruppe hat einen Titel und eine Liste von Layern. Diese werden zusammen im Filter angezeigt.

{
  "layerGroups": [
    {
      "title": "GRUPPE 1",
      "layers": [
        {
          "layerId": "47"
        },
        {
          "layerId": "7315"
        }
      ]
    },
    {
      "title": "GRUPPE 2",
      "layers": [
        {
          "layerId": "5105"
        }
      ]
    }
  ]
}

portalConfig.menu.sections.modules.language🔗

In diesem Modul lässt sich die Sprache des Portals umschalten.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-flag" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.language.name" Name des Moduls im Menü.
type nein String "language" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-flag",
    "name": "common:modules.language.name",
    "type": "language"
}

portalConfig.menu.sections.modules.layerClusterToggler🔗

Mit diesem Modul lassen sich Layer in Clustern gleichzeitig aktivieren/laden und deaktivieren.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-list" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
layerIdList ja String[] [] Auflistung der layerIds, der Layer die gemeinsam an- bzw. ausgeschaltet werden sollen.
name nein String "common:modules.layerClusterToggler.name" Name des Moduls im Menü..
type nein String "layerClusterToggler" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-list",
    "layerIdList": [
        "8712",,
        "8713.1",
        "8713.2",
        "8713.3"
    ],
    "name": "common:modules.layerClusterToggler.name",
    "type": "layerClusterToggler"
}

portalConfig.menu.sections.modules.layerSlider🔗

Der Layerslider ist ein Modul um verschiedene Layer in der Anwendung hintereinander an bzw. auszuschalten. Dadurch kann z.B. eine Zeitreihe verschiedener Zustände animiert werden.

Der Slider kann in der Oberfläche zwischen zwei Modi wechseln. 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.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-collection-play" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
layerIds ja layerId[] [] Array von Objekten aus denen die Layerinformationen herangezogen werden.
name nein String "common:modules.layerSlider.name" Name des Moduls im Menü.
timeInterval nein Integer 2000 Zeitintervall in ms bis der nächste Layer angeschaltet wird.
title nein String "common:modules.layerSlider.title" Titel der im Modul vorkommt.
type nein String "layerSlider" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

"layerSlider": {
    "icon": "bi-hourglass-split",
    "layerIds": [
        {
            "title": "Dienst 1",
            "layerId": "123"
        },
        {
            "title": "Dienst 2",
            "layerId": "456"
        },
        {
            "title": "Dienst 3",
            "layerId": "789"
        }
    ],
    "name": "Zeitreihe",
    "timeInterval": 2000,
    "title": "Simulation von Beispiel-WMS"
}

portalConfig.menu.sections.modules.layerSlider.layerId🔗

Definiert einen Layer für den Layerslider.

Name Verpflichtend Typ Default Beschreibung
layerId ja String Id des Layers, der im Portal angezeigt werden soll. ACHTUNG: Diese LayerId muss auch in der layerConfig konfiguriert sein!
title ja String Name des Layers, wie er im Portal angezeigt werden soll.

Beispiel

{
    "layerId": "123",
    "title": "Dienst 1"
}

portalConfig.menu.sections.modules.legend🔗

Konfigurationsoptionen für die Legende.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-lightbulb" Icon der Legende.
name ja String "common:modules.legend.name" Name des Modules im Menü.
type nein String "legend" Der type des Moduls. Definiert welches Modul konfiguriert ist.
sldVersion nein String "" Gibt die Styled Layer Descriptor Version an, mit der die GetLegendGraphic requests abgesetzt werden sollen. Beispiel: "1.1.0"

portalConfig.menu.sections.modules.login🔗
Name Required Type Default Description
name ja String Der Name für das Module im Menü. Wird überschrieben, wenn der User eingeloggt ist.
icon ja String Das Icon neben dem Login Button im Menü. Wird geändert, wenn der User eingeloggt ist (siehe module store).
{
    "type": "login",
    "name": "translate#common:modules.login.login",
    "icon": "bi-door-open"
}

portalConfig.menu.sections.modules.measure🔗

Mit dem Messwerkzeug können Strecken und Flächen gemessen werden.

Name Verpflichtend Typ Default Beschreibung
earthRadius nein Number 6378137 Erdradius in Metern. Bitte beachten Sie, dass der Erdradius in Abhängigkeit zum Bezugsellipsoiden gewählt werden sollte. Für ETRS89 (EPSG:25832) ist dies beispielsweise GRS80.
icon nein String "bi-arrows-angle-expand" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
lineStringUnits nein String[] ["m", "km"] Gibt an, welche Einheiten für Streckenberechnungen ausgewählt werden können. Unterstützt werden "m" (Meter), "nm" (Seemeile), "km" (Kilometer).
measurementAccuracy nein String "meter" Gibt an, wie genau das Messergebnis für "m", "nm", "m²", "ha" angezeigt wird. Die möglichen Optionen sind "decimeter" für eine Nachkommastelle. "meter" für keine Nachkommastelle. "dynamic" für eine Nachkommastelle bei Ergebnissen kleiner als 10 und keine Nachkommastelle bei Ergebnissen größer oder gleich 10 der entsprechenden Einheit.
name nein String "common:modules.measure.name" Name des Moduls im Menü.
polygonUnits nein String[] ["m²", "km²"] Gibt an, welche Einheiten für Flächenberechnungen ausgewählt werden können. Unterstützt werden "m²", "ha", "km²".
type nein String "measure" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "earthRadius": 6378137,
    "icon": "bi-arrows-angle-expand",
    "measurementAccuracy": "dynamic",
    "name": "common:modules.measure.name",
    "type": "measure"
}

portalConfig.menu.sections.modules.news🔗

Dieses Modul zeigt alle Meldungen aus der newsFeedPortalAlerts.json und der config.json des aktuellen Portals unabhängig des "gelesen" Status.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-newspaper" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.news.name" Name des Moduls im Menü.
type nein String "news" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-newspaper",
    "name": "common:modules.news.name",
    "type": "news"
}

portalConfig.menu.sections.modules.openConfig🔗

Mit diesem Modul lässt sich eine Konfigurationsdatei (config.json) zur Laufzeit neu laden. Die Module und Karte werden an die neue Konfiguration angepasst.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-upload" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.openConfig.name" Name des Moduls im Menü.
type nein String "openConfig" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-upload",
    "name": "common:modules.openConfig.name",
    "type": "openConfig"
}

portalConfig.menu.sections.modules.print🔗

Druckmodul. Konfigurierbar für 2 Druckdienste: den High Resolution PlotService oder MapfishPrint 3.

ACHTUNG: Backend notwendig!

Es wird mit einem Mapfish-Print3 oder einem HighResolutionPlotService im Backend kommuniziert.

Name Verpflichtend Typ Default Beschreibung
additionalLayers nein additionalLayers Definiert Layer die über Checkbox gesteuert zusätzlich gedruckt werden können.
capabilitiesFilter nein capabilitiesFilter Filterung der Capabilities vom Druckdienst. Mögliche Parameter sind layouts und outputFormats.
currentLayoutName nein String "A4 Hochformat" Legt fest, welches Layout als Standardwert beim Öffnen des Druckwerkzeuges ausgewählt sein soll. Zum Beispiel "A4 Hochformat". Wenn das angegebene Layout nicht vorhanden ist oder keins angegeben wurde, dann wird das erste Layout der Capabilities verwendet.
defaultCapabilitiesFilter nein capabilitiesFilter Ist für ein Attribut kein Filter in capabilitiesFilter gesetzt, wird der Wert aus diesem Objekt genommen.
dpiForPdf nein Number 200 Auflösung der Karte im PDF.
filename nein String "report" Dateiname des Druckergebnisses.
icon nein String "bi-printer" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
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.
name nein String "common:modules.print.name" Name des Moduls im Menü.
overviewmapLayerId nein String Über den Parameter layerId kann ein anderer Layer für die Overviewmap verwendet werden. Wird keine Id angegeben, wird der erste Layer der ausgewählten Hintergundkarten verwendet.
printAppCapabilities nein String "capabilities.json" Pfad unter welcher die Konfiguration des Druckdienstes zu finden ist.
printAppId nein String "master" Id der print app des Druckdienstes. Dies gibt dem Druckdienst vor welche/s Template/s er zu verwenden hat.
printMapMarker nein Boolean false Wenn dieses Feld auf true gesetzt ist, werden im Bildausschnitt sichtbare MapMarker mitgedruckt. Diese überdecken ggf. interessante Druckinformationen.
printService nein String "mapfish" Flag welcher Druckdienst verwendet werden soll. Bei "plotservice" wird der High Resolution PlotService verwendet, wenn der Parameter nicht gesetzt wird, wird Mapfish 3 verwendet.
printServiceId ja String Id des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.
showInvisibleLayerInfo nein Boolean true Definiert, ob eine Infobox angezeigt werden soll, wenn Layer aufgrund des Maßstabs unsichtbar sind und nicht mitgedruckt werden.
title nein String "PrintResult" Titel des Dokuments. Erscheint als Kopfzeile.
type nein String "print" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel Konfiguration mit High Resolution PlotService

"print": {
    "name": "common:modules.print.name",
    "icon": "bi-printer",
    "type": "print",
    "printServiceId": "123456",
    "filename": "Ausdruck",
    "title": "Mein Titel",
    "printService": "plotservice",
    "printAppCapabilities": "info.json",
    "layoutOrder": [
        "Default A4 hoch",
        "Default A4 quer",
        "Default A3 hoch",
        "Default A3 quer",
    ]
}

Beispiel Konfiguration mit MapfishPrint3

"print": {
    "name": "Karte drucken",
    "icon": "bi-printer",
    "type": "print",
    "printServiceId": "mapfish_printservice_id",
    "printAppId": "mrh",
    "filename": "Ausdruck",
    "title": "Mein Titel"
}

portalConfig.menu.sections.modules.print.capabilitiesFilter🔗

Liste von Layouts und Formaten, welche die Antwort vom Druckdienst in der jeweiligen Kategorie filtert.

Name Verpflichtend Typ Default Beschreibung
layouts nein String[] Liste von Layouts, welche in der Oberfläche angezeigt werden sollen.
outputFormats nein String[] Liste von Formaten, welche in der Oberfläche angezeigt werden sollen.

Beispiel capabilitiesFilter:

"capabilitiesFilter": {
    "layouts": ["A4 Hochformat", "A3 Hochformat"],
    "outputFormats": ["PDF"]
}

portalConfig.menu.sections.modules.print.additionalLayers🔗

Liste von Layern, die im Druckdialog zusätzlich hinzugefügt werden können.

Name Verpflichtend Typ Default Beschreibung
active nein Boolean false Definiert ob der Layer aktiv ist.
id ja String Service-ID des zu druckenden Layers.
label ja String Beschriftung der Checkbox zu aktivieren des Layers im Druckdialog.
Beispiel additionalLayers
"additionalLayers": [{
  "id": "wms_koordinatennetze_25832",
  "label": "Koordinatennetz UTM32N - ETRS89"
}]

portalConfig.menu.sections.modules.routing🔗

Routing-Werkzeug. Ermöglicht Nutzern das Planen von Routen zwischen mehreren Punkten mit verschiedenen Optionen. Zusätzlich gibt es noch die Funktion zur Erstellung einer Erreichbarkeitsanalyse. Beide Funktionen sind mit einer Stapelverarbeitung verfügbar, zur Abfrage mehrere Routen und Analysen. ❗ Das Werkzeug greift auf Den Routing Dienst des BKG zurück ❗.

Name Verpflichtend Typ Default Beschreibung
activeRoutingToolOption nein String "DIRECTIONS" Gibt an welches Tool geöffnet werden soll.
routingToolOptions nein String[] [ ] Gibt an welche Tools bereitgestellt werden soll. Möglich sind aktuell "DIRECTIONS" und "ISOCHRONES"
download nein download Downloadoptionen
geosearch nein geosearch Geosucheoptionen
geosearchReverse nein geosearchReverse Geosuchereverseoptionen
directionsSettings nein directionsSettings Routenplanungoptionen
isochronesSettings nein isochronesSettings Erreichbarkeitsanalysenoptionen

Beispiel

{
    "type": "routing",
    "name": "common:modules.tools.routing",
    "icon": "bi-signpost-2",
    "activeRoutingToolOption": "DIRECTONS",
    "routingToolOptions": ["DIRECTONS", "ISOCHRONES"],
    "download": {
        "filename": "",
        "format": "GEOJSON"
    },
    "geosearch": {
        "minChars": 3,
        "limit": 10,
        "type": "BKG",
        "serviceId": "bkg_geosearch"
    },
    "geosearchReverse": {
        "distance": 1000,
        "filter": "",
        "type": "BKG",
        "serviceId": "bkg_suggest"
    },
    "directionsSettings": {
        "type": "ORS",
        "serviceId": "bkg_ors",
        "speedProfile": "CAR",
        "preference": "RECOMMENDED",
        "styleRoute": {
            "fillColor": [255, 44, 0],
            "width": 6,
            "highlightColor": [255, 255, 255],
            "highlightWidth": 9,
            "partHighlightColor": [255, 255, 255],
            "partHighlightWidth": 3
        },
        "styleWaypoint": {
            "lineColor": [255, 127, 0],
            "lineWidth": 4,
            "fillColor": [255, 127, 0],
            "textFillColor": "#000",
            "textLineColor": "#fff",
            "textLineWidth": 3,
            "opacity": 0.3,
            "radius": 8
        },
        "styleAvoidAreas": {
            "lineColor": [0, 127, 255],
            "lineWidth": 2,
            "fillColor": [0, 127, 255],
            "opacity": 0.3,
            "pointRadius": 8,
            "pointLineWidth": 4
        },
        "batchProcessing": {
            "enabled": false,
            "active": false,
            "limit": 1000,
            "maximumConcurrentRequests": 3
        }
    },
    "isochronesSettings": {
        "type": "ORS",
        "serviceId": "bkg_ors",
        "speedProfile": "CAR",
        "isochronesMethodOption": "TIME",
        "distanceValue": 30,
        "minDistance": 1,
        "maxDistance": 400,
        "timeValue": 30,
        "minTime": 1,
        "maxTime": 180,
        "intervalValue": 15,
        "minInterval": 3,
        "maxInterval": 30,
        "styleCenter": {
            "lineColor": [255, 127, 0],
            "lineWidth": 4,
            "fillColor": [255, 127, 0],
            "opacity": 0.3,
            "radius": 8
        },
        "styleIsochrones": {
            "lineWidth": 2,
            "opacity": 0.65,
            "startColor": [66, 245, 78],
            "endColor": [245, 66, 66]
        },
        "batchProcessing": {
            "enabled": false,
            "active": false,
            "limit": 1000,
            "maximumConcurrentRequests": 3
        }
    }
}

portalConfig.menu.sections.modules.routing.download🔗

Routing-Werkzeug Download Optionen.

Name Verpflichtend Typ Default Beschreibung
fileName nein String "" Default Dateiname für den Download.
format nein enum["GEOJSON","KML","GPX"] "GEOJSON" Welches Format default ausgewählt ist.

Beispiel

{
    "download": {
        "filename": "",
        "format": "GEOJSON"
    }
}

portalConfig.menu.sections.modules.routing.geosearch🔗

Routing-Werkzeug Geosuche Optionen.

Name Verpflichtend Typ Default Beschreibung
minChars nein Number 3 Minimum an Zeichen für die Anfrage bei dem externen Service.
limit nein Number 10 Maximale Anzahl an Zeichen für die Suche.
type ja enum["BKG","NOMINATIM","LOCATIONFINDER","KOMOOT","GAZETTEER","SPECIALWFS","ELASTIC"] "" Welcher Typ für die Geosuche verwendet werden soll.
serviceId ja String Welcher Service für die Geosuche verwendet werden soll.
typeName nein String Typname für die specialWfs Geosuchabfrage.
propertyNames nein String[] Namen der Eigenschaften, die in die specialWfs Geosuche einbezogen werden sollen.
geometryNames nein String Name des Geometriefelds für die specialWfs Geosuche.
bbox nein Bbox BBOX-Wert zugeordnet zu einem speedProfile. Koordinatensystem ist abhängig von dem verwendeten epsg-Parameter. Der verwendete geosearch Dienst muss bbox-Werte als String unterstützen.
epsg nein String 4326 Welcher EPSG-Code vom Service genutzt wird (z.B. 4326, 25832).
searchField nein String Der Pfad zum Feld welches bei der Nutzung von Elastic Search gesucht werden soll.
sortField nein String Der Pfad zum Feld welches bei der Nutzung von Elastic Search die Sortierung der Ergebnisse in aufsteigender Reihenfolge vorgibt.

Beispiel für BKG

{
    "geosearch": {
        "type": "BKG",
        "serviceId": "bkg_geosearch",
        "bbox": {"CYCLING": "9.6,53.40,10.4,53.84"}
    }
}
Beispiel für SPECIALWFS

{
    "geosearch": {
        "minChars": 3,
        "limit": 10,
        "type": "SPECIALWFS",
        "serviceId": "specialWfs_geosearch",
        "typeName": "ms:strasse_nr",
        "propertyNames": [
            "ms:LABEL_TEXT"
            ],
        "geometryName": "ms:msGeometry"
    }
}
Beispiel FÜR ELASTIC

{
    "geosearch": {
        "minChars": 3,
        "limit": 10,
        "type": "ELASTIC",
        "serviceId": "elastic_geosearch",
        "epsg": "25832",
        "searchField": "properties.searchField",
        "sortField": "properties.HAUSNUMMER"
    }
}

portalConfig.menu.sections.modules.routing.geosearchReverse🔗

Routing-Werkzeug Geosuche Reverse Optionen.

Name Verpflichtend Typ Default Beschreibung
distance nein Number 1000 Distanz zum Suchen in Meter für die Anfrage bei dem externen Service.
filter nein String Zusätzliche Filter für die Suche werden an die Anfrage angehangen.
type ja enum["BKG","NOMINATIM","KOMOOT"] Welcher Typ für die Geosuche verwendet werden soll.
serviceId ja String Welcher Service für die Geosuche verwendet werden soll.

Beispiel

{
    "geosearchReverse": {
        "distance": 1000,
        "filter": "",
        "type": "BKG",
        "serviceId": "bkg_suggest"
    }
}

portalConfig.menu.sections.modules.routing.directionsSettings🔗

Routing-Werkzeug Routenplanung Optionen.

Name Verpflichtend Typ Default Beschreibung
type ja enum["ORS"] Welche Art der externe Service zur Abfrage ist.
serviceId ja String Welcher Service für die Abfrage verwendet werden soll.
speedProfile nein String "CAR" Welches Geschwindigkeitsprofil verwendet werden soll.
preference nein String "RECOMMENDED" Welche Art der Routenplanung verwendet werden soll.
customPreferences nein CustomPreferences Möglichkeit eigene Routenpräferenzen (zusätzlich zum BKG-Dienst) für die unterschiedlichen speedProfiles zu definieren (erfordert eigenes Backend)
customAvoidFeatures nein CustomAvoidFeatures Möglichkeit eigene Optionen für Verkehrswege meiden (zusätzlich zum BKG-Dienst) für die unterschiedlichen speedProfiles zu definieren (erfordert eigenes Backend)
styleRoute nein StyleRoute Stylerouteoptionen
styleWaypoint nein StyleWaypoint Stylewaypointoptionen
styleAvoidAreas nein StyleAvoidAreas Styleavoidareasoptionen
batchProcessing nein BatchProcessing Batchprocessingoptionen

Beispiel

{
    "directionsSettings": {
        "type": "ORS",
        "serviceId": "bkg_ors",
        "speedProfile": "CAR",
        "preference": "RECOMMENDED",
        "customPreferences": {
            "CYCLING": ["RECOMMENDED", "SHORTEST", "GREEN"]
        },
        "customAvoidFeatures": {
                "CYCLING": ["STEPS", "FERRIES", "UNPAVEDROADS"]
        },
        "styleRoute": {
            "fillColor": [255, 44, 0, 1],
            "width": 6,
            "highlightColor": [255, 255, 255, 1],
            "highlightWidth": 9,
            "partHighlightColor": [255, 255, 255, 1],
            "partHighlightWidth": 3
        },
        "styleWaypoint": {
            "lineColor": [255, 127, 0],
            "lineWidth": 4,
            "fillColor": [255, 127, 0],
            "textFillColor": "#000",
            "textLineColor": "#fff",
            "textLineWidth": 3,
            "opacity": 0.3,
            "radius": 8
        },
        "styleAvoidAreas": {
            "lineColor": [0, 127, 255],
            "lineWidth": 2,
            "fillColor": [0, 127, 255],
            "opacity": 0.3,
            "pointRadius": 8,
            "pointLineWidth": 4
        },
        "batchProcessing": {
            "enabled": false,
            "active": false,
            "limit": 1000,
            "maximumConcurrentRequests": 3
        }
    }
}

portalConfig.menu.sections.modules.routing.isochronesSettings🔗

Routing-Werkzeug Erreichbarkeitsanalysen Optionen.

Name Verpflichtend Typ Default Beschreibung
type ja enum["ORS"] Welche Art der externe Service zur Abfrage ist.
serviceId ja String Welcher Service für die Abfrage verwendet werden soll.
speedProfile nein String "CAR" Welches Geschwindigkeitsprofil verwendet werden soll.
isochronesMethodOption nein String "TIME" Welche Methode für den Abruf verwendet werden soll.
distanceValue nein Number 30 Welcher Distanzwert in km für den Slider verwendet werden soll.
minDistance nein Number 1 Welche minimale Distanz in km für den Slider verwendet werden soll.
maxDistance nein Number 400 Welche maximale Distanz in km für den Slider verwendet werden soll.
timeValue nein Number 30 Welcher Zeitwert in min für den Slider verwendet werden soll.
minTime nein Number 1 Welche minimale Zeit in min für den Slider verwendet werden soll.
maxTime nein Number 180 Welche maximale Zeit in min für den Slider verwendet werden soll.
intervalValue nein Number 15 Welcher Intervallwert in km/min für den Slider verwendet werden soll.
minInterval nein Number 1 Welches minimale Intervall in km/min für den Slider verwendet werden soll.
maxInterval nein Number 30 Welches maximale Intervall in km/min für den Slider verwendet werden soll.
styleCenter nein StyleCenter Stylecenteroptionen
styleIsochrones nein StyleIsochrones Styleisochronesoptionen
batchProcessing nein BatchProcessing Batchprocessingoptionen

Beispiel

{
    "isochronesSettings": {
        "type": "ORS",
        "serviceId": "bkg_ors",
        "speedProfile": "CAR",
        "isochronesMethodOption": "TIME",
        "distanceValue": 30,
        "minDistance": 1,
        "maxDistance": 400,
        "timeValue": 30,
        "minTime": 1,
        "maxTime": 180,
        "intervalValue": 15,
        "minInterval": 3,
        "maxInterval": 30,
        "styleCenter": {
            "lineColor": [255, 127, 0],
            "lineWidth": 4,
            "fillColor": [255, 127, 0],
            "opacity": 0.3,
            "radius": 8
        },
        "styleIsochrones": {
            "lineWidth": 2,
            "opacity": 0.65,
            "startColor": [66, 245, 78],
            "endColor": [245, 66, 66]
        },
        "batchProcessing": {
            "enabled": false,
            "active": false,
            "limit": 1000,
            "maximumConcurrentRequests": 3
        }
    }
}

portalConfig.menu.sections.modules.scaleSwitcher🔗

Modul, mit dem der aktuelle Maßstab der Karte geändert werden kann.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-arrows-angle-contract" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.scaleSwitcher.name" Name des Moduls im Menü.
type nein String "scaleSwitcher" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-arrows-angle-contract",
    "name": "common:modules.scaleSwitcher.name",
    "type": "scaleSwitcher"
}

portalConfig.menu.sections.modules.selectFeatures🔗

Erlaub das auswählen von Vektor Features, indem der Nutzer auf der Karte eine Auswahlbox aufziehen kann. Features innerhalb dieser Auwahl werden mit GFI Informationen angezeigt und es ist möglich, auf ein Feature zu zoomen. Zur Nutzung werden vektorbasierte WFS(❗) Dienste benötigt.

Name Verpflichtend Typ Default Beschreibung
highlightVectorRulesPointLine nein highlightVectorRulesPointLine Angabe der Linienfarbe und -breite für Linien Features und der Füllfarbe und Skalierung für Punkte. Sowie optional eine Zoomstufe.
highlightVectorRulesPolygon nein highlightVectorRulesPolygon Angabe der Füllfarbe, Kantenfarbe und -breite für das Hervorheben von Polygon Features. Sowie optional eine Zoomstufe.
icon nein String "bi-hand-index" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.selectFeatures.name" Name des Moduls im Menü.
type nein String "selectFeatures" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "type": "selectFeatures",
    "highlightVectorRulesPolygon": {
        "fill": {
            "color": [255, 0, 255, 0.9]
        },
        "stroke": {
            "width": 4,
            "color": [0, 0, 204, 0.9]
        },
        "zoomLevel": 5
    },
    "highlightVectorRulesPointLine": {
        "fill": {
            "color": [255, 0, 255, 0.9]
        },
        "stroke": {
            "width": 8,
            "color": [255, 0, 255, 0.9]
        },
        "image": {
            "scale": 2
        },
        "zoomLevel": 5
    }
}

portalConfig.menu.sections.modules.selectFeatures.highlightVectorRulesPointLine🔗

Angabe der Linienfarbe und -breite für Linien Features und der Füllfarbe und Skalierung für Punkte. Sowie optional eine Zoomstufe.

Name Verpflichtend Typ Default Beschreibung
fill nein Fill [255, 255, 255, 0.5] Mögliche Einstellung: color
stroke nein Stroke 1.5 Mögliche Einstellung: width
image nein Image 1 Mögliche Einstellung: scale
zoomLevel nein Integer 7 Zoomstufe, mögliche Einstellung: 0-9

portalConfig.menu.sections.modules.selectFeatures.highlightVectorRulesPolygon🔗

Angabe der Füllfarbe, Kantenfarbe und -breite für das Hervorheben von Polygon Features. Sowie optional eine Zoomstufe.

Name Verpflichtend Typ Default Beschreibung
fill nein Fill [255, 255, 255, 0.5] Mögliche Einstellung: color
stroke nein Stroke 1 Mögliche Einstellung: width
zoomLevel nein Integer 7 Zoomstufe, mögliche Einstellung: 0-9

portalConfig.menu.sections.modules.shadow🔗

Das ShadowTool bietet eine Oberfläche zur Definition einer Zeitangabe. Über Slider und Datepicker können Zeitangaben 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
icon nein String "bi-lamp-fill" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
isShadowEnabled nein Boolean false Default Shadow-Wert. True um unmittelbar Shadow einzuschalten. False zum manuellen Bestätigen.
name nein String "common:modules.shadow.name" Name des Moduls im Menü.
shadowTime nein shadowTime Default-Zeitangabe, mit der das Shadowmodule startet. Erkennt "month", "day", "hour", "minute"
type nein String "shadow" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "isShadowEnabled": true,
    "shadowTime": {
        "month": "6",
        "day": "20",
        "hour": "13",
        "minute": "0"
    },
    "type": "shadow"
}

portalConfig.menu.sections.modules.shadow.shadowTime🔗
Name Verpflichtend Typ Default Beschreibung
month nein String Monat
day nein String Tag
hour nein String Stunde
minute nein String Minute

Beispiel

{
    "month": "6",
    "day": "20",
    "hour": "13",
    "minute": "0"
}

portalConfig.menu.sections.modules.statisticDashboard🔗
Name Verpflichtend Typ Default Beschreibung
name ja String "translate#common:menu.statisticDashboard" Der Name des StatisticDashboard Werkzeug.
subtitle nein String "common:modules.statisticDashboard.headings.mrhstatistics" Der Untertitle zu zeigen
icon nein String "bi-speedometer" Das Icon des Tools.
colorScheme ja colorScheme "" Definiert die Farben der Features in statisticdashboard.
active nein Boolean false Wenn true, wird das Tool nach der Initialisierung des Portals geöffnet.
data ja data "" Daten für das statistic Dashboard Werkzeug.
classificationMode nein String "quantiles" Methode zur Klassenbildung für Choroplethen und Legende: "quantiles", "equalIntervals" oder "benutzerdefiniert"
allowPositiveNegativeMix nein Boolean false Ob bei der Klassenbildung für Choroplethen und Legende Klassen mit sowohl negativen als auch positiven Werten erlaubt sind.
minNumberOfClasses nein Number 2 Minimal auswählbare Zahl der Klassen für Choroplethen und Legende. Mindestens 2.
maxNumberOfClasses nein Number 5 Maximal auswählbare Zahl der Klassen für Choroplethen und Legende. Mindestens 3.
numberOfClasses nein Number 5 Aktuell ausgewählte Zahl der Klassen für Choroplethen und Legende.
selectableColorPalettes nein selectableColorPalettes {"label": "Blau", "baseColor": [8, 81, 156]} Optionen für die Farbpalette der Choroplethen.
downloadFilename nein String "Statistic Dashboard Download" Der Titel der exportierten CSV Datei.

Beispiel

{
    "name": "translate#common:menu.statisticDashboard",
    "subtitle": "common:modules.statisticDashboard.headings.mrhstatistics",
    "icon": "bi-speedometer",
    "downloadFilename": "Downloaded_Data",
    "colorScheme": {
        "referenceRegion": [155, 155, 155, 0.7],
        "lineCharts": [[74, 0, 30, 1], [117, 18, 50, 1], [189, 47, 83, 1], [198, 81, 84, 1], [228, 121, 97, 1], [240, 168, 130, 1], [250, 212, 172, 1], [157, 185, 171, 1], [137, 192, 196, 1], [87, 158, 185, 1],
            [57, 122, 168, 1], [28, 87, 150, 1], [22, 55, 113, 1], [16, 25, 77, 1], [118, 199, 190, 1], [62, 168, 166, 1], [32, 130, 136, 1], [0, 73, 75, 1], [224, 110, 133, 1], [204, 65, 90, 1]]
    },
    "active": true,
    "data": {
        "layerId": "28992",
        "geometryAttribute": "geom",
        "chartDirectionValue": 10,
        "timeStepsFilter": {
            "5": "Die letzten 5 Jahre",
            "10": "Die letzten 10 Jahre",
            "all": "Alle Jahre"
        },
        "mappingFilter": {
            "timeAttribute": {
                "attrName": "zeitpunkt",
                "name": "Zeitpunkt",
                "inputFormat": "YYYY-MM-DD",
                "outputFormat": "YYYY"
            },
            "regionNameAttribute": {
                "attrName": "statistisches_gebiet",
                "name": "Statistisches Gebiet"
            },
            "statisticsAttributes": {
                "arbeitnehmer_inland_tausend": {
                    "name": "Arbeitnehmer (Inland) in 1.000",
                    "category": "Beschäftigte"
                },
                "arbeitslose_jahresdurchschnitt": {
                    "name": "Arbeitslose",
                    "category": "Beschäftigte"
                },
                "arbeitslose_15_bis_u25_jahresdurchschnitt": {
                    "name": "Arbeitslose 15 bis unter 25 Jahre",
                    "category": "Beschäftigte"
                },
                "einwohner_ab_65": {
                    "name": "Einwohner 65 Jahre und älter",
                    "category": "Bevölkerung"
                },
                "einwohner_ab_65_prozent_aller_einwohner": {
                    "name": "Einwohner 65 Jahre und älter in % aller Einwohner",
                    "category": "Bevölkerung"
                },
                "einwohner_auslaender": {
                    "name": "Einwohner Ausländer",
                    "category": "Bevölkerung"
                }
            }
        }
    }
}

portalConfig.menu.sections.modules.statisticDashboard.colorScheme🔗
Name Verpflichtend Typ Default Beschreibung
referenceRegion ja Float[] [] Die RGBA-Farbe der Referenzregions.
lineCharts ja Float[] [] Die Liste mit den RGBA-Farben der Liniendiagramme.

Beispiel

{
        "referenceRegion": [155, 155, 155, 0.7],
        "lineCharts": [[74, 0, 30, 1], [117, 18, 50, 1], [189, 47, 83, 1], [198, 81, 84, 1], [228, 121, 97, 1], [240, 168, 130, 1], [250, 212, 172, 1], [157, 185, 171, 1], [137, 192, 196, 1], [87, 158, 185, 1],
            [57, 122, 168, 1], [28, 87, 150, 1], [22, 55, 113, 1], [16, 25, 77, 1], [118, 199, 190, 1], [62, 168, 166, 1], [32, 130, 136, 1], [0, 73, 75, 1], [224, 110, 133, 1], [204, 65, 90, 1]]
}

portalConfig.menu.sections.modules.statisticDashboard.selectableColorPalettes🔗
Name Verpflichtend Typ Default Beschreibung
label ja String Der im Dropdown anzuzeigende Name der Palette.
baseColor ja Number[] Die Basisfarbe als rgb-Array.

Beispiel

{
        {
            "label": "Blau",
            "baseColor": [8, 81, 156]
        }
}

portalConfig.menu.sections.modules.statisticDashboard.data🔗
Name Verpflichtend Typ Default Beschreibung
layerId ja String "" Die ID des Layers.
oafRequestCRS no String "" Nur für OAF-Dienste - Das Koordinatenreferenzsystem in dem die Antwort des OAF Dienstes erfolgen soll. Zum Beispiel: 'http://www.opengis.net/def/crs/EPSG/0/25832'
oafDataProjectionCode no String "" Nur für OAF-Dienste - Der Projektionscode der Daten, die vom Dienst als Antwort kommen. Wird benötigt, um die Features auf der Karte anzeigen zu können. Zum Beispiel: 'EPSG:25832'
geometryAttribute ja String "" Typ des Geometrieattributs.
chartDirectionValue nein String "" Gibt die Anzahl an, ab der die Balken im Diagramm von vertikal zu horizontal wechseln.
timeStepsFilter yes timeStepsFilter "" Ein Objekt welches aus Schlüsseln und Werten besteht bei denen der Schlüssel die Anzahl an Zeitgruppierungen und der Wert die Beschreibung für die Gruppierung beinhaltet.
mappingFilter ja mappingFilter "" Dieses Objekt beinhaltet Attribute, die dazu dienen die Filter mit den Werten zu befüllen.

Beispiel

{
    "layerId": "28992",
    "oafRequestCRS": "http://www.opengis.net/def/crs/EPSG/0/25832",
    "oafDataProjectionCode": "EPSG:25832",
    "geometryAttribute": "geom",
    "chartDirectionValue": 10,
    "timeStepsFilter": {
        "5": "Die letzten 5 Jahre",
        "10": "Die letzten 10 Jahre",
        "all": "Alle Jahre"
    },
    "mappingFilter": {
        "timeAttribute": {
            "attrName": "zeitpunkt",
            "name": "Zeitpunkt",
            "inputFormat": "YYYY-MM-DD",
            "outputFormat": "YYYY"
        },
        "regionNameAttribute": {
            "attrName": "statistisches_gebiet",
            "name": "Statistisches Gebiet"
        },
        "statisticsAttributes": {
            "arbeitnehmer_inland_tausend": {
                "name": "Arbeitnehmer (Inland) in 1.000",
                "category": "Beschäftigte"
            },
            "arbeitslose_jahresdurchschnitt": {
                "name": "Arbeitslose",
                "category": "Beschäftigte"
            },
            "arbeitslose_15_bis_u25_jahresdurchschnitt": {
                "name": "Arbeitslose 15 bis unter 25 Jahre",
                "category": "Beschäftigte"
            },
            "einwohner_ab_65": {
                "name": "Einwohner 65 Jahre und älter",
                "category": "Bevölkerung"
            },
            "einwohner_ab_65_prozent_aller_einwohner": {
                "name": "Einwohner 65 Jahre und älter in % aller Einwohner",
                "category": "Bevölkerung"
            },
            "einwohner_auslaender": {
                "name": "Einwohner Ausländer",
                "category": "Bevölkerung"
            }
        }
    }
}

portalConfig.menu.sections.modules.statisticDashboard.data.timeStepsFilter🔗
Name Verpflichtend Typ Default Beschreibung
key:value ja String "" Key: Der Schlüssel ist die Anzahl des letzten "key"-Eintrags für Dropdown-Optionen. Value: Die Beschreibung für die Gruppierung.
all:value ja String "" Key: Das Schlüsselwort für die Auswahl aller Einträge für Dropdown-Optionen. Value: Die Beschreibung für die Gruppierung.

Beispiel

{
    "5": "Die letzten 5 Jahre",
    "10": "Die letzten 10 Jahre",
    "all": "Alle Jahre"
}

portalConfig.menu.sections.modules.statisticDashboard.data.mappingFilter🔗
Name Verpflichtend Typ Default Beschreibung
timeAttribute ja timeAttribute "" Dieses Objekt beinhaltet das Attribut für die Zeit-Filter.
regionNameAttribute ja regionNameAttribute "" Dieses Objekt beinhaltet das Attribut für den Namen der Region.
statisticsAttributes ja statisticsAttributes "" Dieses Objekt beinhaltet attribute, die dazu dienen die Karte nach deren Werten zu filtern.

Beispiel

{
    "timeAttribute": {
        "attrName": "zeitpunkt",
        "name": "Zeitpunkt",
        "inputFormat": "YYYY-MM-DD",
        "outputFormat": "YYYY"
    },
    "regionNameAttribute": {
        "attrName": "statistisches_gebiet",
        "name": "Statistisches Gebiet"
    },
    "statisticsAttributes": {
        "arbeitnehmer_inland_tausend": {
            "name": "Arbeitnehmer (Inland) in 1.000",
            "category": "Beschäftigte"
        },
        "arbeitslose_jahresdurchschnitt": {
            "name": "Arbeitslose",
            "category": "Beschäftigte"
        },
        "arbeitslose_15_bis_u25_jahresdurchschnitt": {
            "name": "Arbeitslose 15 bis unter 25 Jahre",
            "category": "Beschäftigte"
        },
        "einwohner_ab_65": {
            "name": "Einwohner 65 Jahre und älter",
            "category": "Bevölkerung"
        },
        "einwohner_ab_65_prozent_aller_einwohner": {
            "name": "Einwohner 65 Jahre und älter in % aller Einwohner",
            "category": "Bevölkerung"
        },
        "einwohner_auslaender": {
            "name": "Einwohner Ausländer",
            "category": "Bevölkerung"
        }
    }
}

portalConfig.menu.sections.modules.statisticDashboard.data.mappingFilter.timeAttribute🔗
Name Verpflichtend Typ Default Beschreibung
attrName ja String "" Das Attribut für die Zeit-Filter.
name nein String "" Die Bezeichnung des Attributes.
inputFormat nein String "" Eingabeformat
outputFormat nein String "" Ausgabeformat

Beispiel

{
    "attrName": "zeitpunkt",
    "name": "Zeitpunkt",
    "inputFormat": "YYYY-MM-DD",
    "outputFormat": "YYYY"
}

portalConfig.menu.sections.modules.statisticDashboard.data.mappingFilter.regionNameAttribute🔗
Name Verpflichtend Typ Default Beschreibung
attrName ja String "" Das Attribut für die Region.
name no String "" Der Name des Region Attributs.

Beispiel

{
    "attrName": "statistisches_gebiet",
    "name": "Kreis"
}

portalConfig.menu.sections.modules.statisticDashboard.data.mappingFilter.statisticsAttributes🔗
Name Verpflichtend Typ Default Beschreibung
key ja String "" Der Schlüssel des statistik Attributes.
name ja String "" Die Bezeichnung des statistik Attributes.
Category ja String "" Die Kategorie des statistik Attributes. Wenn die Kategorie gesetzt ist, wird es in der Kategorieauswahl unter dieser Kategorie gruppiert.

Beispiel

{
    "arbeitnehmer_inland_tausend": {
        "name": "Arbeitnehmer (Inland) in 1.000",
        "category": "Beschäftigte"
    },
    "arbeitslose_jahresdurchschnitt": {
        "name": "Arbeitslose",
        "category": "Beschäftigte"
    },
    "arbeitslose_15_bis_u25_jahresdurchschnitt": {
        "name": "Arbeitslose 15 bis unter 25 Jahre",
        "category": "Beschäftigte"
    }
}

portalConfig.menu.sections.modules.shareView🔗

Modul, um einen Link zur aktuellen Karten-Ansicht zu teilen. Es kann die aktuelle Ansicht als Link mit Url-Parametern, per QR-Code und als Facebook-Link geteilt werden.

Name Verpflichtend Typ Default Beschreibung
copyShare nein Boolean true Gibt an, ob der Button zum Kopieren des Links im Modul sein soll.
facebookShare nein Boolean false Gibt an, ob der Button zum Teilen des Links über Facebook im Modul sein soll.
icon nein String "bi-share" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.shareView.name" Name des Moduls im Menü.
type nein String "shareView" Der type des Moduls. Definiert welches Modul konfiguriert ist.
qrShare nein Boolean false Gibt an, ob der Button zum Erstellen eines QR-Codes im Modul sein soll.

Beispiel

{
    "icon": "bi-share",
    "name": "common:modules.shareView.name",
    "type": "shareView",
    "facebookShare": true,
    "qrShare": true
}

portalConfig.menu.sections.modules.styleVT🔗

Das Modul ermöglicht das Umschalten des Stylings von Vector Tile Layers(❗), sofern in der services.json mehrere Styles für die entsprechende Layer eingetragen sind.

Name Verpflichtend Typ Default Beschreibung
icon nein String "bi-paint-bucket" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
name nein String "common:modules.styleVT.name" Name des Moduls im Menü.
type nein String "styleVT" Der type des Moduls. Definiert welches Modul konfiguriert ist.

Beispiel

{
    "icon": "bi-paint-bucket",
    "name": "common:modules.styleVT.name",
    "type": "styleVT"
}

portalConfig.menu.sections.modules.wfsSearch🔗

Das Modul ermöglicht es einen WFS(❗) Layer abgekoppelt von der Suchleiste mittels Filter anzufragen und gegebenenfalls eine Ergebnisliste zu erstellen. Wenn ein WFS@2.0.0 verwendet werden soll, wird erwartet, dass eine gespeicherte Anfrage (Stored Query) verwendet wird. Wenn ein WFS@1.1.0 verwendet werden soll, wird erwartet, dass der Aufbau der Anfrage mittels der Konfiguration dieses Werkzeugs grundlegend vorgegeben wird.

Es können mehrere Suchinstanzen (SearchInstances) definiert werden, welche durch jeweilige Dropdown-Menüs ausgewählt werden können.

Name Verpflichtend Typ Default Beschreibung
instances ja searchInstance[] Array an searchInstances, welche jeweils eine Suchmaske darstellen.
zoomLevel nein Number 5 Gibt an, auf welche Zoomstufe (zoomLevel) gezoomt werden soll. Sollte das Feature nicht in die Zoomstufe passen, wird automatisch eine passende Zoomstufe gewählt.
resultsPerPage nein Number 0 In der Suchergebnisliste werden höchstens so viele Ergebnisse zugleich angezeigt. Wird diese Anzahl überschritten, bietet die Ergebnisliste eine nächste Ergebnisseite an. Beim Wert 0 werden alle Ergebisse auf einer Seite angezeigt.
multiSelect nein Boolean false Wenn true, können Nutzende durch Drücken von Strg oder Shift, oder über Checkboxen, mehrere Features der Ergebnisliste auswählen; beim Zoomen wird dann auf alle ausgewählten Features gezoomed.

Beispiel

{
    {   "type": "wfsSearch",
        "instances": [
            {
                "requestConfig": {
                    "layerId": "1234"
                },
                "selectSource": "https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json",
                "literals": [
                    {
                        "clause": {
                            "type": "and",
                            "literals": [
                                {
                                    "field": {
                                        "queryType": "equal",
                                        "fieldName": "gemarkung",
                                        "inputLabel": "Gemarkung",
                                        "options": ""
                                    }
                                },
                                {
                                    "field": {
                                        "queryType": "equal",
                                        "fieldName": "flur",
                                        "inputLabel": "Flur",
                                        "options": "flur"
                                    }
                                }
                            ]
                        }
                    }
                ]
            }
        ]
    }
}

portalConfig.menu.sections.modules.wfsSearch.searchInstance🔗

Eine Instanz der WFS Suche, welche durch ein Dropdown Menü im Werkzeug ausgewählt werden kann.

Name Verpflichtend Typ Default Beschreibung
literals ja Literal[] Array an literals.
requestConfig ja RequestConfig Ein Objekt, welches hauptsächlich die Id des WFS-Dienstes (layerId oder restLayerId), welcher angefragt werden soll, beinhaltet. Wenn ein WFS@2.0.0 verwendet werden soll, muss die id der gespeicherten Anfrage (Stored Query, storedQueryId), also der im Dienst enthaltenen Anfrage, angegeben werden. Zudem können weitere Einstellungen hinsichtlich der Anfragen hier hinzugefügt werden.
selectSource nein String Optionale Url, unter welcher eine JSON-Datei mit den verschiedenen Optionen für den Input gespeichert ist. Für eine Beispiel siehe [https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json].
suggestions nein Suggestions Wenn gegeben, dann wird der Service angefragt, wenn Nutzende etwas in ein Eingabefeld eingeben, um einen Vorschlag für die weitere Eingabe zu machen.
title ja String Der Titel der Suche, welcher in einem Dropdown im Werkzeug dargestellt wird. Kann ein Übersetzungsschlüssel sein.
userHelp nein String Informationstext hinsichtlich des Suchformulars, welches oberhalb des Formulars für die Nutzenden angezeigt werden soll. Wenn der Parameter nicht gegeben ist, dann wird die Struktur aus der Konfiguration abgeleitet. Kann ein Übersetzungsschlüssel sein. Falls der Wert explizit auf hide gesetzt wurde, dann wird keine Beschreibung der Struktur des Formulars angezeigt.
resultDialogTitle nein String Überschrift der Ergebnisliste. Wenn dies nicht konfiguriert ist, wird der Name WFS Suche angezeigt. Kann ein Übersetzungsschlüssel sein.
resultList nein ResultList Einstellungen für die Ausgabe der gefundenen Features in der Ergebnisliste. Wenn keine resultList konfiguriert ist, wird beim Ausführen der Suche direkt auf das erste gefundene Feature gezoomt.

Beispiel

{
    "requestConfig": {
        "layerId": "1234"
    },
    "resultList": {
        "schulname": "Schulname",
        "abschluss": "Abschluss"
    },
    "selectSource": "https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json",
    "title": "Flurstücksuche",
    "literals": [
        {
            "clause": {
                "type": "and",
                "literals": [
                    {
                        "field": {
                            "queryType": "equal",
                            "fieldName": "gemarkung",
                            "inputLabel": "Gemarkung",
                            "options": ""
                        }
                    },
                    {
                        "field": {
                            "queryType": "equal",
                            "fieldName": "flur",
                            "inputLabel": "Flur",
                            "options": "flur"
                        }
                    }
                ]
            }
        }
    ]
}

portalConfig.menu.sections.modules.wfst🔗

WFS-T Modul zur Visualisierung (getFeature), Erstellung (insert), Veränderung (update) und zum Löschen (delete) von Features eines bestehenden Web Feature Service (WFS), welcher Transaktionen entgegennehmen kann. Zur Nutzung dieses Moduls muss ein WFS-T Layer mit der Version 1.1.0 bereitgestellt werden. Bitte beachten Sie services.json für weitere Konfigurationsinformationen.

Beim Bearbeiten eines Features / Hinzufügen von Attributen zu einem neuen Feature werden bestimmte Werte in der Nutzeroberfläche angezeigt. Die Werte und auch dessen Label stehen im direkten Zusammenhang mit den gfiAttributes des Dienstes. Bitte beachten Sie services.json für weitere Informationen.

Name Verpflichtend Typ Default Beschreibung
delete nein TransactionConfig/Boolean false Legt fest, welche der zu layerIds zugehörigen Layer das Löschen von Geometrien erlauben.
icon nein String "bi-globe" Icon das im Menü vor dem Modulnamen angezeigt wird. Zur Auswahl siehe Bootstrap Icons
layerIds ja String[] Array an Ids von in services.json definierten Layern.
layerSelectLabel nein String "common:modules.wfst.layerSelectLabel" Falls gegeben, wird der Wert als Label für die Layerauswahl-Select-Box verwendet. Kann ein Sprachschlüssel sein.
lineButton nein TransactionConfig[]/Boolean [] Legt fest, welche der zu layerIds zugehörigen Layer das Hinzufügen von Linien erlauben.
name nein String "common:modules.wfst.name" Name des Moduls im Menü.
pointButton nein TransactionConfig[]/Boolean [] Legt fest, welche der zu layerIds zugehörigen Layer das Hinzufügen von Punkten erlauben.
polygonButton nein TransactionConfig[]/Boolean [] Legt fest, welche der zu layerIds zugehörigen Layer das Hinzufügen von Polygonen erlauben.
showConfirmModal nein Boolean false Kennzeichen, ob ein modaler Dialog angezeigt werden soll.
toggleLayer nein Boolean false Legt fest, ob die Feature des ausgewählten Layers weiterhin angezeigt werden sollen, wenn neue Feature hinzugefügt werden.
type nein String "wfst" Der type des Moduls. Definiert welches Modul konfiguriert ist.
update nein TransactionConfig/Boolean false Legt fest, welche der zu layerIds zugehörigen Layer das Bearbeiten von Geometrien erlauben.

Beispiel

{
    "type": "wfst",
    "name": "common:modules.wfst.name",
    "icon": "bi-globe",
    "layerIds": ["1234", "5678", "4389"],
    "toggleLayer": true,
    "pointButton": [
        {
            "layerId":"1234",
            "caption": "Point test",
            "available": true
        },
        {
            "layerId": "5678",
            "available": true,
            "multi": true
        }
    ],
    "lineButton": false,
    "polygonButton": [
        {
            "layerId": "4389",
            "available": false
        }
    ],
    "update": [
        {
            "layerId": "4389",
            "available": true
        }
    ]
}

portalConfig.menu.sections.modules.wfst.TransactionConfig🔗

Konfiguration der verschiedenen Transaktionsmethoden für den entsprechenden Layer.

Name Verpflichtend Typ Default Beschreibung
available ja Boolean true Legt fest, ob der entsprechende Button der Transaktionsmethode für den Layer mit der gegebenen Id nutzbar sein soll.
icon nein String Bootstrap Icon zur Anzeige innerhalb des Knopfes der Transaktionsmethode. Falls kein Wert angegeben wird, wird der Standardwert der Transaktionsmethode verwendet. Zur Auswahl siehe Bootstrap Icons.
layerId ja String Id des Layers, für den die Transaktionsmethode konfiguriert wird.
multi nein Boolean false Legt fest, ob es sich bei den gezeichneten Geometrien um Multi-X-Geometrien handeln sollte. Bei Konfiguration für die Methoden update und delete hat der Parameter keine Auswirkung.
text nein String "common:modules.wfst.interactionSelect.*" Text des Knopfes der Transaktionsmethode. Falls kein Wert vorhanden ist, wird für * ein Standardwert der Transaktionsmethode verwendet. Kann ein Übersetzungsschlüssel sein.

Beispiele

{
    "layerId": "1234",
    "available": true,
    "text": "Point test"
}
{
    "layerId": "5678",
    "available": true
}
{
    "layerId": "5489",
    "multi": true
}

portalConfig.menu.title🔗

Im Menü kann der Portalname und ein Bild angezeigt werden.

Name Verpflichtend Typ Default Beschreibung
link nein String URL der externen Seite, auf die verlinkt wird.
logo nein String URL zur externen Bilddatei. Wird kein logo gesetzt, so wird nur der Titel ohne Bild dargestellt.
text nein String Name des Portals.
toolTip nein String Tooltip, der beim Hovern über das Portallogo angezeigt wird.

Beispiel portalTitle

"title": {
    "text": "Master",
    "logo": "https://geodienste.hamburg.de/lgv-config/img/hh-logo.png",
    "link": "https://geoinfo.hamburg.de",
    "toolTip": "Landesbetrieb Geoinformation und Vermessung"
}

portalConfig.portalFooter🔗

Möglichkeit den Inhalt der Fußzeile des Portals zu konfigurieren.

Name Verpflichtend Typ Default Beschreibung
configPaths nein String[] ["portalConfig.portalFooter"] Liste mit möglichen Konfigurationen, die erste die gefunden wird, wird verwendet.
scaleLine nein Boolean true Gibt an, ob der Maßstab angezeigt werden soll.
scaleLineWidth nein Number 2 Die Breite der Maßstabsanzeige in cm.
seperator nein String "\|" Die Trennung zwischen einzelnen Links.
urls nein urls[] [] Urls, die im Footer angezeit werden sollen.

Beispiel

"portalFooter": {
    "urls": [
    {
        "bezeichnung": "common:modules.portalFooter.designation",
        "url": "https://geoinfo.hamburg.de/",
        "alias": "Landesbetrieb Geoinformation und Vermessung",
        "alias_mobile": "LGV Hamburg"
    },
    {
        "url": "mailto:LGVGeoPortal-Hilfe@gv.hamburg.de?subject=Kartenunstimmigkeiten%20melden&body=Zur%20weiteren%20Bearbeitung%20bitten%20wir%20Sie%20die%20nachstehenden%20Angaben%20zu%20machen.%20Bei%20Bedarf%20fügen%20Sie%20bitte%20noch%20einen%20Screenshot%20hinzu.%20Vielen%20Dank!%0A%0A1.%20Name:%0A2.%20Telefon:%0A3.%20Anliegen",
        "alias": "common:modules.portalFooter.mapDiscrepancy"
    }
    ],
    "scaleLine": true
}

portalConfig.portalFooter.urls🔗

Eine Url kann unterschiedlich definiert werden.

Name Verpflichtend Typ Default Beschreibung
alias ja String Angezeigter Name des Links in der Desktop-Ansicht.
alias_mobil nein String Angezeigter Name des Links in der Mobile-Ansicht. Falls nicht angegeben, wird der Link in der Mobilen Ansicht nicht angezeigt.
bezeichnung nein String Angezeigte Bezeichnung vor dem Link.
url ja String Die Url für den Link.

Beispiel

{
    "bezeichnung": "common:modules.portalFooter.designation",
    "url": "https://geoinfo.hamburg.de/",
    "alias": "Landesbetrieb Geoinformation und Vermessung",
    "alias_mobile": "LGV Hamburg"
}

portalConfig.tree🔗

Möglichkeit, um Einstellungen für den Themenbaum vorzunehmen.

Name Verpflichtend Typ Default Beschreibung
addLayerButton nein addLayerButton false Wenn active:true, dann wird ein Button zum Hinzufügen von Layern dargestellt. Im Themenbaum werden initial nur sichtbare Layer und Layer mit der property showInLayerTree = true dargestellt. Wenn false, dann werden alle konfigurierten Layer im Themenbaum angezeigt. Bei dem tree.type auto wird immer ein Hinzufügen-Button angezeigt.
categories nein categories Konfiguration der Kategorien aus den Metadaten. Nur für den tree.type auto.
highlightedFeatures nein highlightedFeatures Konfiguration zusätzlich zum Highlighting von Features.
layerIDsToIgnore nein String[] Liste von services.json-Layer-Ids, die nicht im Baum und in der Karte angezeigt werden sollen. Nur für den tree.type auto.
layerIDsToStyle nein layerIDsToStyle[] Spezielle Implementierung für einen HVV-Dienst (Hamburger Verkehrsbetriebe). Enthält Objekte zur Abfrage verschiedener Stile einer Layer-ID. Nur für den tree.type auto.
metaIDsToIgnore nein String[] Alle in der services.json gefundenen Layer, die diesen Meta-IDs entsprechen, werden nicht im Baum und in der Karte angezeigt. Nur für den tree.type auto.
metaIDsToMerge nein String[] Alle in der services.json gefundenen Layer, die diesen Meta-IDs entsprechen, werden zu einer einzigen Layer im Baum zusammengeführt. Nur für den tree.type auto.
showFolderPath nein Boolean false Legt fest, ob die Ordnerstruktur von sichtbaren Layern unter 'weitere Funktionen' angezeigt wird.
singleBaselayer nein Boolean false Legt fest, ob nur ein Baselayer gleichzeitig ausgewählt werden kann.
type nein enum["auto"] Der Themenbaum ist in der gleichen Struktur aufgebaut wie die layerConfig. Wenn der Typ auto konfiguriert ist, werden alle Ebenen aus der services.json im Baum angeboten, strukturiert durch ihre Metadaten (Geo-Online).
validLayerTypesAutoTree nein enum ["WMS", "SENSORTHINGS", "TERRAIN3D", "TILESET3D", "OBLIQUE"] Layer Typen die bei dem tree.type auto verwendet werden sollen.
hideBackgroundsHeader nein Boolean false Auf true setzen, um die Überschrift für Hintergründe auszublenden.
backgroundsHeaderText nein String Alternative Überschrift für Hintergründe. Wenn gesetzt, ist eine nicht leere Zeichenkette erforderlich. Eine leere Zeichenfolge ("") gibt die Standard-i18n-Zeichenfolge/Übersetzung aus.
hideDatalayerHeader nein Boolean false Auf true setzen, um die Überschrift für datalayer auszublenden.
datalayerHeaderText nein String Alternative Überschrift für datalayer. Wenn gesetzt, ist eine nicht leere Zeichenkette erforderlich. Eine leere Zeichenfolge ("") gibt die Standard i18n-Zeichenfolge/ Übersetzung aus.
subMenuContactButton nein Boolean true Legt fest, ob der Button zum Öffnen des Kontaktformulars mit layerspezifischen Paramentern im LayerSubMenu eingestellt ist

Beispiel type auto

{
    "tree": {
        "type": "auto",
        "validLayerTypesAutoTree": ["WMS", "WFS"],
        "layerIDsToIgnore": ["1912", "1913"],
        "metaIDsToIgnore": [
            "09DE39AB-A965-45F4-B8F9-0C339A45B154"
        ],
        "metaIDsToMerge": [
            "FE4DAF57-2AF6-434D-85E3-220A20B8C0F1"
        ],
        "layerIDsToStyle": [
        {
            "id": "1935",
            "styles": ["geofox_Faehre", "geofox-bahn", "geofox-bus", "geofox_BusName"],
            "name": ["Fährverbindungen", "Bahnlinien", "Buslinien", "Busliniennummern"],
            "legendURL": ["http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-faehre.png", "http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-bahn.png", "http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-bus.png", "http://87.106.16.168/legende_mrh/hvv-bus.png"]
        },
        "categories": [
        {
          "key": "kategorie_opendata",
          "name": "common:modules.layerTree.categoryOpendata",
          "active": true
        },
        {
          "key": "kategorie_inspire",
          "name": "common:modules.layerTree.categoryInspire"
        },
        {
          "key": "kategorie_organisation",
          "name": "common:modules.layerTree.categoryOrganisation"
        }
      ],
        "hideBackgroundsHeader": true,
        "backgroundsHeaderText": "Das sollte nicht in der Ausgabe erscheinen",
        "hideDatalayerHeader": false,
        "datalayerHeaderText": "Spezifische Überschrift für datalayers über alle Sprachen hinweg - überschreibt i18n"
    }
}

Beispiel kein type

{
    "tree": {
        "addLayerButton": {
            "active": true
        },
        "highlightedFeatures": {
            "active": false
        },
    }
}

portalConfig.tree.addLayerButton🔗

Konfiguration des addLayerButton zur Auswahl von Layern.

Name Verpflichtend Typ Default Beschreibung
active ja Boolean Gibt an, ob addLayerButton initial aktiv ist.
searchBar nein String Wenn active:true dann wird eine Themensuche innerhalb des konfigurierten SearchInterfaces und SearchCategory ermöglicht.
buttonTitle nein String Legt den Titel der Schaltfläche mit benutzerdefiniertem Text fest.

Beispiel

{
    "tree": {
        "addLayerButton": {
            "active": true,
            "buttonTitle": "Layer hinzufügen",
            "searchBar": {
            "active": true,
            "searchInterfaceInstanceId": "elasticSearch_0",
            "searchCategory": "Thema (externe Fachdaten)"
        }
    }
}

portalConfig.tree.categories🔗

Konfiguration der Kategorien aus den Metadaten. Nur für den tree.type auto.

Name Verpflichtend Typ Default Beschreibung
key ja String Schlüssel der jeweiligen Kategorie in den Metadaten.
name ja String Name der Kategorie.
active nein Boolean Gibt an, ob diese Kategorie initial aktiv ist. Bei keiner Angabe, ist die 1. Kategorie initial aktiv.

Beispiel

 "categories": [
        {
          "key": "kategorie_opendata",
          "name": "common:modules.layerTree.categoryOpendata",
          "active": true
        },
        {
          "key": "kategorie_inspire",
          "name": "common:modules.layerTree.categoryInspire"
        },
        {
          "key": "kategorie_organisation",
          "name": "common:modules.layerTree.categoryOrganisation"
        }
      ]

portalConfig.tree.highlightedFeatures🔗

Konfiguration zusätzlich zum Highlighting von Features. Wenn mit dem Modul "Liste" oder "Features auswählen" mit "Auf dieses Feature zoomen" oder per Url-Parameter Features hervorgehoben werden, dann ist ein Layer mit diesen Features im Menü-Baum auswählbar.

Name Verpflichtend Typ Default Beschreibung
active nein Boolean false Gibt an, ob dieses Feature aktiv ist.
layerName nein String "common:tree.selectedFeatures" Name der erzeugten Layer mit den hervorgehobenen Features. Der Name enthält zusätzlich den Namen des Moduls mit dem gearbeitet wurde.

Beispiel

"highlightedFeatures": {
    "active": false,
    "layerName": "Ausgewählte Features"
},

portalConfig.tree.layerIDsToStyle🔗

Kombiniert den style von mehreren Layern, Namen und Legenden.

Name Verpflichtend Typ Default Beschreibung
id nein String a services.json layer's id
styles nein String/String[] Zu verwendender Stil als String; wenn mehrere Stile verwendet werden sollen, werden sie in einem Array aufgeführt.
name nein String/String[] Zu verwendender Name als String; wenn mehrere Namen verwendet werden sollen, werden sie in einem Array aufgelistet.
legendUrl nein String/String[] URL des Legendenbildes als String ; wenn mehrere Legendenbilder verwendet werden sollen, werden ihre URLs in einem Array aufgelistet.

Beispiel:

{
    "layerIDsToStyle": [
        {
            "id": "1935",
            "styles": ["geofox_Faehre", "geofox-bahn", "geofox-bus", "geofox_BusName"],
            "name": ["Fährverbindungen", "Bahnlinien", "Buslinien", "Busliniennummern"],
            "legendURL": ["http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-faehre.png", "http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-bahn.png", "http://geoportal.metropolregion.hamburg.de/legende_mrh/hvv-bus.png", "http://87.106.16.168/legende_mrh/hvv-bus.png"]
        }
    ]
}

layerConfig🔗

Die layerConfig definiert, welche Inhalte an welcher Stelle im Themenbaum angezeigt werden. Es können folgende Eigenschaften konfiguriert werden:

  1. Layer die Hintergrundkarten beinhalten (baselayer)
  2. Layer die Fachdaten beinhalten (subjectlayer)
Name Verpflichtend Typ Default Beschreibung
baselayer nein baselayer Layer die Hintergrundkarten beinhalten.
subjectlayer nein subjectlayer Layer die subjectlayer beinhalten.

Beispiel

{
    "layerConfig": {
        "baselayer": {},
        "subjectlayer": {}
    }
}

layerConfig.baselayer🔗

Hier werden Layer definiert, die als Hintergrundkarten angezeigt werden sollen.

Name Verpflichtend Typ Default Beschreibung
elements nein elements[] Definition der Layer die im Themenbaum als Hintergrudnkarten angezeigt werden sollen.

Beispiel

{
    "layerConfig": {
        "baselayer": {}
    }
}

layerConfig.subjectlayer🔗

Hier werden Layer oder Ordner mit Layern definiert, die als subjectlayer angezeigt werden sollen.

Name Verpflichtend Typ Default Beschreibung
elements nein elements[] Definition der Layer oder Ordner die im Themenbaum als subjectlayer angezeigt werden sollen.

Beispiel

{
    "layerConfig": {
        "subjectlayer": {}
    }
}

layerConfig.elements🔗

Hier werden Layer oder Ordner definiert. Ordner können elements mit Ordner oder Layern enthalten.

Name Verpflichtend Typ Default Beschreibung
elements nein elements[] Nächste Ebene mit Layern oder Ordnern unter dem type folder.
name nein String "" Name des Layers oder Ordners.
type nein String "layer" Typ des Elements: "layer" für Layer oder "folder" für Ordner

Beispiel baselayer

{
    "layerConfig": {
        "baselayer": {
            "elements": [
                {
                    "id": "123"
                }
            ]
        }
    }
}

Beispiel subjectlayer

{
    "layerConfig": {
        "subjectlayer": {
            "elements": [
                {
                    "id": "123",
                    "type": "layer"
                }
            ]
        }
    }
}

Beispiel mit Ordnern, die Layer enthalten

{
"elements": [
        {
        "name": "Ordner Ebene 1",
        "type": "folder",
        "elements": [
                {
                "name": "Ordner Ebene 2",
                "type": "folder",
                "elements": [
                        {
                            "id": "2431"
                        },
                        {
                            "id": "2430"
                        },
                        {
                            "id": "2429"
                        },
                        {
                            "name": "Ordner Ebene 3",
                            "type": "folder",
                            "elements": [
                                {
                                    "id": "1103"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

layerConfig.elements.layers🔗

Hier werden Layer verschiedenen Typs konfiguriert. 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 die verschiedenen Layer Typen.

Name Verpflichtend Typ Default Beschreibung
autoRefresh nein Integer Automatischer Reload des Layers. Angabe in ms. Minimum ist 500.
id ja String/String[] Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen. Bei Konfiguration eines Arrays von Ids wird ein Gruppenlayer erzeugt Group
capabilitiesUrl nein String Wert aus services.json. Capabilities URL des Dienstes
fitCapabilitiesExtent nein Boolean false Wert aus services.json. Bei Aktivierung dieser Option und Vorhandensein einer Capabilities URL in der Konfiguration, passt die Anwendung die Kartenausdehnung automatisch an die Bounding-Box-Informationen an, die sie aus der GetCapabilities-Anfrage erhält."
isPointLayer nein Boolean false Anzeige, ob der (Vektor)-Layer nur aus Punkt-Features besteht (nur relevant für WebGL Rendering))
name nein String Name des Layers.
preview nein preview Vorschau für baselayer vom Typ WMS, WMTS und VectorTile. WMS und WMTS: bei keiner Angabe, wird ein zentrierter Kartenausschnitt geladen.
renderer nein String "default" Render-Pipeline für die Darstellung ("default" oder "webgl")(nur für Vektordaten "GeoJSON", "WFS", "OAF")"webgl" ist derzeit als experimentell einzustufen.
showInLayerTree nein Boolean false Wenn true, dann wird der Layer initial im Themenbaum angezeigt. Wenn portalConfig.tree.addLayerButton nicht konfiguriert ist, dann hat dieses Attribut keinen Effekt.
transparency nein Integer 0 Transparenz des Layers.
type nein String "layer" Typ des Elements Layer: "layer"
urlIsVisible nein Boolean true Anzeige, ob die URL in der Layerinformation angezeigt werden soll.
visibility nein Boolean false Sichtbarkeit des Layers. Wenn true, dann wird der Layer initial im Themenbaum angezeigt.

Beispiel

{
    "elements": [
        {
            "id": "2",
            "name": "Beispiel Layer",
            "typ": "WMS",
            "visibility": false,
            "styleId": "3"
        }
    ]
}

Beispiel mit einem Array von Ids

{
"elements": [
        {
            "id": ["123", "456", "789"],
            "name": "Mein Testlayer"
        }
    ]
}

layerConfig.elements.layers.preview🔗

Vorschau für baselayer im Themenbaum, wird auch im baselayerSwitcher verwendet. Für die Layertypen VectorTile, WMS und WMTS. Beim VectorTile-Layer wird ein abgelegtes Vorschaubild angezeigt, bei WMS- und WMTS-Layern wird ein Kartenausschnitt geladen. WMS und WMTS: bei keiner Angabe, wird ein zentrierter Kartenausschnitt geladen. Eine detaillierte Beschreibung ist in der Dokumentation LayerPreview

Name Verpflichtend Typ Default Beschreibung
center nein Number[]/String[] Center-Koordinaten für die Ladeparameter des Vorschaubildes. Default ist das Zentrum der Ausdehnung der Karte.
checkable nein Boolean false Wenn true, dann ist das Vorschaubild als Checkbox benutzbar.
customClass nein String Benutzerdefinierte css-Klasse zum Überschreiben des Stils, HINWEIS: eventuell muss '!important' verwendet werden.
radius nein Number 1000 Radius des extents in Metern.
src nein String Nur bei typ VectorTile. Pfad zum Bild, das als Vorschau angezeigt werden soll.
zoomLevel nein Number Zoomlevel aus dem die resolution für die Ladeparameter des Vorschaubildes bestimmt werden. Default ist der initiale zoomLevel der Karte.

Beispiel VectorTile

"preview":{
    "src": "./resources/vectorTile.png"
    }

Beispiel WMS

 "preview": {
    "zoomLevel": 6,
    "center": "566245.97,5938894.79",
    "radius": 500
    }

layerConfig.elements.layers.Group🔗

Es wird ein Gruppenlayer erzeugt, der alle Layer der angegeben ids enthält. Die Werte für minScale und maxScale werden aus allen Gruppen-Layer bestimmt. Baselayer: Hierbei ist wichtig, dass die angegebenen ids dieselbe URL ansprechen, also den selben Dienst benutzen.

Name Verpflichtend Typ Default Beschreibung
id ja String[] Ids der zu gruppierenden Layer, diese müssen in der services.json enthalten sein. Sie können unterschiedliche Typen haben.
typ ja String "GROUP" Setzt den Layertypen auf GROUP, welcher Layer gruppieren kann.
styleId nein String Id die den Style definiert. Id wird in der style.json aufgelöst. Wenn gefüllt, dann erhalten alle gruppierten Layer diesen style.

Beispiel

 {
    "id": [ "20501", "20502", "20503", "20504" ],
    "name": "Gruppe Freizeitrouten und Radfernwege",
    "styleId": "4515"
}


layerConfig.elements.layers.Raster🔗

Hier werden Raster-Layer typische Attribute aufgelistet. Raster Layer sind vom Typ StaticImage, WMS, WMSTime und WMTS.


layerConfig.elements.layers.Raster.StaticImage🔗

Mit StaticImage lassen sich Bilder als Layer laden und georeferenziert auf der Karte darstellen. Es werden die Formate jpeg und png unterstützt.

Name Verpflichtend Typ Default Beschreibung
extent ja Extent [560.00, 5950.00, 560.00, 5945.00] Gibt die Georeferenzierung des Bildes an. Als Koordinatenpaar werden im EPSG:25832 Format die Koordinate für die Bildecke oben links und unten rechts erwartet.
id ja String Es muss eine eindeutige ID unter allen Layern vergeben werden.
typ ja String "StaticImage" Setzt den Layertypen auf StaticImage, welcher statische Bilder als Layer darstellen kann.
url ja String "https://meinedomain.de/bild.png" Link zu dem anzuzeigenden Bild.

Beispiel

{
    "id": "4811",
    "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]
}


layerConfig.elements.layers.Raster.WMS🔗

Hier werden WMS typische Attribute aufgelistet.

Name Verpflichtend Typ Default Beschreibung
name nein String/String[] Name des Layers. Falls das Attribute styles konfiguriert wird, muss dieses Attribute als Tpy String[] konfiguriert werden.
extent nein Extent [454591, 5809000, 700000, 6075769] Ausdehnung des Layers. Wenn nicht angegeben, wird er Extent der MapView verwendet.
featureCount nein Number 1 Anzahl der Features, die bei einer GetFeatureInfo-Abfrage zurückgegeben werden sollen.
gfiAsNewWindow nein gfiAsNewWindow null Wird nur berücksichtigt wenn infoFormat text/html ist.
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.

Beispiel

{
    "id": "4711",
    "name": ["MyFirstWMSLayerName", "MySecondWMSLayerName"],
    "transparency": 0,
    "visibility": true,
    "featureCount": 2,
    "gfiAsNewWindow": {
        "name": "_blank",
        "specs": "width=800,height=700"
    },
    "styles": ["firstStyle", "secondStyle"]
}

layerConfig.elements.layers.Raster.WMS.gfiAsNewWindow🔗

Der Parameter gfiAsNewWindow wird nur berücksichtigt wenn infoFormat text/html ist.

Mit dem Parameter gfiAsNewWindow lassen sich html-Inhalte Ihres WMS-Service einfach in einem eigenen Fenster oder Browser-Tab öffnen, anstatt in einem iFrame im GFI. Um html-Inhalte in einem einfachen Standard-Fenster des Browsers zu öffnen, geben Sie für gfiAsNewWindow anstatt null ein leeres Objekt an.

Sie können nun das Verhalten des Öffnens durch den Parameter name beeinflussen:

Hinweis zur SSL-Verschlüsselung

Ist gfiAsNewWindow nicht bereits eingestellt, wird gfiAsNewWindow automatisch gesetzt (mit Standard-Einstellungen), wenn die aufzurufende Url nicht SSL-verschlüsselt ist (https).

Nicht SSL-verschlüsselter Inhalt kann im Masterportal aufgrund der no mixed content-policy moderner Browser nicht in einem iFrame dargestellt werden. Bitte beachten Sie, dass automatische Weiterleitungen (z.B. per Javascript) im iFrame auf eine unsichere http-Verbindung (kein SSL) nicht automatisch erkannt und vom Browser ggf. unterbunden werden.

Stellen Sie in einem solchen Fall gfiAsNewWindow wie oben beschrieben manuell ein.

Name Verpflichtend Typ Default Beschreibung
name ja enum["blank","self"] "_blank" Bei "_blank" öffnet sich ein neues Browser-Fenster oder ein neuer Browser-Tab (browserabhängig) mit dem html-Inhalt. Die Erscheinung des Fensters lässt sich mithilfe des Parameters specs beeinflussen. Bei "_self" öffnet sich der html-Inhalt im aktuellen Browser-Fenster.
specs nein String Beliebig viele der folgenden Einstellungen lassen sich durch durch Komma-Separation (z.B. {"specs": "width=800,height=700"}) kombinieren. Weitere Einstellungsmöglichkeiten entnehmen Sie bitte den einschlägigen Informationen zum Thema "javascript + window.open": https://www.w3schools.com/jsref/met_win_open.asp (deutsch), https://javascript.info/popup-windows (englisch), https://developer.mozilla.org/en-US/docs/Web/API/Window/open (englisch)

Beispiel:

{
    "id": "4711",
    "gfiAsNewWindow": {
        "name": "_blank",
        "specs": "toolbar=yes,scrollbars=yes,resizable=yes,top=0,left=500,width=800,height=700"
    }
}

layerConfig.elements.layers.Vector🔗

Hier werden Vector typische Attribute aufgelistet. Vector Layer sind vom Typ WFS, GeoJSON (nur in EPSG:4326), SensorLayer und OAF.

Name Verpflichtend Typ Default Beschreibung
additionalInfoField nein String "name" Attributname des Features für die Hitlist in der Searchbar. Ist das Attribut nicht vorhanden, wird der Layername angegeben.
clusterDistance nein Integer Pixelradius. Innerhalb dieses Radius werden alle Features zu einem Feature "geclustered". ⚠️ clusterDistance bei WFS-Layern mit Polygon- oder Linien-Geometry führt dazu, dass die Features nicht angezeigt werden.
hitTolerance nein String Clicktoleranz bei der ein Treffer für die GetFeatureInfo-Abfrage ausgelöst wird.
loadingStrategy nein String "bbox" Ladestrategie zum Laden der Features. Mögliche Werte sind "bbox" oder "all". siehe dazu.
mouseHoverField nein String/String[] Attributname oder Array von Attributnamen, die angezeigt werden sollen, sobald der User mit der Maus über ein Feature hovert.
nearbyTitle nein String/String[] Attributname oder Array von Attributnamen die bei der Umkreissuche in der Ergebnisliste als Titel angezeigt werden sollen.
searchField nein String Attributname nach dem die Searchbar diesen Layer durchsucht.
styleGeometryType nein String/String[] Geometrietypen für einen WFS-Style, falls nur bestimmte Geometrien eines Layers angezeigt werden sollen siehe dazu.
styleId ja String Id die den Style definiert. Id wird in der style.json aufgelöst.
isNeverVisibleInTree no Boolean Parameter zum Ausblenden des Layers im Themenbaum. Wenn true, ist der Layer nicht sichtbar.

Beispiel

{
"elements": [
          {
            "id": "22078",
            "name": "Bewohnerparkgebiete Hamburg",
            "typ": "WFS",
            "visibility": false,
            "styleId": "22078",
            "styleField": "bewirtschaftungsart",
            "searchField": "bwp_name",
            "mouseHoverField": [
                "bwp_name",
                "bewirtschaftungsart"
            ],
            "isNeverVisibleInTree": false
        },
        {
            "id" : "11111",
            "name" : "lokale GeoJSON",
            "url" : "portal/master/test.json",
            "typ" : "GeoJSON",
            "gfiAttributes" : "showAll",
            "layerAttribution" : "nicht vorhanden",
            "legend" : true
        }
    ]
}

layerConfig.elements.layers.Vector.WFS🔗

Attribute für die WFS Suche bei highlightFeaturesByAttribute. Für die Aufrufparameter siehe urlParameter.

Beispiel-Aufrufe:
?api/highlightFeaturesByAttribute=1&wfsId=1&attributeName=DK5&attributeValue=valueToSearchFor&attributeQuery=isequal
?api/highlightFeaturesByAttribute=123&wfsId=1711&attributeName=name&attributeValue=Helios%20ENDO-Klinik%20Hamburg&attributeQuery=IsLike
?api/highlightFeaturesByAttribute=123&wfsId=2003&attributeName=gebietsname&attributeValue=NSG%20Zollenspieker&attributeQuery=isequal
?api/highlightFeaturesByAttribute=123&wfsId=2928&attributeName=biotop_nr&attributeValue=279&attributeQuery=isLike

Name Verpflichtend Typ Default Beschreibung
escapeChar ja String Das Zeichen für den escapeChar WFS parameter - z.Bsp. |
featurePrefix ja String Suchprefix für den typename bei der WFS Suche - z.Bsp. app:.
singleChar ja String Das Zeichen für den singleChar WFS parameter - z.Bsp. #
valueDelimiter nein String ";" Das Trennzeichen für die Werte in attributeValue bei der isIn Suche.
wildCard ja String Das zu verwendende Zeichen für das Jokerzeichen - z.Bsp. %

Beispiel

{
    "id": "1",
    "visibility": false,
    "name": "Tierarten invasiv",
    "featurePrefix": "app:",
    "wildCard": "%",
    "singleChar": "#",
    "escapeChar": "!"
}

layerConfig.elements.layers.VectorTile🔗

Hier werden VectorTile typische Attribute aufgelistet.

Name Verpflichtend Typ Default Beschreibung
useMpFonts nein Boolean true Schalter um die Schriftarten/Fontstacks aus externen Style-Definitionen durch die Standard-Schriftart des Masterportals zu ersetzen, um sicherzustellen dass alle Labels dargestellt werden können. Wenn auf false gesetzt, müssen die benötigten fonts ggf. separat z.B. via '' in index.html eingebunden werden.
vtStyles nein vtStyle[] Auswählbare externe Style-Definition.

Beispiel

{
  "id": "123",
  "name": "Ein Vektortilelayername",
  "epsg": "EPSG:3857",
  "url": "https://example.com/3857/tile/{z}/{y}/{x}.pbf",
  "typ": "VectorTile",
  "vtStyles": [
    {
      "id": "STYLE_1",
      "name": "Tagesansicht",
      "url": "https://example.com/3857/resources/styles/day.json",
      "defaultStyle": true
    },
    {
      "id": "STYLE_2",
      "name": "Nachtansicht",
      "url": "https://example.com/3857/resources/styles/night.json"
    }
  ],
  "preview":{
    "src": "./resources/vectorTile.png"
    }
}

layerConfig.elements.layers.VectorTile.vtStyle🔗

Style-Definition; nur für Vector Tile Layer.

Name Verpflichtend Typ Default Beschreibung
defaultStyle nein String Falls hier true gesetzt ist, wird der Style initial ausgewählt, unabhängig von seinem Index; wenn das Feld nirgends auf true gesetzt ist, wird der erste Style benutzt
id ja String serviceübergreifend eindeutige ID
name ja String Anzeigename, z.B. für das Auswahltool
resolutions nein Number[] Auflösungen für die im Styling definierten Zoom Level. Wenn nicht angegeben werden die default Resolutions aus dem ol-mapbox-style Projekt benutzt
url ja String URL, von der der Style bezogen werden kann. Die verlinkte JSON muss zur Mapbox Style Specification passen.

Beispiel

{
    "id": "Style_1",
    "name": "Rote Linien",
    "url": "https://example.com/asdf/styles/root.json",
    "defaultStyle": true,
    "resolutions": [
        661.4579761460263,
        264.58319045841048,
        66.14579761460263,
        26.458319045841044,
        15.874991427504629,
        10.583327618336419
    ]
}

layerConfig.elements.layers.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
cesium3DTilesetOption nein cesium3DTilesetOption Cesium 3D Tileset Options, werden direkt an das Cesium Tileset Objekt durchgereicht. maximumScreenSpaceError ist z.B. für die Sichtweite relevant.

Beispiel

{
    "id": "123456",
    "name": "TilesetLayerName",
    "visibility": true,
    "hiddenFeatures": ["id1", "id2"],
    "cesium3DTilesetOptions" : {
        "maximumScreenSpaceError" : 6
    },
}

layerConfig.elements.layers.Tileset.cesium3DTilesetOption🔗

Cesium 3D Tileset, die direkt an das Cesium tileset object weitergeleitet werden.

Name Verpflichtend Typ Default Beschreibung
maximumScreenSpaceError nein Number Der maximale Bildschirmplatzfehler, der für die Verfeinerung des Detailgrads verwendet wird. Dieser Wert trägt dazu bei, zu bestimmen, wann eine Kachel zu ihren Nachfolgern verfeinert wird, und spielt daher eine wichtige Rolle bei der Abwägung zwischen Leistung und visueller Qualität.

Beispiel

"cesium3DTilesetOptions" : {
    "maximumScreenSpaceError" : 6
}

layerConfig.elements.layers.Terrain🔗

Hier werden Terrain typische Attribute aufgelistet.

Name Verpflichtend Typ Default Beschreibung
cesiumTerrainProviderOption 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

{
    "id": "123456",
    "name": "TerrainLayerName",
    "visibility": true,
    "cesiumTerrainProviderOptions": {
        "requestVertexNormals" : true
    },
}

layerConfig.elements.layers.Terrain.cesiumTerrainProviderOption🔗

Initialisierungsoptionen für den CesiumTerrainProvider-Konstruktor.

Name Verpflichtend Typ Default Beschreibung
requestVertexNormals nein Boolean Kennzeichen, das angibt, ob der Client zusätzliche Beleuchtungsinformationen vom Server anfordern soll, und zwar in Form von Normalen pro Scheitelpunkt, falls verfügbar.

Beispiel

"cesiumTerrainProviderOptions": {
    "requestVertexNormals" : true
}

layerConfig.elements.layers.Entity3D🔗

Hier werden Entities3D typische Attribute aufgelistet.

Name Verpflichtend Typ default Beschreibung
entities ja Attribute[] Liste von darzustellenden Einheiten des Layers.
layerConfig.elements.layers.Entity3D.entities🔗

Hier werden Entities3D Einheiten typische Attribute aufgelistet.

Name Verpflichtend Typ default Beschreibung
allowPicking nein Boolean true Ob das Modell angeklickt werden darf (GFI). Beispiel: true
attributes nein Attribute Attribute für das Modell. Beispiel: {"name": "test"}
latitude ja Number Breitengrad des Modell-Origins in Grad. Beispiel: 53.541831
longitude ja Number Längengrad des Modell-Origins in Grad. Beispiel: 9.917963
height nein Number 0 Höhe des Modell-Origins. Beispiel: 10
heading nein Number 0 Rotation des Modells in Grad. Beispiel: 0
pitch nein Number 0 Neigung des Modells in Grad. Beispiel: 0
roll nein Number 0 Roll des Modells in Grad. Beispiel: 0
scale nein Number 1 Skalierung des Modells. Beispiel: 1
show nein Boolean true Ob das Modell angezeigt werden soll (sollte true sein). Beispiel: true
url ja String "" URL zu dem Modell. Beispiel: "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb"

Beispiel

{
      "id": "123456",
      "name": "EntitiesLayerName",
      "visibility": true,
      "typ": "Entities3D",
      "entities": [
         {
            "url": "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb",
           "attributes": {
             "name": "einfaches Haus 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"
      }
  },

layerConfig.elements.layers.Entity3D.entities.Attribute🔗
Name Verpflichtend Typ default Beschreibung
name nein String "" Feld, das im GFI angezeigt werden kann.

Beispiel

{
   "name": "Fernsehturm.kmz"
}

Datatypes🔗

Die folgenden Datentypen können in der Config verwendet werden.

Datatypes.Extent🔗

Ein Extent besteht aus einem Array bestehend aus vier Zahlen. Ein Extent beschreibt einen rechteckigen Gültigkeitsbereich. Dabei wird ein Rechteck aufgespannt, das durch die "linke untere" und die "rechte obere" Ecke definiert wird. Das Schema lautet [Hochwert-Links-Unten, Rechtswert-Links-Unten, Hochwert-Rechts-Oben, Rechtswert-Rechts-Oben] oder [minx, miny, maxx, maxy].

Beispiel Extent

[510000.0, 5850000.0, 625000.4, 6000000.0]


Datatypes.Payload🔗

Das Payload für ein CustomMenuElement Module. Hier wird im Module execute vom payload aufgerufen. Der passende payload zu der Aktion muss angegeben werden. Hier das Beispiel des Alerting/addSingleAlert.

Name Verpflichtend Typ Default Beschreibung
content ja String Inhalt der Meldung.
title nein String Titel der Meldung.

Beispiel

{
    "title":"An alle Menschen",
    "content": "Hallo Welt"
}

Datatypes.Fill🔗

Die Füllfarbe für ein Element. Es besteht aus einem Objekt mit einem Array in dem der RGBA Farbcode angegeben ist.

Name Verpflichtend Typ Default Beschreibung
color nein Float[] Mögliche Einstellung: color (RGBA)
"fill": {
     "color": [215, 102, 41, 0.9]
     }

Datatypes.Stroke🔗

Die Umrandung eines Elements. Es besteht aus einem Objekt mit einem Array in dem der RGBA Farbcode angegeben ist und einer Strichbreite als Zahl.

Name Verpflichtend Typ Default Beschreibung
width nein Integer Mögliche Einstellung: width
color nein Float[] [255, 255, 255, 0.5] Mögliche Einstellung: color (RGBA)
"stroke": {
    "width": 4,
    "color": [255, 0, 255, 0.9]
    }

Datatypes.Image🔗

Name Verpflichtend Typ Default Beschreibung
scale nein Integer Mögliche Einstellung: scale
"image": {
    "scale": 2
    }

Datatypes.Snippets🔗

Ein Objekt im Filter das ein einzelnes Snippet beschreibt.

Hinweis: Zeitbezogene Snippets (date und dateRange) können nur dann im Modus extern oder als fixe Regel (visible: false) betrieben werden, wenn ihr Gegenstück am WFS-Service in einem korrekten Zeit-Format vorliegt (ISO8601: YYYY-MM-DD).

Name Verpflichtend Typ Default Beschreibung
addSelectAll nein Boolean false Nur für Snippet-Typ dropdown mit multiselect: true: Ein zusätzlicher Eintrag zum Selektieren/Deselektieren aller Werte wird angeboten.
attrName ja String Der Name des Attributes auf dem dieses Snippet filtern soll. Kann ein Array sein, wenn dateRange, sliderRange oder featureInfo verwendet wird (siehe Beispiele).
autoInit nein Boolean true Nur für Snippet-Typ dropdown: Schaltet, wenn auf false gestellt, die automatischen Ermittlungen von Inhalts-, Min- und Max-Werten ab.
children nein Children[] [] Konfiguration von Kind-Snippets.
decimalPlaces nein Number 0 Definiert Nachkommastellen für den Schritt bei slider und sliderRange
delimiter nein String Nur für Snippet-Typ dropdown: Sollte das Attribut eines Features ein String sein, dessen Wert mit einem Separator als Quasi-Array gedacht ist, kann durch Angabe des separierenden Zeichens (des Delimiters) die Verarbeitung des Strings als Array erzwungen werden.
display nein String "default" Wenn Snippet-Typ dropdown: Wenn auf list eingestellt, wird anstelle einer Dropdown-Box eine Liste angezeigt. Wenn Snippet-Typ dateRange: Wenn auf datepicker eingestellt, wird nur die Auswahl über Kalender angezeigt, wenn auf slider eingestellt, wird nur der Slider angezeigt, wenn auf all eingestellt, werden Datepicker und Slider angezeigt.
format nein String "YYYY-MM-DD" Nur für Snippet-Typ date und dateRange: Das verwendete Format des Datums in der Datenbank. Wenn nicht angegeben wird ISO8601 angenommen. Weicht das Format von ISO8601 ab, muss das Snippet sichtbar sein (visible: true) und der Filter muss im Modus extern: false arbeiten. Kann als Array von zwei unterschiedlichen Formaten angegeben werden, wenn als attrName ebenfalls ein Array unterschiedlicher Attributnamen angegeben wird und sich die Datums-Formate der Attributwerte unterscheiden.
hideSelected nein Boolean true Standardmäßig ist beim Dropdown der ausgewählte Eintrag beim nächsten Ausklappen weg. Kann auf false gesetzt werden, um den vorher ausgewählten Eintrag sichtbar und farblich abgesetzt anzuzeigen.
info nein String Info-Text zu diesem Snippet oder ein Übersetzungs-Key. Wenn eingestellt, dann wird rechts vom Snippet ein Info-Symbol angezeigt, das bei Klick den Text darstellt. Kann auch einfach auf true gestellt werden, wenn ein Standard-Text ausreichend ist.
localeCompareParams nein LocaleCompareParams Nur für Snippet-Typ dropdown: Die Sortierung der Dropdown-Boxen kann über diesen Parameter nach eigenen Wünschen angepasst werden.
maxValue nein Number Nur für Snippet-Typ date und slider: Der Maximal-Wert als number oder Datums-String. Weglassen um die automatische Ermittlung der Werte zu aktivieren.
minValue nein Number Nur für Snippet-Typ date und slider: Der Minimal-Wert als number oder Datums-String. Weglassen um die automatische Ermittlung der Werte zu aktivieren.
multiselect nein Boolean true Nur für Snippet-Typ dropdown: Gleichzeitige Auswahl vieler Werte. Auf false stellen um auf Einzelauswahl umzustellen.
operator nein String Der logische Operator wie der eingestellte Wert mit dem Wert in der Datenbank verglichen wird. Abhängig davon ob es Sinn macht können dies folgende Werte sein: INTERSECTS, BETWEEN, EQ, IN, STARTSWITH, ENDSWITH, NE, GT, GE, LT, LE. Wenn weggelassen, gilt der Default: boolean wird zu EQ, string wird zu EQ, number wird zu BETWEEN, unbekannt wird zu EQ.
operatorForAttrName nein String "AND" Durch das setzen dieses Parameters auf OR in Verbindung mit einem Array als attrName, wird es ermöglicht über diverse attrNames mit einem logischem OR zu filtern.
optionsLimit nein Number 20000 Nur für Snippet-Typ dropdown: Einer Parameter für Anzahl der Optionen in der Dropdown-List.
placeholder nein String "" Nur für Snippet-Typ dropdown: Der Platzhalter bei Nicht-Einstellung der Dropdown. Kann ein Übersetzungs-Key sein.
prechecked nein String[]/String Initial aktiv eingestellte Werte. Für dropdown, sliderRange und dateRange ist dies ein Array, für checkbox ein boolean, für slider eine number, für text ein string und für date ein string der über das format spezifiziert werden muss. Für dropdown mit multiselect: Wird prechecked auf all eingestellt, werden initial alle verfügbaren Werte ausgewählt.
renderIcons nein String "none" Nur für Snippet-Typ dropdown mit display: "list": Wenn auf den String fromLegend eingestellt, werden Icons aus der Legende bezogen und links neben den Werten angezeigt. Wird hier ein Objekt angegeben, werden die Key-Namen als Wert und der Value als Bild-Pfad verwendet: {attrName: imagePath} (siehe Beispiele).
subtitle nein String[]/String[][] Nur für Snippet-Typ chart. Erlaubt die Anzeige einer beliebigen Kombination aus Text und Daten als Untertitel zum Diagramm.
tooltipUnit nein String Nur für Snippet-Typ chart. Fügt an den Zahlenwert im Tooltip ein Einheitenzeichen an.
service nein Service Für das initiale Befüllen eines Snippets (dropdown, date, slider) kann ein alternativer Service genutzt werden. Das kann unter Umständen die Performanz beim initialen Laden erhöhen. Standard ist der Service des konfigurierten filterLayer.
showAllValues nein Boolean Nur für Snippet-Typ dropdown: Verhindert wenn auf true gestellt das Verstecken der nicht ausgewählten Werte. Kann nur in Verbindung mit prechecked: "all" genutzt werden.
subTitles nein String[] [] Nur für Snippet-Typ dateRange: Die zusätzlich über den Kalender-Feldern anzuzeigenden Von- und Bis-Bezeichnungen. Als Array mit zwei Elementen (z.B. ["von", "bis"]). Stellen Sie subTitles auf true um die Werte von attrName zu verwenden, auf false um Bezeichnungen nicht anzuzeigen.
timeouts nein Timeouts Konfigurierbare Timeouts zur besseren User Experience.
title nein String Der Titel des Snippets. Kann ein Übersetzungs-Key sein. Wenn nicht eingestellt, wird der Titel aus den gfiAttributes genommen und wenn diese nicht vorhanden sind, dann wird der attrName verwendet. Kann auf false gesetzt werden um die Anzeige eines Titels zu unterbinden. Kann auf true gesetzt werden um die Anzeige des attrName zu erzwingen.
type nein String Der Snippet-Typ: checkbox, dropdown, text, slider, sliderRange, date, dateRange, featureInfo, chart. Wird automatisch ermittelt, wenn nicht angegeben - dabei wird der Datentyp als Grundlage genommen: boolean wird zu checkbox, string wird zu dropdown, number wird zu sliderRange, unbekannt wird zu text.
value nein String[] Wenn weggelassen, werden Werte automatisch ermittelt. Wenn für dropdown eingestellt: Die Werte, die in der Liste auswählbar sein sollen. Wenn für checkbox eingestellt: Statt Boolean-Werten sollen die angegebenen Werte für die Zustände true und false genommen werden (z.B. ["Ja", "Nein"]). Für dateRange: Anfangs- und End-Datum für Datepicker und/oder Slider. Für sliderRange: Anfangs- und End-Werte.
visible nein Boolean true Das Snippet wird angezeigt. Auf false stellen um das Snippet zu verbergen: Dadurch können mithilfe von prechecked Werte im versteckten Snippet fest eingestellt werden, die dann bei jeder Filterung gelten.
universalSearch nein UniversalSearch Nur für Snippet-Typ featureInfo: Der gefilterte Wert kann im Web gesucht werden.
beautifiedAttrName nein BeautifiedAttrName Nur für Snippet-Typ featureInfo: Zum Überschreiben der Attributnamen, die im Steckbrief angezeigt werden.
adjustOnlyFromParent nein Boolean false Nur für Snippet-Typ dropdown: Wenn true, wird es nur vom Parent-Snippet nachjustiert.
allowEmptySelection nein Boolean true Nur für Snippet-Typ dropdown: Wird true gesetzt, können alle ausgewählten Werte im Dropdown wieder abgewählt werden. Auf false setzen, wenn immer ein Wert ausgewählt bleiben soll.
chartConfig ja chartConfig Nur für Snippet-Typ chart im Zusammenspiel mit 'service' (siehe Beispiel): Die Konfiguraiton für das Diagramm. Es werden alle Konfigurationsmöglichkeiten (bisher nur "type: bar") von Chart.js unterstützt (siehe: https://www.chartjs.org/docs/latest/configuration/). Zusätzlich ist die Angabe des Parameters 'featureAttributes' erforderlich. Der Parameter gibt an, hinter welchen Attributen sich die anzuzeigenden Daten befinden (siehe Beispiel).
alternativeTextForEmptyChart nein String Alternativtext, der bei Snippet-Typ chart anstelle des Diagramms angezeigt wird, sofern es keine Werte enthält.
infoText nein String false Nur für Snippet-Typ chart: Info-Text zu diesem Snippet.

Beispiel

Beispiel für ein Text-Snippet. Eine Input-Box mit Platzhalter zur freien Filterung von einem Attribut.

{
    "title": "Description of school",
    "attrName": "school_description",
    "type": "text",
    "operator": "IN",
    "placeholder": "Search in description"
}

Beispiel

Beispiel für ein Checkbox-Snippet. Eine Checkbox die - wenn gesetzt - nach "Oui" als true-Wert filtert. Die Checkbox ist per Default angehakt.

{
    "title": "A l'option végétalienne ?",
    "attrName": "vegan_option",
    "type": "checkbox",
    "operator": "EQ",
    "value": ["Oui", "Non"],
    "prechecked": true
}

Beispiel

Beispiel für ein Dropdown-Snippet. Eine einfache Dropdown-Box die keine Mehrfachauswahl zulässt und einen Platzhalter hat.

{
    "title": "District",
    "attrName": "city_district",
    "type": "dropdown",
    "multiselect": false,
    "placeholder": "Choose a district"
}

Beispiel

Beispiel für ein Dropdown-Snippet. Eine als Liste dargestellte Auswahl (nicht als Dropdown-Box) mit Mehrfachauswahl und Alle-Auswählen Option. Zusätzlich mit Icons, Info, festen Werten und voreingestellten Werten.

{
    "title": "District",
    "attrName": "city_district",
    "info": "Some districts of London.",
    "type": "dropdown",
    "display": "list",
    "multiselect": true,
    "optionsLimit": 20000,
    "addSelectAll": true,
    "value": [
        "Whitehall and Westminster",
        "Piccadilly and St James's",
        "Soho and Trafalgar Square",
        "Covent Garden and Strand",
        "Bloomsbury and Fitzrovia"
    ],
    "prechecked": [
        "Piccadilly and St James's",
        "Soho and Trafalgar Square"
    ],
    "renderIcons": {
        "Whitehall and Westminster": "https://example.com/img/whitehall.png",
        "Piccadilly and St James's": "https://example.com/img/piccadilly.png",
        "Soho and Trafalgar Square": "https://example.com/img/soho.png",
        "Covent Garden and Strand": "https://example.com/img/covent.png",
        "Bloomsbury and Fitzrovia": "https://example.com/img/bloomsbury.png"
    },
    "placeholder": "Choose a district"
}

Beispiel

Beispiel für ein Dropdown-Snippet bei dem alle verfügbaren Werte initial ausgewählt sind.

{
    "title": "District",
    "attrName": "city_district",
    "type": "dropdown",
    "multiselect": true,
    "prechecked": "all",
    "placeholder": "Choose a district"
}

Beispiel

Beispiel für ein Slider-Snippet. Ein Slider für einen Einzelwert und Kleinergleich-Operator. Mit gesetztem minValue und maxValue, was die automatische Wertermittlung abschaltet.

{
    "title": "First classes",
    "attrName": "number_of_first_classes",
    "type": "slider",
    "operator": "LE",
    "minValue": 1,
    "maxValue": 5,
    "decimalPlaces": 2
}

Beispiel

Beispiel für ein SliderRange-Snippet. Eine SliderRange die ihre Grenzwerte automatisch ermittelt (wegen fehlendem minValue und maxValue).

{
    "title": "Angle d'inclinaison du toit du garage",
    "attrName": "angle",
    "type": "sliderRange",
    "operator": "BETWEEN",
    "decimalPlaces": 2
}

Beispiel

Beispiel für ein SliderRange-Snippet. Ein SliderRange mit zwei attrName-Angaben für min und max. Mit gesetztem minValue und maxValue, was die automatische Wertermittlung abschaltet.

{
    "title": "Angle d'inclinaison du toit du garage",
    "attrName": ["angle_minimal", "angle_maximal"],
    "type": "sliderRange",
    "operator": "BETWEEN",
    "value": [0, 90]
}

Beispiel

Beispiel für ein Date-Snippet. Ein Datepicker zur Auswahl eines Einzeldatums. Mit gesetztem minValue und maxValue, was die automatische Wertermittlung abschaltet.

{
    "title": "Birthday",
    "attrName": "birthday",
    "type": "date",
    "format": "YYYY-MM-DD",
    "minValue": "2000-01-01",
    "maxValue": "2022-12-31"
}

Beispiel

Beispiel für ein DateRange-Snippet. Mit zwei Attribut-Namen für Min- und Maxwerte. Bitte das spezielle Datums-Format beachten. Benutzt den INTERSECTS-Operator und die automatische Grenzermittlung.

{
    "title": "Bauzeit der Autobahnen",
    "attrName": ["autobahn_baubeginn", "autobahn_bauende"],
    "type": "dateRange",
    "operator": "INTERSECTS",
    "format": "DD.MM.YY"
}

Beispiel

Beispiel für ein DateRange-Snippet. Mit abgestelltem Slider (display: datepicker). Mit zwei Attribut-Namen für Min- und Maxwerte, zwei vom attrName abweichenden subTitles und unterschiedlichen Datums-Formaten. Zusätzlich ist ein Zeitraum voreingestellt. Bitte beachten, dass sich das Format der voreingestellten Werte an format orientiert.

{
    "type": "dateRange",
    "title": "Auslandssemester",
    "subTitles": ["Start der Reise", "End of Journey"],
    "attrName": ["start", "end"],
    "format": ["DD.MM.YYYY", "YYYY/DD/MM"],
    "prechecked": ["01.08.2022", "2023/06/31"],
    "display": "datepicker"
}

Beispiel

Beispiel für ein DateRange-Snippet. Mit über prechecked voreingestellten Zeitpunkten und über value voreingestellten Min- und Max-Werten.

{
    "type": "dateRange",
    "title": "Aktive Baustellen im ...",
    "subTitles": ["Zeitraum von", "Zeitraum bis"],
    "attrName": ["baubeginn", "bauende"],
    "format": "DD.MM.YYYY",
    "value": ["01.01.2019", "31.12.2034"],
    "prechecked": ["07.07.2022", "25.02.2030"]
}

Beispiel

Example for a feature info snippet. Displays all values of the configured attribute names attrName of all filtered features in the filter.

{
    "title": "Steckbrief",
    "attrName": ["tierartengruppe", "deutscher_artname", "artname", "rote_liste_d", "rote_liste_hh"],
    "type": "featureInfo",
    "universalSearch": {
      "attrName": "Wissenschaftlicher Name",
      "prefix": "https://www.google.com/search?q="
    },
    "beautifiedAttrName": {
      "tierartengruppe": "Tierartengruppe",
      "familie": "Familie"
    }
}

Beispiel

Beispiel für ein SliderRange-Snippet für die SensorThingsAPI (STA).

{
    "type": "sliderRange",
    "title": "Anzahl der Fahrräder",
    "attrName": "@Datastreams.0.Observations.0.result"
}

Beispiel

Beispiel für ein Snippet welches über mehrere Attribute gleichzeitig filtern und die Features angezeigt bekommen möchte, die dem eingestellten Wert bei einem der angegeben Attributen entspricht.

{
    "attrName": ["xpplanname", "rechtscharakterwert"],
    "operatorForAttrName": "OR",
    "type": "dropdown",
}
Beispiel

Beispiel für ein Chart Snippet. Fragt die Features aus dem konfigurierten "service" ab und zeigt die Daten der konfigurierten "featureAttributes" in einem Balkendiagramm an.

{
    "type": "chart",
    "title": "Phänogramm",
    "subtitle": ["Anzahl Beobachtungen = ", ["anzahl_beobachtungen"]],
    "tooltipUnit": " %",
    "chartConfig": {
        "type": "bar",
        "data": {
            "datasets": [{
                "label": "Label",
                "backgroundColor": "rgba(214, 227, 255, 0.8)",
                "featureAttributes": ["januar_1", "februar_1", "maerz_1", "april_1", "mai_1", "juni_1", "juli_1", "august_1", "september_1", "oktober_1", "november_1", "dezember_1"]
            },
            {
                "label": "Label 2",
                "backgroundColor": "rgba(214, 227, 255, 0.8)",
                "featureAttributes": ["januar_2", "februar_2", "maerz_2", "april_2", "mai_2", "juni_2", "juli_2", "august_2", "september_2", "oktober_2", "november_2", "dezember_2"]
            }
        ],
        "labels": ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]
        },
        "options": {
            "plugins": {
                "legend": {
                    "display": false
                },
                "subtitle": {
                  "display": true,
                  "position": "bottom",
                  }
                }
            }
        }
    },
    "service": {
        "extern": true,
        "type": "WFS",
        "url": "https://qs-geodienste.hamburg.de/HH_WFS_verbreitung_tiere",
        "typename": "verbreitung_tiere_eindeutige_liste",
        "featureNS": "https://registry.gdi-de.org/id/de.hh.up",
        "featureTypes": ["verbreitung_tiere_eindeutige_liste"],
        "filter": {
            "attrName": "artname",
            "operator": "EQ"
        }
    }
}

Datatypes.Snippets.Children🔗

Konfiguration von Kind-Snippets. Die Kind-Snippets werden nach derselben Art konfiguriert wie "normale" Snippets. Siehe Snippets.

Eine Eltern-Kind-Beziehung kann für folgenden Anwendungsfall benutzt werden: Ist ein Datensatz zu groß, kann das Vorselektieren eines Attributes die Menge der anschließenden Filterung reduzieren. (Beispiel: Tierartengruppe "Säugetiere" als Vorauswahl würde den Datenraum aller Tiere signifikant verkleinern.)

Mit dem Parameter children wird ein Snippet angewiesen, selber keine Filterung auszulösen, sondern nur seine unter children konfigurierten Kind-Snippets mit den aus seiner Einstellung resultierenden Daten zu "füttern". (Beispiel: "Säugetiere" lässt die resultierenden Tierarten auf einen annehmbaren Bereich schrumpfen.)

Erst die Auswahl in einem der Kind-Snippets (Beispiel: "Blauwal") führt die Filterung schließlich aus. Im Falle der Verwendung von Eltern-Kind-Beziehungen empfehlen wir snippetTags auf false zu stellen. Eine mehrdimensionale Verschachtelung (Großeltern, Eltern, Kind) ist derzeit nicht vorgesehen.

Beispiel

Beispiel für ein Dropdown-Snippet mit Eltern-Kind-Beziehung. Die cityA- und cityB-Dropdowns sind zunächst nicht gefüllt. Erst bei Auswahl eines District füllen sie sich mit den Städten des gewählten Bezirkes, es findet aber keine Filterung auf der Map statt. Erst die Auswahl einer Stadt initiiert schließlich die Filterung nach dem Stadtnamen.

{
    "title": "District",
    "attrName": "city_district",
    "type": "dropdown",
    "multiselect": false,
    "placeholder": "Choose a district",
    "children": [
        {
            "type": "dropdown",
            "attrName": "cityA",
            "placeholder": "cityA"
        },
        {
            "type": "dropdown",
            "attrName": "cityB",
            "placeholder": "cityB"
        }
    ]
}

Datatypes.Snippets.Timeouts🔗

Mit der Anpassung von Timeouts kann die User Experience verbessert werden. Dies betrifft besonders Filter die mit strategy: active arbeiten.

Name Required Typ Default Description
input nein Number 1400 Nur für Snippet-Typ sliderRange und slider: Die Zeit in Millisekunden die vergehen soll, bevor nach Eingabe von Zahlen und Zeichen ins Input-Feld eine Filterung ausgelöst werden soll.
slider nein Number 800 Nur für Snippet-Typ sliderRange, slider und dateRange: Die Zeit in Millisekunden die vergehen soll, bevor nach der letzten Änderung des Sliders eine Filterung ausgelöst werden soll.

Beispiel

Ein Beispiel für ein sliderRange-Snippet mit beschleunigter Filterung nach Eingabe ins Input-Feld bzw. Änderung des Sliders.

{
    "title": "Baustellen",
    "attrName": ["baubeginn", "bauende"],
    "type": "sliderRange",
    "timeouts": {
        "input": 800,
        "slider": 400
    }
}

Datatypes.Snippets.Service🔗

Ein Objekt das einen Service für ein Snippet beschreibt. Alle Servicetypen, die der Filter unterstützt, können theoretisch genutzt werden. Die Konfiguration hängt vom Typ des Services ab.

WFS |Name|Verpflichtend|Typ|Default|Beschreibung|Expert| |----|-------------|---|-------|------------|------| |collection|ja|String||Die Collection die geladen wird. Nur bei OAF.|false| |type|ja|String||Der Typ des Services (WFS, GeoJSON oder OAF).|false| |typename|ja|String||Der Featuretype der geladen wird. Nur bei WFS.|false| |url|ja|String||Die Service Url.|false|

Beispiel WFS

{
    "type": "WFS",
    "url": "https://qs-geodienste.hamburg.de/HH_WFS_verbreitungskarten_tiere",
    "typename": "verbreitung_tiere_eindeutige_liste"
}

Beispiel GeoJSON

{
    "type": "GeoJSON",
    "url": "../chartjs/charts_stadtteil.geojson"
}
Beispiel OAF

{
    "url": "https://api.hamburg.de/datasets/v1/schulen",
    "collection" : "staatliche_schulen",
    "type": "OAF"
}

Datatypes.Snippets.ChartConfig🔗

Ein Objekt, das ein Diagramm beschreibt. Für weitere informationen hier klicken.

Beispiel

Die Top-Level-Struktur der Chart.js-Konfiguration:

{
    "chartConfig": {
        "type": 'bar',
        "data": {},
        "options": {},
        "plugins": []
    }
}

Datatypes.Snippets.LocaleCompareParams🔗

Ein String oder Objekt zur Steuerung der Sortierung von Dropdown-Boxen.

Beispiel String

"localeCompareParams": "de"

Object

Name Required Typ Default Description
locale nein String Der zu verwendende Ländercode nach ISO 3166
options nein Options Optionen für die Sortierung per localeCompare.

Beispiel Object

{
    "locale": "de",
    "options": {
        "ignorePunctuation": true
    }
}

Datatypes.Snippets.LocaleCompareParams.Options🔗

Ein Objekt zur benutzerdefinierten Steuerung der verwendeten localeCompare-Funktion zur Sortierung von Dropdown-Boxen, wie sie u.a. hier dokumentiert sind: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare

Name Required Typ Default Description
ignorePunctuation nein Boolean false Kann auf true eingestellt werden um Interpunktion zu ignorieren.
numeric nein Boolean false Kann auf true gestellt werden, wenn Zahlen numerisch sortiert werden sollen. z.B. true: “2” < “10” bzw. false: “2” > “10”
sensitivity nein String "variant" Einstellung zur Berücksichtigung der Zeichen-Basis (z.B. ä → ae, somit wird ä in a einsortiert).

Beispiel

{
    "ignorePunctuation": true
}

Datatypes.Snippets.UniversalSearch🔗

Ein Objekt zur Suche der Werte im Web

Object

Name Required Typ Default Description
attrName ja String Der Attribute Name
prefix ja String Die Website als Prefix für die Suche

Beispiel

{
    "attrName": "Wissenschaftlicher Name",
    "prefix": "https://www.ecosia.org/search?q="
}

Datatypes.Snippets.BeautifiedAttrName🔗

Ein object zur Konfiguration des Attribute-Name

Object

Name Required Typ Default Description
attrName ja String Der Attribute-Name

Beispiel

{
    "attrName": "beautified Name"
}

Datatypes.Bbox🔗

Ein Datentyp des Routings. BBOX-Wert zugeordnet zu einem speedProfile. Koordinatensystem ist abhängig von dem verwendeten epsg-Parameter. Der verwendete geosearch Dienst muss bbox-Werte als String unterstützen.

Name Verpflichtend Typ Default Beschreibung
speedProfile nein String Koordinatenwerte "West,Süd,Ost,Nord"

Beispiel

{
    "bbox": {"CYCLING": "9.6,53.40,10.4,53.84"}
}

Datatypes.CustomAvoidFeatures🔗

Routing-Werkzeug Routenplanung Routen customAvoidFeatures. Möglichkeit eigene Optionen für Verkehrswege meiden (zusätzlich zum BKG-Dienst) für speedProfiles zu definieren (erfordert eigenes Backend).

Name Verpflichtend Typ Default Beschreibung
speedProfile nein String[] Welche Optionen für ´Verkehrswege meiden´ für das angegebene speedProfile verfügbar sein sollen.

Beispiel

{
    "customAvoidFeatures": {
       "CYCLING": ["STEPS", "FERRIES", "UNPAVEDROADS"],
       "CAR": ["HIGHWAYS"]
    }
}

Datatypes.CustomPreferences🔗

Routing-Werkzeug Routenplanung Routen customPreferences. Möglichkeit eigene Routenpräferenzen (zusätzlich zum BKG-Dienst) für speedProfiles zu definieren (erfordert eigenes Backend).

Name Verpflichtend Typ Default Beschreibung
speedProfile nein String[] Welche Präferenzen für das angegebene speedProfile verfügbar sein sollen.

Beispiel

{
    "customPreferences": {
       "CYCLING": ["RECOMMENDED", "SHORTEST", "GREEN"],
       "CAR": ["RECOMMENDED", "SHORTEST", "GREEN"]
    }
}

Datatypes.StyleRoute🔗

Routing-Werkzeug Routenplanung Routen Style Optionen.

Name Verpflichtend Typ Default Beschreibung
fillColor nein Number[] [255, 44, 0, 1] Welche Farbe zum Füllen verwendet werden soll.
width nein Number 6 Wie breit die Route dargestellt werden soll.
highlightColor nein Number[] [255, 255, 255, 1] Welche Farbe zum Highlighten verwendet werden soll.
highlightWidth nein Number 9 Wie breit das Highlighting dargestellt werden soll.
partHighlightColor nein Number[] [255, 255, 255, 1] Welche Farbe zum highlighten verwendet werden soll, wenn nur ein Teil der Route gehighlightet wird.
highlightWidth nein Number 9 Wie breit das Highlighting dargestellt werden soll, wenn nur ein Teil der Route gehighlightet wird.

Beispiel

{
    "styleRoute": {
        "fillColor": [255, 44, 0, 1],
        "width": 6,
        "highlightColor": [255, 255, 255, 1],
        "highlightWidth": 9,
        "partHighlightColor": [255, 255, 255, 1],
        "partHighlightWidth": 3
    }
}

Datatypes.StyleWaypoint🔗

Routing-Werkzeug Routenplanung Wegpunkt Style Optionen.

Name Verpflichtend Typ Default Beschreibung
lineColor nein Number[] [255, 127, 0] Welche Farbe zum Umranden verwendet werden soll.
lineWidth nein Number 4 Wie breit die Umrandung dargestellt werden soll.
fillColor nein Number[] [255, 127, 0] Welche Farbe zum Füllen verwendet werden soll.
textFillColor nein String "#000" Welche Farbe für den Text verwendet werden soll.
textLineColor nein String "#fff" Welche Farbe für das Highlighten des Textes verwendet werden soll.
textLineWidth nein Number 3 Wie groß der Text dargestellt werden soll.
opacity nein Number 0.3 Wie stark die Füllfarbe dargestellt werden soll.
radius nein Number 8 Wie groß der Wegpunkt dargestellt werden soll.

Beispiel

{
    "styleWaypoint": {
        "lineColor": [255, 127, 0],
        "lineWidth": 4,
        "fillColor": [255, 127, 0],
        "textFillColor": "#000",
        "textLineColor": "#fff",
        "textLineWidth": 3,
        "opacity": 0.3,
        "radius": 8
    }
}

Datatypes.StyleAvoidAreas🔗

Routing-Werkzeug Routenplanung Sperrflächen Style Optionen.

Name Verpflichtend Typ Default Beschreibung
lineColor nein Number[] [0, 127, 255] Welche Farbe zum Umranden verwendet werden soll.
lineWidth nein Number 2 Wie breit die Umrandung dargestellt werden soll.
fillColor nein Number[] [0, 127, 255] Welche Farbe zum Füllen verwendet werden soll.
opacity nein Number 0.3 Wie stark die Füllfarbe dargestellt werden soll.
pointRadius nein Number 8 Wie groß die Eckpunkte dargestellt werden sollen.
pointLineWidth nein Number 4 Wie groß die Umrandung der Eckpunkte dargestellt werden sollen.

Beispiel

{
    "styleAvoidAreas": {
        "lineColor": [0, 127, 255],
        "lineWidth": 2,
        "fillColor": [0, 127, 255],
        "opacity": 0.3,
        "pointRadius": 8,
        "pointLineWidth": 4
    }
}

Datatypes.BatchProcessing🔗

Routing-Werkzeug Routenplanung und Erreichbarkeitsanalysen Stapelverarbeitung Optionen.

Name Verpflichtend Typ Default Beschreibung
enabled nein Boolean false Ob die Stapelverarbeitung bereitgestellt werden soll.
active nein Boolean false Ob die Stapelverarbeitung aktiv sein soll.
limit nein Number 1000 Die maximale Anzahl an Zeilen in einer CSV die verarbeitet werden sollen/dürfen.
maximumConcurrentRequests nein Number 3 Die maximale Anzahl an Aufrufen die an externe Services parallel gemacht werden dürfen. Zu viele schränken die parallele Arbeit mit der Karte ein. Zu Wenige verlangsamt die Stapelverarbeitung. Maximal können in den Browsern 6 Requests gleichzeitig gemacht werden.

Beispiel

{
    "batchProcessing": {
        "enabled": false,
        "active": false,
        "limit": 1000,
        "maximumConcurrentRequests": 3
    }
}

Datatypes.StyleCenter🔗

Routing-Werkzeug Erreichbarkeitsanalysen Center Style Optionen.

Name Verpflichtend Typ Default Beschreibung
lineColor nein Number[] [255, 127, 0] Welche Farbe für die Umrandung verwendet werden soll.
lineWidth nein Number 4 Wie breit die Umrandung des Punktes dargestellt werden soll.
fillColor nein Number[] [255, 127, 0] Welche Farbe zum Füllen verwendet werden soll.
opacity nein Number 0.3 Wie stark die Füllfarbe dargestellt werden soll.
radius nein Number 8 Wie groß der Wegpunkt dargestellt werden soll.

Beispiel

{
    "styleCenter": {
        "lineColor": [255, 127, 0],
        "lineWidth": 4,
        "fillColor": [255, 127, 0],
        "opacity": 0.3,
        "radius": 8
    }
}

Datatypes.StyleIsochrones🔗

Routing-Werkzeug Erreichbarkeitsanalysen Isochrone Style Optionen.

Name Verpflichtend Typ Default Beschreibung
lineWidth nein Number 2 Wie breit die Umrandung der Polygone dargestellt werden soll.
opacity nein Number 0.65 Wie stark die Füllfarbe dargestellt werden soll.
startColor nein Number[] [66, 245, 78] Ab welcher Farbe zum Füllen interpoliert werden soll.
endColor nein Number[] [245, 66, 66] Bis zu welcher Farbe zum Füllen interpoliert werden soll.

Beispiel

{
    "styleIsochrones": {
        "lineWidth": 2,
        "opacity": 0.65,
        "startColor": [66, 245, 78],
        "endColor": [245, 66, 66]
    }
}

Datatypes.Literal🔗

Datatype der WFS-searchInstance. Ein Literal (literal) kann entweder eine Klausel (clause) als Parameter besitzen oder ein Feld (field). Falls beide gesetzt sind, dann wird der clause-Teil ignoriert. Zu beachten ist jedoch, dass ein Feld innerhalb einer Klausel verpackt sein muss (wie in den meisten Beispielen zu sehen).

Name Verpflichtend Typ Default Beschreibung
clause ja Clause Definiert die Art und Weise wie mehrere literals miteinander angefragt werden sollen. Kann als Gruppe von literals angesehen werden.
field nein Field Repräsentation eines Auswahlfeldes für einen Servicewert für den Nutzer.

Beispiele

{
    "clause": {
        "type": "and",
        "literals": [
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "gemarkung",
                    "inputLabel": "Gemarkung",
                    "options": ""
                }
            },
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "flur",
                    "inputLabel": "Flur",
                    "options": "flur"
                }
            }
        ]
    }
}
{
    "field": {
        "queryType": "equal",
        "fieldName": "rivers",
        "inputLabel": "Flüsse",
        "options": [
            {
                "id": "0",
                "displayName": "Elbe"
            },
            {
                "id": "1",
                "displayName": "Moselle"
            },
            {
                "id": "2",
                "displayName": "Rhine"
            }
        ]
    }
}

Datatypes.Literal.Clause🔗

Eine Klausel (clause) definiert die Art und Weise wie verschiedene literals miteinander anzufragen sind.

Name Verpflichtend Typ Default Beschreibung
literals ja Literal[] Array an literals.
type ja enum["and", "or"] Die Art und Weise wie die literals dieser clause angefragt werden sollen.

Beispiel

{
    "clause": {
        "type": "and",
        "literals": [
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "gemarkung",
                    "inputLabel": "Gemarkung",
                    "options": ""
                }
            },
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "flur",
                    "inputLabel": "Flur",
                    "options": "flur"
                }
            }
        ]
    }
}

Datatypes.Literal.Field🔗

Ein field repräsentiert ein Auswahlfeld für einen Wert des Services. Es ist möglich ein Feld für mehrere Suchparameter des Dienstes zu verwenden. Um dies zu ermöglichen, muss für jeden Parameter ein Array verwendet werden, wobei jedes Element zu einem einzelnen Wert des Dienstes gehört. Eine Konfiguration wie

{
    "field": {
        "queryType": ["equal", "like"],
        "fieldName": ["flst", "gmkr"],
        "inputLabel": ["Flurstück", "Gemarkungsnummer"]
    }
}

würde ein einzelnes field erstellen, in welchen die Nutzenden sich entscheiden können, ob sie das Eingabefeld nutzen möchten, um nach einem Flurstück oder nach einer Gemarkungsnummer zu suchen, indem sie den Wert in einem Dropdown Menü auswählen.

Falls der Parameter options gesetzt wurde, wird ein select-Feld, andernfalls ein normaler Text Input verwendet. Falls options ein String ist, ist es wichtig, dass die Reihenfolge der Felder mit der Ordnung der Objekte der externen Quelle (selectSource) übereinstimmt. Man nehme an, dass die Quelle wie folgt aussieht:

{
    "one": {
        "foo": {
            "id": "foo_one",
            "bar": ["f1_bar_one", "f1_bar_two"]
        }
    },
    "two": {
        "foo": {
            "id": "foo_two",
            "bar": ["f2_bar_one", "f2_bar_two"]
        }
    }
}

In diesem Fall sollte die Reihenfolge in der Konfiguration wie folgt aussehen:

{
    "clause": {
        "type": "and",
        "literals": [
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "objects",
                    "inputLabel": "Objekte",
                    "options": ""
                }
            },
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "foo",
                    "inputLabel": "Foo",
                    "options": "foo"
                }
            },
            {
                "field": {
                    "queryType": "equal",
                    "fieldName": "bar",
                    "inputLabel": "Bar",
                    "options": "foo.bar"
                }
            }
        ]
    }
}
Name Verpflichtend Typ Default Beschreibung
defaultValue nein String/String[] Wenn das Feld nicht required ist, wird dieser Wert beim Senden verwendet.
fieldName ja String/String[] Die Id des WFS Service Parameters für den Vergleich.
inputLabel ja String/String[] Label des UI Elementes. Kann ein Übersetzungsschlüssel sein.
inputPlaceholder nein String/String[] Platzhalter für das UI Element. Sollte Beispieldaten enthalten. Kann ein Übersetzungsschlüssel sein.
inputTitle nein String/String[] Wert, welcher beim Hovern über das UI Element angezeigt wird. Kann ein Übersetzungsschlüssel sein.
required nein Boolean/Boolean[] false Legt fest, ob das Feld ausgefüllt werden muss.
options nein String/Option[]/String[] Falls options ein Array (egal ob es Strings oder Option) sind, werden die gegebenen Werte für die Auswahl verwendet. Diese Optionen können entweder eine Option oder einfache Werte (String / Number) sein. Im zweiten Fall werden die einfachen Werte sowohl für die Id als auch für den displayName verwendet.
Falls options ein String ist, existieren verschiedene Möglichkeiten:
  • Falls der String leer ist, werden die Schlüssel der selectSource verwendet.
  • Falls der String nicht leer ist, wird angenommen, dass ein anderes Feld mit options="" existiert; andernfalls wird das Feld deaktiviert. Es wird zudem angenommen, dass der String ein Array in selectSource mit weiteren Optionen repräsentiert.
Zu beachten: Der Parameter options kann auch als multidimensionales Array Option[][] angegeben werden, welches allerdings nicht für Masterportal Admins parametrisiert werden kann. Dies findet Anwendung, wenn ein Option[] verwendet werden soll, jedoch mehrere Parameter in einem field hinterlegt werden sollen.
queryType nein enum["equal", "like"]/enum["equal", "like"][] Wird für die Verwendung mit einem WFS@1.1.0 vorausgesetzt. Der queryType legt fest, wie das Feld mit dem Wert des Dienstes verglichen werden soll.
usesId nein Boolean/Boolean[] null Nur relevant, wenn der Parameter options gesetzt und ein leerer String (Rootelement) ist. Legt fest, ob der Schlüssel des Objektes aus der externen Quelle als Wert für die Query verwendet werden soll oder ob das Objekt eine Id gesetzt hat, welche stattdessen Anwendung finden soll.

Beispiel

{
    "field": {
        "queryType": "equal",
        "fieldName": "rivers",
        "inputLabel": "Flüsse",
        "options": [
            {
                "displayName": "Elbe",