Zum Hauptinhalt springen

config.json

Die config.json enthält die gesamte Konfiguration der Portal-Oberfläche. In ihr wird geregelt welche Elemente sich wo in der Menüleiste befinden, worauf die Karte zentriert werden soll und welche Layer geladen werden sollen. Hier geht es zu einem Beispiel. Die config.json besteht aus der Portalconfig und der Themenconfig

{
"Portalconfig": {},
"Themenconfig": {}
}

Portalconfig

Im Abschnitt Portalconfig können folgende Eigenschaften konfiguriert werden:

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

Es existieren die im Folgenden aufgelisteten Konfigurationen:

NameVerpflichtendTypDefaultBeschreibung
portalTitleneinportalTitleDer Titel und weitere Parameter die in der Menüleiste angezeigt werden können.
treeTypeneinenum["classic"]"classic"Definiert den verwendeten Themenbaumtyp. Aktuell verfügbar: „classic“ – ein frei konfigurierbarer, klassischer Themenbaum mit Ordner- und Layerstruktur.
singleBaselayerneinBooleanfalseLegt fest, ob nur ein Baselayer gleichzeitig ausgewählt werden kann.
mapViewneinmapViewMit verschiedenen Parametern wird die Startansicht konfiguriert und der Hintergrund festgelegt, der erscheint wenn keine Karte geladen ist.
controlsneincontrolsMit den Controls kann festgelegt werden, welche Interaktionen in der Karte möglich sein sollen.
menuneinmenuHier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ist identisch mit der Reihenfolge, in der config.json (siehe Tools).
searchBarneinsearchBarÜber die Suchleiste können verschiedene Suchen gleichzeitig angefragt werden.
layersRemovableneinBooleanfalseGibt an ob der Layer gelöscht werden darf.
portalLanguageneinportalLanguageMit dieser Konfiguration werden die Sprachen im Portal eingestellt, eine Default-Sprache ausgewählt und die Start-Reihenfolge festgelegt.
classicTreeIconsneinObjekt{}Definition benutzerdefinierter Icons für den Classic-Layertree, z.B. {"showInfoIcon: "fas fa-info-circle"}. Siehe unten für eine vollständige Dokumentation.
displayHeaderneinBooleantrueWenn auf false gesetzt, wird die Header-Leiste nicht angezeigt.

Beispiele der Classic-Layertree Icons

"classicTreeIcons": {
"collapsedIcon": "fas fa-caret-right",
"expandedIcon": "fas fa-caret-down",
"unselectedIcon": "fas fa-square",
"selectedIcon": "fas fa-check-square",
"settingsIcon": "fas fa-cog",
"showInfoIcon": "fas fa-info-circle",
"moveLayerUpIcon": "fas fa-caret-up",
"moveLayerDownIcon": "fas fa-caret-down",
"copyLayerIcon": "fas fa-copy",
"removeLayerIcon": "fas fa-trash",
"zoomToLayerIcon": "fas fa-expand-arrows-alt",
"folderIcon": "fas fa-folder",
"authenticationIcon": "fas fa-lock
}

Portalconfig.searchBar

Konfiguration der Searchbar

NameVerpflichtendTypDefaultBeschreibung
minCharsneinInteger3Minimale Anzahl an Buchstaben, ab der die Suche losläuft.
placeholderneinString"Suche"Placeholder für das Freitextfeld.
recommendedListLengthneinInteger5Anzahl der Einträge in der Vorschlagsliste.
quickHelpneinBooleanfalseGibt an ob eine Schnellhilfe angeboten wird.
specialWFSneinspecialWFSKonfiguration des specialWFS Suchdienstes.
zoomLevelneinIntegerZoomLevel, auf das die Searchbar maximal hineinzoomt.
renderToDOMneinStringHTML-Id an diese sich die Searchbar rendert. Bei "#searchbarInMap" zeichnet sich die Searchbar auf der Karte. Wird verwendet in MeldeMichel.

Portalconfig.searchBar.specialWFS

Konfiguration der SpecialWFS Suche

NameVerpflichtendTypDefaultBeschreibung
minCharsneinInteger3Minimale Anzahl an Buchstaben, ab der die Suche losläuft.
glyphiconneinString"glyhicon-home"Default glyphicon das in der Vorschlagsliste erscheint. Kann in der definition überschrieben werden.
maxFeaturesneinInteger20Maximale Anzahl an gefundenen Features. Kann in der definition überschrieben werden.
timeoutneinInteger6000Timeout in ms für die Dienste Anfrage.
definitionsneindefinition[]Definition der speziellen WFS suchen.

Beispiel

"specialWFS": {
"placeholder": "WFS Suche",
"minChars": 3,
"timeout": 10000,
"definitions": [
{
"url": "https://isk.geobasis-bb.de/ows/vg_wfs",
"typeName": "app:gem",
"propertyNames": [
"app:gem_name"
],
"name": "Gemeindename",
"namespaces": "xmlns:app='http://www.deegree.org/app'",
"geometryName": "app:geom",
"maxFeatures": 20,
"glyphicon": "glyphicon-home"
}
]
}

Portalconfig.searchBar.specialWFS.definition

Konfiguration einer Definition bei der SpecialWFS Suche

NameVerpflichtendTypDefaultBeschreibung
urlneinStringURL des WFS-Dienstes
typeNameneinStringtypeName des WFS-Layers
propertyNamesneinString[]Liste der zu durchsuchenden Attributnamen
nameneinStringAnzeigename der Kategorie in der Vorschlagsliste
namespacesneinStringXML-Namespaces für die Abfrage (xmlns:wfs, xmlns:ogc, xmlns:gml werden automatisch ergänzt)
geometryNameneinString"app:geom"Name des Geometrieattributs – wird zum Zoomen benötigt
maxFeaturesneinInteger20Maximale Anzahl zurückgelieferter Features
glyphiconneinString"glyphicon-home"CSS-Klasse für das Icon in der Vorschlagsliste
placeholderneinString"Suche"Platzhaltertext im Eingabefeld (nicht im Beispiel genutzt, aber im Kontext der searchBar evtl. möglich)
categoryneinStringOptionale Gruppierung von Definitionen (nicht im Beispiel, aber für größere Projekte relevant)
searchableneinBooleantrueOb diese Definition für die Suche aktiviert ist
featureTypeLabelneinStringOptional: Anzeigename des Layers im Ergebnis (falls abweichend von name)

Beispiel

"searchBar": {
"placeholder": "WFS Suche",
"specialWFS": {
"minChars": 3,
"timeout": 10000,
"definitions": [
{
"url": "https://isk.geobasis-bb.de/ows/vg_wfs",
"typeName": "app:gem",
"propertyNames": [
"app:gem_name"
],
"name": "Gemeindename",
"namespaces": "xmlns:app='http://www.deegree.org/app'",
"geometryName": "app:geom",
"maxFeatures": 20,
"glyphicon": "glyphicon-home"
},
{
"url": "https://isk.geobasis-bb.de/ows/aktualitaeten_wfs",
"typeName": "app:tk10_single",
"propertyNames": [
"app:sheetname",
"app:sheetnr",
"app:identifier",
"app:classification",
"app:creationdate",
"app:revisiondate",
"app:publicationdate",
"app:processstepdate"
],
"name": "Kartenblätter TK10",
"namespaces": "xmlns:app='http://www.deegree.org/app'",
"geometryName": "app:geom",
"maxFeatures": 20,
"glyphicon": "glyphicon-map-marker"
},
{
"url": "https://isk.geobasis-bb.de/ows/aktualitaeten_wfs",
"typeName": "app:tk25_single",
"propertyNames": [
"app:sheetname",
"app:sheetnr",
"app:identifier",
"app:classification",
"app:creationdate",
"app:revisiondate",
"app:publicationdate",
"app:processstepdate"
],
"name": "Kartenblätter TK25",
"namespaces": "xmlns:app='http://www.deegree.org/app'",
"geometryName": "app:geom",
"maxFeatures": 20,
"glyphicon": "glyphicon-map-marker"
}
]
}
}

Portalconfig.portalLanguage

Konfiguration der Sprache

NameVerpflichtendTypDefaultBeschreibung
enabledneinBooleantrueAktiviert die Sprach-Umschalter-GUI im Portal. Die Sprache kann dann nur noch über andere Eingriffe (z.B. Kommandozeile Backbone.i18next.changeLanguage("en")) umgeschaltet werden.
debugneinBooleanfalseKann für die Entwicklungsphase auf true gesetzt werden, um das Sprach-Tool zu debuggen.
languagesneinObject{"de": "deutsch, "en": "english"}Konfiguration der im Portal verwendeten Sprachen. Bitte beachten, dass die entsprechenden Sprach-Dateien auch hinterlegt sein müssen.
startLanguageneinString"de"Die Standard-Sprache die beim Start automatisch aktiv sein soll. Bitte beachten, dass dieser Wert ignoriert wird wenn eine andere Start-Bedingung erfüllt ist. Die startLanguage ist zugleich der Fallback, falls eine Sprache nicht erkannt wird oder Sprach-Schlüssel fehlen.
changeLanguageOnStartWhenneinArray["querystring", "localStorage", "navigator"]Stellt die Reihenfolge der Sprach-Eingriffe ein, auf die beim Start geachtet werden soll.

Portalconfig.controls

NameVerpflichtendTypDefaultBeschreibung
attributionsneinattributionsfalseZusätzliche Layerinformationen die im Portal angezeigt werden sollen
fullScreenneinBoolean / ObjektfalseErmö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.
mousePositionneinBoolean / ObjektfalseDie Koordinaten des Mauszeigers werden angeziegt.
orientationneinorientationOrientation nutzt die geolocation des Browsers zur Standortbestimmung des Nutzers.
zoomneinzoomfalseLegt fest, ob die Zoombuttons angezeigt werden sollen.
totalViewneintotalViewfalseZeigt einen Button an, mit dem die Startansicht mit den initialen Einstellungen wiederhergestellt werden kann.
button3dneinBoolean / ObjektfalseLegt fest, ob ein Button für die Umschaltung in den 3D Modus angezeigt werden soll.
buttonOblique (todo)neinBoolean / ObjektfalseLegt fest, ob ein Button für die Umschaltung in den Oblique (Schrägluftbild) Modus angezeigt werden soll.
orientation3dneinBoolean / ObjektfalseLegt fest, ob im 3D Modus eine Navigationsrose angezeigt werden soll.
backForwardneinbackForwardfalseZeigt Buttons zur Steuerung der letzten und nächsten Kartenansichten an.
geolocationneingeolocationfalseZeigt einen Button zur Standortbestimmung an.

Portalconfig.controls.attributions

Die Eigenschaft attributions kann entweder vom Typ Boolean oder Object sein:

  • Ist attributions vom Typ Boolean, steuert der Wert lediglich, ob vorhandene Attributionsinformationen angezeigt werden sollen (true) oder nicht (false).

  • Ist attributions ein Object, können darüber weiterführende Einstellungen vorgenommen werden. In diesem Fall gelten die folgenden Attribute:

NameVerpflichtendTypDefaultBeschreibung
isInitOpenDesktopneinBooleantrueLegt fest, ob die Attributions (Desktop-Ansicht) initial ausgeklappt werden sollen.
isInitOpenMobileneinBooleanfalseLegt fest, ob die Attributions (Mobile-Ansicht) initial ausgeklappt werden sollen.
positionneinStringGibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").

Beispiel als Boolean

"attributions": true

Beispiel als Object

"attributions": {
"isInitOpenDesktop": true,
"isInitOpenMobile": false,
}

Portalconfig.controls.orientation

NameVerpflichtendTypDefaultBeschreibung
zoomModeneinenum["none", "once", "always"]"once"none (Die Standortbestimmung ist deaktiviert.), once (Es wird einmalig beim Laden der Standort bestimmt und einmalig auf den Standort gezoomt.), always (Die Karte bleibt immer auf den Nutzerstandort gezoomt.).
poiDistancesneinBoolean/Integer[]trueBei 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].
positionneinStringGibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").

Beispiel mit poiDistances vom Typ Boolean

"orientation": {
"zoomMode": "once",
"poiDistances": true
}

Beispiel mit poiDistances vom Typ Integer[]

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

Beispiel mit Positionierung des Werkzeugs

"orientation": {
"zoomMode": "once",
"position": "top"
}

Portalconfig.controls.overviewMap

NameVerpflichtendTypDefaultBeschreibung
resolutionneinIntegerdeprecated in 3.0.0: Legt die Resolution fest, die in der Overviewmap verwendet werden soll. Falls nicht angegeben, passt sich der Kartenausschnitt per Zoom automatisch an.
baselayerneinStringdeprecated in 3.0.0, danach bitte layerId verwenden!: Über den Parameter baselayer kann ein anderer Layer für die Overviewmap verwendet werden. Hier muss eine Id aus der services.json angegeben werden die in der config.js des Portals, im Parameter layerConf steht.
layerIdneinStringÜber den Parameter layerId kann ein anderer Layer für die Overviewmap verwendet werden. Hier muss eine Id aus der services.json angegeben werden die in der config.js des Portals, im Parameter layerConf steht.
isInitOpenneinBooleantrueLegt fest, ob die OverviewMap beim Start dargestellt oder verborgen sein soll.
positionjaStringGibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").

Hinweis: Overviewmap ist nur für die Positionierung bottomLeft optimiert.

Beispiel overviewmap als Object:

"overviewMap": {
"resolution": 305.7487246381551,
"layerId": "452",
"isInitOpen": false,
"position": "bottomLeft"
}

Portalconfig.controls.zoom

NameVerpflichtendTypDefaultBeschreibung
showZoomInneinBoolean/Integer[]trueEs wird hineingezoomt
showZoomInneinBoolean/Integer[]trueEs wird hinausgezoomt
showZoomBoxneinBoolean/Integer[]trueZoom über Auswahl

Beispiel nur Zoombox wird freigeschalten

"zoom": {
"showZoomIn": false,
"showZoomOut": false,
"showZoomBox": true
}

Portalconfig.controls.geolocation

NameVerpflichtendTypDefaultBeschreibung
zoomLevelneinInteger5Das Zoom-Level zu dem bei der Standortbestimmung gezoomt werden soll.
showAccuracyGeometryneinBooleanfalseStellt die Genauigkeit der Standortbestimmung über eine Kreisgeometrie dart.
positionneinString"bottomLeft"Gibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").

Beispiel mit Positionierung des Werkzeugs

"geolocation": {
"zoomLevel": 8,
"position": "bottom",
"showAccuracyGeometry": true
}

Portalconfig.portalTitle

In der Menüleiste kann der Portalname und ein Bild angezeigt werden, sofern die Breite der Leiste ausreicht. Der Portaltitle ist mobil nicht verfügbar.

NameVerpflichtendTypDefaultBeschreibung
titleneinString"Master"Name des Portals.
logoneinStringURL zur externen Bilddatei. Wird kein logo gesetzt, so wird nur der Titel ohne Bild dargestellt.
linkneinString"https://geobasis-bb.de"URL der externen Seite, auf die verlinkt wird.
tooltipneinStringDeprecated in 3.0.0 Tooltip beim Hovern über das PortalLogo angezeigt wird.
toolTipneinString"Landesbetrieb Geoinformation und Vermessung"Tooltip beim Hovern über das PortalLogo angezeigt wird.
helpneinStringLink zur optionalen und externen Hilfe.
titlelistneinObjectDefinition verschiedener Links (Hilfe, Feedback, Neuerungen)

Beispiel portalTitle:

"portalTitle": {
"title": "Master",
"logo": "../../lgv-config/img/hh-logo.png",
"link": "https://geobasis-bb.de",
"toolTip": "Landesbetrieb Geoinformation und Vermessung"
}

Portalconfig.portalTitle.titlelist

Die Konfiguration titlelist erlaubt die Definition einer Liste von Links im Titelbereich des Portals (z. B. Hilfe, Feedback, Neuerungen). Jeder Eintrag besteht aus einem benannten Objekt mit optionalen und verpflichtenden Eigenschaften zur Darstellung und Verlinkung.

NameVerpflichtendTypDefaultBeschreibung
titlejaStringAngezeigter Name des Links.
hrefjaStringZiel-URL des Links (kann eine externe Seite oder eine lokale Datei sein).
targetneinStringDefiniert das Verhalten beim Öffnen des Links ("_blank" für neues Tab/Fenster).
title-alternativeneinStringAlternativer Tooltip-Text oder Beschreibung für den Link.
classneinStringCSS-Klasse zur individuellen Gestaltung des Links.
separatorneinStringZeichen zur Trennung mehrerer Links in der Darstellung.

Beispiel portalTitle mit titlelist:

"portalTitle": {
"title": "Master",
"logo": "../../lgv-config/img/hh-logo.png",
"link": "https://geobasis-bb.de",
"toolTip": "Landesbetrieb Geoinformation und Vermessung",
"titlelist": {
"help": {
"title": "Hilfe",
"href": "ressources/Hilfe/Brandenburgviewer_Nutzerhandbuch.pdf",
"separator": "|"
},
"feedback": {
"href": "mailto:kundenservice@geobasis-bb.de?subject=Feedback%20zum%20neuen%20BRANDENBURGVIEWER&body=Sehr%20geehrte%20Damen%20und%20Herren,%0D%0A%0D%0A",
"title": "Feedback",
"title-alternative": "Feedback geben",
"separator": "|"
},
"neues": {
"title": "Neuerungen",
"href": "ressources/Hilfe/Brandenburgviewer_Neuerungen.pdf",
"title-alternative": "Was ist neu?",
"separator": "|"
}
}
}

Portalconfig.controls.totalView

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

NameVerpflichtendTypDefaultBeschreibung
glyphiconneinStringÜber den Parameter glyphicon kann ein anderes Glyphicon für das Zurückschalten zur Startansicht verwendet werden.
tableGlyphiconneinStringÜber den Parameter tableGlyphicon kann bei einem TABLE Style ein anderes Glyphicon für das Zurückschalten zur Startansicht verwendet werden.

Beispiel totalView als Object:

"totalView" : {
"glyphicon": "glyphicon-step-forward",
"tableGlyphicon": "glyphicon-step-forward"
}

Beispiel totalView als Boolean:

"totalView": true

Portalconfig.controls.backForward

Das Attribut backForward kann vom Typ Boolean oder Object sein. Wenn es vom Typ Boolean, zeigt es die Buttons zur Steuerung der letzten und nächsten Kartenansichten mit den Defaulteinsellungen an. Ist es vom Typ Object, so gelten folgende Attribute

NameVerpflichtendTypDefaultBeschreibung
glyphiconForneinStringÜber den Parameter glyphiconFor kann ein anderes Glyphicon für das Vorschalten der Kartenansicht verwendet werden.
glyphiconBackneinStringÜber den Parameter glyphiconBack kann ein anderes Glyphicon für das Zurückschalten der Kartenansicht verwendet werden.
positionneinStringGibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").

Beispiel backForward als Object:

"backForward" : {
"glyphiconFor": "glyphicon-fast-forward",
"glyphiconBack": "glyphicon-fast-backward"
}

Beispiel backForward als Boolean:

"backForward": true

Portalconfig.mapView

NameVerpflichtendTypDefaultBeschreibung
backgroundImageneinString"./ressources/img/backgroundCanvas.jpeg"Pfad zum alternativen Hintergrund angeben.
startCenterneinCoordinate[565874, 5934140]Die initiale Zentrumskoordinate.
optionsneinoption[][{"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.
extentneinExtent[510000.0, 5850000.0, 625000.4, 6000000.0]Der Map-Extent.
resolutionneinFloat15.874991427504629Die initiale Auflösung der Karte aus options. Vorzug vor zoomLevel.
zoomLevelneinIntegerDer initiale ZoomLevel aus Options. Nachrangig zu resolution.
epsgneinString"EPSG:25832"Der EPSG-Code der Projektion der Karte. Der EPSG-Code muss als namedProjection definiert sein.

Beispiel:

"mapView": {
"backgroundImage": "/lgv-config/img/backgroundCanvas.jpeg",
"startCenter": [561210, 5932600],
"options": [
{
"resolution": 611.4974492763076,
"scale": 2311167,
"zoomLevel": 0
},
{
"resolution": 305.7487246381551,
"scale": 1155583,
"zoomLevel": 1
},
{
"resolution": 152.87436231907702,
"scale": 577791,
"zoomLevel": 2
},
{
"resolution": 76.43718115953851,
"scale": 288896,
"zoomLevel": 3
},
{
"resolution": 38.21859057976939,
"scale": 144448,
"zoomLevel": 4
},
{
"resolution": 19.109295289884642,
"scale": 72223,
"zoomLevel": 5
},
{
"resolution": 9.554647644942321,
"scale": 36112,
"zoomLevel": 6
},
{
"resolution": 4.7773238224711605,
"scale": 18056,
"zoomLevel": 7
},
{
"resolution": 2.3886619112355802,
"scale": 9028,
"zoomLevel": 8
},
{
"resolution": 1.1943309556178034,
"scale": 4514,
"zoomLevel": 9
},
{
"resolution": 0.5971654778089017,
"scale": 2257,
"zoomLevel": 10
}
],
"extent": [510000.0, 5850000.0, 625000.4, 6000000.0],
"resolution": 15.874991427504629,
"zoomLevel": 1,
"epsg": "EPSG:25832"
}

Portalconfig.mapView.option

Eine option definiert eine Zoomstufe. Diese muss definiert werden über die Auflösung, die Maßstabszahl und das ZoomLevel. Je höher das ZoomLevel ist, desto kleiner ist die Scale. und desto näher hat man gezoomt.

NameVerpflichtendTypDefaultBeschreibung
resolutionjaNumberAuflösung der definierten Zoomstufe.
scalejaIntegerMaßstabszahl der definierten Zoomstufe.
zoomLeveljaIntegerZoomstufe der definierten Zoomstufe.

Beispiel einer mapview Option

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

Portalconfig.menu

Hier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ergibt sich aus der Reihenfolge in der Config.json.

NameVerpflichtendTypDefaultBeschreibung
infoneininfoOrdner im Menü, der tools oder staticlinks darstellt.
toolsneintoolsOrdner im Menü, der Werkzeuge darstellt.
treeneintreeDarstellung udn Position des Themenbaums.

Portalconfig.menu.legend

Konfigurations-Optionen der Legende.

NameVerpflichtendTypDefaultBeschreibung
showCollapseAllButtonneinBooleanfalseOption zum Ein- bzw. Ausblenden aller Legenden

Portalconfig.menu.info

Informations-Ordner in dem Werkzeuge oder staticlinks eingetragen werden können.

NameVerpflichtendTypDefaultBeschreibung
childrenneinchildrenKonfiguration der Kindelemente des Informations Ordners.

Portalconfig.menu.info.children

Liste der Werkzeuge oder Staticlinks die im Info-Ordner erscheinen sollen.

NameVerpflichtendTypDefaultBeschreibung
childrenneinstaticlinksKonfiguration der Kindelemente des Informations Ordners.

Portalconfig.menu.tree

Hier können die Menüeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ergibt sich aus der Reihenfolge in der Config.json.

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des Themenbaumes.
glyphiconneinStringCSS Klasse des glyphicons.
isInitOpenDesktopneinBooleanfalseGibt an, ob der Themenbaum in der Desktop Ansicht initial geöffnet ist.
isInitOpenMobileneinBooleanfalseGibt an, ob der Themenbaum in der mobilen Ansicht initial geöffnet ist.
fixTreeneinBooleanfalseGibt an, ob der Tree fixiert sein soll (wirksam für ClassicTree).

Portalconfig.menu.folder

Ein Ordner-Object wird dadurch definiert, dass es neben "name" und "glyphicon" noch das attribut "children" besitzt.

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des Ordners im Menu.
glyphiconjaString"glyphicon-folder-open"CSS Klasse des Glyphicons, das vor dem Ordnernamen im Menu angezeigt wird.
childrenneintool/staticlinksKindelemente dieses Ordners.

Beispiel eines folders

"tools":{
"name": "Werkzeuge",
"glyphicon": "glyphicon-wrench",
"children": {
{
"name": "Legende",
"glyphicon": "glyphicon-book"
}
}
}

Portalconfig.menu.menuPosition

Definiert die Positionierung der Menüleiste. Wenn nicht angegegben wird "top" als default verwendet. "top" hat eine Ausdehnung von 100%, während die anderen Varianten standardmäßig 200px breit sind. Die Breite kann mittels menuWidth angegeben werden, siehe unten.

NameVerpflichtendTypDefaultBeschreibung
menuPositionneinenum["top", "left", "right"]"top"Positionierung der Menüleiste.

Beispiel

"menu": {
"menuPosition": "left",
"menuWidth": 250,
"tools": {
...
}
}

Portalconfig.menu.menuWidth

Definiert die Breite des Menüs wenn die Positionierung "left" oder "right" ist. Der Wert verwendet die Einheit Pixel.

NameVerpflichtendTypDefaultBeschreibung
menuWidthneinnumber200Breite des Menüs in Pixeln.

Beispiel

"menu": {
"menuPosition": "left",
"menuWidth": 250,
"tools": {
...
}
}

Portalconfig.menu.tools

NameVerpflichtendTypDefaultBeschreibung
childrenneinchildrenKonfiguration der Werkzeuge.

Portalconfig.menu.tools.children

Liste aller konfigurierbaren Werkzeuge. Jedes Werkzeug erbt von tool und kann/muss somit auch die dort angegebenen attribute konfiguiert bekommen.

NameVerpflichtendTypDefaultBeschreibung
compareFeaturesneincompareFeaturesVergleichsmöglichkeit von Vector-Features.
parcelSearchneinparcelSearchFlurstückssuche.
measureneintoolMesswerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km bzw m²/km² gewechselt werden.
coordneintoolWerkzeug um Koordinaten per Maus(-Klick) abzufragen. Per Click in dei Karte werden die Koordinaten in der Anzeige eingefroren und können per Click auf die Anzeige direkt in die Zwischenablage kopiert werden.
gfineingfiGetFeatureInfo(gfi). Werkzeug um Informationen abzufragen. Dabei wird entweder ein WMS-Request gestellt oder die Vectordaten im Browser abgefragt. Anschließend werden die Attribute der gefundenen Features dargestellt.
printneinprintDruckmodul mit dem die Karte als PDF exportiert werden kann.
searchByCoordneintoolKoordinatensuche. Ü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.
kmlimportneintoolImport von KML Dateien. Über dieses Werkzeug können KML Dateien importiert werden.
wfsFeatureFilterneintoolFiltern von WFS Features. Über dieses Werkzeug können WFS features gefiltert werden. Dies setzt jedoch eine Konfiguration der "filterOptions" am WFS-Layer-Objekt vorraus.
extendedFilterneintoolDynamisches Filtern von WFS Features. Über dieses Werkzeug können WFS features dynamisch gefiltert werden. Dies setzt jedoch eine Konfiguration der "extendedFilter" am WFS-Layer-Objekt vorraus.
routingneinroutingRouting. Über dieses Werkzeug können Routen berechnet werden.
drawneintoolZeichnen. Mithilfe dieses Werkzeuges können Punkte, Linien, Polygone, Kreise und Texte gezeichnet werden. Farben und Transparenzen sind voreingestellt. Das Gezeichnete kann auch als KML exportiert werden.
styleWMSneintoolKlassifizierung vom WMS Diensten. Dieses Tool findet Verwendung im Pendlerportal der MRH(Metropolregion Hamburg). Über eine Maske können Klassifizierungen definiert werden. An den GetMap-Requuest wird nun ein SLD-Body angehängt, der dem Server einen neuen Style zum Rendern definiert. Der WMS-Dienst liefert nun die Daten in den definierten Klassifizierungen und Farben.
featureListerneinfeatureListerListet alle Features eines Vektor Layers auf.
saveSelectionneintoolWerkzeug zum Zustand Speichern. Mithilfe dieses Werkzeuges kann der Kartenzustand als URL zum Abspeichern erzeugt werden. Dabei werden die Layer in deren Reihenfolge, Transparenz und Sichtbarkeit dargestellt. Zusätzlich wird auch noch die Zentrumskoordinate mit abgespeichert.
layersliderneinlayerSliderDeprecated in 3.0.0 Bitte "layerSlider" verwenden.
layerSliderneinlayerSliderWerkzeug zum Abspielen einer Reihendfolge von Layers.
legendneintoolLegende. Stellt die Legende aller sichtbaren Layer dar.
contactneincontactKontaktformular. Stellt dem User eine Möglichkeit zur Verfügung, mit dem einem Konfigurierten Postfach in Verbindung zu treten um Fehler zu melden oder Wünsche und Anregungen zu äußern.
filterneinfilterNeues Filtermodul.
virtualcityneinvirtualcityvirtualcityPLANNER planning Viewer
shadowneinshadowKonfigurationsobjekt für die Schattenzeit im 3D-Modus.

Portalconfig.menu.tool

Über den Attribut-key des Werkzeuges wird definiert, welches Werkzeug mit welchen Eigenschaften geladen wird. Jedes Tool besitzt mindestens die unten aufgeführten Attribute. Welche Tools konfigurierbar sind, finden Sie unter tools.

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des Werkzeuges im Menu.
glyphiconneinStringCSS Klasse des Glyphicons, das vor dem Toolnamen im Menu angezeigt wird.
onlyDesktopneinBooleanfalseFlag ob das Werkzeug nur im Desktop Modus sichtbar sein soll.
isVisibleInMenuneinBooleantrueFlag ob das Tool unter Werkzeuge angezeigt wird.
renderToWindowneinBooleantrueFlag ob das Tool beim Anklicken im frei schwebenden Fenster dargestellt werden soll.
resizableWindowneinBooleanfalseFlag ob das Tool-Fenster vergrößer-/verkleinerbar ist.
keepOpenneinBooleanfalseFlag ob das Tool parallel zu anderen Tools geöffnet bleibt.

Beispiel eines Tools

"legend":{
"name": "Legende",
"glyphicon": "glyphicon-book"
}

Portalconfig.menu.tool.gfi

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

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des Werkzeuges im Menu.
glyphiconneinString"glyphicon-info-sign"CSS Klasse des Glyphicons, das vor dem GFI im Menu angezeigt wird.
isActiveneinBooleantrueGibt an ob das GFI per default aktiviert ist.
centerMapMarkerPolygonneinBooleanfalseAngabe, ob für ein angeklicktes Feature die Koordinaten des Zentrums ermittelt werden sollen oder ob die Koordinaten der tatsächlich angeklickten Koordinate bestimmt werden.
contentWidthneinNumber"500"Steuert die initiale Breite des GFI-Fenster Inhalts (Wert in Pixeln).
contentHeightneinNumber"300"Steuert die initiale Höhe des GFI-Fenster Inhalts (Wert in Pixeln).
iframeContentWidthneinNumberSteuert die initiale Breite des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln.
iframeContentHeightneinNumberSteuert die initiale Höhe des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln.
highlightVectorRulesneinhighlightVectorRulesRegeldefinitionen zum Überschreiben des Stylings von abgefragten Vektordaten.highlightVectorRules
showPagingneinBooleanfalseOption zum Anzeigen der Treffer-Anzahl (z.B. 1 / 3) in der Tool-Leiste
cursorneinString"pointer"Definition des Cursors bei ausgewähltem GFI-Tool, z.B. "pointer" oder "help". Weitere Infos und Möglichkeiten der Konfiguration: https://developer.mozilla.org/en-US../../Web/CSS/cursor.

Beispiel einer GFI Konfiguration

"gfi":{
"name":"Informationen abfragen",
"glyphicon":"glyphicon-info-sign",
"isActive":true,
"centerMapMarkerPolygon":true,
"highlightVectorRules": {
"fill": {
"color": [215, 102, 41, 0.9]
},
"image": {
"scale": 1.5
},
"stroke": {
"width": 4
},
"text": {
"scale": 2
}
}
}

Beispiel einer GFI Konfiguration zur Informationsabfrage von Features

"gfi":{
"name":"Informationen abfragen",
"glyphicon":"glyphicon-info-sign",
"isActive":true,
"centerMapMarkerPolygon":true
}

Portalconfig.menu.tool.gfi.highlightVectorRules

Liste der Einstellungen zum überschreiben von Vektorstyles bei GFI Abfragen.

NameVerpflichtendTypDefaultBeschreibung
fillneinfillMögliche Einstellung: color
imageneinimageMögliche Einstellung: scale
strokeneinstrokeMögliche Einstellung: width
textneintextMögliche Einstellung: scale

Portalconfig.menu.tool.gfi.highlightVectorRules.fill

Todo

{
"color": [215, 102, 41, 0.9]
}

Portalconfig.menu.tool.gfi.highlightVectorRules.image

Todo

{
"scale": 1.5
}

Portalconfig.menu.tool.gfi.highlightVectorRules.stroke

Todo

{
"width": 4
}

Portalconfig.menu.tool.gfi.highlightVectorRules.text

Todo

{
"scale": 2
}

Portalconfig.menu.tool.filter

Der Filter bietet eine vielzahl von Möglichkeiten um Vektor-Daten filtern zu können.

NameVerpflichtendTypDefaultBeschreibung
isGenericneinBooleanfalseZeigt an ob sich der Filter dynamisch erzeugen lässt. Ist momentan noch nicht umgesetzt.
minScaleneinIntegerMinimale Zoomstufe auf die der Filter bei der Darstellung der Ergebnisse heranzoomt.
liveZoomToFeaturesneinBooleanfalseGibt an ob der Filter sofort nach der Filterung auf die Filterergebnisse zoomt.
predefinedQueriesneinpredefinedQuery[]Definition der Filterabfragen.
saveToUrlneinBooleantrueSpeichert das aktuelle Filterergebnis in der Url ab. Dadurch kann das Filterergebnis als Lesezeichen abgelegt werden.

Beispiel

"filter":{
"name": "Filter",
"glyphicon": "glyphicon-filter",
"deactivateGFI": false,
"isGeneric": false,
"isInitOpen": false,
"allowMultipleQueriesPerLayer": false,
"predefinedQueries": [
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Grundschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "bilingual"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Stadtteilschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Stadtteilschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "fremdsprache", "fremdsprache_mit_klasse", "schulische_ausrichtung"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Gymnasien",
"info": "Sie finden berufliche Gymnasien ab der Klassenstufe 11 bei den Beruflichen Schulen.",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Gymnasien"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "fremdsprache", "fremdsprache_mit_klasse", "schulische_ausrichtung"]
},
{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Sonderschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Sonderschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "ganztagsform", "foerderart", "abschluss"]
},
{
"layerId": "1711",
"isActive": true,
"isSelected": true,
"name": "Krankenhäuser",
"predefinedRules": [],
"attributeWhiteList": ["teilnahme_geburtsklinik", "teilnahme_notversorgung"]
}
]
}

Portalconfig.menu.tool.filter.predefinedQuery

Objekt, das eine Filtereinstelung definiert.

NameVerpflichtendTypDefaultBeschreibung
layerIdjaStringId des Layers. Muss auch in der Themenconfig konfiguriert sein.
isActiveneinBooleanfalseGibt an ob diese Filtereinstellung initial durchgeführt werden soll.
isSelectedneinBooleanfalseGibt an ob diese Filtereinstellung initial angezeigt werden soll.
searchInMapExtentneinBooleanfalseGibt an ob nur die Features im Kartenauschnitt gefiltert werden sollen.
infoneinStringKurzer Info text der über der Filtereinstellung erscheint.
predefinedRulesneinpredefinedRule[]Filterregel die die Daten vorfiltert.
attributeWhiteListneinString[]/attributeWhiteListObject[]Whitelist an Attributen die verwendet werden sollen.
snippetTypeneinStringDatentyp des Attributes. Wenn nicht angegeben wird der Datentyp automatisch ermittelt. Er kann in Ausnahmefällen auch manuell überschrieben werden. Beispielsweise mit "checkbox-classic". Dies wird benötigt im Projekt DIPAS auf der Touchtabl-Variante des Portals.

Beispiel

{
"layerId": "8712",
"isActive": false,
"isSelected": false,
"name": "Grundschulen",
"predefinedRules": [
{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}
],
"attributeWhiteList": ["bezirk", "stadtteil", "schulform", "ganztagsform", "anzahl_schueler", "schwerpunktschule", "bilingual"]
}

Portalconfig.menu.tool.filter.predefinedQuery.predefinedRule

Filterregel die die Daten immer vorfiltert.

NameVerpflichtendTypDefaultBeschreibung
attrNamejaStringAttributname nach dem vorgefiltert werden soll.
valuesjaString[]Attributwerte für das Vorfiltern.

Beispiel

{
"attrName": "kapitelbezeichnung",
"values": ["Grundschulen", "Langformschulen"]
}

Portalconfig.menu.tool.filter.predefinedQuery.attributeWhiteListObject

Ein AttributeWhiteList Objekt kann entweder ein String sein, welcher den Attributnamen repräsentiert. Er kann aber auch ein Objekt sein.

NameVerpflichtendTypDefaultBeschreibung
namejaStringAttributname.
matchingModeneinenum["AND", "OR"]"OR"Logische Verknüpfung mehrerer Attributwerte (bei Mehrfachauswahl) innerhalb eines Attributes.

Beispiel als String

"Grundschulen"

Beispiel als Objekt

{
"name": "Grundschulen",
"matchingMode": "AND"
}

Portalconfig.menu.tool.compareFeatures

Hier können Vector Features miteinander verglichen werden.

NameVerpflichtendTypDefaultBeschreibung
numberOfFeaturesToShowneinInteger3Anzahl der Features die maximal miteinander vergleichen werden können.
numberOfAttributesToShowneinInteger12Anzahl der Attribute die angezeigt wird. Gibt es mehr Attribute können diese über einen Button zusätzlich ein-/ bzw. ausgeblendet werden.

Beispiel

"compareFeatures": {
"name": "Vergleichsliste",
"glyphicon": "glyphicon-th-list",
"numberOfFeaturesToShow": 5,
"numberOfAttributesToShow": 10
}

Portalconfig.menu.tool.parcelSearch

Flurstückssuche über einen WFS.

ACHTUNG: Backend notwendig!

Je nach Konfiguration werden spezielle Stored Queries eines WFS mit vorgegebenen Parametern abgefragt.

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

NameVerpflichtendTypDefaultBeschreibung
serviceIdjaStringId des Dienstes der abgefragt werden soll. Wird in der rest-services.json abgelegt.
storedQueryIdjaStringId der stored query die verwendet werden soll.
configJSONjaStringPfad zur Konfigurationsdatei, die die Gemarkungen enthält. Beispiel.
parcelDenominatorneinBooleanfalseFlag ob Flurnummern auch zur Suche verwendet werden sollen.
styleIdneinStringHier kann eine StyleId aus der style.json angegeben werden um den Standard-Style vom MapMarker zu überschreiben.

Beispiel

"parcelSearch": {
"name": "Flurstückssuche",
"glyphicon": "glyphicon-search",
"serviceId": "6",
"storedQueryID": "Flurstueck",
"configJSON": "/lgv-config/gemarkungen_hh.json",
"parcelDenominator": false,
"styleId": "flaecheninfo"
}

Portalconfig.menu.tool.print

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

ACHTUNG: Backend notwendig!

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

NameVerpflichtendTypDefaultBeschreibung
mapfishServiceIdjaStringId des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.
printAppIdneinString"master"Id der print app des Druckdienstes. Dies gibt dem Druckdienst vor welche/s Template/s er zu verwenden hat.
filenameneinString"report"Dateiname des Druckergebnisses.
titleneinString"PrintResult"Titel des Dokuments. Erscheint als Kopfzeile.
versionneinStringFlag welcher Druckdienst verwendet werden soll. Bei "HighResolutionPlotService" wird der High Resolution PlotService verwendet, wenn der Parameter nicht gesetzt wird, wird Mapfish 2 verwendet, sonst wird MapfishPrint 3 verwendet.
printIDneinStringDeprecated in 3.0.0. Id des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.
outputFilenameneinString"report"Deprecated in 3.0.0. Dateiname des Druckergebnisses.
gfineinBooleanfalseDeprecated in 3.0.0. Dateiname des Druckergebnisses.
configYAMLneinString"/master"Deprecated in 3.0.0. Configuration des Templates das verwendet werden soll.
isLegendSelectedneinBooleanfalseGibt 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.
legendTextneinString"Mit Legende"Beschreibender Text für die printLegend-Checkbox.
dpiForPdfneinNumber200Auflösung der Karte im PDF.

Beispiel Konfiguration mit MapfishPrint2

"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"printID": "123456",
"configYAML": "/master",
"outputFilename": "report",
"title": "Mein Titel",
"gfi": true
}

