Skip to content

services.json🔗

All services available for display in the Masterportal (WMS, WFS, SensorThings-API, and more) are configured and maintained in this JSON file. The file is linked to from the config.js of each individual portal by the layerConf parameter. For an example, see the services-internet.json included in the examples.zip at //examples/Basic/resources/.

All layer information the portal needs to use the services is stored here. Configuration details differ between WMS, WFS, SensorThings-API and other services types. You may also use local GeoJSON files; see GeoJSON example.

WMS Layer🔗

A layer based on the OGC's Web Map Service or Web Map Service with time support (WMS-T).

Name Required Type Default Description Example
capabilitiesUrl no String Service's capabilities URL "https://geodienste.hamburg.de/HH_WMS_DOP10?VERSION=1.3.0&SERVICE=WMS&REQUEST=GetCapabilities"
cqlFilter no String Set to the given CQL filter for requests with this layer. "feature_id = 1"
datasets no datasets/Boolean Metadata specification. All metadata the layer data is referenced here. On clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. To remove the "i" button altogether, explicitly set "datasets": false.
featureCount yes String Amount of features retrieved on GFI requests. Corresponds to the GetFeatureInfo parameter "FEATURE_COUNT". "1"
fitCapabilitiesExtent no Boolean false When set to true and a capabilitiesUrl is specified in the configuration, the application will fit the map extent based on the bounding box information retrieved from the GetCapabilities document. true
format yes String Image format of tiles requested via GetMap. Must match one of the service's formats listed in Capability/Request/GetMap/Format. "image/jpeg"
gfiAttributes yes String/gfiAttributes GFI attributes to be shown "ignore"
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
gutter no String "0" Additionally loaded tile contents in border pixel width. Serves to avoid cut symbols on tile borders. "0"
id yes String Arbitrary id "8"
infoFormat no String "text/xml" services.json value. WMS GetFeatureInfo response format. The formats: "text/xml", "text/html", "application/json" "application/vnd.ogc.gml" are supported. When using "text/html", the service response is checked and will only be used when it contains a fully valid and filled HTML table. "text/xml"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
layers yes String The service's layer name. Must match a name of the service's capabilities in Layer/Layer/Name. "1"
legendURL yes String/String[] "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
maxScale yes String The layer is shown only up to this scale. "1000000"
minScale yes String The layer is shown only down to this scale. "0"
name yes String Arbitrary display name used in the layer tree. "Aerial View DOP 10"
singleTile no Boolean true: Request map as a single tile of the current view. false: Build map from multiple smaller tiles. false
tilesize yes String Tile height and width in pixels. Used if singleTile is false. "512"
time no Boolean/time false If set to true or an object (time), the configured Layer is expected to be a WMS-T. false
transparent yes Boolean Whether the tile background should be transparent. Corresponds to the GetMap parameter TRANSPARENT. true
typ yes String Service type; in this case, "WMS". (WMTS docs, WFS docs, SensorThings-API docs) "WMS"
url yes String Service URL "https://geodienste.hamburg.de/HH_WMS_DOP10"
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false
version yes String Service version used for GetMap requests. "1.3.0"
isSecured no Boolean false Displays whether the layer belongs to a secured service. (see below) false
authenticationUrl no String Additional url called to trigger basic authentication in the browser. "https://geodienste.hamburg.de/HH_WMS_DOP10?VERSION=1.3.0&SERVICE=WMS&REQUEST=GetCapabilities"
layerSequence no Number Number to determine the sequence of selected layers in tree.type 'custom'. A Layer with sequence number 1 is always the top layer, etc. By default, Baselayer get a sequence number > 1000 and Fachdaten layer get a sequence number < 1000. 1
crs yes String Layer's coordinate reference system "EPSG:3857"
preview no preview Shows a preview of a baselayer in layer-selection and baselayer-switcher, even if not configured here. For WMS and WMTS layers, the image is fetched as a GetMap request. For VectorTile layers, an image is stored in the file system.
Example Configuration of a WMS Layer
{
      "id" : "8",
      "name" : "Aerial View DOP 10",
      "url" : "https://geodienste.hamburg.de/HH_WMS_DOP10",
      "typ" : "WMS",
      "layers" : "1",
      "format" : "image/jpeg",
      "version" : "1.3.0",
      "singleTile" : false,
      "transparent" : true,
      "tilesize" : "512",
      "gutter" : "0",
      "minScale" : "0",
      "maxScale" : "1000000",
      "infoFormat": "text/html",
      "gfiAttributes" : "ignore",
      "gfiTheme" : "default",
      "layerAttribution" : "nicht vorhanden",
      "legend" : false,
      "featureCount" : "1",
      "fitCapabilitiesExtent": true,
      "capabilitiesUrl":  "https://geodienste.hamburg.de/HH_WMS_DOP10?VERSION=1.3.0&SERVICE=WMS&REQUEST=GetCapabilities",
      "isSecured": true,
      "authenticationUrl": "https://geodienste.hamburg.de/HH_WMS_DOP10?VERSION=1.3.0&SERVICE=WMS&REQUEST=GetCapabilities",
      "layerSequence": 1,
      "crs": "EPSG:3857",
      "datasets" : [
         {
            "md_id" : "25DB0242-D6A3-48E2-BAE4-359FB28491BA",
            "rs_id" : "HMDK/25DB0242-D6A3-48E2-BAE4-359FB28491BA",
            "md_name" : "Digitale Orthophotos 10cm - FHHNET",
            "bbox" : "461468.97,5916367.23,587010.91,5980347.76",
            "kategorie_opendata" : [
               "Sonstiges"
            ],
            "kategorie_inspire" : [
               "nicht INSPIRE-identifiziert"
            ],
            "kategorie_organisation" : "Landesbetrieb Geoinformation und Vermessung"
         }
      ],
      "preview":{
            "zoomLevel": 6,
            "center":"566245.97,5938894.79",
            "radius": 500
        }
   }

Secured WMS Services🔗

If a WMS layer belongs to a secured WMS service, isSecured: "true" must be appended to the layer's configuration.

  • Two headers must be set based on the referer.
  • The configuration for this must be done, e.g. in the Apache web server.
  • Access-Control-Allow-Credentials: true.
  • Dynamic rewrite of the following HTTP header from:
    Access-Control-Allow-Origin: *
    to
    Access-Control-Allow-Origin: URL of the accessing portal.

Possible configuration for the time related parameters of a WMS-T. If a parameter is also present in the service, the definition in this config is used.

⚠️ Please mind that version must be set to 1.1.1. The Masterportal implementation does currently not support newer versions.

Name Verpflichtend Typ default Beschreibung Beispiel
default no String Initial moment to be displayed for the WMS-T. Beware: If the configured value is not part of the time range of possible values, the default of the service is used instead. "1970"
keyboardMovement no Number 5 Value in pixels that the swiper should be moved when using the arrow keys. 5
playbackDelay no Number 1 When using the playback function, this is the time in seconds which a moment should be shown before the rendering of the next moment is initiated. 42
dimensionName no String "time" Name of GetCapabilities tag to use for layer; time format "REFERENCE_TIME"
extentName no String "time" Name of GetCapabilities tag to use for layer; contains valid points in time "REFERENCE_TIME"

WMTS Layer🔗

A layer based on the OGC's Web Map Tile Service.

