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:

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

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

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

Portalconfig.searchBar.specialWFS

Konfiguration der SpecialWFS Suche

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

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

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

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

NameVerpflichtendTypDefaultBeschreibungStandard
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

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

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:

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

Beispiel als Boolean

"attributions": true

Beispiel als Object

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

Portalconfig.controls.orientation

NameVerpflichtendTypDefaultBeschreibungStandard
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.).false
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].false
positionneinStringGibt die Position des Tools an ("top", "topRight", "bottomRight", "bottom", "bottomLeft", "topLeft").false

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

NameVerpflichtendTypDefaultBeschreibungStandard
showZoomInneinBoolean/Integer[]trueEs wird hineingezoomttrue
showZoomInneinBoolean/Integer[]trueEs wird hinausgezoomttrue
showZoomBoxneinBoolean/Integer[]trueZoom über Auswahltrue

Beispiel nur Zoombox wird freigeschalten

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

Portalconfig.controls.geolocation

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

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.

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

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.

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

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

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

Beispiel totalView als Object:

"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

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

Beispiel backForward als Object:

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

Beispiel backForward als Boolean:

"backForward": true

Portalconfig.mapView

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
resolutionjaNumberAuflösung der definierten Zoomstufe.true
scalejaIntegerMaßstabszahl der definierten Zoomstufe.true
zoomLeveljaIntegerZoomstufe der definierten Zoomstufe.true

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.

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

Portalconfig.menu.legend

Konfigurations-Optionen der Legende.

NameVerpflichtendTypDefaultBeschreibungStandard
showCollapseAllButtonneinBooleanfalseOption zum Ein- bzw. Ausblenden aller Legendenfalse

Portalconfig.menu.info

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

NameVerpflichtendTypDefaultBeschreibungStandard
childrenneinchildrenKonfiguration der Kindelemente des Informations Ordners.false

Portalconfig.menu.info.children

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

NameVerpflichtendTypDefaultBeschreibungStandard
childrenneinstaticlinksKonfiguration der Kindelemente des Informations Ordners.false

Portalconfig.menu.tree

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

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

Portalconfig.menu.folder

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

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

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.

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
menuWidthneinnumber200Breite des Menüs in Pixeln.false

Beispiel

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

Portalconfig.menu.tools

NameVerpflichtendTypDefaultBeschreibungStandard
childrenneinchildrenKonfiguration der Werkzeuge.false

Portalconfig.menu.tools.children

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

NameVerpflichtendTypDefaultBeschreibungStandard
compareFeaturesneincompareFeaturesVergleichsmöglichkeit von Vector-Features.false
parcelSearchneinparcelSearchFlurstückssuche.false
measureneintoolMesswerkzeug um Flächen oder Strecken zu messen. Dabei kann zwischen den Einheiten m/km bzw m²/km² gewechselt werden.false
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.false
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.false
printneinprintDruckmodul mit dem die Karte als PDF exportiert werden kann.false
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.false
kmlimportneintoolImport von KML Dateien. Über dieses Werkzeug können KML Dateien importiert werden.false
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.false
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.false
routingneinroutingRouting. Über dieses Werkzeug können Routen berechnet werden.true
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.false
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.true
featureListerneinfeatureListerListet alle Features eines Vektor Layers auf.false
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.false
layersliderneinlayerSliderDeprecated in 3.0.0 Bitte "layerSlider" verwenden.false
layerSliderneinlayerSliderWerkzeug zum Abspielen einer Reihendfolge von Layers.false
legendneintoolLegende. Stellt die Legende aller sichtbaren Layer dar.false
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.false
filterneinfilterNeues Filtermodul.false
virtualcityneinvirtualcityvirtualcityPLANNER planning Viewerfalse
shadowneinshadowKonfigurationsobjekt für die Schattenzeit im 3D-Modus.false

Portalconfig.menu.tool

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

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
namejaStringName des Werkzeuges im Menu.false
glyphiconneinString"glyphicon-info-sign"CSS Klasse des Glyphicons, das vor dem GFI im Menu angezeigt wird.false
isActiveneinBooleantrueGibt an ob das GFI per default aktiviert ist.false
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.false
contentWidthneinNumber"500"Steuert die initiale Breite des GFI-Fenster Inhalts (Wert in Pixeln).false
contentHeightneinNumber"300"Steuert die initiale Höhe des GFI-Fenster Inhalts (Wert in Pixeln).false
iframeContentWidthneinNumberSteuert die initiale Breite des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln.false
iframeContentHeightneinNumberSteuert die initiale Höhe des GFI-Fenster Inhalts im iFrame (wenn das infoFormat text/html genutzt wird). Wert in Pixeln.false
highlightVectorRulesneinhighlightVectorRulesRegeldefinitionen zum Überschreiben des Stylings von abgefragten Vektordaten.highlightVectorRulesfalse
showPagingneinBooleanfalseOption zum Anzeigen der Treffer-Anzahl (z.B. 1 / 3) in der Tool-Leistefalse
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.false

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.