Beispiel Konfiguration mit High Resolution PlotService

"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"mapfishServiceId": "123456",
"filename": "Ausdruck",
"title": "Mein Titel",
"version" : "HighResolutionPlotService"
}

Beispiel Konfiguration mit MapfishPrint3

"print": {
"name": "Karte drucken",
"glyphicon": "glyphicon-print",
"mapfishServiceId": "mapfish_printservice_id",
"printAppId": "mrh",
"filename": "Ausdruck",
"title": "Mein Titel",
"version" : "mapfish_print_3"
}

Portalconfig.menu.tool.routing

Routing Modul.

ACHTUNG: Backend notwendig!

NameVerpflichtendTypDefaultBeschreibung
viomRoutingIDjaStringId des Routingdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.
bkgSuggestIDjaStringId des Vorschlagsdienstes des BKG. Er wird verwendet um Addressvorschläge zu liefern. Wird in der rest-services.json abgelegt.
bkgGeosearchIDjaStringId des Geokodierungsdienstes des BKG. Er wird verwendet um gewählte Addressen in Koordinaten umzuwandeln. Wird in der rest-services.json abgelegt.
isInitOpenneinBooleanfalseFlag ob das tool initial geöffnet sein soll.

Beispiel

"routing": {
"name": "Routenplaner",
"glyphicon": "glyphicon-road",
"viomRoutingID": "1",
"bkgSuggestID": "2",
"bkgGeosearchID": "3",
"isInitOpen": false
}