WMTS layers can be added by:

  • entering all the following WMTS parameters (EPSG:4326 and EPSG:3857 only)
  • using OpenLayers' optionsFromCapabilities method (see second example below)
Name Required Type Default Description Example
capabilitiesUrl no String Service's capabilities URL "https://www.wmts.nrw.de/geobasis/wmts_nw_dtk/1.0.0/WMTSCapabilities.xml"
coordinateSystem yes enum["EPSG:4326", "EPSG:3857"] Layer's coordinate reference system "EPSG:3857"
format yes String Image format of layer tiles. Only required with parameter requestEncoding set to "KVP" ist. "image/png"
id yes String Arbitrary id "320"
layers yes String Layer name. Must match the name noted in the WMTS capabilities. "geolandbasemap"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no String[] Value of the services.json file. URL to be used to request a static legend image. Use a string[] to link an image or a PDF file. Use "ignore" or false for no legend. false
matrixSizes no Number[][] Number of tile rows and columns of the grid for each zoom level. The values here are the TileMatrixWidth and TileMatrixHeight advertised in the GetCapabilities response of the WMTS. [[1, 1], [2, 2], [4, 4], [8, 8], [16, 16], [32, 32], [64, 64], [128, 128], [256, 256], [512, 512], [1024, 1024], [2048, 2048], [4096, 4096], [8192, 8192], [16384, 16384], [32768, 32768], [65536, 65536], [131072, 131072], [262144, 262144], [524288, 524288]]
maxScale yes String The layer is shown only up to this scale. "1000000"
minScale yes String The layer is shown only down to this scale. "0"
name yes String Arbitrary display name used in the layer tree. "Geoland Basemap"
optionsFromCapabilities no Boolean If true, use the getOptionsFromCapabilities method for definitions. See following examples. true
origin yes Number[] Tile raster origin. Can be fetched from the WMTS capabilities; usually the extent's top left corner. [-20037508.3428, 20037508.3428]
requestEncoding yes enum["KVP", "REST"] WMTS service request encoding. "REST"
resLength yes String Length of resolution and matrixIds arrays. Required to configure the layer's maximum zoom level. "20"
scales no Number[] The scale defined for each zoom level. The values are the ScaleDenominator of each TileMatrix of the TileMatrixSet as advertised in the GetCapabilities response of the WMTS. [559082264.029, 279541132.015, 139770566.007, 69885283.0036, 34942641.5018, 17471320.7509, 8735660.37545, 4367830.18773, 2183915.09386, 1091957.54693, 45978.773466, 272989.386733, 136494.693366, 68247.3466832, 34123.6733416, 17061.8366708, 8530.91833540, 4265.45916770, 2132.72958385, 1066.36479193]
style no String "normal" Name of the style. Must match the noted in the WMTS capabilities. "normal"
tileMatrixSet yes String Matrix set required to call the WMTS service. Do not use when using optionsFromCapabilities, a fitting TileMatrixSet is injected then. Using both may lead to erroneous behaviour. "google3857"
tilesize yes String Tile height and width in pixels. "512"
transparent yes Boolean Whether the tile background should be transparent. Corresponds to the GetMap parameter TRANSPARENT. true
typ yes String Service type; in this case, "WMTS". (WMTS docs, WFS docs, SensorThings-API docs) "WMS"
urls yes String[]/String WMTS service URL. If only a single URL is given, it's internally transformed to an array. ["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 yes String Service version used for GetMap requests. "1.0.0"
wrapX no Boolean false Whether world should be wrapped horizontally. true
preview no preview Shows a preview of a baselayer in layer-selection and background-switcher, even if not configured here. For WMS and WMTS layers, the image is fetched as a GetMap request. For VectorTile layers, an image is stored in the file system.
Example Configuration of a WMTS Layer that explicitly defines all Options
{
   "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",
   "matrixSizes": [
       [1, 1], [2, 2],
       [4, 4], [8, 8],
       [16, 16], [32, 32],
       [64, 64], [128, 128],
       [256, 256], [512, 512],
       [1024, 1024], [2048, 2048],
       [4096, 4096], [8192, 8192],
       [16384, 16384], [32768, 32768],
       [65536, 65536], [131072, 131072],
       [262144, 262144], [524288, 524288]
   ],
   "coordinateSystem": "EPSG:3857",
   "layerAttribution": "nicht vorhanden",
   "legend": false,
   "wrapX": true,
   "origin": [
      -20037508.3428,
      20037508.3428
   ],
   "scales": [
       559082264.029, 279541132.015, 139770566.007, 69885283.0036,
       34942641.5018, 17471320.7509, 8735660.37545, 4367830.18773,
       2183915.09386, 1091957.54693, 45978.773466, 272989.386733,
       136494.693366, 68247.3466832, 34123.6733416, 17061.8366708,
       8530.91833540, 4265.45916770, 2132.72958385, 1066.36479193
   ],
   "resLength": "20",
   "requestEncoding": "REST",
   "preview": {
            "zoomLevel": 6,
            "center":"566245.97,5938894.79",
            "radius": 500
   }
}
Example Configuration of a WMTS Layer that loads its Options from the Service's Capabilities
{
  "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🔗

A layer based on the OGC's Web Feature Service standard.

Name Required Type Default Description Example
datasets yes datasets[]/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. To remove the "i" button altogether, explicitly set "datasets": false.
featureNS yes String Usually referenced in the WFS GetCapabilities' header. Used to resolve the namespace given in FeatureType/Name. "http://www.deegree.org/app"
featureType yes String Feature type to load. Must match a value of FeatureTypeList/FeatureType/Name in the GetCapabilities response. Provide without namespace. "bab_vkl"
featurePrefix no String Used to identify a FeatureType in the service.
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
id yes String/wfs_id Arbitrary id or an object with id and suffix "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. false
name yes String Arbitrary display name used in the layer tree. "Traffic situation on freeways"
typ yes String Service type; in this case, "WFS". (WMS (see above), WMTS (see above), and SensorThings-API (see below)) "WFS"
url yes String Service URL "https://geodienste.hamburg.de/HH_WFS_Verkehr_opendata"
version no String Service version to use in GetFeature requests. "1.1.0"
altitudeMode no enum["clampToGround","absolute","relativeToGround"] "clampToGround" Height mode in 3D mode. "absolute"
altitude no Number Display height in 3D mode in meters. If an altitude is given, any existing z coordinate is overwritten. If no z coordinate exists, altitude is used as its value. 527
altitudeOffset no Number Height offset for display in 3D mode in meters. If given, any existing z coordinates will be increased by this value. If no z coordinate exists, this value is used as z coordinate. 10
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false
wfsFilter no String Set to use xml ressource as wfs filter, the content of the filter file will be sent to the wfs server as POST request (see below). "ressources/xmlFilter/filterSchulenStadtteilschulen"
doNotLoadInitially no String false if set to true the layer will be initialized without network call, an empty array of features is promoted - this is useful to add features later on (e.g. by filtering) to a full functional but initially empty layer false
isSecured no Boolean false Displays whether the layer belongs to a secured service. (see below) false
authenticationUrl no String Additional url called to trigger basic authentication in the browser. "https://geodienste.hamburg.de/HH_WMS_DOP10?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType"
propertyNames no Array The attributes as PROPERTYNAME parameter to receive response from wfs layer ["properties"]
wildCard no String The wildcard parameter for the highlightFeaturesByAttribute property query. Must be one character only.
singleChar no String The singlechar parameter for the highlightFeaturesByAttribute property query. Must be one character only.
escapeChar no String The escapechar parameter for the highlightFeaturesByAttribute property query. Must be one character only.
Name Required Type Default Description Example
---- -------- ---- ------- ----------- -------
capabilitiesUrl no String Service's capabilities URL "https://geodienste.hamburg.de/HH_WFS_Verkehr_opendata?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities"
datasets yes datasets[]/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. To remove the "i" button altogether, explicitly set "datasets": false.
featureNS yes String Usually referenced in the WFS GetCapabilities' header. Used to resolve the namespace given in FeatureType/Name. "http://www.deegree.org/app"
featureType yes String Feature type to load. Must match a value of FeatureTypeList/FeatureType/Name in the GetCapabilities response. Provide without namespace. "bab_vkl"
featurePrefix no String Used to identify a FeatureType in the service.
fitCapabilitiesExtent No Boolean false When set to true and a capabilitiesUrl is specified in the configuration, the application will fit the map extent based on the bounding box information retrieved from the GetCapabilities document. true
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
id yes String/wfs_id Arbitrary id or an object with id and suffix "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
name yes String Arbitrary display name used in the layer tree. "Traffic situation on freeways"
typ yes String Service type; in this case, "WFS". (WMS (see above), WMTS (see above), and SensorThings-API (see below)) "WFS"
url yes String Service URL "https://geodienste.hamburg.de/HH_WFS_Verkehr_opendata"
version no String Service version to use in GetFeature requests. "1.1.0"
altitudeMode no enum["clampToGround","absolute","relativeToGround"] "clampToGround" Height mode in 3D mode. "absolute"
altitude no Number Display height in 3D mode in meters. If an altitude is given, any existing z coordinate is overwritten. If no z coordinate exists, altitude is used as its value. 527
altitudeOffset no Number Height offset for display in 3D mode in meters. If given, any existing z coordinates will be increased by this value. If no z coordinate exists, this value is used as z coordinate. 10
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false
wfsFilter no String Set to use xml ressource as wfs filter, the content of the filter file will be sent to the wfs server as POST request (see below). "ressources/xmlFilter/filterSchulenStadtteilschulen"
doNotLoadInitially no String false if set to true the layer will be initialized without network call, an empty array of features is promoted - this is useful to add features later on (e.g. by filtering) to a full functional but initially empty layer false
isSecured no Boolean false Displays whether the layer belongs to a secured service. (see below) false
authenticationUrl no String Additional url called to trigger basic authentication in the browser. "https://geodienste.hamburg.de/HH_WMS_DOP10?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType"
propertyNames no Array The attributes as PROPERTYNAME parameter to receive response from wfs layer ["properties"]
wildCard no String The wildcard parameter for the highlightFeaturesByAttribute property query. Must be one character only.
singleChar no String The singlechar parameter for the highlightFeaturesByAttribute property query. Must be one character only.
escapeChar no String The escapechar parameter for the highlightFeaturesByAttribute property query. Must be one character only.
Example Configuration of a WFS Layer
{
      "id" : "44",
      "name" : "Traffic situation on freeways",
      "url" : "https://geodienste.hamburg.de/HH_WFS_Verkehr_opendata",
      "typ" : "WFS",
      "featureType" : "bab_vkl",
      "format" : "image/png",
      "version" : "1.1.0",
      "featureNS" : "http://www.deegree.org/app",
      "fitCapabilitiesExtent": true,
      "capabilitiesUrl": "https://geodienste.hamburg.de/HH_WFS_Verkehr_opendata?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities",
      "gfiAttributes" : "showAll",
      "wfsFilter": "ressources/xmlFilter/filterSchulenStadtteilschulen",
      "layerAttribution" : "nicht vorhanden",
      "legend" : true,
      "isSecured": true,
      "propertyNames": [
          "bezirk_name",
          "stadtteil_name",
          "anzahl_sus_primarstufe",
          "geom"
      ],
      "authenticationUrl": "https://geodienste.hamburg.de/HH_WMS_DOP10?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType",
      "datasets" : [
         {
            "md_id" : "2FC4BBED-350C-4380-B138-4222C28F56C6",
            "rs_id" : "HMDK/6f62c5f7-7ea3-4e31-99ba-97407b1af9ba",
            "md_name" : "Verkehrslage auf Autobahnen (Schleifen) Hamburg",
            "bbox" : "461468.97,5916367.23,587010.91,5980347.76",
            "kategorie_opendata" : [
               "Transport und Verkehr"
            ],
            "kategorie_inspire" : [
               "nicht INSPIRE-identifiziert"
            ],
            "kategorie_organisation" : "Behörde für Wirtschaft, Verkehr und Innovation"
         }
      ]
   }
Example Configuration of a WFS-T Layer
{
  "id": "1234",
  "name": "WFSTLayer",
  "url": "http://IP-Adresse/Beispiel/Pfad",
  "typ": "WFS",
  "featureType": "wfstBsp",
  "format": "image/png",
  "version": "1.1.0",
  "featureNS": "http://beispiel.link.org/gmlsf",
  "featurePrefix": "sf",
  "outputFormat": "XML",
  "gfiAttributes": "showAll",
  "layerAttribution": "nicht vorhanden",
  "legend": true,
  "datasets": [],
  "propertyNames": [
    "bezirk_name",
    "stadtteil_name",
    "anzahl_sus_primarstufe",
    "geom"
  ]
}

Filtering of WFS Layers🔗

The WFS standard allows complex filters to be sent to the server using an XML format. To learn more about WFS filter encoding, see the MapServer's Filter Encoding documentation.

Remember to use the correct feature namespace (see prop featureNS) for xmlns:app.

Example

A filter for primary schools with more than two parallel first classes in a file named "primary_schools_with_more_than_two_first_classes.xml". Remember to add/remove namespaces (e.g. xmlns:wfs and xmlns:ogc) for your purpose. If it doesn't work on the first try, go through your file - line for line - most of the time some prefix doesn't match a namespace or vice versa.

Additional Argument in the WFS Layer Configuration
{
    "wfsFilter": "primary_schools_with_more_than_two_first_classes.xml"
}
Content of primary_schools_with_more_than_two_first_classes.xml
<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature service="WFS" version="1.1.0" xmlns:app="http://www.deegree.org/app" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc">
    <wfs:Query typeName="app:schools">
        <ogc:Filter>
            <ogc:And>
                <ogc:PropertyIsEqualTo>
                    <ogc:PropertyName>app:schoolname</ogc:PropertyName>
                    <ogc:Literal>Primaryschool</ogc:Literal>
                </ogc:PropertyIsEqualTo>
                <ogc:PropertyIsGreaterThan>
                    <ogc:PropertyName>app:parallel_first_classes</ogc:PropertyName>
                    <ogc:Literal>2</ogc:Literal>
                </ogc:PropertyIsGreaterThan>
            </ogc:And>
        </ogc:Filter>
    </wfs:Query>
</wfs:GetFeature>

wfs_id🔗

If the configured layer id is a JSON object, the object should be in the following format:

Name Required Type Default Description Example
layerId yes String Attribute value layerId. "1234567"
suffix yes String Attribute value suffix. "text"

The layerId and suffix must be unique as a pair!

WFS Layer Id JSON Object Example
{
   "id": {
        "layerId": "1234567",
        "suffix": "text"
   }
}

Secured WFS Services🔗

CAUTION: If the layer belongs to a secured service, the following changes must be made to the service!

  • Two headers must be set based on the referer.
  • The configuration for this must be done e.g. in the Apache web server.
  • Access-Control-Allow-Credentials: true.
  • Dynamic rewrite of the following HTTP header from:
    Access-Control-Allow-Origin: *
    to
    Access-Control-Allow-Origin: URL of the accessing portal.

CAUTION: If the layer is also a WFS-T layer of a secured service, the following additional change must be made to the service!

  • A headers must be set based on the referer.
  • The configuration for this must be done e.g. in the Apache web server.
  • If no setting has yet been made for this header, the header must be set as follows to avoid any effects on other requests: Access-Control-Allow-Headers: Content-Type, *
  • If settings have already been made for this header, the following entry must be added to the Access-Control-Allow-Headers header: Content-Type

Vector Tile Layer🔗

A layer based on the Mapbox Vector Tile (VTL) standard. Please note the VTL specification on what VTL exactly is capable of.

Name Required Type Default Description Example
minZoom no Number The minimum zoom level 4
maxZoom no Number The maximum zoom level 15
zDirection no Number 1 Specifies, if the resolutions of the service and the portal are different, in which direction the resolution should be used. 1: the nearest higher resolution is used. 0: the nearest resolution is used. -1: the nearest lower resolution is used -1
datasets no datasets/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". It is also possible to retrieve metadata with a getMetaData request, in this case there can also be additional informations displayed. To remove the "i" button altogether, explicitly set "datasets": false.
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
epsg no String The portal's default EPSG code. EPSG string used for checking the coordinate reference system. If the value does not match the VTL, a warning is shown. Vector tile services should offer the data in the target CRS for performance reasons. If "EPSG:3857" is set with neither "extend", nor "origin", "resolutions", or "tileSize", no GridSet is created. The OL default will be used instead. "EPSG:3857"
extent no Number[4] Required to define the VTC's GridSet. If not set, the portal's coordinate reference system's extent is used. [902186.674876469653, 7054472.60470921732, 1161598.35425907862, 7175683.41171819717]
origin no Number[2] Required to define the VTC's GridSet. If not set, the portal's coordinate reference system's top-left corner is used. [-9497963.94293634221, 9997963.94293634221]
origins no Number[2][] Required to define the VTC's GridSet. If "origins" is used, the parameter "origin" is ignored; else, "origin" is used. [[239323.44497139292, 9336416.0],[239323.44497139292, 9322080.0],[239323.44497139292, 9322080.0],[239323.44497139292, 9322080.0],[239323.44497139292, 9322080.0],[239323.44497139292, 9322080.0],[239323.44497139292, 9320288.0],[239323.44497139292, 9321005.0],[239323.44497139292, 9320646.0],[239323.44497139292, 9320467.0],[239323.44497139292, 9320288.0],[239323.44497139292, 9320109.0],[239323.44497139292, 9320145.0],[239323.44497139292, 9320109.0]]
resolutions no Number[] Required to define the VTC's GridSet. It not used, the portal's resolutions are used. Missing zoom levels are extrapolated only if the resolutions are explicitly specified. Therefore, only resolutions for which tiles exist may be specified. [78271.5169640117238, 39135.7584820058619, 19567.8792410029309, 9783.93962050146547, 4891.96981025073273, 2445.98490512536637, 1222.99245256268318, 611.496226281341592, 305.7481131406708, 152.8740565703354, 76.437028285167699, 38.2185141425838495, 19.1092570712919247, 9.55462853564596237, 4.77731426782298119, 2.38865713391149059, 1.1943285669557453]
tileSize no Number 512 Required to define the size of a VTC tile. 256
id yes String Arbitrary id "41"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
transparency no number 0 Initial layer transparency, 0 to 100 (inclusive) 0
visibility no boolean false Whether the layer is initially active true
maxScale yes String The layer is shown only up to this scale. "1000000"
minScale yes String The layer is shown only down to this scale. "0"
name yes String Arbitrary display name used in the layer tree. "Traffic situation on freeways"
vtStyles no vtStyle[] See example and definition in config.json. Describes available styles usable with the styleVT tool. see example below
typ yes String Must be set to "VectorTile" for this layer. "VectorTile"
url yes String Service URL "https://example.com/3857/tile/{z}/{y}/{x}.pbf"
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
Example Configuration of a VectorTile Layer
{
  "id": "UNIQUE_ID",
  "name": "Ein Vektortilelayername",
  "epsg": "EPSG:3857",
  "url": "https://example.com/3857/tile/{z}/{y}/{x}.pbf",
  "typ": "VectorTile",
  "transparency": 0,
  "visibility": true,
  "minScale": 4000,
  "maxScale": 200000,
  "legend": false,
  "gfiAttributes": "showAll",
  "gfiTheme": "default",
  "vtStyles": [
    {
      "id": "STYLE_1",
      "name": "Tagesansicht",
      "url": "https://example.com/3857/resources/styles/day.json",
      "defaultStyle": true
    },
    {
      "id": "STYLE_2",
      "name": "Nachtansicht",
      "url": "https://example.com/3857/resources/styles/night.json"
    }
  ],
  "preview":{
    "src": "./resources/vectorTile.png"
    }
}

SensorLayer🔗

A layer based on the OGC's SensorThings API (STA) standard.

A feature can hold multiple Datastreams. For each Datastream, the latest observation is added as a feature attribute as "dataStream_[id]_[name]", where id is the Datastream's @iot.id.

The name is read from datastream.properties.type; if not available, datastream.unitOfMeasurement.name is used.

For more details, consider reading the extensive SensorThings-API documentation..

Name Required Type Default Description Example
altitude no Number Display height in 3D mode in meters. If an altitude is given, any existing z coordinate is overwritten. If no z coordinate exists, altitude is used as its value. 527
altitudeMode no enum["clampToGround","absolute","relativeToGround"] "clampToGround" Height mode in 3D mode. "absolute"
altitudeOffset no Number Height offset for display in 3D mode in meters. If given, any existing z coordinates will be increased by this value. If no z coordinate exists, this value is used as z coordinate. 10
epsg no String "EPSG:4326" SensorThings-API coordinate reference system "EPSG:4326"
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. Set to "ignore" to deactivate gfiTheme. "ignore"
gfiTheme yes gfiTheme Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
id yes String Arbitrary id "999999"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
loadThingsOnlyInCurrentExtent no Boolean false Whether Things are only to be fetched for the current extent. On changing the extent, another request is fired. true
mqttOptions no mqttOptions mqtt web socket connection configuration
mqttQos no Number 2 Quality of service subscription level. For more information see sensorThings 0
mqttRh no Number 2 This option specifies whether retained messages are sent on subscription. For more information see sensorThings 0
name yes String Arbitrary display name used in the layer tree. "Charging locations"
noDataValue no String "no data" Placeholder for unavailable Observations to Datastreams. "no data"
showNoDataValue no Boolean true Whether Datastreams should be given without Observations. true
timezone no String "Europe/Berlin" moment time zone name used to convert a Sensor's PhaenomenonTime (UTC) to the client's time zone. Valid timezome documentation
typ yes String Service type; in this case, "SensorThings". (WMS, see above, WMTS, see above, and WFS, see above) "SensorThings"
url yes String Service URL; may be extended by urlParameter "https://51.5.242.162/itsLGVhackathon"
urlParameter no urlParameter Query options specification. These modify the request to sensor data, e.g. with "filter" or "expand".
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false
version no String "1.1" Service version used to request data. "1.0"
intersect no Boolean true Setting if the sensor data is in intersect range or within range true
observeLocation no Boolean false Enable to subscribe to locations true
rotationUnit no String "" Defines the rotation unit for feature degree
maxSpeedKmh no Number undefined Specifies the max. speed (km/h) of moving objects. Used to calculate a buffer around the extent in which the objects are subscribed.
maxScaleForHistoricalFeatures no Number undefined Specifies the max. scale to show historical features.
factor no Number 10 Is used for the calculation of the buffer around the extent. Ignored if maxSpeedKmh is not defined.
historicalLocations no Number Set to an amount to enable historical locations for each moveable feature. The given amount of historical locations will be displayed on the map. 5
enableContinuousRequest no Boolean Set true to enable continuous requests in an interval based on the configured factor. Will be ignored if no factor is configured. true
scaleStyleByZoom no Boolean Scales the style depending on the zoom level. Works only for image styles and subclasses. 'true'
Example Configuration of a SensorLayer
   {
      "id" : "999999",
      "name" : "Live - Charging locations",
      "typ" : "SensorThings",
      "version" : "1.0",
      "url" : "https://51.5.242.162/itsLGVhackathon",
      "intersect": true,
      "maxSpeedKmh": 36,
      "maxScaleForHistoricalFeatures": 40000,
      "factor": 20,
      "enableContinuousRequest": true,
      "urlParameter" : {
         "root" : "Things",
         "filter" : "startswith(Things/name,'Charging')",
         "expand" : "Locations,Datastreams/Observations($orderby=phenomenonTime%20desc;$top=1)"
      },
      "epsg": "EPSG:4326",
      "gfiTheme" : "default",
      "gfiAttributes" : {
         "phenomenonTime" : "Letze Zustandsänderung",
         "state" : "Zustand",
         "plug" : "Stecker",
         "type" : "Typ",
         "dataStreamId" : "DataStreamID",
         "@Datastreams.0": {
            "name": "Datastreams.0",
            "type": "linechart",
            "query": "Observations?$filter=(resultTime gt now() sub duration'PT24H')&$orderby=phenomenonTime asc",
            "format": "HH:mm",
            "download": true,
            "options": {
             "pointRadius": 3
            }
         }
      },
      "mqttOptions" : {
          "host" : "https://localhost",
          "port": "1883"
      },
      "rotationUnit": "degree"
   }

MQTT Options🔗

Used to configure the target of a mqtt web socket connection. If nothing is set, the portal tries to infer the parameters from the service URL.

Name Required Type Default Description Example
host no String https://localhost the server to connect to, keep in mind that port and path are seperate parameters "https://www.example.com"
port no String the port to connect to, leave empty to use default by protocol "8883"
path no String /mqtt the path on the server to connect to, keep in mind with Versions 3.1 or 3.1.1 to give a seperate rhPath if you want to simulate retained messaging "/mqtt"
protocol no String wss the protocol to use "wss"
mqttVersion no String 3.1.1 the mqtt version to use (3.1, 3.1.1 or 5.0) if any other is given, latest is used "3.1.1"
rhPath no String for mqttVersion 3.1 and 3.1.1 to simulate retained handling based on SensorThingsApi, hint: the topic will be put onto this url to call the SensorThingsApi via http "https://example.com/"
Example Configuration of a SensorLayer with mqttOptions
{
  "mqttOptions": {
    "host": "https://localhost",
    "port": "8883",
    "path": "/mqtt",
    "protocol": "wss"
  }
}

Filtering STA Requests🔗

SensorThingsAPI requests can be filtered with the urlParameter option.

Name Required Type Default Description Example
expand no String/Array See full documentation "Locations,Datastreams/Observations($orderby=phenomenonTime%20desc;$top=1)"
filter no String See full documentation "startswith(Things/name,'Charging')"
root no String "Things" The root element in the URL to which the query is applied. possible are "Things" or "Datastreams" "Datastreams"
Show all Things where the name starts with 'Charging', and all Datastreams belonging to those Things. Show each Datastream's latest Observation.
{
  "urlParameter": {
    "filter": "startswith(Things/name,'Charging')",
    "expand": "Locations,Datastreams/Observations($orderby=phenomenonTime%20desc;$top=1)",
    "root": "Things"
  }
}
Show all Things where the name starts with 'Charging', and all Datastreams belonging to those Things where 'Lastenrad' is part of the name. Show each Datastream's latest Observation and the Phaenomenon (ObversedProperty) that is observed. If available, the ObservedProperty will be used for dynamic attribute creation.
{
  "urlParameter": {
    "filter": "startswith(Things/name,'Charging')",
    "expand": [
      "Locations",
      "Datastreams($filter=indexof(Datastream/name,'Lastenrad') ge 1)",
      "Datastreams/Observations($orderby=phenomenonTime%20desc;$top=1)",
      "Datastreams/ObservedProperty"
    ]
  }
}

Metadata🔗

Settings related to layer metadata.

WMS_WFS_OAF_datasets🔗

All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". It is also possible to retrieve metadata with a getMetaData request. In this case, additional information can be displayedn/activate. To remove the "i" button altogether, explicitly set "datasets": false.

Name Required Type Default Description
md_id no String Metadata record identifier
csw_url no String Link to the CSW service. From this, the data that is displayed in the layer information is retrieved.
show_doc_url no String Link to the entry in the metadata catalog. The link to the metadata entry of the layer is created from this URL and the "md_id".
rs_id no String Resource identifier of the metadata record.
md_name no String Record name.
bbox no String Record extension.
kategorie_opendata no String Opendata category from the govdata.de code list.
kategorie_inspire no String Inspire category from the Inspire code list, if available; if not, set to "nicht Inspire-identifiziert".
kategorie_organisation no String Organization name of the data holding body.
customMetadata no Boolean false Flag for requesting metadata via getMetaData and making customized metadata possible.
attributes no Object Key and value pairs with paths to a specific metadata value.
Example Configuration of a WMS_WFS_OAF_Dataset
  "datasets": [
    {
      "md_id": "9329C2CB-4552-4780-B343-0CC847538896",
      "csw_url": "https://metaver.de/csw",
      "show_doc_url": "https://metaver.de/trefferanzeige?cmd=doShowDocument&docuuid=",
      "rs_id": "https://registry.gdi-de.org/id/de.hh/010d7370-5306-4b63-983b-59cdd6e94c3c",
      "md_name": "Krankenhäuser Hamburg",
      "bbox": "461468.968928975,5916367.22980651,587010.909598947,5980347.75579767",
      "kategorie_opendata": [
        "Gesundheit"
      ],
      "kategorie_inspire": [
        "Versorgungswirtschaft und staatliche Dienste"
      ],
      "kategorie_organisation": "Behörde für Arbeit, Gesundheit, Soziales, Familie und Integration"
    }
  ]

datasets example with getMetaData request:

"datasets": [{
      "customMetadata": true,
      "csw_url": "https://mapservice....&request=GetMetadata&layer=beispielLayer",
      "attributes":
        {
        "Titel": "MD_Metadata.fileIdentifier.CharacterString",
        "URL": "MD_Metadata.contact.CI_ResponsibleParty.contactInfo.CI_Contact.onlineResource.CI_OnlineResource.linkage.URL"
        }
      }],

WMS_WMTS_VectorTile_preview🔗

Properties center, zoomLevel and radius are used to load WMS or WMTS-Preview image, else src ist used.

Name Required Type Default Description
center no Array/String initial center of the map Center coordinates for the preview.
zoomLevel no Number initial zoom-level of the map Zoom-level for the preview.
radius no Number 1000 Radius of the extent.
customClass no String "" Custom css-class to overwrite style, NOTICE: maybe !important must be used.
src no String Path to preview image.

GFI Theme🔗

The GFI theme is used to define the display style of Get Feature Info (GFI) information for a layer. This attribute may be either a string or an object. In case it's a string, the matching template will be used. In case it's an object, the following parameters are interpreted.

Name Required Type Default Description
name yes String GFI template name
params no Object that depends on the template Template-specific attributes
Example Configuration of a GFI Theme
{
    "gfiTheme": {
        "name": "default",
        "params": {}
    }
}

Built-in GFI Types🔗

The following GFI themes are build-in. Addons may register additional themes.

Name params
default params
sensor params

Default Theme🔗

Definition of parameters for GFI template "default".

Name Required Type Default Description
iframe no iframe Defines the size of the iframe. Only works if the infoFormat="text/html" is configured for the layer.
imageLinks no String/String[] ["bildlink", "link_bild", "Bild", "bild"] Defines in which attribute an image reference is given. Attributes will be searched in given order, and the first hit will be used.
maxWidth no String "600px" Defines the max width of the gfi content. The max width must be at least 280px.
showFavoriteIcons no Boolean true Specifies whether an icon bar allowing tool access is to be displayed. The icons are only displayed if the corresponding tools are configured. Usable tools: compareFeatures (not yet implemented for WMS).
beautifyKeys no Boolean true Defines if the attribute keys are beautified (true) or not (false).
showObjectKeys no Boolean false Displays attribute keys and values of objects in the data if set to true.
Example Configuration for showing images with the 'default' GFI Theme
{
    "gfiTheme": {
        "name": "default",
        "params": {
            "imageLinks": [
                "bildlink",
                "link_bild",
                "Bild",
                "bild",
                "My_image_tag"
            ],
            "maxWidth": "500px",
            "showFavoriteIcons": true,
            "beautifyKeys": true,
            "showObjectKeys": false
        }
    }
}
iframe Parameters🔗

The GFI can be displayed as an iframe. Here you can define the size of the iframe.

Note: Only works if the infoFormat="text/html" is configured for the layer.

Name Required Type Default Description
height no String "450px" Width of the iframe.
width no String "450px" Height of the iframe.
Configuration with a custom iframe size
{
    "gfiTheme": {
        "name": "default",
        "params": {
            "iframe": {
                "width": "800px",
                "height": "20vh"
            }
        }
    }
}

Sensor Theme🔗

This theme allows the visualization of historical data regarding a SensorThings-API layer. For each configured Observation result an image is created. Therefore, this GFI theme is only usable for results providing a status; e.g., for charging stations such a status range is "free", "loading", "out of order".

Name Required Type Default Description
charts yes charts Contains attributes for chart creation.
data no data Data column names.
header no Object {"name": "Name", "description": "Beschreibung", "ownerThing": "Eigentümer"} Specifies which attributes are to be used for the headers. The display name of each attribute can be specified here, e.g. "description" may be displayed "Arbitrary String".
historicalData no historicalData Indicates for which period the historical Observations should be requested.
beautifyKeys no Boolean true Defines if the attribute keys are beautified (true) or not (false).
showObjectKeys no Boolean false Displays attribute keys and values of objects in the data if set to true.
Example Configuration for the 'sensor' GFI theme
{
    "gfiTheme": {
        "name": "sensor",
        "params": {
            "header": {
                "name": "Name",
                "description": "Description",
                "ownerThing": "Owner"
            },
            "data": {
                "name": "Data",
                "firstColumnHeaderName": "Properties",
                "columnHeaderAttribute": "layerName"
            },
            "charts": {
                "hoverBackgroundColor": "rgba(0, 0, 0, 0.8)",
                "barPercentage": 1.1,
                "values": {
                    "available": {
                        "title": "Available",
                        "color": "rgba(0, 220, 0, 1)"
                    },
                    "charging": {
                        "title": "Charging",
                        "color": "rgba(220, 0, 0, 1)"
                    },
                    "outoforder": {
                        "title": "common:modules.tools.gfi.themes.sensor.chargingStations.outoforder",
                        "color": "rgba(175, 175, 175, 1)"
                    }
                }
            },
            "historicalData": {
                "periodLength": 3,
                "periodUnit": "month"
            },
            "beautifyKeys": true,
            "showObjectKeys": false
        }
    }
}
Charts🔗

Chart display parameters.

Name Required Type Default Description
values yes String[]/valuesObject Definition of which Observation Results are turned into charts. A separate tab will be created for each result. Results may be entered as array or object; when given as object, further attributes may be defined.
hoverBackgroundColor no String "rgba(0, 0, 0, 0.8)" Bar background color on hovering.
barPercentage no Number 1.0 Bar width.
Configuration example with array value
{
    "charts": {
        "hoverBackgroundColor": "rgba(0, 0, 0, 0.8)",
        "barPercentage": 1.1,
        "values": [
            "available",
            "charging",
            "outoforder"
        ]
    }
}
Configuration example with object value
{
    "charts": {
        "hoverBackgroundColor": "rgba(0, 0, 0, 0.8)",
        "barPercentage": 1.1,
        "values": {
            "available": {
                "title": "Available",
                "color": "rgba(0, 220, 0, 1)"
            },
            "charging": {
                "title": "Charging",
                "color": "rgba(220, 0, 0, 1)"
            },
            "outoforder": {
                "title": "Out Of Order",
                "color": "rgba(175, 175, 175, 1)"
            }
        }
    }
}
Chart Values🔗

Layout definition for each result's chart.

Name Required Type Default Description
title no String Chart image title. May also be set to a path in the translation files in masterportal/locales, which you may extend at your own discretion.
color no String "rgba(0, 0, 0, 1)" Bar color.
noticeText no String "" Text that gives a hint about the data.
{
    "available": {
        "title": "Available",
        "color": "rgba(0, 220, 0, 1)",
        "noticeText": "Explanation of the available data."
    }
}
{
    "charging": {
        "title": "common:modules.tools.gfi.themes.sensor.chargingStations.charging",
        "color": "rgba(220, 0, 0, 1)",
        "noticeText": "common:modules.tools.gfi.themes.sensor.sensorBarChart.noticeTextCharging"
    }
}
Data🔗

Data display configuration.

Name Required Type Default Description Example
name no String Tab name.
firstColumnHeaderName no String "Properties" Column title for attribute names.
columnHeaderAttribute no String "dataStreamName" Value column title.
{
    "data": {
        "name": "Data",
        "firstColumnHeaderName": "Properties",
        "columnHeaderAttribute": "layerName"
    }
}
Historical Data🔗

Configuration of the historical data period to be requested.

Name Required Type Default Description
name no String Tab name.
periodLength no Number 3 Period length.
periodUnit no String "month" Unit for period. Use "month" or "year".
{
    "historicalData": {
        "periodLength": 3,
        "periodUnit": "month"
    }
}

GFI Attributes🔗

Potentially cryptic service-side attribute names may be translated with these key-value pairs within the portal.

Other options:

  • "ignore": GFI requests disabled
  • "showAll": All GFI attributes are requested and shown as given

The portal excludes a set of standard attributes that have no information value to users. See config.js for details.

gfiAttributes string example:

{
   "gfiAttributes": "showAll"
}

gfiAttributes string example:

{
   "gfiAttributes": "ignore"
}

gfiAttributes object example:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": "key shown in the portal 3"
   }
}

