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🔗
Im Abschnitt portalConfig können folgende Eigenschaften konfiguriert werden:
- Konfiguration der Karte und darauf platzierter Elemente (map)
- Einträge im Mainmenu sowie Vorhandenheit jeweiliger Module und deren Reihenfolge (mainMenu)
- Einträge im Secondarymenu sowie Vorhandenheit jeweiliger Module und deren Reihenfolge (secondaryMenu)
- Konfiguration der Fußzeile (portalFooter)
- 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 |
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
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:
Beispiel backForward als Boolean:
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
Beispiel fullScreen als Boolean
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[]
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:
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
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
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
Beispiel tiltView als Boolean
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
Beispiel totalView als Boolean
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
Beispiel zoom als Boolean
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
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
Beispiel Cesium.Color
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
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
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
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
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
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
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
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
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
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
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. | |
nein | 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 |
{
"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
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 |
---|---|---|---|---|
nein | String | Die Email-Adresse. | ||
name | nein | String | Der angezeigte Name. |
Beispiel
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
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. |
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
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
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
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
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
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
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
.
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
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
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). |
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
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
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:
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. |
"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
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"}
}
}
{
"geosearch": {
"minChars": 3,
"limit": 10,
"type": "SPECIALWFS",
"serviceId": "specialWfs_geosearch",
"typeName": "ms:strasse_nr",
"propertyNames": [
"ms:LABEL_TEXT"
],
"geometryName": "ms:msGeometry"
}
}
{
"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
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
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
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
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
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
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
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
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:
- Layer die Hintergrundkarten beinhalten (baselayer)
- 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🔗
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.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.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
Beispiel subjectlayer
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
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
Beispiel WMS
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
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
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
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
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
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) |
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) |
Datatypes.Image🔗
Name | Verpflichtend | Typ | Default | Beschreibung |
---|---|---|---|---|
scale | nein | Integer | Mögliche Einstellung: scale |
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 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
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:
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
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
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
Datatypes.Snippets.BeautifiedAttrName🔗
Ein object zur Konfiguration des Attribute-Name
Object
Name | Required | Typ | Default | Description |
---|---|---|---|---|
attrName | ja | String | Der Attribute-Name |
Beispiel
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
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
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:
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