Portalconfig.menu.tool.featureLister

Modul, das Vektor Features darstellt. Durch hovern über ein feature in der Liste wird auf der Karte der Marker gesetzt.

NameVerpflichtendTypDefaultBeschreibung
maxFeaturesneinInteger20Anzahl der zu zeigenden Features. Über einen Button können weitere features in dieser Anzahl zugeladen werden.

Beispiel

"featureLister": {
"name": "Liste",
"glyphicon": "glyphicon-menu-hamburger",
"maxFeatures": 10
}

Portalconfig.menu.tool.contact

Werkzeug, wodurch der Nutzer mit einem definierten Postfach Kontakt aufnehmen kann.

ACHTUNG: Backend notwendig!

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

NameVerpflichtendTypDefaultBeschreibung
serviceIDjaStringId des Emaildienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.
fromneinemail[][{"email": "kundenservice@geobasis-bb.de","name":"LGBGeoportalHilfe"}]Absender der Email.
toneinemail[][{"email": "kundenservice@geobasis-bb.de","name": "LGBGeoportalHilfe"}]Addressat der Email.
ccneinemail[][]CC der Email.
bccneinemail[][]BCC der Email.
ccToUserneinBooleanfalseFlag ob der Absender auch als CC eingetragen werden soll.
textPlaceholderneinString"Bitte formulieren Sie hier Ihre Frage und drücken Sie auf "Abschicken""Platzhaltertext im Freitextfeld.
includeSystemInfoneinBooleanfalseFlag ob systeminfos des Absendern mitgeschickt werden sollen.
deleteAfterSendneinBooleanfalseFlag ob das Kontaktfenster nach erfolgreichem Versenden der Nachricht geschlossen und der Inhalt gelöscht werden soll.
withTicketNoneinBooleantrueFlag ob bei erfolgreichem Versand der Anfrage eine Ticketnummer zurückgegeben werden soll.