NameVerpflichtendTypDefaultBeschreibungStandard
fillneinfillMögliche Einstellung: colorfalse
imageneinimageMögliche Einstellung: scalefalse
strokeneinstrokeMögliche Einstellung: widthfalse
textneintextMögliche Einstellung: scalefalse

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

json
{
"width": 4
}

Portalconfig.menu.tool.gfi.highlightVectorRules.text

Todo

json
{
"scale": 2
}

Portalconfig.menu.tool.filter

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

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
layerIdjaStringId des Layers. Muss auch in der Themenconfig konfiguriert sein.false
isActiveneinBooleanfalseGibt an ob diese Filtereinstellung initial durchgeführt werden soll.false
isSelectedneinBooleanfalseGibt an ob diese Filtereinstellung initial angezeigt werden soll.false
searchInMapExtentneinBooleanfalseGibt an ob nur die Features im Kartenauschnitt gefiltert werden sollen.false
infoneinStringKurzer Info text der über der Filtereinstellung erscheint.false
predefinedRulesneinpredefinedRule[]Filterregel die die Daten vorfiltert.true
attributeWhiteListneinString[]/attributeWhiteListObject[]Whitelist an Attributen die verwendet werden sollen.true
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.true

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.

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

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.

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

Beispiel als String

"Grundschulen"

Beispiel als Objekt

#!json
{
"name": "Grundschulen",
"matchingMode": "AND"
}

Portalconfig.menu.tool.compareFeatures

Hier können Vector Features miteinander verglichen werden.

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

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

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
mapfishServiceIdjaStringId des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.false
printAppIdneinString"master"Id der print app des Druckdienstes. Dies gibt dem Druckdienst vor welche/s Template/s er zu verwenden hat.false
filenameneinString"report"Dateiname des Druckergebnisses.false
titleneinString"PrintResult"Titel des Dokuments. Erscheint als Kopfzeile.false
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.false
printIDneinStringDeprecated in 3.0.0. Id des Druckdienstes der verwendet werden soll. Wird in der rest-services.json abgelegt.false
outputFilenameneinString"report"Deprecated in 3.0.0. Dateiname des Druckergebnisses.false
gfineinBooleanfalseDeprecated in 3.0.0. Dateiname des Druckergebnisses.false
configYAMLneinString"/master"Deprecated in 3.0.0. Configuration des Templates das verwendet werden soll.false
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.false
legendTextneinString"Mit Legende"Beschreibender Text für die printLegend-Checkbox.false
dpiForPdfneinNumber200Auflösung der Karte im PDF.false

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!

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

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.

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

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.

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
emailneinStringEmail.false
nameneinStringAnzeigename.false

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.

NameVerpflichtendTypDefaultBeschreibungStandard
titlejaStringTitel der im Werkzeug vorkommt.false
timeIntervalneinInteger2000Zeitintervall in ms bis der nächste Layer angeschaltet wird.false
layerIdsjalayerId[][]Array von Objekten aus denen die Layerinformationen herangezogen werden.false
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.false
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.

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

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).

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

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

NameVerpflichtendTypDefaultBeschreibungStandard
staticlinksneinstaticlink[]Array von Statischen links.false

Beispiel als onClickTrigger

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

Ein Staticlink-Objekt enthält folgende Attribute.

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

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.

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

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".

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

Beispiel

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

oder

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

Themenconfig.Hintergrundkarten

Hier werden die Hintergrundkarten definiert

NameVerpflichtendTypDefaultBeschreibungStandard
LayerjaLayer/GroupLayer[]Definition der Layer.false

Beispiel

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

Themenconfig.Fachdaten

Hier werden die Fachdaten definiert

NameVerpflichtendTypDefaultBeschreibungStandard
LayerjaLayer/GroupLayer[]Definition der Layer.false
OrdnerneinOrdner[]Definition der Ordner.false

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.

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

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.

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

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.

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

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.

