Zum Hauptinhalt springen

services-internet.json

Die den Portalen zur Verfügung stehenden Dienste (WMS und WFS bzw. deren Layer werden in einer JSON-Datei konfiguriert und gepflegt. Die Datei wird in der Datei config.js der einzelnen Portale unter dem Parameter layerConf über ihren Pfad referenziert. Hier werden alle Informationen der Layer hinterlegt, die das Portal für die Nutzung der Dienste benötigt. Die Konfiguration unterscheidet sich leicht zwischen WMS und WFS. Hier geht es zu einem Beispiel. Es können auch lokale GeoJSON-Dateien in das Portal geladen werden (Siehe Beispiel GeoJSON).

Layertyp unabhängige Konfiguration

Folgende Konfiguration ist für jeden Layertyp anwendbar.

NameVerpflichtendTypdefaultBeschreibungBeispiel
externalInfoneinArrayundefinedListe von Objekten, die weiterführende Links kategorisiert enthält. Hierbei entspricht jedes Objekt einer eigenen Kategorie. Jedes Objekt MUSS zwei Eigenschaften abbilden: title (String, Titel der Kategorie) und urls (String[], Liste an Links).[{title: "Kategorie A", urls: ["example.com"]}, {title: "Kategorie B}, urls: ["foo.bar"]]
requiresAuthenticationneinBooleanfalseTrue = Geschützter Dienst (Basic Auth )true

WMS-Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
cacheneinBooleanIst dieser Layer Teil eines gecachten Dienstes? Wenn true wird bei Portalen, die in der config.json den „Baumtyp“ = „default“ benutzen, dieser Layer den Layern vorgezogen, die mit demselben Metadatensatz verknüpft sind, aber „cache“ = false haben. Bei anderen Baumtypen hat dieser Parameter keine Auswirkungen.false
datasetsneinObjectVerknüpfung zu den Metadaten. Hier werden die Metadatensätze der Datensätze angegeben, die in diesem Layer dargestellt werden. Sie werden nach Click auf den „i“-Button des Layers in den Layerinformationen über die CSW-Schnittstelle angesprochen und dargestellt. Dazu muss in der rest-services.json die URL des Metadatenkatalogs bzw. seiner CSW-Schnittstelle angegeben sein. Die Angaben unter kategorie_opendata, kategorie_inspire und kategorie_organisation werden verwandt, um die Layer in die entprechenden Kategorien einzuordnen, wenn in der config.json der Baumtyp default gesetzt ist.
featureCountjaStringAnzahl der zurückzugebenden Features bei GFI-Abfragen. Entspricht dem GetFeatureInfo-Parameter "FEATURE_COUNT""1"
formatjaStringGrafikformat der Kachel, die vom Portal über den GetMap aufgerufen wird. Muss einem der Werte aus den Capabilities unter Capability/Request/GetMap/Format entsprechen."image/jpeg"
gfiAttributesjaString/ObjectGFI-Attribute die angezeigt werden sollen."ignore"
gfiThemejaStringDarstellungsart der GFI-Informationen für diesen Layer. Wird hier nicht default gewählt, können eigens für diesen Layer erstellte Templates ausgewählt werden, die es erlauben die GFI-Informationen in anderer Struktur als die Standard-Tabellendarstellung anzuzeigen."default"
gutterneinString"0"Wert in Pixel, mit dem bei gekachelten Anfragen die Kacheln überlagert werden. Dient zur Vermeidung von abgeschnittenen Symbolen an Kachelgrenzen."0"
idjaStringFrei wählbare Layer-ID"8"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
layersjaStringLayername im Dienst. Dieser muss dem Wert aus den Dienste-Capabilities unter Layer/Layer/Name entsprechen."1"
legendURLjaStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen."ignore"
maxScalejaStringBis zu diesem Maßstab wird der Layer im Portal angezeigt"1000000"
minScaleneinStringAb diesem Maßstab wird der Layer im Portal angezeigt"0"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Luftbilder DOP 10"
singleTileneinBooleanSoll die Grafik als eine große Kachel ausgeliefert werden? Wenn true wird immer der gesamte Kartenausschnitt angefragt, wenn false wird der Kartenausschnitt in kleineren Kacheln angefragt und zusammengesetzt.false
tilesizejaStringKachelgröße in Pixel. Diese wird verwandt wenn singleTile=false gesetzt ist."512"
transparentjaBooleanHintergrund der Kachel transparent oder nicht (false/true). Entspricht dem GetMap-Parameter TRANSPARENTtrue
typjaStringDiensttyp, in diesem Fall WMS (WMTS siehe unten und WFS siehe unten"WMS"
urljaStringDienste URL"https://isk.geobasis-bb.de/mapproxy/dop20c/service/wms"
useProxyUrlForGfineinbooleanundefinedFlag um die GFI-Abfrage für einen Layer über einen reverse proxy laufen zu lassen.false
versionjaStringDienste Version, die über GetMap angesprochen wird."1.3.0"

Beispiel WMS:

#!json

{
"id": "290",
"name": "Digitale Orthophotos 20cm Bodenauflösung Farbe Cache Brandenburg mit Berlin",
"url": "https://isk.geobasis-bb.de/mapproxy/dop20c_sentinel/service/wms?",
"typ": "WMS",
"layers": "dop_brandenburg",
"format": "image/png",
"version": "1.1.1",
"singleTile": false,
"transparent": false,
"transparency": 0,
"tilesize": 512,
"gutter": 0,
"minScale": "0",
"maxScale": "2500000",
"gfiAttributes": "ignore",
"gfiTheme": "default",
"gfiComplex": "false",
"layerAttribution": "nicht vorhanden",
"legendURL": "ignore",
"cache": false,
"featureCount": 1,
"datasets": [
{
"md_id": "253b7d3d-6b42-47dc-b127-682de078b7ae"
}
],
"isNeverVisibleInTree": false,
"requiresAuthentication": false,
"isBaseLayer": false,
"visibility": false,
"externalInfo": [{
"urls": [
"https://geobroker.geobasis-bb.de/gbss.php?MODE=GetProductInformation&PRODUCTID=253b7d3d-6b42-47dc-b127-682de078b7ae"
],
"title": "<b>GEO</b>BROKER"
}]
}

WMTS-Layer

Es gibt zwei Wege, einen WMTS-Layer in der Kartenviewer API zu definieren:

A) Angabe aller nachfolgenden WMTS-Parameter B) Nutzung der OpenLayers-optionsFromCapabilities-Methode (siehe Beispiel 2)

NameVerpflichtendTypdefaultBeschreibungBeispiel
capabilitiesUrlneinStringCapabilities URL des WMTS-Dienstes"https://www.wmts.nrw.de/geobasis/wmts_nw_dtk/1.0.0/WMTSCapabilities.xml"
coordinateSystemjaStringDas Koordinatenreferenzsystem des Layers."EPSG:3857"
formatjaStringDas Graphikformat der Kacheln des Layers. Wird nur benötigt, wenn der Parameter requestEncoding="KVP" ist."image/png"
idjaStringFrei wählbare Layer-ID"320"
layerjaStringName des Layers, welcher dem aus den WMTS Capabilities entsprechen muss."geolandbasemap"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLjaStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen."ignore"
maxScalejaStringBis zu diesem Maßstab wird der Layer im Portal angezeigt"2500000"
minScaleneinStringAb diesem Maßstab wird der Layer im Portal angezeigt"0"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Geoland Basemap"
optionsFromCapabilitiesneinBooleanOption zur Nutzung der getOptionsFromCapabilities Methode, um den WMTS-Layer zu definieren. Siehe nachfolgende Beispieletrue
originjaNumber[]Der Ursprung des Kachelrasters. Dieser kann entweder den WMTS Capabilities entnommen werden oder entspricht meist der oberen linken Ecke des extents.[-20037508.3428, 20037508.3428]
requestEncodingjaenum["KVP", "REST"]Codierung der Anfrage an den WMTS Dienst."REST"
resLengthjaStringLänge des resolutions und des matrixIds Arrays. Wird benötigt, um die maximale Zoom-Stufe des Layers einstellen zu können."20"
styleneinString"normal"Name des Styles, welcher dem aus den WMTS Capabilities entsprechen muss."normal"
tileMatrixSetjaStringSet der Matrix, das für die Anfrage an den WMTS Dienst benötigt wird. Bei der optionsFromCapabilities-Variante, ist dieser Parameter nicht zwingend notwendig (es wird ein passendes TileMatrixSet gesucht)."google3857"
tileSizejaStringKachelgröße in Pixel."256"
transparentjaBooleanHintergrund der Kachel transparent oder nicht (false/true). Entspricht dem GetMap-Parameter TRANSPARENTfalse
typjaStringDiensttyp, in diesem Fall WMS (WMS siehe oben und WFS siehe unten"WMTS"
urlsjaString[]/StringURLs des WMTS Dienstes. Wenn nur eine einzelne URL als String angegeben wird, dann wird diese intern zu einem Array verarbeitet.["https://maps1.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png", "https://maps2.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png", "https://maps3.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png", "https://maps4.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png", "https://maps.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"]
versionjaStringDienste Version, die über GetMap angesprochen wird."1.0.0"
wrapXneinBooleanfalseGibt an, ob die Welt horizontal gewrapped werden soll.true

Beispiel 1 WMTS:

#!json

{
"id": "320",
"name": "Geoland Basemap",
"urls": [
"https://maps1.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
"https://maps2.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
"https://maps3.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
"https://maps4.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
"https://maps.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"
],
"typ": "WMTS",
"layer": "geolandbasemap",
"version": "1.0.0",
"format": "image/png",
"style": "normal",
"transparent": false,
"tileSize": "256",
"minScale": "0",
"maxScale": "2500000",
"tileMatrixSet": "google3857",
"coordinateSystem": "EPSG:3857",
"layerAttribution": "nicht vorhanden",
"legendURL": "ignore",
"cache": true,
"wrapX": true,
"origin": [
-20037508.3428,
20037508.3428
],
"resLength": "20",
"requestEncoding": "REST"
}

Beispiel 2 WMTS (optionsFromCapabilities Methode)

{
"id": "2020",
"name": "EOC Basemap",
"capabilitiesUrl": "https://tiles.geoservice.dlr.de/service/wmts?SERVICE=WMTS&REQUEST=GetCapabilities",
"typ": "WMTS",
"layers": "eoc:basemap",
"optionsFromCapabilities": true
}


WFS-Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
featureNSjaStringfeatureNamespace. Ist gewöhnlich im Header der WFS-Capabilities referenziert und löst den Namespace auf, der unter FeatureType/Name angegeben wird."https://www.deegree.org/app"
featureTypejaStringfeatureType-Name im Dienst. Dieser muss dem Wert aus den Dienste-Capabilities unter FeatureTypeList/FeatureType/Name entsprechen. Allerdings ohne Namespace."bab_vkl"
gfiAttributesjaString/ObjectGFI-Attribute die angezeigt werden sollen."ignore"
gfiFormatneinString/ObjectOptionale Steuerung des Inhaltes der GFI-Informationen für diesen Layer. Der Inhalt kann im Rahmen eines Projektes frei gewählt werden. Die Steuerung der Inhalte über diesen Parameter ist z.B. bei der Verwendung eines gfi-Themes für mehrere Layer von zentraler Bedeutung.{"exampleProjectSwitch" : {"domain": "statistical", "property": "school", "unit": "percent"}}
idjaStringFrei wählbare Layer-ID"44"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Verkehrslage auf Autobahnen"
typjaStringDiensttyp, in diesem Fall WFS (WMS siehe oben, WMTS siehe oben)"WFS"
urljaStringDienste URL"https://geodienste.beispiel.de/HH_WFS_Verkehr_opendata"
versionneinStringDienste Version, die über GetFeature angesprochen wird."1.1.0"
altitudeModeneinenum["clampToGround","absolute","relativeToGround"]"clampToGround"Höhenmodus für die Darstellung in 3D."absolute"
altitudeneinNumberHöhe für die Darstellung in 3D in Metern. Wird eine altitude angegeben, so wird die vorhandene Z-Koordinate überschrieben. Falls keine Z-Koordinate vorhanden ist, wird die altitude als Z-Koordinate gesetzt.527
altitudeOffsetneinNumberHöhenoffset für die Darstellung in 3D in Metern. Wird ein altitudeOffset angegeben, so wird die vorhandene Z-Koordinate um den angegebenen Wert erweitert. Falls keine Z-Koordinate vorhanden ist, wird der altitudeOffset als Z-Koordinate gesetzt.10
useProxyUrlForGfineinbooleanundefinedFlag um die GFI-Abfrage für einen Layer über einen reverse proxy laufen zu lassen.false
Beispiel WFS:
#!json

{
"id" : "2003",
"name" : "WFS",
"url" : "https://isk.geobasis-bb.de/ows/vg_wfs",
"typ" : "WFS",
"featureType" : "bb_grenze",
"format" : "image/png",
"version" : "1.1.0",
"featureNS" : "https://www.deegree.org/app",
"gfiAttributes" : "showAll",
"gfiFormat": {"exampleProjectSwitch" : {"domain": "statistical", "property": "grenze", "unit": "percent"}},
"layerAttribution" : "nicht vorhanden",
"legendURL" : "",
"datasets": [
{
"md_id": "ed6ab7a1-7a64-4ceb-8d37-2e156b7f4546"
}
],
"externalInfo": [
{
"title": "Diensteanbieter",
"urls": [
"https://geobasis-bb.de/"
]
}
]
},

gfiAttributes

Hier erlauben Key-Value-Paare die portalseitige Übersetzung manchmal diensteseitig kryptischer Attributnamen in lesbare. Weitere Optionen sind: ignore: keine GFI-Abfrage möglich, showAll: alle GFI-Attribute werden abgefragt und wie vom Dienst geliefert angezeigt. Bestimmte Standard-Attribute ohne Informationswert für den Benutzer werden immer aus der Anzeige im Portal ausgeschlossen, siehe(config.js)

Beispiel gfiAttributes als String:

#!json
{
"gfiAttributes": "showAll"
}

Beispiel gfiAttributes als String:

#!json
{
"gfiAttributes": "ignore"
}

Beispiel gfiAttributes als Objekt:

#!json
{
"gfiAttributes": {
"key1": "Key der im Portal gezeigt wird 1",
"key2": "Key der im Portal gezeigt wird 2",
"key3": "Key der im Portal gezeigt wird 3"
}
}

Wird gfiAttributes als Objekt übergeben, kann der Value auch ein Objekt sein. Dann wird ein Key erst verwendet, wenn eine Bedingung erfüllt ist

NameVerpflichtendTypdefaultBeschreibungBeispiel
nametrueStringName, der bei exakt einem Match angezeigt werden soll.'"Test"'
conditiontrueenum["contains", "startsWith", "endsWith"]Bedingung nach welcher der key gegen alle Attribute des Features geprüft wird.'"startsWith"'
typefalseenum["string","date"]"string"Wenn type = "date", dann wird versucht ein Datum aus dem Attributwert zu erzeugen.'"date"'
formatfalseString"DD.MM.YYYY HH:mm:ss"Datumsformat.'"DD.MM.YYY"'
suffixfalseStringSuffix, das an den Attributwert angehängt wird.'"°C"'

Beispiel gfiAttributes als Objekt mit suffix:

#!json
{
"gfiAttributes": {
"key1": "Key der im Portal gezeigt wird 1",
"key2": "Key der im Portal gezeigt wird 2",
"key3": {
"name": "Key der im Portal gezeigt wird 3",
"condition": "contains",
"suffix": "°C"
}
}
}

Beispiel gfiAttributes als Objekt mit type und format:

#!json
{
"gfiAttributes": {
"key1": "Key der im Portal gezeigt wird 1",
"key2": "Key der im Portal gezeigt wird 2",
"key3": {
"name": "Key der im Portal gezeigt wird 3",
"condition": "contains",
"type": "date",
"format": "DD.MM.YY"
}
}
}

GeoJSON-Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
gfiAttributesjaString/ObjectGFI-Attribute die angezeigt werden sollen."ignore"
idjaStringFrei wählbare Layer-ID"11111"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."lokale GeoJSON"
typjaStringDiensttyp, in diesem Fall GeoJSON"GeoJSON"
subTypneinenum["OpenSenseMap]SubTyp um spezielle Daten nachzuladen."OpenSenseMap"
urljaStringPfad/URL zur GeoJSON. Der Pfad ist relativ zur index.html"/myJsons/test.json"
altitudeModeneinenum["clampToGround","absolute","relativeToGround"]"clampToGround"Höhenmodus für die Darstellung in 3D."absolute"
altitudeneinNumberHöhe für die Darstellung in 3D in Metern. Wird eine altitude angegeben, so wird die vorhandene Z-Koordinate überschrieben. Falls keine Z-Koordinate vorhanden ist, wird die altitude als Z-Koordinate gesetzt.527
altitudeOffsetneinNumberHöhenoffset für die Darstellung in 3D in Metern. Wird ein altitudeOffset angegeben, so wird die vorhandene Z-Koordinate um den angegebenen Wert erweitert. Falls keine Z-Koordinate vorhanden ist, wird der altitudeOffset als Z-Koordinate gesetzt.10
useProxyUrlForGfineinbooleanundefinedFlag um die GFI-Abfrage für einen Layer über einen reverse proxy laufen zu lassen.false

Beispiel GeoJSON:

#!json

{
"id" : "11111",
"name" : "lokale GeoJSON",
"url" : "myJsons/test.json",
"typ" : "GeoJSON",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : "",
}

OGC API Features Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"11111"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Mein OAF Layer"
urljaStringURL zum OGC API Service."https://my-service.de"
typjaStringDiensttyp, in diesem Fall OATVector"OAF"
outputFormatjaStringUnterstützte Ausgabeformate. Empfohlen: JSON"JSON"
collectionneinStringID der zu verwendenden Collection (Datensatz)."gebaeudeflaeche"
collectionsneinString[][]Liste der zu verwendenden Collections (Datensätze). Per default werden alle Collections des Dienstes verwendet. Wird ignoriert, falls collection spezifiziert wurde.["gebaeudeflaeche", "gewaesserflaeche"]
legendURLneinString"ignore"Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt."https://example.com/legend.png"
gfiAttributesjaString/ObjectGFI-Attribute, die angezeigt werden sollen."ignore"
gfiThemejaStringDarstellungsart der GFI-Informationen für diesen Layer. Wird hier nicht default gewählt, können eigens für diesen Layer erstellte Templates ausgewählt werden, die es erlauben die GFI-Informationen in anderer Struktur als die Standard-Tabellendarstellung anzuzeigen."default"
bboxneinStringDie Daten können auf einen geographischen Bereich eingeschränkt werden."12.9969,52.3512,13.7320,52.6243"
styleIdneinStringVerknüpfung zu einem Style aus der style.json"42"
limitneinStringOptionales Limit für die Anzahl an Features"10000"
filterneinStringOptionaler Filter um die Daten vorzufiltern"gmdschl=12062341"
selectedFeatureHighlightneinStringDie Farbe in der angeklickte Features erscheinen sollen"rgba(1, 0,0, 1)"

Beispiel OGC API Features Layer:

#!json

{
"id": "881",
"name": "Alkis",
"url": "https://ogc-api.geobasis-bb.de/alkis-vereinfacht/v1",
"typ": "OAF",
"version": "2.0",
"outputFormat": "JSON",
"legendURL" : "ignore",
"gfiAttributes": "showAll",
"collections": ["gebaeude_bauwerk"],
"styleId": "45",
"filter": "gmdschl=12062341",
"selectedFeatureHighlight": "rgba(1, 0,0, 1)",
"bbox": "13.1309,51.4832,13.3555,51.5933",
"limit": 20000
}

OGC API Tiles Vector Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"11111"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Mein OAT Vector Layer"
urljaStringURL zum OGC API Service."https://my-service.de"
typjaStringDiensttyp, in diesem Fall OATVector"OATVector"
formatjaStringFormat der Kacheln. Aktuell wird nur das Format Mapbox Vector Tile ("mvt") unterstützt."mvt"
tileMatrixSetjaStringName des zu verwendenden TileMatrixSets."WebMercatorQuad"
collectionneinStringID der zu verwendenden Collection (Datensatz)."gebaeudeflaeche"
collectionsneinString[][]Liste der zu verwendenden Collections (Datensätze). Per default werden alle Collections des Dienstes verwendet. Wird ignoriert, falls collection spezifiziert wurde.["gebaeudeflaeche", "gewaesserflaeche"]
legendURLneinString"ignore"Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt."https://example.com/legend.png"
previewURLneinStringLink zu einem Vorschaubild, zur Verwendung im backgroundSwitcher"https://example.com/preview.png"
gfiAttributesjaString/ObjectGFI-Attribute, die angezeigt werden sollen."ignore"
gfiThemejaStringDarstellungsart der GFI-Informationen für diesen Layer. Wird hier nicht default gewählt, können eigens für diesen Layer erstellte Templates ausgewählt werden, die es erlauben die GFI-Informationen in anderer Struktur als die Standard-Tabellendarstellung anzuzeigen."default"

Beispiel OGC API Tiles Vector Layer:

#!json

{
"id" : "11111",
"name" : "Mein OAT Vector Layer",
"url" : "https://my-service.de",
"typ" : "OATVector",
"format": "mvt",
"tileMatrixSet": "WebMercatorQuad",
"collections": ["gebaeudeflaeche", "gewaesserflaeche"],
"legendURL": "https://example.com/legend.png",
"previewURL": "https://example.com/preview.png",
"gfiAttributes": "showAll",
"gfiTheme": "default"
}

OGC API Tiles Raster Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"11111"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Mein OAT Raster Layer"
urljaStringURL zum OGC API Service."https://my-service.de"
typjaStringDiensttyp, in diesem Fall OATRaster"OATRaster"
tileMatrixSetjaStringName des zu verwendenden TileMatrixSets."WebMercatorQuad"
collectionneinStringID der zu verwendenden Collection (Datensatz)."blueMarble"
collectionsneinString[]Liste der zu verwendenden Collections (Datensätze). Per default werden alle Collections des Dienstes verwendet. Wird ignoriert, falls collection spezifiziert wurde.["blueMarble"]
legendURLneinString"ignore"Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt."https://example.com/legend.png"
previewURLneinStringLink zu einem Vorschaubild, zur Verwendung im backgroundSwitcher"https://example.com/preview.png"

Beispiel OGC API Tiles Raster Layer:

#!json

{
"id" : "11111",
"name" : "Mein OAT Raster Layer",
"url" : "https://my-service.de",
"typ" : "OATRaster",
"tileMatrixSet": "WebMercatorQuad",
"collection": "blueMarble",
"legendURL": "https://example.com/legend.png",
"previewURL": "https://example.com/preview.png"
}

Mapbox Group Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
idjaStringFrei wählbare Layer-ID"11111"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Mein MapboxGroup Layer"
typjaStringDiensttyp, in diesem Fall MapboxGroup"MapboxGroup"
urljaStringURL zum Mapbox Style."https://example.com/foo/bar/my-mapbox-style?f=mbs"
legendURLneinString"ignore"Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt."https://example.com/legend.png"
previewURLneinStringLink zu einem Vorschaubild, zur Verwendung im backgroundSwitcher"https://example.com/preview.png"
gfiAttributesjaString/ObjectGFI-Attribute, die angezeigt werden sollen. Es werden ausschließlich Attributinformationen von VectorTile Layern innerhalb des Mapbox Group Layers dargestellt."ignore"
gfiThemejaStringDarstellungsart der GFI-Informationen für diesen Layer. Wird hier nicht default gewählt, können eigens für diesen Layer erstellte Templates ausgewählt werden, die es erlauben die GFI-Informationen in anderer Struktur als die Standard-Tabellendarstellung anzuzeigen."default"

Beispiel Mapbox Group Layer:

#!json

{
"id" : "11111",
"name" : "Mein MapboxGroup Layer",
"typ" : "MapboxGroup",
"url": "https://example.com/foo/bar/my-mapbox-style?f=mbs",
"legendURL": "https://example.com/legend.png",
"previewURL": "https://example.com/preview.png",
"gfiAttributes": "showAll",
"gfiTheme": "default"
}

Heatmap-Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
idjaStringFrei wählbare Layer-ID"11111"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Mein Heatmap Layer"
typjaStringDiensttyp, in diesem Fall Heatmap"Heatmap"
attributeneinString""Attributname. Nur Features, die dem "attribute" und "value" entsprechen, werden verwendet."attr1"
valueneinString""Attributwert. Nur Features, die dem "attribute" und "value" entsprechen, werden verwendet."val1"
radiusneinNumber10Radius der Heatmap features.10
blurneinNumber15Blur der Heatmap Features15
gradientneinString[]["#00f", "#0ff", "#0f0", "#ff0", "#f00"]Farbgradient der Heatmap["#f00", "#0f0", "#00f"]
dataLayerIdjaStringId des Layers der die Features für die Heatmap liefert"4321"

Beispiel HeatmapLayer:

#!json

{
"id": "1234",
"name": "Heatmap des Vektorlayers mit der layerid 4321",
"typ": "Heatmap",
"attribute": "state",
"value": "charging",
"radius": 20,
"blur": 30,
"gradient": [
"#ffffb2",
"#fd8d3c",
"#fd8d3c",
"#f03b20",
"#bd0026"
],
"gfiAttributes": "ignore",
"dataLayerId": "4321"
}

3D Tiles

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
gfiAttributesjaString/ObjectGFI-Attribute die angezeigt werden sollen."ignore"
idjaStringFrei wählbare Layer-ID"44"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Verkehrslage auf Autobahnen"
hiddenFeaturesneinArrayListe mit IDs, die in der Ebene versteckt werden sollen["id_1", "id_2"]
typjaStringDiensttyp, in diesem Fall TileSet3D"TileSet3D"
urljaStringDienste URL"https://geodienste.beispiel.de/buildings_lod2"
cesium3DTilesetOptionsneinObjectCesium 3D Tileset Options, werden direkt an das Cesium Tileset Objekt durchgereicht. maximumScreenSpaceError ist z.B. für die Sichtweite relevant.

Beispiel Tileset:

#!json

{
"id" : "buildings",
"name" : "Gebäude",
"url" : "https://geodienste.beispiel.de/b3dm_beispiel_lod2",
"typ" : "Tileset3D",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : "ignore",
"hiddenFeatures": ["id1", "id2"],
"cesium3DTilesetOptions" : {
maximumScreenSpaceError : 6
},
"datasets" : [
{
"md_id" : "2FC4BBED-350C-4380-B138-4222C28F56C6",
"rs_id" : "HMDK/6f62c5f7-7ea3-4e31-99ba-97407b1af9ba",
"md_name" : "LOD 2 Gebäude",
"bbox" : "461468.97,5916367.23,587010.91,5980347.76",
"kategorie_opendata" : [
"LOD 2 Gebäude"
],
"kategorie_inspire" : [
"LOD 2 Gebäude"
],
"kategorie_organisation" : "Behörde für Wirtschaft, Verkehr und Innovation"
}
]
}

Terrain3D Quantized Mesh Dataset

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"44"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Verkehrslage auf Autobahnen"
typjaStringDiensttyp, in diesem Fall Terrain3D"Terrain3D"
urljaStringDienste URL"https://geodienste.beispiel.de/terrain"
cesiumTerrainProviderOptionsneinObjectCesium TerrainProvider Options, werden direkt an den Cesium TerrainProvider durchgereicht. requestVertexNormals ist z.B. für das Shading auf der Oberfläche relevant.

Beispiel Terrain:

#!json
{
"id" : "buildings",
"name" : "Terrain",
"url" : "https://geodienste.beispiel.de/terrain",
"typ" : "Terrain3D",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : "ignore",
"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
},
"datasets" : [
{
"md_id" : "2FC4BBED-350C-4380-B138-4222C28F56C6",
"rs_id" : "HMDK/6f62c5f7-7ea3-4e31-99ba-97407b1af9ba",
"md_name" : "Terrain",
"bbox" : "461468.97,5916367.23,587010.91,5980347.76",
"kategorie_opendata" : [
"Terrain"
],
"kategorie_inspire" : [
"Terrain"
],
"kategorie_organisation" : "Behörde für Wirtschaft, Verkehr und Innovation"
}
]
}

Oblique Layer

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"44"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Verkehrslage auf Autobahnen"
typjaStringDiensttyp, in diesem Fall Oblique"Oblique"
hideLevelsneinNumberAnzahl der Level der Bildpyramide, die nicht angezeigt werden sollen.0
minZoomneinNumberMinimale Zoomstufe 0 zeigt das komplette Schrägluftbild in der Mitte des Bildschirms.0
terrainUrlneinStringURL zu Cesium Quantized Mesh Terrain dataset"https://geodienste.beispiel.de/terrain"
resolutionneinNumberAuflösung der Schrägluftbilder in cm z.B. 10 .10
projectionjaStringProjektion der Schrägluftbild ebene.EPSG:25832
urljaStringDienste URL"https://geodienste.beispiel.de/oblique/imagecomplete.json"

Beispiel Oblique Ebene:

#!json
{
"id": "19991",
"name": "Digitales Schrägluftbild",
"url": "https://geodienste.beispiel.de/oblique/imagecomplete.json",
"typ": "Oblique",
"resolution": 10,
"hideLevels": 0,
"minZoom": 3,
"terrainUrl": "",
"projection": "",
"gfiAttributes": "showAll",
"layerAttribution": "nicht vorhanden",
"legendURL": "",
"urlIsVisible": true
}

Entities Layer 3D

Entities Layer um 3D Modelle im Gltf oder Glb Format darzustellen.

NameVerpflichtendTypdefaultBeschreibungBeispiel
datasetsjaObjectHier werden die Metadatensätze der dargestellten Datensätze referenziert. Diese Werden in der Layerinfo (i-Knopf) im Portal zur Laufzeit aus dem Metadatenkatalog bzw. seiner CSW – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_...“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt.
idjaStringFrei wählbare Layer-ID"44"
layerAttributionneinString"nicht vorhanden"Zusätzliche Information zu diesem Layer, die im Portal angezeigt wird, sofern etwas anderes als "nicht vorhanden" angegeben und in dem jeweiligen Portal das Control LayerAttribution aktiviert ist."nicht vorhanden"
legendURLneinStringLink zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen.""
namejaStringAnzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar."Verkehrslage auf Autobahnen"
typjaStringDiensttyp, in diesem Fall Entities3D"Entities3D"
entitiesjaArrayModelle, die angezeigt werden sollen[]

Entity Optionen

NameVerpflichtendTypdefaultBeschreibungBeispiel
urljaString""Url zu dem Modell"https://beispiel.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb"
attributesneinObjectAttribute für das Modell{"name": "test"}
latitudejaNumberBreitengrad des Modell-Origins in Grad53.541831
longitudejaNumberLängengrad des Modell-Origins in Grad9.917963
heightneinNumber0Höhe des Modell-Origins10
headingneinNumber0Rotation des Modells, in Grad0
pitchneinNumber0Neigung des Modells in Grad0
rollneinNumber0Roll des Modells in Grad0
scaleneinNumber1Skalierung des Modells1
allowPickingneinBooleantrueOb das Modell angeklickt werden darf (GFI)true
showneinBooleantrueOb das Modell angezeigt werden soll (sollte true sein)true

Beispiel Entities3D Ebene:

#!json
{
"id": "gltfLayer",
"name": "GltfLayer",
"typ": "Entities3D",
"layerAttribution": "nicht vorhanden",
"legendURL": "ignore",
"entities": [
{
"url": "https://beispiel.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb",
"attributes": {
"name": "Fernsehturm.kmz"
},
"latitude": 53.541831,
"longitude": 9.917963,
"height": 10,
"heading": -1.2502079000000208,
"pitch": 0,
"roll": 0,
"scale": 5,
"allowPicking": true,
"show": true
}
],
"datasets": [
{
"md_id": "A39B4E86-15E2-4BF7-BA82-66F9913D5640",
"rs_id": "https://registry.gdi-de.org/id/de.hh/6D10BE89-636D-4359-8B27-4AB4DCA02F3A",
"md_name": "Digitales Höhenmodell Hamburg DGM 1",
"bbox": "461468.97,5916367.23,587010.91,5980347.76",
"kategorie_opendata": [
"Geographie, Geologie und Geobasisdaten"
],
"kategorie_inspire": [
"Höhe"
],
"kategorie_organisation": "Landesbetrieb Geoinformation und Vermessung"
}
]
}