Beispiel

"contact":{
"name": "Kontakt",
"glyphicon": "glyphicon-envelope",
"serviceID": "123",
"from": [
{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}
],
"to": [
{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}
],
"cc": [],
"bcc": [],
"ccTouser": true,
"textPlaceholder": "Hier Text eingeben.",
"includeSystemInfo": true,
"deleteAfterSend": true,
"withTicketNo": false
}

Portalconfig.menu.tool.contact.email

Email Objekt bestehend aus der email und aus dem Anzeigename.

NameVerpflichtendTypDefaultBeschreibung
emailneinStringEmail.
nameneinStringAnzeigename.

Beispiel

{
"email": "kundenservice@geobasis-bb.de",
"name":"LGBGeoportalHilfe"
}

Portalconfig.menu.tool.layerSlider

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

NameVerpflichtendTypDefaultBeschreibung
titlejaStringTitel der im Werkzeug vorkommt.
timeIntervalneinInteger2000Zeitintervall in ms bis der nächste Layer angeschaltet wird.
layerIdsjalayerId[][]Array von Objekten aus denen die Layerinformationen herangezogen werden.
sliderTypeneinenum["player","handle"]"player"Typ des Layer sliders. Entweder als "player" mit Start/Pause/Stop-Buttons oder als "handle" mit einem Hebel. Bei "handle" wird die transparenz der Layer zusätzlich mit angepasst.
Beispiel
"layerSlider": {
"name": "Zeitreihe",
"glyphicon": "glyphicon-film",
"title": "Simulation von Beispiel-WMS",
"sliderType": "player",
"timeInterval": 2000,
"layerIds": [
{
"title": "Dienst 1",
"layerId": "123"
},
{
"title": "Dienst 2",
"layerId": "456"
},
{
"title": "Dienst 3",
"layerId": "789"
}
]
}