gfiAttributes nested object example:

/* for GFI example object from feature: {
    "address": {
        "street": "Main Street",
        "PLZ": "80673"
    }
}*/
{
   "gfiAttributes": {
      "Address.Street": "Street"
   }
}

gfiAttributes example object with Object Path References:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "@Datastreams.0.Observations.0.result": "key shown in the portal 3"
   }
}

If the gfiAttributes are given as an object, a key's value may also be an object. In that case, the nested object defines a restriction for using that key.

Name Required Type Default Description Example
name yes String Name to be shown on an exact match. "Test"
condition yes enum["contains", "startsWith", "endsWith"] Condition checked on each feature attribute. "startsWith"
type no enum["string", "date", "number", "boolean", "html"] "string" If "date", the portal will attempt to parse the attribute value to a date; If "Number", the portal will attempt to parse the attribute value to with thousand seperator; If “boolean”, the portal will attempt to parse the attribute value to boolean value. "date"
html no html Object to define the html tag properties. this is neccessary if type ist set to 'html'. "Test"
format no String/Object "YYYY-MM-DDTHH:mm:ss.SSSZ"/{"key": "value"} Data format. "DD.MM.YYY"
prefix no String Attribute value prefix. Add string to value without whitespace "https://"
suffix no String Attribute value suffix. "°C"

