Konfiguration #
services.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.
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
externalInfo | nein | Array | undefined | Liste 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"]] |
requiresAuthentication | nein | Boolean | false | True = Geschützter Dienst (Basic Auth ) | true |
WMS-Layer #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
cache | nein | Boolean | Ist 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 |
|
datasets | nein | Object | Verknü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. | ||
featureCount | ja | String | Anzahl der zurückzugebenden Features bei GFI-Abfragen. Entspricht dem GetFeatureInfo-Parameter “FEATURE_COUNT” | "1" |
|
format | ja | String | Grafikformat 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" |
|
gfiAttributes | ja | String/Object | GFI-Attribute die angezeigt werden sollen. | "ignore" |
|
gfiTheme | ja | String | Darstellungsart 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" |
|
gutter | nein | String | “0” | Wert in Pixel, mit dem bei gekachelten Anfragen die Kacheln überlagert werden. Dient zur Vermeidung von abgeschnittenen Symbolen an Kachelgrenzen. | "0" |
id | ja | String | Frei wählbare Layer-ID | "8" |
|
layerAttribution | nein | String | “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" |
layers | ja | String | Layername im Dienst. Dieser muss dem Wert aus den Dienste-Capabilities unter Layer/Layer/Name entsprechen. | "1" |
|
legendURL | ja | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "ignore" |
|
maxScale | ja | String | Bis zu diesem Maßstab wird der Layer im Portal angezeigt | "1000000" |
|
minScale | nein | String | Ab diesem Maßstab wird der Layer im Portal angezeigt | "0" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Luftbilder DOP 10" |
|
singleTile | nein | Boolean | Soll 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 |
|
tilesize | ja | String | Kachelgröße in Pixel. Diese wird verwandt wenn singleTile=false gesetzt ist. | "512" |
|
transparent | ja | Boolean | Hintergrund der Kachel transparent oder nicht (false/true). Entspricht dem GetMap-Parameter TRANSPARENT | true |
|
typ | ja | String | Diensttyp, in diesem Fall WMS (WMTS siehe unten und WFS siehe unten | "WMS" |
|
url | ja | String | Dienste URL | "https://isk.geobasis-bb.de/mapproxy/dop20c/service/wms" |
|
useProxyUrlForGfi | nein | boolean | undefined | Flag um die GFI-Abfrage für einen Layer über einen reverse proxy laufen zu lassen. | false |
version | ja | String | Dienste 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)
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
capabilitiesUrl | nein | String | Capabilities URL des WMTS-Dienstes | “https://www.wmts.nrw.de/geobasis/wmts_nw_dtk/1.0.0/WMTSCapabilities.xml" | |
coordinateSystem | ja | String | Das Koordinatenreferenzsystem des Layers. | "EPSG:3857" |
|
format | ja | String | Das Graphikformat der Kacheln des Layers. Wird nur benötigt, wenn der Parameter requestEncoding=“KVP” ist. | "image/png" |
|
id | ja | String | Frei wählbare Layer-ID | "320" |
|
layer | ja | String | Name des Layers, welcher dem aus den WMTS Capabilities entsprechen muss. | "geolandbasemap" |
|
layerAttribution | nein | String | “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" |
legendURL | ja | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "ignore" |
|
maxScale | ja | String | Bis zu diesem Maßstab wird der Layer im Portal angezeigt | "2500000" |
|
minScale | nein | String | Ab diesem Maßstab wird der Layer im Portal angezeigt | "0" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Geoland Basemap" |
|
optionsFromCapabilities | nein | Boolean | Option zur Nutzung der getOptionsFromCapabilities Methode, um den WMTS-Layer zu definieren. Siehe nachfolgende Beispiele | true | |
origin | ja | Number[] | 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] |
|
requestEncoding | ja | enum[“KVP”, “REST”] | Codierung der Anfrage an den WMTS Dienst. | "REST" |
|
resLength | ja | String | Länge des resolutions und des matrixIds Arrays. Wird benötigt, um die maximale Zoom-Stufe des Layers einstellen zu können. | "20" |
|
style | nein | String | “normal” | Name des Styles, welcher dem aus den WMTS Capabilities entsprechen muss. | "normal" |
tileMatrixSet | ja | String | Set 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" |
|
tileSize | ja | String | Kachelgröße in Pixel. | "256" |
|
transparent | ja | Boolean | Hintergrund der Kachel transparent oder nicht (false/true). Entspricht dem GetMap-Parameter TRANSPARENT | false |
|
typ | ja | String | Diensttyp, in diesem Fall WMS (WMS siehe oben und WFS siehe unten | "WMTS" |
|
urls | ja | String[]/String | URLs 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"] |
|
version | ja | String | Dienste Version, die über GetMap angesprochen wird. | "1.0.0" |
|
wrapX | nein | Boolean | false | Gibt 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 #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
datasets | ja | Object | Hier 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 CS-W – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_…“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt. | ||
featureNS | ja | String | featureNamespace. Ist gewöhnlich im Header der WFS-Capabilities referenziert und löst den Namespace auf, der unter FeatureType/Name angegeben wird. | "http://www.deegree.org/app" |
|
featureType | ja | String | featureType-Name im Dienst. Dieser muss dem Wert aus den Dienste-Capabilities unter FeatureTypeList/FeatureType/Name entsprechen. Allerdings ohne Namespace. | "bab_vkl" |
|
gfiAttributes | ja | String/Object | GFI-Attribute die angezeigt werden sollen. | "ignore" |
|
gfiFormat | nein | String/Object | Optionale 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"}} |
|
id | ja | String | Frei wählbare Layer-ID | "44" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Verkehrslage auf Autobahnen" |
|
typ | ja | String | Diensttyp, in diesem Fall WFS (WMS siehe oben, WMTS siehe oben) | "WFS" |
|
url | ja | String | Dienste URL | "https://geodienste.beispiel.de/HH_WFS_Verkehr_opendata" |
|
version | nein | String | Dienste Version, die über GetFeature angesprochen wird. | "1.1.0" |
|
altitudeMode | nein | enum[“clampToGround”,“absolute”,“relativeToGround”] | “clampToGround” | Höhenmodus für die Darstellung in 3D. | "absolute" |
altitude | nein | Number | Hö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 |
|
altitudeOffset | nein | Number | Hö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 |
|
useProxyUrlForGfi | nein | boolean | undefined | Flag 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" : "http://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/"
]
}
]
},
gfi_attributes #
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
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
name | true | String | Name, der bei exakt einem Match angezeigt werden soll. | ‘“Test”’ | |
condition | true | enum[“contains”, “startsWith”, “endsWith”] | Bedingung nach welcher der key gegen alle Attribute des Features geprüft wird. | ‘“startsWith”’ | |
type | false | enum[“string”,“date”] | “string” | Wenn type = “date”, dann wird versucht ein Datum aus dem Attributwert zu erzeugen. | ‘“date”’ |
format | false | String | “DD.MM.YYYY HH:mm:ss” | Datumsformat. | ‘“DD.MM.YYY”’ |
suffix | false | String | Suffix, 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 #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
gfiAttributes | ja | String/Object | GFI-Attribute die angezeigt werden sollen. | "ignore" |
|
id | ja | String | Frei wählbare Layer-ID | "11111" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "lokale GeoJSON" |
|
typ | ja | String | Diensttyp, in diesem Fall GeoJSON | "GeoJSON" |
|
subTyp | nein | enum[“OpenSenseMap] | SubTyp um spezielle Daten nachzuladen. | "OpenSenseMap" |
|
url | ja | String | Pfad/URL zur GeoJSON. Der Pfad ist relativ zur index.html | "/myJsons/test.json" |
|
altitudeMode | nein | enum[“clampToGround”,“absolute”,“relativeToGround”] | “clampToGround” | Höhenmodus für die Darstellung in 3D. | "absolute" |
altitude | nein | Number | Hö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 |
|
altitudeOffset | nein | Number | Hö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 |
|
useProxyUrlForGfi | nein | boolean | undefined | Flag 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" : "",
}
Heatmap-Layer #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
id | ja | String | Frei wählbare Layer-ID | "11111" |
|
layerAttribution | nein | String | “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" |
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Mein Heatmap Layer" |
|
typ | ja | String | Diensttyp, in diesem Fall Heatmap | "Heatmap" |
|
attribute | nein | String | "” | Attributname. Nur Features, die dem “attribute” und “value” entsprechen, werden verwendet. | "attr1" |
value | nein | String | "” | Attributwert. Nur Features, die dem “attribute” und “value” entsprechen, werden verwendet. | "val1" |
radius | nein | Number | 10 | Radius der Heatmap features. | 10 |
blur | nein | Number | 15 | Blur der Heatmap Features | 15 |
gradient | nein | String[] | ["#00f", “#0ff”, “#0f0”, “#ff0”, “#f00”] | Farbgradient der Heatmap | ["#f00", "#0f0", "#00f"] |
dataLayerId | ja | String | Id 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 Object Layer TileSet #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
datasets | ja | Object | Hier 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 CS-W – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_…“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt. | ||
gfiAttributes | ja | String/Object | GFI-Attribute die angezeigt werden sollen. | "ignore" |
|
id | ja | String | Frei wählbare Layer-ID | "44" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Verkehrslage auf Autobahnen" |
|
hiddenFeatures | nein | Array | Liste mit IDs, die in der Ebene versteckt werden sollen | ["id_1", "id_2"] |
|
typ | ja | String | Diensttyp, in diesem Fall TileSet3D | "TileSet3D" |
|
url | ja | String | Dienste URL | "https://geodienste.beispiel.de/buildings_lod2" |
|
cesium3DTilesetOptions | nein | Object | Cesium 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 #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
datasets | ja | Object | Hier 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 CS-W – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_…“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt. | ||
id | ja | String | Frei wählbare Layer-ID | "44" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Verkehrslage auf Autobahnen" |
|
typ | ja | String | Diensttyp, in diesem Fall Terrain3D | "Terrain3D" |
|
url | ja | String | Dienste URL | "https://geodienste.beispiel.de/terrain" |
|
cesiumTerrainProviderOptions | nein | Object | Cesium 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 #
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
datasets | ja | Object | Hier 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 CS-W – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_…“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt. | ||
id | ja | String | Frei wählbare Layer-ID | "44" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Verkehrslage auf Autobahnen" |
|
typ | ja | String | Diensttyp, in diesem Fall Oblique | "Oblique" |
|
hideLevels | nein | Number | Anzahl der Level der Bildpyramide, die nicht angezeigt werden sollen. | 0 |
|
minZoom | nein | Number | Minimale Zoomstufe 0 zeigt das komplette Schrägluftbild in der Mitte des Bildschirms. | 0 |
|
terrainUrl | nein | String | URL zu Cesium Quantized Mesh Terrain dataset | "https://geodienste.beispiel.de/terrain" |
|
resolution | nein | Number | Auflösung der Schrägluftbilder in cm z.B. 10 . | 10 |
|
projection | ja | String | Projektion der Schrägluftbild ebene. | EPSG:25832 |
|
url | ja | String | Dienste URL | "https://geodienste.beispiel.de/oblique" |
Beispiel Oblique Ebene:
#!json
{
"id" : "oblique",
"name" : "Oblique",
"url" : "https://geodienste.beispiel.de/oblique",
"typ" : "Oblique",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legendURL" : "ignore",
"datasets" : [
{
"md_id" : "2FC4BBED-350C-4380-B138-4222C28F56C6",
"rs_id" : "HMDK/6f62c5f7-7ea3-4e31-99ba-97407b1af9ba",
"md_name" : "Oblique",
"bbox" : "461468.97,5916367.23,587010.91,5980347.76",
"kategorie_opendata" : [
"Oblique"
],
"kategorie_inspire" : [
"Oblique"
],
"kategorie_organisation" : "Behörde für Wirtschaft, Verkehr und Innovation"
}
]
}
Entities Layer 3D #
Entities Layer um 3D Modelle im Gltf oder Glb Format darzustellen.
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
datasets | ja | Object | Hier 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 CS-W – Schnittstelle abgerufen und dargestellt. Die Angaben unter „Kategorie_…“ werden im default-tree zur Auswahl der Kategorien bzw. zur Strukturierung des Layerbaums verwandt. | ||
id | ja | String | Frei wählbare Layer-ID | "44" |
|
layerAttribution | nein | String | “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" |
legendURL | nein | String | Link zur Legende, um statische Legenden des Layers zu verknüpfen. ignore: Es wird keine Legende abgefragt, ““ (Leerstring): GetLegendGraphic des Dienstes wird aufgerufen. | "" |
|
name | ja | String | Anzeigename des Layers im Portal. Dieser wird im Portal im Layerbaum auftauchen und ist unabhängig vom Dienst frei wählbar. | "Verkehrslage auf Autobahnen" |
|
typ | ja | String | Diensttyp, in diesem Fall Entities3D | "Entities3D" |
|
entities | ja | Array | Modelle, die angezeigt werden sollen | [] |
Entity Optionen
Name | Verpflichtend | Typ | default | Beschreibung | Beispiel |
---|---|---|---|---|---|
url | ja | String | "" |
Url zu dem Modell | "https://beispiel.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb" |
attributes | nein | Object | {} | Attribute für das Modell | {"name": "test"} |
latitude | ja | Number | Breitengrad des Modell-Origins in Grad | 53.541831 |
|
longitude | ja | Number | Längengrad des Modell-Origins in Grad | 9.917963 |
|
height | nein | Number | 0 | Höhe des Modell-Origins | 10 |
heading | nein | Number | 0 | Rotation des Modells, in Grad | 0 |
pitch | nein | Number | 0 | Neigung des Modells in Grad | 0 |
roll | nein | Number | 0 | Roll des Modells in Grad | 0 |
scale | nein | Number | 1 | Skalierung des Modells | 1 |
allowPicking | nein | Boolean | true | Ob das Modell angeklickt werden darf (GFI) | true |
show | nein | Boolean | true | Ob 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"
}
]
}