Portalconfig.menu.tool.layerSlider.layerId

Definiert einen Layer für den Layerslider.

NameVerpflichtendTypDefaultBeschreibung
titlejaStringName des Diestes, wie er im Portal angezeigt werden soll.
layerIdjaStringId des Diestes, der im Portal angezeigt werden soll. ACHTUNG: Diese LayerId muss auch in der Themenconfig konfiguriert sein!

Beispiel

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

Portalconfig.menu.tool.virtualcity

Das virtualcity Tool bietet die Möglichkeit die Planungen von einem virtualcityPLANNER Dienst in der Kartenviewer API anzuzeigen. Die Planungen müssen im virtualcityPLANNER auf Öffentlich gesetzt sein, dann können sie über dieses Tool angezeigt werden

NameVerpflichtendTypDefaultBeschreibung
serviceIdjaStringId des services. Wird aufgelöst in der rest-services.json.

Beispiel

{
"title": "virtualcityPLANNER",
"serviceId": "1"
}

Portalconfig.menu.tool.shadow

Das ShadowTool bietet eine Oberfläche zur Definition einer Zeitangabe. Über Slider und Datepicker können Zeitangaben in einem 30-Minuten Raster angegeben werden. Die ausgewählte Zeitangabe dient dem Rendern der Schatten aller 3D-Objekte im 3D-Modus, indem der Sonnenstand simuliert wird. Durch Ziehen des Sliders oder Auswahl eines neuen Datums wird unmittelbar ein neuer Sonnenstand simuliert. Per default startet das Tool mit der aktuellen Zeitangabe, die über Parameter überschrieben werden kann.