gfiAttributes example object using suffix and prefix :

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "suffix": "°C",
         "prefix": "https://"
      }
   }
}

gfiAttributes example object using type and format:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "type": "date",
         "format": "DD.MM.YY"
      }
   }
}

gfiAttributes example object using number:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "type": "number"
      }
   }
}

gfiAttributes example object using boolean without format:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "type": "boolean"
      }
   }
}

gfiAttributes example object using boolean with format in translation key:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "type": "boolean",
         "format": {
            "true": "common:modules.tools.gfi.boolean.yes",
            "false": "common:modules.tools.gfi.boolean.no"
         }
      }
   }
}

gfiAttributes example object using boolean with format in normal text:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "key3": {
         "name": "key shown in the portal 3",
         "condition": "contains",
         "type": "boolean",
         "format": {
            "true": "it is right",
            "false": "it is wrong"
         }
      }
   }
}

gfiAttributes example object with object path references key and object value:

{
   "gfiAttributes": {
      "key1": "key shown in the portal 1",
      "key2": "key shown in the portal 2",
      "@Datastreams.0.Observations.0.result": {
        "name": "Temperatur",
        "suffix": "°C"
      }
   }
}

gfiAttributes html🔗

With these confurations a url in the feature properties can be displayed either as a link with configurable name, or as an img-tag or as an iframe. Furthermore properties for the tag can be configured.