NameVerpflichtendTypDefaultBeschreibungStandard
idjaString/String[]Id des Layers. In der services.json werden die ids aufgelöst und die notwendigen Informationen herangezogen.false
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.false
nameneinStringName des Layers.false
transparencyneinInteger0Transparenz des Layers.false
visibilityneinBooleanfalseSichtbarkeit des Layers.false
supportedneinString[]["2D", "3D"]Gibt die Modi an in denen der Layer verwendet werden kann.false
extentneinExtent[454591, 5809000, 700000, 6075769]Ausdehnung des Layers.false
gfiThemeneinString"default"Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll.true
layerAttributionneinStringWert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist.false
legendURLneinStringWert aus services.json. Url die verwendet wird um die Legende anzufragen.false
maxScaleneinStringWert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll.false
minScaleneinStringWert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll.false
autoRefreshneinIntegerAutomatischer reload des Layers. Angabe in ms. Minimum ist 500.false
isNeverVisibleInTreeneinBooleanfalseAnzeige ob Layer niemals im Themenbaum sichtbar ist.false
urlIsVisibleneinBooleantrueAnzeige ob die URL in der Layerinformation angezeigt werden soll.false

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.

NameVerpflichtendTypDefaultBeschreibungStandard
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.false
nameneinStringName des Layers.false
entitiesjaEntity3D[]Modelle, die angezeigt werden sollenfalse
transparencyneinInteger0Transparenz des Layers.false
visibilityneinBooleanfalseSichtbarkeit des Layers.false
supportedneinString[]["2D", "3D"]Gibt die Modi an in denen der Layer verwendet werden kann.false
extentneinExtent[454591, 5809000, 700000, 6075769]Ausdehnung des Layers.false
gfiThemeneinString"default"Wert aus services.json. Gibt an welches theme für die GetFeatureInfo (gfi) verwendet werden soll.true
layerAttributionneinStringWert aus services.json. HTML String. Dieser wird angezeigt sobald der Layer aktiv ist.false
legendURLneinStringWert aus services.json. Url die verwendet wird um die Legende anzufragen.false
maxScaleneinStringWert aus services.json. Maximaler Maßstab bei dem dem Layer angezeigt werden soll.false
minScaleneinStringWert aus services.json. Minimaler Maßstab bei dem dem Layer angezeigt werden soll.false
autoRefreshneinIntegerAutomatischer reload des Layers. Angabe in ms. Minimum ist 500.false
isNeverVisibleInTreeneinBooleanfalseAnzeige ob Layer niemals im Themenbaum sichtbar ist.false
urlIsVisibleneinBooleantrueAnzeige ob die URL in der Layerinformation angezeigt werden soll.false
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.false

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.

NameVerpflichtendTypDefaultBeschreibungStandard
attributesToStyleneinString[]Array von Attributen nach denen der WMS gestylt werden kann. Wird benötigt vom Werkzeug "styleWMS" in tools.false
featureCountneinInteger1Anzahl der Features die zurückgegeben werden sollen bei einer GetFeatureInfo-Abfrage.false
geomTypeneinStringGeometrietyp der Daten hinter dem WMS. Momentan wird nur "Polygon" unterstützt. Wird benötigt vom Werkzeug "styleWMS" in tools.false
styleableneinBooleanZeigt an der Layer vom Werkzeug "styleWMS" verwendet werden kann. Wird benötigt vom Werkzeug "styleWMS" in tools.true
infoFormatneinString"text/xml"Wert aus services.json. Format in dem der WMS-GetFeatureInfo-request zurückgegeben werden soll.false
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.true

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.

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

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

NameVerpflichtendTypdefaultBeschreibungStandard
nameneinString""Todofalse

Beispiel

{
"name": "Fernsehturm.kmz"
}

Themenconfig.Layer.StaticImage

Hier werden typische Attribute für ein StaticImage aufgelistet.

NameVerpflichtendTypDefaultBeschreibungStandard
idjaString"Eineindeutige-ID7711"Es muss eine eineindeutige ID vergeben werden.false
typjaString"StaticImage"Setzt den Layertypen auf StaticImage welcher statische Bilder als Layer darstellen kann.false
urljaString"https://meinedomain.de/bild.png"Link zu dem anzuzeigenden Bild.false
namejaString"Static Image Name"Setzt den Namen des Layers für den Layerbaum.false
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.false

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.

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

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.

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

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.