NameVerpflichtendTypDefaultBeschreibung
shadowTimeneinshadowTimeDefault-Zeitangabe, mit der das ShadowTool startet. Erkennt "month", "day", "hour", "minute"
isShadowEnabledneinBooleanfalseDefault Shadow-Wert. True um unmittelbar Shadow einzuschalten. False zum manuellen bestätigen.

Beispiel

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

Portalconfig.menu.tool.shadow.shadowTime

Todo

Beispiel

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

Portalconfig.menu.tool.measure

Messwerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km bzw m²/km² gewechselt werden. Die Anzeige der Messgenauigkeit bzw. Abweichung kann ausgeschaltet werden (displayDeviance: false).

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des Werkzeuges im Menu.
glyphiconneinString"glyphicon-info-sign"CSS Klasse des Glyphicons, das vor dem GFI im Menu angezeigt wird.
displayDevianceneinBooleantrueFalls false wird die Genauigkeit nicht angezeigt.

Das Array staticlink beinhaltet Objekte die entweder als link zu einer anderen Webressource dienen oder als Trigger eines zu definierenden Events.

NameVerpflichtendTypDefaultBeschreibung
staticlinksneinstaticlink[]Array von Statischen links.

Beispiel als onClickTrigger

"staticlinks": [
{
"name": "Alert",
"glyphicon": "glyphicon-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}
]

Ein Staticlink-Objekt enthält folgende Attribute.

NameVerpflichtendTypDefaultBeschreibung
namejaStringName des staticLink-Objekts im Menu.
glyphiconneinString"glyphicon-globe"CSS Klasse des Glyphicons, das vor dem staticLink-Objekt im Menu angezeigt wird.
urlneinStringUrl welche in einem neuen Tab angezeigt werden soll.
onClickTriggerneinonClickTrigger[]Array von OnClickTrigger events.

Beispiel als url

{
"name": "Brandenburg",
"glyphicon": "glyphicon-globe",
"url": "http://www.brandenburg.de"
}

Beispiel als onClickTrigger

{
"name": "Alert",
"glyphicon": "glyphicon-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}

Portalconfig.menu.staticlinks.staticlink.onClickTrigger

Über einen onClickTrigger wird ein Event getriggert und eventuell Daten mitgeschickt.

NameVerpflichtendTypDefaultBeschreibung
channeljaStringName des Radio channels.
eventjaStringEvent des Radio channels das getriggered werden soll.
dataneinString/Boolean/NumberDaten die mit geschickt werden sollen.

Beispiel

{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}

Themenconfig

Die Themenconfig definiert welche Inhalte an welche Stelle im Themenbaum vorkommen. Je nach Konfiguration des treeType können auch Ordner Strukturen in den Fachdaten angegeben werden. Für eine komplett freie Konfiguration des Themenbaums wählen Sie den Typ "classic".

NameVerpflichtendTypDefaultBeschreibung
HintergrundkartenjaHintergrundkartenDefinition der Hintergrundkarten.
FachdatenneinFachdatenDefinition der Fachdaten.
Fachdaten_3DneinFachdaten_3DDefinition der Fachdaten für den 3D-Modus.
classicTreeneinclassicTreeFreie Definition der Layer und Ordner.

Beispiel

"Themenconfig": {
"Hintergrundkarten": {},
"Fachdaten": {},
"Fachdaten_3D": {}
}

oder

"Themenconfig": {
"classicTree": [
...
]
}

Themenconfig.Hintergrundkarten

Hier werden die Hintergrundkarten definiert

NameVerpflichtendTypDefaultBeschreibung
LayerjaLayer/GroupLayer[]Definition der Layer.

Beispiel

"Hintergrundkarten": {
"name": "Meine Hintergrundkarten",
"Layer": [
{
"id": "123"
}
]
}

Themenconfig.Fachdaten

Hier werden die Fachdaten definiert

NameVerpflichtendTypDefaultBeschreibung
LayerjaLayer/GroupLayer[]Definition der Layer.
OrdnerneinOrdner[]Definition der Ordner.

Beispiel

"Fachdaten": {
"name": "Meine Fachdaten",
"Layer": [
{
"id": "123"
}
]
}

Themenconfig.Fachdaten_3D

Hier werden die 3D-Daten für die 3D-Ansicht definiert. Wird nur im 3D-Modus eingeblendet.

NameVerpflichtendTypDefaultBeschreibung
nameneinString"3D Daten"Name der Schaltfläche für 3D-Daten.
LayerjaLayer[]Definition der 3DLayer.

Beispiel

"Fachdaten_3D":
{
"name": "Meine Fachdaten 3D",
"Layer":
[
{
"id": "12883"
}
]
}

Themenconfig.classicTree

Hier wird die Konfiguration des "classic" Themenbaums angegeben. Es gibt hier keine festen Einteilungen in Fachdaten oder Hintergrundkarten. Der Nutzer kann die Struktur und Reihenfolge von Ordnern und Layern vollständig über diese Konfiguration steuern.

Soll ein Layer als "BaseLayer" bzw. Hintergrundlayer verwendet werden, so kann dies hier oder in der services*.json mittels des Attributes "isBaseLayer" angegeben werden.

Ordner müssen zwingend die Eigenschaft "type" mit dem Wert "folder" verwenden. Für Layer ist die Verwendung der Eigenschaft "type" mit dem Wert "layer" optional.

NameVerpflichtendTypDefaultBeschreibung
namejaStringAnzeigename des Layers oder Ordners.
idja bei Layern, nein bei OrdnernStringID des Layers
typenein bei Layern, ja bei OrdnernString"layer"Muss bei Ordnern explizit auf "folder" gesetzt werden
childrenja bei OrdnernArrayMuss bei Ordnern ein Array sein mit weiteren Layern / Ordnern
mainTopicneinBooleanfalseHervorhebung des Ordnernamens falls true, z.B. bei Hauptthemen.

Beispiel

"Themenconfig": {
"classicTree": [
{
"id": "1000",
"name": "Layer 1"
},
{
"name": "Mein erster Ordner",
"type": "folder",
"children": [
{
"id": "1006",
"name": "Luftbilder 1"
},
{
"id": "1007",
"name": "Luftbilder 2"
},
{
"name": "Mein zweiter Ordner",
"type": "folder",
"children": [
{
"name": "Mein dritter Ordner",
"type": "folder",
"children": [
{
"id": "2426",
"name": "Layer 2"
},
{
"id": "2005",
"name": "Layer 3"
}
]
}
]
}
]
},
{
"id": "1234",
"name": "Layer 4"
}
]
}

Themenconfig.Ordner

Hier werden die Ordner definiert. Ordner können auch verschachtelt konfiguriert werden.

NameVerpflichtendTypDefaultBeschreibung
TiteljaStringTitel des Ordners.
LayerjaLayer/GroupLayer[]Definition der Layer.
OrdnerneinOrdner[]Definition der Ordner.

Beispiel Ordner mit einem Layer

"Fachdaten": {
"Ordner": [
{
"Titel": "Mein Ordner",
"Layer": [
{
"id": "123"
}
]
}
]
}

Beispiel Ordner mit einem Unterordner in dem eine Layer konfiguriert ist

"Fachdaten": {
"Ordner": [
{
"Titel": "Mein erster Ordner",
"Ordner": [
{
"Titel": "Mein zweiter Ordner",
"Layer": [
{
"id": "123"
}
]
}
]
}
]
}

Beispiel Ordner einem Unterordner. Auf der Ebene des Unterordners ist auch nochmal ein Layer definiert

"Fachdaten": {
"Ordner": [
{
"Titel": "Mein erster Ordner",
"Ordner": [
{
"Titel": "Mein zweiter Ordner",
"Layer": [
{
"id": "123"
}
]
}
],
"Layer": [
{
"id": "456"
}
]
}
]
}

Themenconfig.GroupLayer

Hier werden die GruppenLayer definiert. Layer können auf viele verschiedene Arten konfiguriert werden. Ein großteil der Attribute ist in der services.json definiert, kann jedoch hier am Layer überschrieben werden. Neben diesen Attributen gibt es auch Typ-spezifische Attribute für WMS und Vector.

NameVerpflichtendTypDefaultBeschreibung
idjaString/String[]Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen.
childrenneinLayer[]Wird dieses Attribut verwendet, so wird ein Gruppenlayer erzeugt, der beliebig viele Layer beinhaltet. In diesem Falle ist eine einzigartige Id manuell zu wählen.
nameneinStringName des Layers.
transparencyneinInteger0Transparenz des Layers.
visibilityneinBooleanfalseSichtbarkeit des Layers.
supportedneinString[]["2D", "3D"]Gibt die Modi an in denen der Layer verwendet werden kann.
extentneinExtent[454591, 5809000, 700000, 6075769]Ausdehnung des Layers.
gfiThemeneinString"default"Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll.
layerAttributionneinStringWert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist.
legendURLneinStringWert aus services.json. Url die verwendet wird um die Legende anzufragen.
maxScaleneinStringWert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll.
minScaleneinStringWert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll.
autoRefreshneinIntegerAutomatischer reload des Layers. Angabe in ms. Minimum ist 500.
isNeverVisibleInTreeneinBooleanfalseAnzeige ob Layer niemals im Themenbaum sichtbar ist.
urlIsVisibleneinBooleantrueAnzeige ob die URL in der Layerinformation angezeigt werden soll.

Beispiel

{
"id": "myId",
"name": "myGroupLayer",
"children": [
{
"id": "123",
"name": "myLayer_1"
},
{
"id": "456",
"name": "myLayer_2"
}
]
}

Themenconfig.Layer

Hier werden die Layer definiert. Layer können auf viele verschiedene Arten konfiguriert werden. Ein großteil der Attribute ist in der services.json definiert, kann jedoch hier am Layer überschrieben werden. Neben diesen Attributen gibt es auch Typ-spezifische Attribute für WMS und Vector.

NameVerpflichtendTypDefaultBeschreibung
idjaString/String[]Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen. ACHTUNG: Hierbei ist wichtig, dass die angegebenen ids diesselbe URL ansprechen, also den selben Dienst benutzen.
nameneinStringName des Layers.
entitiesjaEntity3D[]Modelle, die angezeigt werden sollen
transparencyneinInteger0Transparenz des Layers.
visibilityneinBooleanfalseSichtbarkeit des Layers.
supportedneinString[]["2D", "3D"]Gibt die Modi an in denen der Layer verwendet werden kann.
extentneinExtent[454591, 5809000, 700000, 6075769]Ausdehnung des Layers.
gfiThemeneinString"default"Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll.
layerAttributionneinStringWert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist.
legendURLneinStringWert aus services.json. Url die verwendet wird um die Legende anzufragen.
maxScaleneinStringWert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll.
minScaleneinStringWert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll.
autoRefreshneinIntegerAutomatischer reload des Layers. Angabe in ms. Minimum ist 500.
isNeverVisibleInTreeneinBooleanfalseAnzeige ob Layer niemals im Themenbaum sichtbar ist.
urlIsVisibleneinBooleantrueAnzeige ob die URL in der Layerinformation angezeigt werden soll.
layerSliderConfigneinObjectEin Objekt welches angibt, dass dieser Ordner weitere Layer über einen Slider verfügbar machen soll. Dien enthaltenen Layer müssen zusätzlich im Tree vorhanden sein. Siehe nachstehendes Beispiel mit einem LayerSlider.

Beispiel mit einer Id

{
"id": "123"
}

Beispiel mit einem Array von Ids

{
"id": ["123", "456", "789"],
"name": "mein testlayer"
}

Beispiel mit einem LayerSlider

{
"type": "folder",
"name": "Luftbilder",
"isVisibleInTree": false,
"layerSliderConfig": {
"title": "Luftbilder",
"layers": [
{
"title": "Luftbilder 1936",
"layerId": "1000"
},
{
"title": "Luftbilder 1967",
"layerId": "1001"
},
{
"title": "Luftbilder 1995",
"layerId": "1002"
}
]
}
}

Themenconfig.Layer.WMS

Hier werden WMS typische Attribute aufgelistet.

NameVerpflichtendTypDefaultBeschreibung
attributesToStyleneinString[]Array von Attributen nach denen der WMS gestylt werden kann. Wird benötigt vom Werkzeug "styleWMS" in tools.
featureCountneinInteger1Anzahl der Features die zurückgegeben werden sollen bei einer GetFeatureInfo-Abfrage.
geomTypeneinStringGeometrietyp der Daten hinter dem WMS. Momentan wird nur "Polygon" unterstützt. Wird benötigt vom Werkzeug "styleWMS" in tools.
styleableneinBooleanZeigt an der Layer vom Werkzeug "styleWMS" verwendet werden kann. Wird benötigt vom Werkzeug "styleWMS" in tools.
infoFormatneinString"text/xml"Wert aus services.json. Format in dem der WMS-GetFeatureInfo-request zurückgegeben werden soll.
stylesneinString[]Werden styles angegeben so werden diese mit an den WMS geschickt. Der Server interpretiert diese Styles und liefert die Daten entsprechend zurück. Erfolgt die Angabe eines styles, so muss der Layername als String[] angegeben werden.

Beispiel

{
"id": "123456",
"name": "MyWMSLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"gfiTheme": "default",
"layerAttribution": "MyBoldAttribution for layer 123456",
"legendURL": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"attributesToStyle": ["MyFirstAttr"],
"featureCount": 2,
"geomType": "geometry",
"infoFormat": "text/html",
"styleable": true,
"styles": ["firstStyle", "secondStyle"]
}

Themenconfig.Layer.Tileset

Hier werden Tileset typische Attribute aufgelistet.

NameVerpflichtendTypDefaultBeschreibung
hiddenFeaturesneinString[][]Liste mit IDs, die in der Ebene versteckt werden sollen
cesium3DTilesetOptionsneincesium3DTilesetOptionCesium 3D Tileset Options, werden direkt an das Cesium Tileset Objekt durchgereicht. maximumScreenSpaceError ist z.B. für die Sichtweite relevant.
cesium3DTileStyleneincesium3DTileStyleCesium 3D Tile Styles, werden direkt an das Cesium Tileset Objekt durchgereicht.

Beispiel

{
"id": "123456",
"name": "TilesetLayerName",
"visibility": true,
"hiddenFeatures": ["id1", "id2"],
"cesium3DTilesetOptions" : {
"maximumScreenSpaceError" : 6
},
"cesium3DTileStyle" : {
"color": "color('red', 0.5)"
}
}

Themenconfig.Layer.Tileset.Cesium3DTilesetOptions

Todo

Beispiel

"cesium3DTilesetOptions" : {
"maximumScreenSpaceError" : 6
}

Themenconfig.Layer.Tileset.Cesium3DTileStyle

Todo

Beispiel

"cesium3DTileStyle" : {
"color": "color('red', 0.5)"
}

Themenconfig.Layer.Terrain

Hier werden Terrain typische Attribute aufgelistet.

NameVerpflichtendTypDefaultBeschreibung
cesiumTerrainProviderOptionsneincesiumTerrainProviderOptionCesium 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
},
}