Name Required Type Default Description Example
tag yes String tag to be created "a"
innerHTML no String innerHTML to be created. If innerHTML is set to "%value%", the attributes value is used. "Link"
properties no Object properties to be set at the html tag. If value is set to "%value%", the attributes value is used {"target": "_blank"}

gfiAttributes example object using type html and tag a

{
   "gfiAttributes": {
      "key1": {
         "name": "key shown in the portal ",
         "type": "html",
         "html": {
          "tag": "a",
          "innerHTML": "zum Link",
          "properties": {
            "href": "%value%",
            "target": "_blank"
          }
        }
      }
   }
}

gfiAttributes example object using type html and tag img

{
   "gfiAttributes": {
      "key1": {
         "name": "key shown in the portal 1",
         "type": "html",
         "html": {
          "tag": "img",
          "properties": {
            "src": "%value%",
            "max-width": "150px"
          }
        }
      }
   }
}

gfiAttributes example object using type html and tag iframe

{
   "gfiAttributes": {
      "key1": {
         "name": "key shown in the portal 1",
         "type": "html",
         "html": {
          "tag": "iframe",
          "properties": {
            "src": "%value%",
            "width": "250px",
            "height": "250px",
            "frameborder": "0",
            "allow": "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",
            "allowfullscreen": true
          }
        }
      }
   }
}