Themenconfig.Layer.Terrain.CesiumTerrainProviderOptions

Todo

"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
}

Themenconfig.Layer.Entity3D

Hier werden Entities3D typische Attribute aufgelistet.

NameVerpflichtendTypdefaultBeschreibung
urljaString""Url zu dem Modell. Beispiel: "https://datenbeispiel.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb"
attributesneinAttributeAttribute für das Modell. Beispiel: {"name": "test"}
latitudejaNumberBreitengrad des Modell-Origins in Grad. Beispiel: 53.541831
longitudejaNumberLängengrad des Modell-Origins in Grad. Beispiel: 9.917963
heightneinNumber0Höhe des Modell-Origins. Beispiel: 10
headingneinNumber0Rotation des Modells, in Grad. Beispiel: 0
pitchneinNumber0Neigung des Modells in Grad. Beispiel: 0
rollneinNumber0Roll des Modells in Grad. Beispiel: 0
scaleneinNumber1Skalierung des Modells. Beispiel: 1
allowPickingneinBooleantrueOb das Modell angeklickt werden darf (GFI). Beispiel: true
showneinBooleantrueOb das Modell angezeigt werden soll (sollte true sein). Beispiel: true

Beispiel

{
"id": "123456",
"name": "EntitiesLayerName",
"visibility": true,
"typ": "Entities3D",
"entities": [
{
"url": "https://datenbeispiel.de/gdi3d/datasource-data/Simple_Building.glb",
"attributes": {
"name": "simple building in Planten und Blomen"
},
"latitude": 53.5631,
"longitude": 9.9800,
"height": 12,
"heading": 0,
"pitch": 0,
"roll": 0,
"scale": 5,
"allowPicking": true,
"show": true
}
],
"gfiAttributes" : {
"name": "Name"
}
}