GeoJSON layer🔗

Name Required Type Default Description Example
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
id yes String Arbitrary id "11111"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
name yes String Arbitrary display name used in the layer tree. "local GeoJSON"
typ yes String Service type; in this case, "GeoJSON". "GeoJSON"
subTyp no enum["OpenSenseMap"] SubType to fetch special data. "OpenSenseMap"
url yes String GeoJSON path/URL. The path must be given relative to the index.html file. "/myJsons/test.json"
altitudeMode no enum["clampToGround","absolute","relativeToGround"] "clampToGround" Height mode in 3D mode. "absolute"
altitude no Number Display height in 3D mode in meters. If an altitude is given, any existing z coordinate is overwritten. If no z coordinate exists, altitude is used as its value. 527
altitudeOffset no Number Height offset for display in 3D mode in meters. If given, any existing z coordinates will be increased by this value. If no z coordinate exists, this value is used as z coordinate. 10
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"

GeoJSON layer example:

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

OAF layer🔗

Name Required Type Default Description Example
datasets yes datasets[]/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". To remove the "i" button altogether, explicitly set "datasets": false.
collection yes String Collection to load. "bab_vkl"
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
id yes String/wfs_id Arbitrary id or an object with id and suffix "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a OAF request or the OAF styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
name yes String Arbitrary display name used in the layer tree. "Traffic situation on freeways"
typ yes String Service type; in this case, "OAF". "OAF"
url yes String Service URL "https://api.hamburg.de/datasets/v1/schulen"
altitudeMode no enum["clampToGround","absolute","relativeToGround"] "clampToGround" Height mode in 3D mode. "absolute"
altitude no Number Display height in 3D mode in meters. If an altitude is given, any existing z coordinate is overwritten. If no z coordinate exists, altitude is used as its value. 527
altitudeOffset no Number Height offset for display in 3D mode in meters. If given, any existing z coordinates will be increased by this value. If no z coordinate exists, this value is used as z coordinate. 10
gfiTheme yes String/Object Display style of GFI information for this layer. Unless "default" is chosen, custom templates may be used to show GFI information in another format than the default table style. "default"
isSecured no Boolean false Displays whether the layer belongs to a secured service. (see below) false
authenticationUrl no String Additional url called to trigger basic authentication in the browser. "https://api.hamburg.de/datasets/v1/schulen/collections/staatliche_schulen/appschema"
limit false Number Limits the number of items presented in the response document. Ignored if bulk is true. 10
crs false String http://www.opengis.net/def/crs/EPSG/0/25832 The coordinate reference system of the response geometries. If not supported, server will respond with error 400. See collections index of your oaf service for supported crs. e.g. https://api.hamburg.de/datasets/v1/schulen/collections. Can also be set to false to disable the crs parameter "EPSG:25832"