Themenconfig.Layer.Entity3D.Attribute

NameVerpflichtendTypdefaultBeschreibung
nameneinString""Todo

Beispiel

{
"name": "Fernsehturm.kmz"
}

Themenconfig.Layer.StaticImage

Hier werden typische Attribute für ein StaticImage aufgelistet.

NameVerpflichtendTypDefaultBeschreibung
idjaString"Eineindeutige-ID7711"Es muss eine eineindeutige ID vergeben werden.
typjaString"StaticImage"Setzt den Layertypen auf StaticImage welcher statische Bilder als Layer darstellen kann.
urljaString"https://meinedomain.de/bild.png"Link zu dem anzuzeigenden Bild.
namejaString"Static Image Name"Setzt den Namen des Layers für den Layerbaum.
extentjaExtent[560.00, 5950.00, 560.00, 5945.00]Gibt die Georeferenzierung des Bildes an. Als Koordinatenpaar werden im EPSG25832 Format die Koordinate für die Bildecke oben links und unten rechts erwartet.

Beispiel

{
"typ": "StaticImage",
"url": "https://www.w3.org/Graphics/PNG/alphatest.png",
"name": "Testing PNG File",
"visibility": true,
"extent": [560296.72, 5932154.22, 562496.72, 5933454.22]
}

Themenconfig.Layer.Vector

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

NameVerpflichtendTypDefaultBeschreibung
clusterDistanceneinIntegerPixelradius. Innerhalb dieses PRadius werden alle features zu einem feature "geclustered".
extendedFilterneinBooleanGibt an ob dieser layer vom Werkzeug "extendedFilter" in tools verwendet werden kann.
filterOptionsneinfilterOption[]Filteroptionen die vom Werkzeug "wfsFeatureFilter" in tools benötigt werden.
mouseHoverFieldneinString/String[]Attributname oder Array von Attributnamen, die angezeigt werden sollen, sobald der User mit der Maus über ein Feature hovert.
routableneinBooleanGibt an ob die Position der GFI-Abfrage als Routing Ziel verwendet werden kann. Hierzu muss das Werkzeug routing konfiguriert sein.
searchFieldneinStringAttributname nach dem die Searchbar diesen Layer durchsucht.
additionalInfoFieldneinString"name"Attributname des Features für die Hitlist in der Searchbar. Ist das Attribut nicht vorhanden wird der Layername angegeben.
styleIdneinStringId die den Style definiert. Id wird in der style.json aufgelöst.
hitToleranceneinStringClicktoleranz bei der ein Treffer für die GetFeatureInfo-Abfrage ausgelöst wird.

Beispiel

{
"id": "123456",
"name": "MyVectorLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"gfiTheme": "default",
"layerAttribution": "MyBoldAttribution for layer 123456",
"legendURL": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"clusterDistance": 60,
"extendedFilter": true,
"filterOptions": [
{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
},
{
"fieldName": "mySecondAttributeToFilter",
"filterName": "Filter_2",
"filterString": ["*", "value3", "value4"],
"filterType": "combo"
}
],
"mouseHoverField": "name",
"routable": false,
"searchField": "name",
"styleId": "123456",
"hitTolerance": 50
},
{
"id" : "11111",
"name" : "lokale GeoJSON",
"url" : "portal/master/test.json",
"typ" : "GeoJSON",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : ""
}

Themenconfig.Layer.Vector.filterOption

Filteroption die vom Werkzeug "wfsFeatureFilter" in tools benötigt wird.

NameVerpflichtendTypDefaultBeschreibung
fieldNamejaStringAttributname nach dem zu filtern ist.
filterNamejaStringName des Filters im Werkzeug.
filterStringjaString[]Array von Attributwerten nach denen gefiltert werden kann. Bei "*" werden alle Wertausprägungen angezeigt.
filterTypejaStringtyp des Filters Momentan wird nur "combo" unterstützt.

Beispiel

{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
}

Datatypes

In diesem Kapitel werden die erwarteten Datentypen definiert.

Datatypes.Coordinate

Eine Koordinate besteht aus einem Array bestehend aus zwei Zahlen. Die erste repräsentiert den Rechtswert, die zweite den Hochwert.

Beispiel Koordinate bestehend aus Ganzzahlen(Integer)

[561210, 5932600]

Beispiel Koordinate bestehend aus Gleitkommazahlen(Float)

[561210.1458, 5932600.12358]

Datatypes.Extent

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

Beispiel Extent

[510000.0, 5850000.0, 625000.4, 6000000.0]

Datatypes.CustomObject

Ein Objekt mit den benötigten Inhalten. Parameter können je nach Konfiguration, Verwendung und Backend-Komponenten unterschiedlich sein.