OAF example:

{
    "id": "5001",
    "name": "Schulen",
    "url": "https://api.hamburg.de/datasets/v1/schulen",
    "collection" : "staatliche_schulen",
    "typ": "OAF",
    "limit": 10,
    "crs": "http://www.opengis.net/def/crs/EPSG/0/25832",
    "styleId": "8712",
    "gfiAttributes": "showAll",
    "gfiTheme": "default"
}

Heatmap layer🔗

Name Required Type Default Description Example
id yes String Arbitrary id "11111"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
name yes String Arbitrary display name used in the layer tree. "My heatmap layer"
typ yes String Service type; in this case, "Heatmap". "Heatmap"
attribute no String "" Attribute name. Only features holding "key" and "value" will be used. "attr1"
value no String "" Attribute value. Only features holding "key" and "value" will be used. "val1"
radius no Number 10 Radius of a heatmap feature. 10
blur no Number 15 Blur of heatmap features. 15
gradient no String[] ["#00f", "#0ff", "#0f0", "#ff0", "#f00"] Heatmap color gradient. ["#f00", "#0f0", "#00f"]
dataLayerId yes String Id of layer to use for heatmap features. "4321"

Heatmap layer example:

{
    "id": "1234",
    "name": "Heatmap to vector layer 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 Required Type Default Description Example
datasets no datasets/Boolean Metadata specification. All metadata the layer data is referenced here. On clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". To remove the "i" button altogether, explicitly set "datasets": false.
gfiAttributes yes String/gfiAttributes GFI attributes to be shown. "ignore"
id yes String Arbitrary id "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
name yes String Arbitrary display name used in the layer tree. "Traffic situation on freeways"
hiddenFeatures no Array List of ids describing features to hide ["id_1", "id_2"]
typ yes String Service type; in this case, "TileSet3D". "TileSet3D"
url yes String Dienste URL "https://geodienste.hamburg.de/buildings_lod2"
cesium3DTilesetOptions no cesium3DTilesetOptions Cesium 3D tileset options directly forwarded to the cesium tileset object. E.g. maximumScreenSpaceError can be used for distance visibility.
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false

Tileset example:

{
    "id": "buildings",
    "name": "Buildings",
    "url": "https://geodienste.hamburg.de/b3dm_hamburg_lod2",
    "typ": "Tileset3D",
    "gfiAttributes": "showAll",
    "layerAttribution": "nicht vorhanden",
    "legend": false,
    "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 Required Type Default Description Example
datasets no datasets/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". To remove the "i" button altogether, explicitly set "datasets": false.
id yes String Arbitrary id "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
legendURL yes String/String[] Link to static legend image. "ignore": No image is retrieved, "" (empty string): The service's GetLegendGraphic is called. "ignore"
legend no Boolean/String/String[] Value of the services.json file. URL to be used to request a static legend image. Use a boolean value to dynamically generate the legend from a WMS request or the WFS styling respectively. Use a string to link an image or a PDF file. Use "ignore" or false for no legend. false
name yes String Arbitrary display name used in the layer tree. "Charging locations"
typ yes String Service type; in this case, "Terrain3D". "Terrain3D"
url yes String Service URL "https://geodienste.hamburg.de/terrain"
cesiumTerrainProviderOptions no cesiumTerrainProviderOptions Cesium TerrainProvider options directly forwarded to the Cesium TerrainProvider. E.g. requestVertexNormals can be used for object shading.
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false

Terrain example:

   {
      "id" : "buildings",
      "name" : "Terrain",
      "url" : "https://geodienste.hamburg.de/terrain",
      "typ" : "Terrain3D",
      "gfiAttributes" : "showAll",
      "layerAttribution" : "nicht vorhanden",
      "legend" : false,
      "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 Required Type Default Description Example
datasets no datasets/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". To remove the "i" button altogether, explicitly set "datasets": false.
id yes String Arbitrary id "44"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
name yes String Arbitrary display name used in the layer tree. "Charging locations"
typ yes String Service type; in this case, "Oblique". "Oblique"
hideLevels no Number Amount of image levels of the image pyramid not to be shown. 0
minZoom no Number Minimal zoom level 0 shows the complete oblique image. 0
terrainUrl no String URL to the Cesium Quantized Mesh Terrain dataset. "https://geodienste.hamburg.de/terrain"
resolution no Number Resolution of oblique images in centimeters. 10
projection yes String Projection of the oblique image layer. EPSG:25832
url yes String Service URL "https://geodienste.hamburg.de/oblique"
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false

Oblique layer example:

   {
      "id" : "oblique",
      "name" : "Oblique",
      "url" : "https://geodienste.hamburg.de/oblique",
      "typ" : "Oblique",
      "gfiAttributes" : "showAll",
      "layerAttribution" : "nicht vorhanden",
      "legend" : false,
      "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🔗

Used to display 3D models in Gltf or Glb format.

Name Required Type Default Description Example
datasets no datasets/Boolean Metadata specification. All metadata of the layer data is referenced here. By clicking the "i" button in the layer tree, the information is retrieved by the CSW interface and shown to the user. For this, the rest-services.json has to provide the URL of the metadata catalog resp. its CSW interface. The values kategorie_opendata, kategorie_inspire, and kategorie_organisation are used for layer categorization if the config.json has tree.type set to "default". To remove the "i" button altogether, explicitly set "datasets": false.
id yes String Arbitrary id "41"
layerAttribution no String "nicht vorhanden" Additional layer information to be shown in the portal's control element LayerAttribution, if configured to appear. If "nicht vorhanden" (technical key meaning "not available") is chosen, no layer attribution is shown. "nicht vorhanden"
name yes String Arbitrary display name used in the layer tree. "Charging locations"
typ yes String Service type; in this case, "Entities3D". "Entities3D"
entities yes Array Models to be shown []
useProxy no Boolean false Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead. Only used for GFI requests. The request will contain the requested URL as path, with dots replaced by underscores. false

Entity options

Name Required Type Default Description Example
url yes String "" Model URL "https://hamburg.virtualcitymap.de/gltf/4AQfNWNDHHFQzfBm.glb"
attributes no Object {} Model attributes {"name": "test"}
latitude yes Number Model origin latitude in degree 53.541831
longitude yes Number Model origin longitude in degree 9.917963
height no Number 0 Model origin height 10
heading no Number 0 Model origin rotation in degree 0
pitch no Number 0 Model pitch in degree 0
roll no Number 0 Model roll in degree 0
scale no Number 1 Model scale 1
allowPicking no Boolean true Whether model may be clicked for GFI true
show no Boolean true Whether model should be visible (should be true) true

Entities3D layer example:

   {
     "id": "gltfLayer",
     "name": "GltfLayer",
     "typ": "Entities3D",
     "layerAttribution": "nicht vorhanden",
     "legend": false,
     "entities": [
       {
         "url": "https://hamburg.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"
       }
     ]
   }