If this site isn´t displayed correctly please use this link: alternative config.json documentation
The config.json file contains all configuration of the portal interface. It controls which elements are placed where on the menu bar, how the map is to be centered initially, and which layers are to be loaded. See this file for an example.
The configuration is separated into two sections, Portalconfig and Themenconfig
{
"Portalconfig": {},
"Themenconfig": {}
}
Since the portals original language was German, some technical keys are still in German.
The section Portalconfig controls the following properties:
The configuration options listed in the following table exist:
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| portalTitle | no | portalTitle | The portal's title and further elements to be shown in the menu bar. | false | |
| treeType | no | enum["light","default","custom"] | "light" | Decides the type of topic selection tree. You may choose between "light" (simple list), "default" (FHH-Atlas), and "custom" (layer list defined via JSON file). |
false |
| singleBaselayer | no | Boolean | false | Specifies whether only one base layer may be active at any time. Only usable in combination with treeType "custom". |
false |
| Baumtyp | no | enum["light","default","custom"] | "light" | Deprecated in 3.0.0. Please use "treeType" instead. |
false |
| mapView | no | mapView | Defines the initial map view and a background shown when no layer is selected. | false | |
| controls | no | controls | Allows setting which interactions are active in the map. | false | |
| menu | no | menu | Menu entries and their order are configured in this entry. The order of tools corresponds to the order in the object specifying them; see Tools. | false | |
| searchBar | no | searchBar | The search bar allows requesting information from various search services at once. | false | |
| layersRemovable | no | Boolean | false | Defines whether layers may be removed from a portal during its run-time. | false |
| quickHelp | no | quickHelp | Configuration of new and manipulation of existing QuickHelp windows. | false | |
| tree | no | tree | Configuration of menu tree. | false | |
| layerInformation | no | layerInformation | Decides if to show individual attribute in Meta data of layer information | false | |
| loaderOverlayMaxWait | no | Integer | 25000 | Defines the maximum loading time for showing Loader Overlays. | false |
Search bar configuration.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| searchResultOrder | no | String[] | ["common:modules.searchbar.type.address", "common:modules.searchbar.type.street", "common:modules.searchbar.type.parcel", "common:modules.searchbar.type.location", "common:modules.searchbar.type.district", "common:modules.searchbar.type.topic", "common:modules.searchbar.type.subject"] | Configuration of order of categories of displayed search results. The keys should be used from translation data. | false |
| bkg | no | bkg | BKG search service configuration. | false | |
| gazetteer | no | gazetteer | Gazetteer search service configuration. | false | |
| gdi | no | gdi | GDI (elastic) search service configuration. _Deprecated in 3.0.0. Please use elasticSearch instead. | false | |
| elasticSearch | no | elasticSearch | Elastic search service configuration. | false | |
| osm | no | osm | OpenStreetMap (OSM) search service configuration. | false | |
| komoot | no | komoot | Komoot Photon search service configuration. | false | |
| locationFinder | no | locationFinder | LocationFinder search service configuration. | false | |
| placeholder | no | String | "Suche" | Input text field placeholder shown when no input has been given yet. | false |
| recommendedListLength | no | Integer | 5 | Maximum amount of entries in the suggestion list. | false |
| quickHelp | no | Boolean | false | Deprecated in the next major-release. Defines whether the QuickHelp feature is offered for the search bar. | false |
| specialWFS | no | specialWFS | specialWFS search service configuration. | false | |
| tree | no | tree | Topic selection tree search configuration. | false | |
| visibleWFS | no | visibleWFS | Visible WFS layer search configuration. | false | |
| visibleVector | no | visibleVector | Visible vector layer search configuration. | false | |
| zoomLevel | no | Integer | On picking a search result, this is the maximum zoom level to be used on zooming to the chosen feature. | false | |
| sortByName | no | Boolean | true | Defines whether search results are to be sorted alphanumerically. | false |
| selectRandomHits | no | Boolean | true | Is set true, the results are chosen randomly when the amount of hits exceeds recommendedListLength. If set false, the list of hits is cut when reaching recomendedListLength. This may result in only showing results of the service that first returned. |
false |
BKG search service configuration.
This requires a backend!
To avoid openly using your BKG UUID, URLs ("bkg_geosearch" and "bkg_suggest" in this case) of the restServices should be caught and redirected in a proxy.
Example proxy configuration
ProxyPass /bkg_geosearch http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/geosearch
<Location /bkg_geosearch>
ProxyPassReverse http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/geosearch
</Location>
ProxyPass /bkg_suggest http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/suggest
<Location /bkg_suggest>
ProxyPassReverse http://sg.geodatenzentrum.de/gdz_geokodierung__[UUID]/suggest
</Location>
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| epsg | no | String | "EPSG:25832" | EPSG code of the coordinate reference system to use. | false |
| extent | no | Extent | [454591, 5809000, 700000, 6075769] | Coordinate extent in which search algorithms should return. | false |
| filter | no | String | "filter=(typ:*)" | Filter string sent to the BKG interface. | false |
| geosearchServiceId | yes | String | Search service id. Resolved using the rest-services.json file. | false | |
| minChars | no | Integer | 3 | Deprecated in 3.0.0. Please use "minCharacters". | false |
| minCharacters | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| score | no | Number | 0.6 | Score defining the minimum quality of search results. | false |
| suggestCount | no | Integer | 20 | Suggestion amount. | false |
| suggestServiceId | yes | String | Suggestion service id. Resolved using the rest-services.json file. | false | |
| zoomToResult | no | Boolean | false | Deprecated in 3.0.0. Please use "zoomToResultOnHover" or "zoomToResultOnClick". Defines whether a feature is zoomed to when hovering a result list entry. | false |
| zoomToResultOnHover | no | Boolean | false | Defines whether an address is zoomed to when hovering a result list entry. | false |
| zoomToResultOnClick | no | Boolean | true | Defines whether an address is zoomed to when clicking a result list entry. | false |
| zoomLevel | no | Number | 7 | Defines the zoom level to use on zooming to a result. | false |
Example
{
"bkg": {
"minCharacters": 3,
"suggestServiceId": "4",
"geosearchServiceId": "5",
"extent": [454591, 5809000, 700000, 6075769],
"suggestCount": 10,
"epsg": "EPSG:25832",
"filter": "filter=(typ:*)",
"score": 0.6,
"zoomToResultOnHover": false,
"zoomToResultOnClick": true,
"zoomLevel": 10
}
}
OpenStreetMap search for city, street, and house number. Only executed on clicking the search icon or pressing enter since the amount of requests to the OSM search service is limited.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Number | 3 | Minimum amount of characters required to start a search. | false |
| serviceId | yes | String | OSM search service id. Resolved using the rest-services.json file. | false | |
| limit | no | Number | 50 | Maximum amount of requested unfiltered results. | false |
| states | no | string | "" | May contain federal state names with arbitrary separators. Names may also be used in English depending on whether the data has been added to the free open source project OpenStreetMap. | false |
| classes | no | string | [] | May contain the classes to search for. | false |
Example
{
"osm": {
"minChars": 3,
"serviceId": "10",
"limit": 60,
"states": "Hamburg, Nordrhein-Westfalen, Niedersachsen, Rhineland-Palatinate Rheinland-Pfalz",
"classes": "place,highway,building,shop,historic,leisure,city,county"
}
}
Search with Komoot Photon.
| Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
|---|---|---|---|---|---|
| minChars | no | Number | 3 | Minimum amount of characters required to start a search. | false |
| serviceId | yes | String | Komoot search service id. Resolved using the rest-services.json file. | false | |
| limit | no | Number | 10 | Maximum amount of requested unfiltered results. | false |
| lang | no | string | "de" | Language of the Komoot Search. Effects language specific locationnames (e.g. Countrynames) aus. | false |
| lat | no | Number | Latitude of the center for the search. | false | |
| lon | no | Number | Longtitude of the center for the search. | false | |
| bbox | no | string | Boundingbox of the search. | false | |
| osm_tag | no | string | Filtering of OSM Tags (see https://github.com/komoot/photon#filter-results-by-tags-and-values). | false | |
| searchOnEnter | no | Boolean | false | If searchOnEnter is set to true, searches will only start on clicking the search icon or pressing enter. |
false |
Example
#!json
"komoot": {
"minChars": 3,
"serviceId": "10",
"limit": 20,
"lang": "de",
"lat": 52.5,
"lon": 13.4,
"bbox": "12.5,52.05,14.05,52.75",
}
Search configuration to use a ESRI CH LocationFinder.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Number | 3 | Minimum amount of characters required to start a search. | false |
| incrementalSearch | no | Boolean | true | Defines whether autocomplete is enabled. If incrementalSearch is set to false, searches will only start on clicking the search icon or pressing enter, since there's a quota on requests. |
false |
| serviceId | yes | String | Service id. Resolved using the rest-services.json file. | false | |
| classes | no | LocationFinderClass | May contain classes (with properties) to use in searches. If nothing is specified, all classes are considered valid. | false | |
| useProxy | no | Boolean | false | Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead of using proxies. Defines whether a service URL should be requested via proxy. For this, dots in the URL are replaced with underscores. | false |
| spatialReference | no | String | Coordinate reference system to use for requests. By default, the value in Portalconfig.mapView.epsg is used. |
false |
Definition of classes to be taken into account for results.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Class name | false | |
| icon | no | String | "bi-signpost-2-fill" | Class visualization by a icon | false |
| zoom | no | String | "center" | Defines how to zoom to a hit on selection. If center is chosen, the center coordinate (cx, cy) is zoomed to and a marker is placed. If bbox is chosen, the LocationFinder's given BoundingBox (xmin, ymin, xmax, ymax) is zoomed to, and no marker is shown. |
false |
| zoomLevel | no | Integer | Zoom level which is applied to the result view | false |
Example
{
"locationFinder": {
"serviceId": "10",
"classes": [
{
"name": "busstop",
"icon": "bi-record-circle"
},
{
"name": "address",
"icon": "bi-house-door-fill",
"zoomLevel": 5
},
{
"name": "streetname",
"zoom": "bbox"
}
]
}
}
Gazetteer search service configuration.
This requires a backend!
A WFS's Stored Query is requested with predefined parameters.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| searchAddress | no | Boolean | false | Defines whether address search is active. For backward compatibility, if "searchAddress" is not configured, the "searchAddress" attribute is set to "true" when "searchStreets" and "searchHouseNumbers" are set to "true". | false |
| searchDistricts | no | Boolean | false | Defines whether district search is active. | false |
| searchHouseNumbers | no | Boolean | false | Defines whether house numbers should be searched for. Requires searchStreets to be set to true, too. |
false |
| searchParcels | no | Boolean | false | Defines whether parcels search is active. | false |
| searchStreetKey | no | Boolean | false | Defines whether streets should be searched for by key. | false |
| searchStreet | no | Boolean | false | Defines whether street search is active. Precondition to set searchHouseNumbers to true. |
false |
| serviceId | yes | String | Search service id. Resolved using the rest-services.json file. | false | |
| showGeographicIdentifier | no | Boolean | false | Specifies whether the attribute geographicIdentifier should be used to display the search result. |
false |
Example
{
"gazetteer": {
"minChars": 3,
"serviceId": "6",
"searchStreets": true,
"searchHouseNumbers": true,
"searchDistricts": true,
"searchParcels": true,
"searchStreetKey": true,
"showGeographicIdentifier": false
}
}
GFI search service configuration.
Deprecated in 3.0.0. Please use elasticSearch instead.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| serviceId | yes | String | Search service id. Resolved using the rest-services.json file. | false | |
| sortByName | no | Boolean | false | Defines whether search results are to be sorted alphanumerically. | false |
| queryObject | yes | queryObject | Query object read by the Elasticsearch model. | false |
Example
{
"gdi": {
"minChars": 3,
"serviceId": "elastic",
"sortByName": false,
"queryObject": {
"id": "query",
"params": {
"query_string": "%%searchString%%"
}
}
}
}
Todo.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String | "" | Todo | false |
| params | yes | params | Elasticsearch parameter object. | false |
Todo
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| query_string | yes | String | "%%searchString%%" | Todo | false |
Elasticsearch service configuration.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| serviceId | yes | String | Search service id. Resolved using the rest-services.json file. | false | |
| type | no | enum["POST", "GET"] | "POST" | Request type. | false |
| searchStringAttribute | no | String | "searchString" | Search string attribute name for payload object. |
false |
| responseEntryPath | no | String | "" | Response JSON attribute path to found features. | false |
| triggerEvent | no | triggerEvent | {} | Radio event triggered on mouse hover and click. | false |
| hitMap | no | hitMap | Object mapping result object attributes to keys. | true | |
| hitType | no | String | "common:modules.searchbar.type.subject" | Search result type shown in the result list after the result name. Set to the translation key. | false |
| hitIcon | no | String | "bi-signpost-2-fill" | CSS icon class of search results, shown before the result name. | false |
| useProxy | no | Boolean | false | Defines whether the URL should be proxied. | false |
As an additional property, you may add payload. It is not required, and matches the CustomObject description. By default, it is set to the empty object {}. The object describes the payload to be sent as part of the request. It must provide the searchString attribute. For more info on usable attributes, see Elasticsearch Guide. This object can not be handled in the Admintool, since CustomObject is not yet supported.
Example
{
"elasticSearch": {
"minChars": 3,
"serviceId": "elastic_hh",
"type": "GET",
"payload": {
"id": "query",
"params": {
"query_string": ""
}
},
"searchStringAttribute": "query_string",
"responseEntryPath": "hits.hits",
"triggerEvent": {
"channel": "Parser",
"event": "addGdiLayer"
},
"hitMap": {
"name": "_source.name",
"id": "_source.id",
"source": "_source"
},
"hitType": "common:modules.searchbar.type.subject",
"hitIcon": "bi-list-ul"
}
}
Object mapping result object attributes to keys.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String/String[] | "name" | Attribute value will be mapped to the attribute key. Required to display results. | false |
| id | yes | String/String[] | "id" | Attribute value will be mapped to the attribute key. Required to display results. | false |
| coordinate | yes | String/String[] | "coordinate" | Attribute value will be mapped to the attribute key. Required to display a map marker. | false |
Radio event triggered on mouse hover and click.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| channel | yes | String | Channel addressed on mouse hover and click. The hit from the recommendedList will be sent as payload. | false | |
| event | yes | String | Triggered event. | false |
WFS search function configuration. Requests features from a WFS. The service must be configured to allow WFS 2.0 requests.
For example, on entering "Kronenmatten" the service https://geoportal.freiburg.de/geoportal_freiburg_de/wfs/stpla_bplan/wfs_mapfile/geltungsbereiche will be requested with the following XML attached as payload, and the service will answer with an XML FeatureCollection. The collection features will then be offered as search results.
<?xml version='1.0' encoding='UTF-8'?>
<wfs:GetFeature service='WFS' xmlns:wfs='http://www.opengis.net/wfs' xmlns:ogc='http://www.opengis.net/ogc' xmlns:gml='http://www.opengis.net/gml' traverseXlinkDepth='*' version='1.1.0'>
<wfs:Query typeName='ms:geltungsbereiche'>
<wfs:PropertyName>ms:planbez</wfs:PropertyName>
<wfs:PropertyName>ms:msGeometry</wfs:PropertyName>
<wfs:maxFeatures>20</wfs:maxFeatures>
<ogc:Filter>
<ogc:PropertyIsLike matchCase='false' wildCard='*' singleChar='#' escapeChar='!'>
<ogc:PropertyName>ms:planbez</ogc:PropertyName>
<ogc:Literal>*Kronenmatten*</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
The WFS 2.0 query is dynamically created by the Masterportal. No stored query configuration is required in the service.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| icon | no | String | "bi-house-fill" | Default icon used in the suggestion list. Overwritable by a definition. | false |
| maxFeatures | no | Integer | 20 | Maximum amount of features returned. Overwritable by a definition. | false |
| timeout | no | Integer | 6000 | Service request timeout in ms. | false |
| definitions | no | definition[] | Special WFS search definitions. | false |
Example
{
"specialWFS": {
"minChars": 5,
"timeout": 10000,
"definitions": [
{
"url": "https://geodienste_hamburg_de/MRH_WFS_Rotenburg",
"typeName": "app:mrh_row_bplan",
"propertyNames": ["app:name"],
"name": "B-Plan",
"namespaces": "xmlns:app='http://www.deegree.org/app'"
},
{
"url": "https://geodienste_hamburg_de/HH_WFS_Bebauungsplaene",
"typeName": "app:prosin_imverfahren",
"propertyNames": ["app:plan"],
"geometryName": "app:the_geom",
"name": "im Verfahren",
"namespaces": "xmlns:app='http://www.deegree.org/app'"
}
]
}
}
SpecialWFS search definition configuration.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| url | no | String | WFS URL. Depending on your proxy configuration, the relative URL from the portal server must be given. | false | |
| name | no | String | Category name displayed in the suggestion list. | false | |
| icon | no | String | "bi-house-fill" | CSS icon class of search results, shown before the result name. | false |
| typeName | no | String | The name of the WFS layer to be requested. | false | |
| propertyNames | no | String[] | Array of attribute names to be searched. | false | |
| geometryName | no | String | "app:geom" | Geometry attribute name required for zoom functionality. | false |
| maxFeatures | no | Integer | 20 | Maximum amount of features to be returned. | false |
| namespaces | no | String | XML name spaces to request propertyNames or geometryName. (xmlns:wfs, xmlns:ogc, and xmlns:gml are always used.) |
false | |
| useProxy | no | Boolean | false | Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead of using proxies. Defines whether a service URL should be requested via proxy. For this, dots in the URL are replaced with underscores. | false |
| data | no | String | Deprecated in 3.0.0. Filter parameter for WFS requests. | false |
Example
{
"url": "https://geodienste_hamburg_de/HH_WFS_Bebauungsplaene",
"typeName": "app:prosin_imverfahren",
"propertyNames": ["app:plan"],
"geometryName": "app:the_geom",
"name": "im Verfahren"
}
Searching all topic selection tree layers.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| searchType | no | String | "metadata" | Decides whether the metadata or the name of a layer should be searched. Possible values: "metadata" and "name" | false |
Example
{
"tree": {
"minChars": 5,
"searchType": "name"
}
}
Visible WFS search configuration. Deprecated in 3.0.0. Please use visibleVector instead.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
Example
{
"visibleWFS": {
"minChars": 3
}
}
Visible vector layer search configuration. For all vector layers supposed to be searchable, set the searchField attribute in the layer definition object "Fachdaten".
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Integer | 3 | Minimum amount of characters required to start a search. | false |
| layerTypes | no | enum["WFS", "GeoJSON"] | ["WFS"] | Vector layer types to be used. | true |
| gfiOnClick | no | Boolean | false | Opens the GetFeatureInfo (gfi) window on clicking a search result. | false |
Example
{
"visibleVector": {
"minChars": 3,
"layerTypes": ["WFS", "GeoJSON"]
}
}
Configuration of the menu tree.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| highlightedFeatures | no | highlightedFeatures | Configuration in addition to feature highlighting. | false | |
| showScaleTooltip | no | Boolean | false | Flag whether the scale range is displayed in the layer tooltip in addition to the name of the corresponding layer. | false |
Example
#!json
"tree":{
"highlightedFeatures": {
"active": true,
"layerName": "common:tree.selectedFeatures"
},
"showScaleTooltip": true
},
Configuration in addition to highlighting features. If features are highlighted with the "List" or "Select Features" tool with "Zoom to this Feature" or via url parameter, then a layer with these features is selectable in the menu tree.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| active | no | Boolean | false | Indicates whether this feature is active. | false |
| layerName | no | String | "common:tree.selectedFeatures" | Name of the created layer with the highlighted features. The name also contains the name of the tool that was used. | true |
Example
#!json
"highlightedFeatures": {
"active": false,
"layerName": "common:tree.selectedFeatures"
},
Configuration of layerInformation.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| showMetaDataRevision | no | boolean | true | Decides if to show "Letzte Ănderung" in Meta data of layer information | false |
Example
#!json
"layerInformation":{
"showMetaDataRevision": true
},
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| attributions | no | Boolean/attributions | false | Additional layer information to be shown in the portal. | false |
| fullScreen | no | Boolean | false | Allows the user to view the portal in full screen mode, that is, without the browser's tabs and address bar, by clicking a button. A second click on the element returns the view back to normal. | false |
| mousePosition | no | Boolean | false | Display mouse pointer coordinates. | false |
| orientation | no | orientation | The orientation control uses the browser's geolocation feature to determine the user's coordinates. | false | |
| zoom | no | Boolean | false | Defines whether zoom buttons should be displayed. | false |
| overviewmap | no | overviewMap | false | Deprecated in 3.0.0. Please use overviewMap instead. |
false |
| overviewMap | no | overviewMap | false | Overview map. | false |
| rotation | no | rotation | false | Control that shows the current rotation of the map. With a click the map rotation can be set to north again. See also mapInteractions in config.js.md. |
false |
| totalview | no | totalView | false | Deprecated in 3.0.0. Please use "totalView" instead. | false |
| totalView | no | totalView | false | Offers a button to return to the initial view. | false |
| button3d | no | Boolean | false | Defines whether a 3D mode switch button is shown. | false |
| orientation3d | no | Boolean | false | Defines whether the 3D mode is to show a navigation element inspired by the classical compass winds. | false |
| freeze | no | Boolean | false | Whether a "lock view" button is shown. Within the TABLE style, this element is part of the tool window. |
false |
| backforward | no | backForward | false | Deprecated in 3.0.0. Please use "backForward" instead. | false |
| backForward | no | backForward | false | Shows buttons to jump to previous and next map views. | false |
| startTool | no | startTool | false | Displays buttons for the configured tools. These can be used to open and close the respective tools. | false |
The entry attributions may be of type boolean or object. If of type boolean, the flag decides whether available attributions are shown. When of type object, the following attributes may be set:
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| isInitOpenDesktop | no | Boolean | true | Defines whether the attributions are open initially in desktop mode. | false |
| isInitOpenMobile | no | Boolean | false | Defines whether the attributions are open initially in mobile mode. | false |
Boolean example
{
"attributions": true
}
Object example
{
"attributions": {
"isInitOpenDesktop": true,
"isInitOpenMobile": false
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| zoomMode | no | enum["once", "always"] | "once" | The user's location is determined and a marker turned on or off. This requires providing the portal via https. Modes: once zooms to the user's location once, always zooms to the user position on each activation. | false |
| poiDistances | no | Boolean/Integer[] | true | Defines whether the feature "Close to me", which shows a list of nearby points of interest, is provided. If an array is configured, multiple such lists with the given distance in meters are offered. When simply setting poiDistances: true, the used distances are [500,1000,2000]. |
false |
Example using type boolean poiDistances
{
"orientation": {
"zoomMode": "once",
"poiDistances": true
}
}
Example using type number[] porDistances
{
"orientation": {
"zoomMode": "once",
"poiDistances": [500, 1000, 2000, 5000]
}
}
The attribute overviewMap may be of type boolean or object. If of type boolean, an overview map is shown with a default configuration. When of type object, the following attributes may be set:
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| resolution | no | Integer | Deprecated in 3.0.0. Defines the overview map resolution. If not set, the map section displayed is changed on zoom automatically. | |
| baselayer | no | LayerId | Deprecated in 3.0.0. Please use layerId instead. Allows using a different layer for the overview map element. The value must be an id from the services.json used in the portal's config.js parameter layerConf. |
|
| layerId | no | LayerId | Allows using a different layer for the overview map element. The value must be an id from the services.json used in the portal's config.js parameter layerConf. |
|
| isInitOpen | no | Boolean | true | Defines whether the overview map is initially closed or opened. |
Example using type object overviewMap
{
"overviewMap": {
"resolution": 305.7487246381551,
"layerId": "452",
"isInitOpen": false
}
}
Example using type boolean overviewMap
{
"overviewMap": true
}
The attribute rotation may be of type boolean or object. If of type boolean and value is set to true, the rotation control is just shown when the map rotation is not equal north/0. When of type object, the following attributes may be set:
| Name | Verpflichtend | Typ | Default | Beschreibung |
|---|---|---|---|---|
| showAlways | no | Boolean | false | If the attribut is set to true the control is shown permanently . Via default it appears only if the map rotation is not equal north/0. |
Example using type object rotation
#!json
"rotation": {
"showAlways": true
}
Example using type boolean rotation
#!json
"rotation": true
The attribute totalView may be of type boolean or object. If of type boolean, it shows a button using the default configuration that allows the user to switch back to the initial view. When of type object, the following attributes may be set:
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| icon | no | String | "bi-skip-backward-fill" | Allows changing the button's icon. | false |
| tableIcon | no | String | "bi-house-door-fill" | Allows changing the list item's icon in TABLE style. |
false |
Example using type object totalView
{
"totalView" : {
"icon": "bi-skip-forward-fill",
"tableIcon": "bi-skip-forward-fill"
}
}
Example using type boolean totalView
{
"totalView": true
}
The attribute backForward may be of type boolean or object. If of type boolean, it shows a button using the default configuration that allows the user to switch back and forth between view states. When of type object, the following attributes may be set:
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| iconFor | no | String | Allows changing the icon on the forward button. | false | |
| iconBack | no | String | Allows changing the icon on the backwards button. | false |
Example using type object backForward
{
"backForward" : {
"iconFor": "bi-skip-forward-fill",
"iconBack": "bi-skip-backward-fill"
}
}
Example using type boolean backForward
{
"backForward": true
}
The startTool attribute must be of type Object. A button is displayed for each configured tool, which can be used to open and close the respective tool. The requirement is that the tools are also configured under Tools.
| Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
|---|---|---|---|---|---|
| tools | yes | String[] | Here you can configure the tools to which a button is to be attached.. | false |
Example startTool:
#!json
"startTool": {
"tools": ["selectFeatures", "draw"]
}
The menu bar allows showing a portal name and portal image if sufficient horizontal space is available. The elements are not shown in mobile mode.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "Master" | Portal name. | false |
| logo | no | String | Path to an external image file. If no image is set, the title will be shown without an accompanying logo. | false | |
| link | no | String | "https://geoinfo.hamburg.de" | URL of an external website to link to. | false |
| tooltip | no | String | Deprecated in 3.0.0. Please use toolTip instead. Shown on hovering the portal logo. |
false | |
| toolTip | no | String | "Landesbetrieb Geoinformation und Vermessung" | Shown on hovering the portal logo. | false |
Example
{
"portalTitle": {
"title": "Master",
"logo": "https://geodienste.hamburg.de/lgv-config/img/hh-logo.png",
"link": "https://geoinfo.hamburg.de",
"toolTip": "Landesbetrieb Geoinformation und Vermessung"
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| backgroundImage | no | String | "https://bitbucket.org/geowerkstatt-hamburg/masterportal/src/dev/doc/config.json.md#markdown-header-portalconfigmapview" | Path to an alternative background image. | false |
| startCenter | no | Coordinate | [565874, 5934140] | Initial center coordinate. | false |
| extent | no | Extent | [510000.0, 5850000.0, 625000.4, 6000000.0] | Map extent - map may not be moved outside these boundaries. | false |
| startResolution | no | Float | 15.874991427504629 | The initial map resolution from the options element. Used in preference to startZoomLevel. |
false |
| resolution | no | Float | 15.874991427504629 | Deprecated in 3.0.0 Please use "startResolution". | false |
| startZoomLevel | no | Integer | The initial map zoom level from the options element. If resolutions is set, this is ignored. |
false | |
| zoomLevel | no | Integer | Deprecated in 3.0.0 Please use "startZoomLevel". | false | |
| epsg | no | String | "EPSG:25832" | Coordinate reference system EPSG code. The code must be defined as a namedProjection. |
false |
| options | no | option[] | [{"resolution":66.14579761460263,"scale":250000,"zoomLevel":0}, {"resolution":26.458319045841044,"scale":100000,"zoomLevel":1}, {"resolution":15.874991427504629,"scale":60000,"zoomLevel":2}, {"resolution": 10.583327618336419,"scale":40000,"zoomLevel":3}, {"resolution":5.2916638091682096,"scale":20000,"zoomLevel":4}, {"resolution":2.6458319045841048,"scale":10000,"zoomLevel":5}, {"resolution":1.3229159522920524,"scale":5000,"zoomLevel":6}, {"resolution":0.6614579761460262,"scale":2500,"zoomLevel":7}, {"resolution":0.2645831904584105,"scale": 1000,"zoomLevel":8}, {"resolution":0.13229159522920521,"scale":500,"zoomLevel":9}] | Available scale levels and their resolutions. | false |
| twoFingerPan | no | Boolean | false | Should a 2-Finger-Pan be set on mobile devices instead of a 1-Finger-Pan? | false |
Example
{
"mapView": {
"backgroundImage": "https://geodienste.hamburg.de/lgv-config/img/backgroundCanvas.jpeg",
"startCenter": [561210, 5932600],
"options": [
{
"resolution": 611.4974492763076,
"scale": 2311167,
"zoomLevel": 0
},
{
"resolution": 305.7487246381551,
"scale": 1155583,
"zoomLevel": 1
},
{
"resolution": 152.87436231907702,
"scale": 577791,
"zoomLevel": 2
},
{
"resolution": 76.43718115953851,
"scale": 288896,
"zoomLevel": 3
},
{
"resolution": 38.21859057976939,
"scale": 144448,
"zoomLevel": 4
},
{
"resolution": 19.109295289884642,
"scale": 72223,
"zoomLevel": 5
},
{
"resolution": 9.554647644942321,
"scale": 36112,
"zoomLevel": 6
},
{
"resolution": 4.7773238224711605,
"scale": 18056,
"zoomLevel": 7
},
{
"resolution": 2.3886619112355802,
"scale": 9028,
"zoomLevel": 8
},
{
"resolution": 1.1943309556178034,
"scale": 4514,
"zoomLevel": 9
},
{
"resolution": 0.5971654778089017,
"scale": 2257,
"zoomLevel": 10
}
],
"extent": [510000.0, 5850000.0, 625000.4, 6000000.0],
"resolution": 15.874991427504629,
"zoomLevel": 1,
"epsg": "EPSG:25832"
}
}
An option defines a zoom level. Each zoom level is defined by resolution, scale number, and a unique zoom level. The higher the zoom level, the smaller the scale and the closer you have zoomed.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| resolution | yes | Number | Zoom level definition's resolution. | false | |
| scale | yes | Integer | Zoom level definition's scale. | false | |
| zoomLevel | yes | Integer | Zoom level definition's zoom level. | false |
mapView option example
{
"resolution": 611.4974492763076,
"scale": 2311167,
"zoomLevel": 0
}
For a detailed documentation of the QuickHelp window see the QuickHelp documentation .
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| configs | yes | configs | {"search": true, "tree": true} | The configuration for existing as well as new QuickHelp windows. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {}
}
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| search | no | search | true | Configuration of the QuickHelp window of the SearchBar. | false |
| tree | no | tree | true | Configuration of the QuickHelp window of the topic tree. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"search": true,
"tree": true
}
}
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "" | The title/heading of the QuickHelp window. | false |
| content | no | section[] | [] | The collection of contents or manipulations as an array. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"search": {
"title": "A new title for this QuickHelp window",
"content": []
}
}
}
}
}
A section is an object with a title and a list of paragraphs. A section can be manipulated using "before", "after" and "hide" keywords.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "" | The title/heading of the section. | false |
| list | no | paragraph[] | [] | An array of paragraphs or images of the QuickHelp section. | false |
| before | no | String | A Section Key before which this new section should be hooked. | false | |
| after | no | String | A Section Key behind which this new section should be hooked. | false | |
| hide | no | String | A Section Key that leads to the hiding/removal of an existing section addressed with the Section Key. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"search": {
"title": "A new title for this QuickHelp window",
"content": [
{
"title": "Title of the new section",
"list": []
}
]
}
}
}
}
}
A paragraph in the sense of the QuickHelp configuration is an object or string that exactly describes the content at that point. There are two types of paragraph elements.
The paragraph text element
Can also be created as a pure translation key (string) and will then be converted to a paragraph element of type "text/plain". Pure text can also be specified, but then it is mandatory under the text key of the object (pure text is not possible as a pure string).
The paragraph image element
Can also be specified as a plain image name (string), in which case the imgPath configured in config.js would be automatically added as its base path. Configure as an object to specify external images with imgPath as url and imgName as name of the image.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| text | no | String | "" | The text as Translation Key or pure text. | false |
| type | no | String | "text/plain" | The text type. If "text/html" is specified, the given text will be rendered as html code. | false |
| imgName | no | String | "" | The name of the image to display. | false |
| imgPath | no | String | "" | The path to the image if omitted is taken imgPath from config.js. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"search": {
"title": "A new title for this QuickHelp window",
"content": [
{
"title": "Title of the new section",
"list": [
{
"text": "This is the first paragraph.",
"type": "text/plain"
},
{
"imgName": "allgemein.png",
"imgPath": "https://geodienste.hamburg.de/lgv-config/img/"
},
{
"text": "This is the second <i>paragraph</i> with html content.",
"type": "text/html"
}
]
},
{
"after": "generalInfo",
"title": "Title of a new section after generalInfo",
"list": [
{
"text": "This is a paragraph.",
"type": "text/plain"
}
]
},
{"hide": "generalInfo"}
]
}
}
}
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "" | The title/heading of the QuickHelp window. | false |
| content | no | section[] | [] | The collection of contents or manipulations as an array. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"tree": {
"title": "A new title for this QuickHelp window",
"content": []
}
}
}
}
}
A section is an object with a title and a list of paragraphs. A section can be manipulated using "before", "after" and "hide" keywords.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "" | The title/heading of the section. | false |
| list | no | paragraph[] | [] | An array of paragraphs or images of the QuickHelp section. | false |
| before | no | String | A Section Key before which this new section should be hooked. | false | |
| after | no | String | A Section Key behind which this new section should be hooked. | false | |
| hide | no | String | A Section Key that leads to the hiding/removal of an existing section addressed with the Section Key. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"tree": {
"title": "A new title for this QuickHelp window",
"content": [
{
"title": "Title of the new section",
"list": []
}
]
}
}
}
}
}
A paragraph in the sense of the QuickHelp configuration is an object or string that exactly describes the content at that point. There are two types of paragraph elements.
The paragraph text element
Can also be created as a pure translation key (string) and will then be converted to a paragraph element of type "text/plain". Pure text can also be specified, but then it is mandatory under the text key of the object (pure text is not possible as a pure string).
The paragraph image element
Can also be specified as a plain image name (string), in which case the imgPath configured in config.js would be automatically added as its base path. Configure as an object to specify external images with imgPath as url and imgName as name of the image.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| text | no | String | "" | The text as Translation Key or pure text. | false |
| type | no | String | "text/plain" | The text type. If "text/html" is specified, the given text will be rendered as html code. | false |
| imgName | no | String | "" | The name of the image to display. | false |
| imgPath | no | String | "" | The path to the image if omitted is taken imgPath from config.js. | false |
{
"Portalconfig": {
"quickHelp": {
"configs": {
"tree": {
"title": "A new title for this QuickHelp window",
"content": [
{
"title": "Title of the new section",
"list": [
{
"text": "This is the first paragraph.",
"type": "text/plain"
},
{
"imgName": "allgemein.png",
"imgPath": "https://geodienste.hamburg.de/lgv-config/img/"
},
{
"text": "This is the second <i>paragraph</i> with html content.",
"type": "text/html"
}
]
},
{
"before": "generalInfo",
"title": "Title of a new section before generalInfo",
"list": [
{
"text": "This is a paragraph.",
"type": "text/plain"
}
]
},
{"hide": "generalInfo"}
]
}
}
}
}
}
This field allows creating and ordering menu entries. The order of tools corresponds to the entry order within the config.json file.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| ansichten | no | ansichten | Preconfigured map view in 2D and 3D mode | false | |
| info | no | info | Menu folder containing tools or staticlinks. | false | |
| legend | no | legend | The legend for all visible layers is displayed here. | false | |
| login | no | login | Configuration of login with an OIDC server. | false | |
| tools | no | tools | Menu folder containing tools. | false | |
| tree | no | tree | Representation and position of the topic selection tree. | false |
Configuration options for map views.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Name of the map views in the menu. | false | |
| icon | no | String | "bi-binoculars-fill" | Icon of the map views in the menu. | false |
| children | no | children | false | Configurations of any number of map views. | false |
Configuration options for map views.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| view | no | view | Configuration of a single map view. | false |
Configuration options for a map view.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Map view name. | false | |
| type | yes | String | Type of map view, must always be "viewpoint". | false | |
| icon | no | String | icon of the map view in the menu. | false | |
| center | no | Number[] | Coordinate at which the map view is centered. | false | |
| zoomLevel | no | Number | Zoom level of the map view. | false | |
| altitude | no | Number | Altitude of the camera in meters. Used only for map views in 3D mode. | false | |
| heading | no | Number | Heading of the camera in Radiant. Used only for map views in 3D mode. | false | |
| tilt | no | Number | Tilt of the camera in radians. Used only for map views in 3D mode. | false |
Example of a map view for 2D and 3D mode
#!json
"ansichten": {
"name": "translate#common:menu.views.name",
"icon": "bi-binoculars-fill",
"children": {
"view": {
"name": "translate#common:menu.views.view01",
"type": "viewpoint",
"icon": "bi-bullseye",
"center": [
564028.7954571751,
5934555.967867207
],
"zoomLevel": 7.456437968949651,
"altitude": 272.3469798217454,
"heading": -0.30858728378862876,
"tilt": 0.9321791580603296
}
}
}
Legend configuration options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Legend name. | false | |
| icon | no | String | "bi-lightbulb" | Legend icon. | false |
| showCollapseAllButton | no | Boolean | false | Option to en-/disable all legends. | false |
| showLegend | no | Boolean | false | Option to display the legend when starting the portal | false |
| sldVersion | no | String | "" | Defines the Styled Layer Descriptor version for the GetLegendGraphic requests, e.g.: "1.1.0" | false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | The name for the module in the menu. Overwritten when the user is logged in. | false | |
| icon | yes | String | The icon next to the login button in the menu. Will be changed when the user is logged in (see module store). | false |
{
"Portalconfig": {
"menu": {
"login": {
"name": "translate#common:modules.login.login",
"icon": "bi-door-open"
}
}
}
}
This is a menu tab typically containing links (staticlinks) to external information sources. It may also contain tools (tools).
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| children | no | children | Menu tab children configuration. | false |
List of tools (tools) or links (staticlinks) appearing in the menu tab info.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| staticlinks | no | staticlink[] | Configuration object creating links in the menu tab. | false |
Hier kÜnnen die Menßeinträge und deren Anordnung konfiguriert werden. Die Reihenfolge der Werkzeuge ergibt sich aus der Reihenfolge in der Config.json.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Name des Themenbaumes. | false | |
| icon | no | String | CSS Klasse des icons. | false | |
| isInitOpen | no | Boolean | false | Gibt an ob der Themenbaum initial geĂśffnet ist. | false |
| quickHelp | no | Boolean | false | Deprecated in the next major-release. Defines whether the QuickHelp feature is offered for the search bar. | false |
A folder object defined by a name, icon, and its children.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Folder's menu name. | false | |
| icon | yes | String | "bi-folder2-open" | CSS icon class shown in front of the folder name. | false |
| children | no | tool/staticlinks | Folder child elements. | false |
Example
{
"tools": {
"name": "Tools",
"icon": "bi-tools",
"children": {
"draw": {
"name": "Draw / Write",
"icon": "bi-lightbulb"
}
}
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| children | no | children | Tool configuration. | false |
List of all configurable tools. Each tool inherits the properties of tool and can (or must, respectively) provide the defined attributes as mentioned in that definition. Alternatively, also the paths Portalconfig.menu.info, Portalconfig.menu.simulation or Portalconfig.menu.utilities can be used to hold tool configs.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| addWMS | no | addWMS | This tool allows loading specific WMS layers. This is done by providing a URL. All the service's layers are retrieved and offered in the layer tree in section "External technical data". Using this tool is only compatible with the treeType "custom" or "default". |
true | |
| bufferAnalysis | no | bufferAnalysis | This buffer analysis allows the selection of a source layer, a buffer radius and a target layer. The chosen buffer radius will then be shown around features of the selected source layer. At the moment a target layer is selected, only the features of this layer will be shown, if they are outside the buffer radii. It is also possible to invert the result. In this case the resulting features will only be show if they are inside the radii. If the portal's treeType is configured to be "custom", only layers active at tool opening time are available for comparison. | false | |
| compareFeatures | no | compareFeatures | Offers a comparison option for vector features. The getFeatureInfo (GFI) window will offer a clickable star symbol to put elements on the comparison list. Works when used together with the GFI theme Default. | false | |
| contact | no | contact | The contact form allows users to send messages to a configured mail address. For example, this may be used to allow users to submit errors and suggestions. | false | |
| coord | no | coord | Deprecated in 3.0.0. Please use supplyCoord instead. Tool to read coordinates on mouse click. When clicking once, the coordinates in the view are frozen and can be copied on clicking the displaying input elements to the clipboard, i.e. you can use them in another document/chat/mail/... with Strg+V. |
false | |
| coordToolkit | no | coordToolkit | Coordinate query: Tool to read coordinates on mouse click. When clicking once, the coordinates in the view are frozen and can be copied on clicking the displaying input elements to the clipboard, i.e. you can use them in another document/chat/mail/... with Strg+V. Coordinate search:search for coordinates with switchable coordinate reference system. The tool will zoom to any given coordinate and set a marker on it. The coordinate systems are obtained from config.js. |
false | |
| draw | no | draw | The draw tool allows painting points, lines, polygons, circles, double circles, and texts to the map. You may download these drawing as KML, GeoJSON, or GPX. | false | |
| extendedFilter | no | extendedFilter | Deprecated in 3.0.0. Please use "filter" instead. Dynamic filtering of WFS features. This requires an extendedFilter configuration on the WFS layer object. |
false | |
| featureLister | no | featureLister | Lists all features of a vector layer and highlights the feature over whose name the mouse is located. | false | |
| fileImport | no | fileImport | Import KML, GeoJSON, and GPX files with this tool. | false | |
| filter | no | filter | Configuration for an advanced filter for WFS vector layers. | false | |
| gfi | no | gfi | Via getFeatureInfo (GFI) information to arbitrary layers can be requested. For WMS, the data is fetched with a GetFeatureInfo request. Vector data (WFS, Sensor, GeoJSON, etc.) is already present in the client and will be shown from the already fetched information. | false | |
| kmlimport | no | kmlimport | Deprecated in 3.0.0. Please use fileImport instead. |
false | |
| layerClusterToggler | no | layerClusterToggler | This tool allows a cluster layers to be active and deactive together. | false | |
| layerSlider | no | layerSlider | The layerSlider tool allows showing arbitrary services in order. This can e.g. be used to show aerial footage from multiple years in succession. | false | |
| measure | no | measure | Allows measuring areas and distances in the units m/km/nm resp. m²/ha/km². | false | |
| modeler3D | no | measure | Allows importing 3D models in .gltf, .dae, .obj formats and drawing extrudable 3D polygons. | false | |
| parcelSearch | no | parcelSearch | Deprecated in the next major release. Please use wfsSearch instead. The parcel search tool allows searching for parcels by district and parcel number. Many German administrative units feature a tripartite order, hence the tool offers searching by "Gemarkung" (district), "Flur" (parcel) (not used in Hamburg), and "FlurstĂźck" (literally "parcel piece"). |
false | |
| no | Printing module that can be used to export the map's current view as PDF. | false | |||
| routing | no | routing | Routing module to create routes and isochrones. | false | |
| saveSelection | no | saveSelection | Tool that allows saving the 2D map's current state as sharable URL. This will list all currently visible layers in order, transparency, and visibility, as well as saving the center coordinate. | false | |
| scaleSwitcher | no | scaleSwitcher | Tool that allows changing the map's current scale. | false | |
| searchByCoord | no | searchByCoord | Deprecated in 3.0.0. Please use "coordToolkit" instead. Coordinate search with switchable coordinate reference system. The tool will zoom to any given coordinate and set a marker on it. | false | |
| selectFeatures | no | selectFeatures | Allows selecting a set of vector features by letting the user draw a box on the map. Features in that box will be displayed with GFI information. | false | |
| shadow | no | shadow | Configuration object for the 3D mode shadow time. | false | |
| styleVT | no | styleVT | Style selection for VT services. Allows switching between styles of a Vector Tile Layer that provides multiple stylings via the services.json file. |
false | |
| supplyCoord | no | supplyCoord | Deprecated in 3.0.0. Please use "coordToolkit" instead. Tool to read coordinates on mouse click. When clicking once, the coordinates in the view are frozen and can be copied on clicking the displaying input elements to the clipboard, i.e. you can use them in another document/chat/mail/... with Strg+V. |
false | |
| resetTree | no | resetTree | Tool to reset tree. Clicking on Tool name in the menu under Tools resets the tree. | false | |
| wfsFeatureFilter | no | wfsFeatureFilter | Deprecated in 3.0.0. Please use filter instead. Filters WFS features. This required configuring "filterOptions" on the WFS layer object. |
false | |
| wfsSearch | no | wfsSearch | Makes it possible to create a form to query WFS layers using filters. It is possible to either use a stored query (WFS@2.0.0) or define the query using the defined parameters (WFS@1.1.0). | false | |
| wfst | no | wfst | WFS-T module to visualize, create, update and delete features. | false |
A tool's attribute key defines which tool is loaded. Each tool provides at least the following attributes. To see further configuration options, please visit the tools section.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| active | no | Boolean | false | Whether the tool is open initially. | false |
| icon | no | String | CSS icon class. Icon is shown before the tool name. | false | |
| isVisibleInMenu | no | Boolean | true | If true, the tool is listed in the menu. | false |
| keepOpen | no | Boolean/String/String[] | false | Whether the tool remains open parallel to other tools. Only works if it is used for one tool and if tool is rendered to sidebar, other tools should be rendered to window. | false |
| name | yes | String | Name displayed in the menu. | false | |
| onlyDesktop | no | Boolean | false | Whether the tool should only be visible in desktop mode. | false |
| renderToWindow | no | Boolean | true | Whether the tool should be displayed in the movable widget element. In mobile mode, the window is always used. | false |
| resizableWindow | no | Boolean | false | Whether the tool window can be minimized/restored. | false |
Example
{
"draw": {
"name": "Draw / Write",
"icon": "bi-lightbulb"
}
}
Displays information to a clicked feature by firing a GetFeatureInfo or GetFeature request, respectively using the loaded data on vector layers.
On all GFI request types except directly fetching HTML, which is done by using "text/html" as "infoFormat" on a WMS, the "|" character is interpreted as linebreak. You may also use "\r\n" or "\n".
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Name displayed in the menu. | false | |
| centerMapToClickPoint | no | Boolean | false | If true, centers any clicked feature on the map. Only relevant if the desktopType attribute is "detached". |
false |
| icon | no | String | "bi-info-circle-fill" | CSS icon class. Icon is shown before the tool name. | false |
| active | no | Boolean | true | Whether GFI is active initially. | false |
| desktopType | no | String | "detached" | Used to choose a GFI template in desktop mode. If using "attached", the GFI will be positioned next to the feature. Using "detached" will place a marker on the feature and create the GFI window to the right of the map. | false |
| coloredHighlighting3D | no | coloredHighlighting3D | Rule definition to override the highlighting of clicked 3D tiles. | false | |
| highlightVectorRules | no | highlightVectorRules | Rule definition to override the styling of clicked vector data. | false | |
| hideMapMarkerOnVectorHighlight | no | Boolean | false | If set to true, the mapmarker won't be shown on vector highlighting. Only applies for the DetachedTemplate | false |
Examples
{
"gfi":{
"name": "Request information",
"icon": "bi-info-circle-fill",
"active": true,
"coloredHighlighting3D": {
"enabled": true,
"color": "GREEN"
},
"highlightVectorRules": {
"fill": {
"color": [215, 102, 41, 0.9]
},
"image": {
"scale": 1.5
},
"stroke": {
"width": 4
},
"text": {
"scale": 2
}
},
"hideMapMarkerOnVectorHighlight": true
}
}
{
"gfi": {
"name": "Request information",
"icon": "bi-info-circle-fill",
"active": true
}
}
Highlight Setting of 3D Tiles. If e.g. a building is selected by left mouse click, it will be highlighted in the given color. For color configuration see Color-documentation
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| enabled | no | Boolean | true | False if coloredHighlighting3D is disabled. | false |
| color | no | String/String[] | "RED" | Color can be configured as Array or Cesium.Color (definition e.g "GREEN" for Cesium.Color.GREEN) | false |
Example
// Example with Array
coloredHighlighting3D: {
"enabled": true,
"color": [0, 255, 0, 255]
}
// Example with Cesium.Color
coloredHighlighting3D: {
"enabled": true,
"color": "GREEN"
}
Configuration list to overwrite vector styles on gfi requests. Hint: highlighting only works if there is a styleId in config.json configured for the layer.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fill | no | fill | Settable field: color |
false | |
| image | no | image | Settable field: scale |
false | |
| stroke | no | stroke | Settable field: width |
false | |
| text | no | text | Settable field: scale |
false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | Float[] | [255, 255, 255, 0.5] | RGBA value | false |
{
"fill": { "color": [215, 102, 41, 0.9] }
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| scale | no | Float | 1 | Scale number | false |
{
"image": { "scale": 1.5 }
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| width | no | Integer | 1 | Stroke line width | false |
| color | no | Float[] | [255, 255, 255, 0.5] | RGBA value | false |
{
"stroke": { "width": 4, "color": [215, 102, 41, 0.9] }
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| scale | no | Float | 1 | Text scale number | false |
{
"text": { "scale": 2 }
}
The filter tool offers a range of options to filter vector data from WFS, OAF, GeoJSON, SensorThingsAPI and VectorTiles services.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| layerSelectorVisible | no | Boolean | true | To display a selector for the layers. Put to false to show without selector. |
false |
| multiLayerSelector | no | Boolean | true | If layerSelectorVisible true, wether one can open multiple sections of the selector at the same time. | false |
| liveZoomToFeatures | no | Boolean | true | Defines whether the filter immediately zooms to filter results. | false |
| geometrySelectorOptions | no | filterGeometrySelector[] | false | Options for an additional tool for filtering within a self-drawn area. If you use this tool in conjunction with external filtering (external: true), please remember to configure your layer filter with geometryName. |
false |
| minScale | no | Integer | 5000 | Minimum zoom level the filter zooms in when displaying filter results. | false |
| layers | no | filterLayer[] | [] | Configuration of layers to be filtered. Can be an array of plain layer ids also - if so the layer and all snippets are identified automatically. | false |
| layerGroups | no | filterLayerGroups[] | [] | Configuration of the related layers to be filtered. | false |
| saveTo | no | String | "void" | If set to "url", the current filter setting is saved in the URL. This allows the filter setting to be bookmarked. | false |
Example
The following example uses only a layer id to generate the filter automatically.
{
"filter": {
"active": false,
"name": "Filter",
"icon": "bi-funnel-fill",
"renderToWindow": false,
"deactivateGFI": false,
"layerSelectorVisible": false,
"geometrySelectorOptions": {
"visible": true
},
"layerGroups": [
{
"title": "GRUPPE 1",
"layers": [
{
"layerId": "47"
}
]
}
],
"layers": [
{
"layerId": "8712"
}
]
}
}
An additional selection appears above the filter where a geometry can be selected and drawn on the map. The filter filters only in the selected area.
If you use this tool in conjunction with external filtering (external: true), please remember to configure your layer filter with geometryName.
| Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
|---|---|---|---|---|---|
| visible | yes | Boolean | true | Activates the geometry selector. | false |
| geometries | no | String[] | ["Polygon", "Rectangle", "Circle", "LineString"] | The selectable geometries and their order. | false |
| invertGeometry | no | Boolean | true | true: The geometry is transparent, the outer area is displayed as a shadow. false: The fill specifications apply to the geometry itself. | false |
| fillColor | no | String | "rgba(0, 0, 0, 0.33)" | The fill color of the outer area (or geometry if invertGeometry = false). |
false |
| strokeColor | no | String | "rgba(0, 0, 0, 1)" | The color of the border of the geometry. | false |
| strokeWidth | no | Number | 1 | The thickness of the border of the geometry. | false |
| defaultBuffer | no | Number | 20 | The geometry "LineString" is given a buffer (in meters) to make the LineString a "tube". This is the default distance from the center to the edge in meters. | false |
| circleSides | no | Number | 256 | The geometry "Circle" is converted to a polygon for technical reasons. This is the number of polygon points of the resulting geometry. | false |
| additionalGeometries | no | Boolean | false | Geometries from a layer can additionally be added to the filter by the id. In that case, an attribute for the name of the geometry must also be specified. | false |
Example
Example of the minimal configuration of the filterGeometrySelector.
{
"visible": true
}
Example
Example of a complete configuration with the default settings of the filterGeometrySelector.
{
"visible": true,
"circleSides": 256,
"defaultBuffer": 20,
"geometries": ["Polygon", "Rectangle", "Circle", "LineString"],
"invertGeometry": true,
"fillColor": "rgba(0, 0, 0, 0.33)",
"strokeColor": "rgba(0, 0, 0, 1)",
"strokeWidth": 1,
"additionalGeometries": [
{
"layerId": "1692",
"attrNameForTitle": "bezirk_name"
}
]
}
Example
Example of a completely changed configuration of the filterGeometrySelector.
{
"visible": true,
"circleSides": 32,
"defaultBuffer": 60,
"geometries": ["LineString", "Rectangle", "Circle", "Polygon"],
"invertGeometry": false,
"fillColor": "rgba(0, 0, 200, 0.1)",
"strokeColor": "rgba(255, 0, 0, 1)",
"strokeWidth": 2
}
An object to define a layer to filter with.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| layerId | no | String | The layer id of the layer to filter. Must be configured in the Themenconfig. |
false | |
| title | no | String | The title to use for the selector (if layerSelectorVisible true). Can be a translation key also. If not set, the layerId will be used by default. | false | |
| description | no | String | "" | A description of the layer, displayed when the selector is opened or no layerSelectorVisible is set to false. Can be a translation key also. |
false |
| shortDescription | no | String | "" | The shorter version of the description, displayed under the selector title only if layerSelectorVisible is true and the selector is closed. Can be a translation key also. |
false |
| active | no | Boolean | false | Set to true to let the layer selector be initialy opened - only if layerSelectorVisible is set to true. If multiLayerSelector is set to false and more than one filter layer has set active to true, the last filter layer with active true is initialy opened. |
false |
| resetLayer | no | Boolean | false | If true it will change the reset button to a button which resets the whole layer and ignores the prechecked values. Will be ignored if clearAll is set to true. Furthermore, the parameter should not be configured in conjunction with a low paging number, otherwise the complete layer will be displayed on the map only very slowly and delayed when resetting. |
false |
| strategy | no | String | There are two filter strategies: passive - a filter button is used. And active - the filter will be triggered immediately by any choice made. Passive strategy is used by default. |
false | |
| searchInMapExtent | no | Boolean | false | Set to true to activate a generic checkbox, where you can set the filtering to only filter in current browser extent. If the extent checkbox is checked, automatic zooming is disabled. Make sure to set loadingStrategy to all to avoid weird effects when zooming out after filtering in extent. |
false |
| searchInMapExtentInfo | no | Boolean | true | A little icon is shown right hand side of the checkbox. Clicking the icon, a standard description is shown. Set to false to disable this feature. Set to a individual text to use an own description or use a translation key. |
false |
| searchInMapExtentProactive | no | Boolean | true | The checkbox for filtering in the browser extent triggers direct filtering in the current browser extent under strategy: active. This can be disabled by setting searchInMapExtentProactive: false. |
false |
| searchInMapExtentPreselected | no | Boolean | false | The checkbox for filtering in the browser extent is initially selected if searchInMapExtentPreselected: true is set. |
false |
| showHits | no | Boolean | true | After filtering, the hits are displayed. Set to false to not show the hits. |
false |
| clearAll | no | Boolean | false | After clicking button Reset all, all the features will be shown. Set to true to clear all the features after clicking Reselt all button. |
false |
| wmsRefId | no | String/String[] | "" | If the layer is filtered, the WMS layer with wmsRefId will be invisible and deactivated from Tree. After resetting the layer, the WMS layer will be activated and visible again. |
false |
| snippetTags | no | Boolean | true | After filtering the current setting is displayed as tags. Set to false to turn of this feature. |
false |
| labelFilterButton | no | String | "common:modules.tools.filter.filterButton" | If strategy is set to passive only: The text of the filter button. Can be a translation key. |
false |
| download | no | Boolean | "" | Enter true for a file here to activate the download of the data filtered on this layer. A download area will appear at the end of the filter. For VectorTiles, only CSV download works. | false |
| paging | no | Number | 1000 | The filter will load features into the map in chunks. Paging is the chunk size. If the chunk size is set too low, the filtering will be slowed down. Set the chunk size too high, the loading of the chunk will slow the filtering down. Try it out to find your fastes setup. | false |
| extern | no | Boolean | false | When set to true, filtering is done on the server side. Useful for big sets of data that can't be loaded into the browser at once. Remember to set the isNeverVisibleInTree flag of the layer to true to avoid loading of the whole data set by user click on its entry in the tree. |
false |
| geometryName | no | String | "" | Only for extern true in connection with filtering within polygons: The geometry name of the features to be able to detect an intersection. |
false |
| filterButtonDisabled | no | Boolean | false | Only for strategy passive: Disable the filter button while nothing is selected. |
false |
| snippets | no | snippets[] | [] | Configuration of snippets to adjust the filtering. Can be a minimalistic array of attribute names. Can be left empty to use the automatic identification of all snippets possible. | false |
| filterOnMove | no | Boolean | If it is true, the layer will be filtered dynamically after the map moves. Only works with multiLayerSelector: false. With this combination the filter is triggerd when the accordeon will be opened. |
false | |
| minZoom | no | Number | The minimum zoom level for current filter, if current zoom level is smaller than the minimum zoom level, the current filter will be deactivated. | false | |
| maxZoom | no | Number | The maximum zoom level for current filter, if current zoom level is bigger than the maximum zoom level, the current filter will be deactivated. | false |
Example
In this example one snippet is set with only an attrName. The snippet type is detected automatically. See filterLayerSnippets for the advanced configuration of snippets.
{
"layerId": "8712",
"title": "Schools",
"strategy": "active",
"searchInMapExtent": true,
"searchInMapExtentInfo": true,
"showHits": true,
"clearAll": false,
"wmsRefId": "21066",
"shortDescription": "School master data and pupil numbers of Hamburg schools",
"description": "School master data and pupil numbers of Hamburg schools",
"snippetTags": true,
"paging": 100,
"filterOnMove": false,
"minZoom": 7,
"maxZoom": 14,
"snippets": [
{
"attrName": "rebbz_homepage"
}
]
}
An object to define a group layer to filter with.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | yes | String | The title to use for the group layer (if layerSelectorVisible true). Can be a translation key also. | false | |
| layers | no | String | [] | Configuration of layers to be filtered. Can be an array of plain layer ids also - if so the layer and all snippets are identified automatically. The type of layers is filterLayer, but here it was defined as string to avoid repetitive definitions within layerGroups. | false |
Example
layerGroups defines related layers. Each group has a title and a list of layers. These are displayed together in the filter.
{
"layerGroups": [
{
"title": "GRUPPE 1",
"layers": [
{
"layerId": "47"
},
{
"layerId": "7315"
}
]
},
{
"title": "GRUPPE 2",
"layers": [
{
"layerId": "5105"
}
]
}
]
}
An object defining a single snippet.
Note: Time-related snippets (date and dateRange) can only be operated in external mode or as a fixed rule (visible: false) if their counterpart at the WFS service is in a correct time format (ISO8601: YYYY-MM-DD).
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| attrName | yes | String | The attribute name used for filtering. Is to be an array if dateRange, sliderRange or featureInfo is used (see examples). |
false | |
| title | no | String | The title of the snippet. Can be a translation key. If not set, the title is taken from the gfiAttributes and if they are not present, then the attrName is used. Can be set to false to disable the display of a title. Can be set to true to force the display of the attrName. |
false | |
| info | no | String | An info text or translation key. If set, a little icon will shown right hand side of the snippet. Can be set to true to display a default text for the snippet type. |
false | |
| type | no | String | The type of this snippet. Can be one of the following: checkbox, dropdown, text, slider, sliderRange, date, dateRange. Will be indentified automatically if left away, following a data type rule: boolean becomes checkbox, string becomes dropdown, number becomes sliderRange, unknown becomes text. |
false | |
| subTitles | no | String[] | [] | Only for snippet type dateRange: The additional from and to labels to be displayed above the calendar fields. As an array with two elements (e.g. ["from", "to"]). Set subTitles to true to use the values of attrName, to false to not display labels. |
false |
| operatorForAttrName | no | String | "AND" | By setting this parameter to OR in conjunction with attrName as an array, it is possible to filter over various attrNames with a logical OR. |
false |
| operator | no | String | The operator to connect the set value to the value in the database. Can be one of the following - depending if it makes sense for the type and is available for the used interface: INTERSECTS, BETWEEN, EQ, IN, STARTSWITH, ENDSWITH, NE, GT, GE, LT, LE. If left away, defaults are: boolean becomes EQ, string becomes EQ, number becomes BETWEEN, unknown becomes EQ. |
false | |
| visible | no | Boolean | true | The snippet is visible. Set to false to hide the snippet: This gives you the power to use prechecked as an always rule to force filtering of a fixed attrName and value. |
false |
| prechecked | no | String[]/String | Initially checked value. For dropdown, sliderRange and dateRange an array of values, for checkbox a boolean, for slider a number, for text a string and for date a string (following the set format). If visible is set to false, value set by prechecked are forced for filtering. For dropdown with multiselect: If prechecked is set to all, all available values will be selected initially. |
false | |
| value | no | String[] | If omitted, values are determined automatically. If set for dropdown: The values to be selectable in the list. If set for checkbox: Instead of boolean values, the specified values for the true and false states should be taken (e.g. ["Yes", "No"]). For dateRange: start and end date for date picker and/or slider. For sliderRange: the min and max values. |
false | |
| format | no | String | "YYYY-MM-DD" | For type date and dateRange only: The format the date is stored in the database. Leave empty for ISO8601. If the format differs from ISO8601, the snippet must be visible (visible: true) and the filter must work in external: false mode. Can be specified as an array of two different formats if an array of different attribute names is also specified as attrName and the date formats of the attribute values differ. |
false |
| timeouts | no | timeouts | Timeouts to configure for better user experience. | false | |
| minValue | no | Number | For type date and slider only: The minimum value as number or date string. Leave empty for automatic identification of boundaries. |
false | |
| maxValue | no | Number | For type date and slider only: The maximum value as number or date string. Leave empty for automatic identification of boundaries. |
false | |
| decimalPlaces | no | Number | 0 | Defines decimal places for the step for slider and sliderRange |
false |
| display | no | String | "default" | If snippet type dropdown: If set to list, a list is displayed instead of a dropdown box. If snippet type dateRange: If set to datepicker, only the selection via calendar will be displayed, if set to slider, only the slider will be displayed, if set to all, datepicker and slider will be displayed. |
false |
| autoInit | no | Boolean | true | For type dropdown only: If set to false: Turns off the automatic identification of value (in case of dropdown) or minValue/maxValue (in case of slider(Range) and date(Range). |
false |
| placeholder | no | String | "" | For type dropdown only: The placeholder to use. Can be a translation key. |
false |
| multiselect | no | Boolean | true | For type dropdown only: Selection of multiple entries. Set to false to switch to single select. |
false |
| addSelectAll | no | Boolean | false | For type dropdown with multiselect: true only: Adds an additional entry on top of the list to select/deselect all entries. |
false |
| optionsLimit | no | Number | 20000 | For type dropdown only: Adds a limit of options in dropdown list. |
false |
| localeCompareParams | no | localeCompareParams | For type Snippet-Typ dropdown only: The sorting of the dropdown boxes can be adjusted according to your own wishes via this parameter. |
false | |
| delimiter | no | String | For type dropdown only: If feature attributes are themselfs again seperated by a delimiter to act as pseudo array, setting delimiter to the sign that seperates the terms, will result in the expected outcome. |
false | |
| renderIcons | no | String | "none" | For type dropdown with display: "list" only: If set to fromLegend icons will be placed left hand side of each entry. Icons are taken from legend. Use an object with attrNames as keys and imagePath as value {attrName: imagePath} to manually set images (see example). |
false |
| service | no | service | For the initial filling of a snippet (dropdown, date, slider) an alternative service can be used. This may increase the performance during initial loading. The default is the service of the configured filterLayer. | false | |
| children | no | children[] | [] | Child snippet configuration. | true |
| showAllValues | no | Boolean | For dropdown snippet type only: prevents hiding of unselected values when set to true. Can only be used in conjunction with prechecked: "all". |
false |
Example
Example for a text snippet. A input box with placeholder will be shown for filtering free text.
{
"title": "Description of school",
"attrName": "school_description",
"type": "text",
"operator": "IN",
"placeholder": "Search in description"
}
Example
Example for a checkbox snippet. A checkbox is shown to search for "Oui" in the database if checked. The checkbox is checked by default.
{
"title": "A l'option vĂŠgĂŠtalienne ?",
"attrName": "vegan_option",
"type": "checkbox",
"operator": "EQ",
"value": ["Oui", "Non"],
"prechecked": true
}
Example
Example for a dropdown snippet. A simple dropdown with single select and placeholder is used.
{
"title": "District",
"attrName": "city_district",
"type": "dropdown",
"multiselect": false,
"placeholder": "Choose a district"
}
Example
Example for a dropdown snippet. A dropdown with multiselect and select all option, manually set icons, info, fixed value and prechecked. Displayed as list.
{
"title": "District",
"attrName": "city_district",
"info": "Some districts of London.",
"type": "dropdown",
"display": "list",
"multiselect": true,
"optionsLimit": 20000,
"addSelectAll": true,
"value": [
"Whitehall and Westminster",
"Piccadilly and St James's",
"Soho and Trafalgar Square",
"Covent Garden and Strand",
"Bloomsbury and Fitzrovia"
],
"prechecked": [
"Piccadilly and St James's",
"Soho and Trafalgar Square"
],
"renderIcons": {
"Whitehall and Westminster": "https://example.com/img/whitehall.png",
"Piccadilly and St James's": "https://example.com/img/piccadilly.png",
"Soho and Trafalgar Square": "https://example.com/img/soho.png",
"Covent Garden and Strand": "https://example.com/img/covent.png",
"Bloomsbury and Fitzrovia": "https://example.com/img/bloomsbury.png"
},
"placeholder": "Choose a district"
}
Example
Example of a dropdown snippet where all available values are initially selected.
{
"title": "District",
"attrName": "city_district",
"type": "dropdown",
"multiselect": true,
"prechecked": "all",
"placeholder": "Choose a district"
}
Example
Example for a slider snippet. A slider for a single digit and a less or equals operator. With minValue and maxValue to avoid automatic identification of boundaries.
{
"title": "First classes",
"attrName": "number_of_first_classes",
"type": "slider",
"operator": "LE",
"minValue": 1,
"maxValue": 5,
"decimalPlaces": 2
}
Example
Example for a slider range snippet. A slider range without minValue and maxValue to use automatic identification of boundaries.
{
"title": "Angle d'inclinaison du toit du garage",
"attrName": "angle",
"type": "sliderRange",
"operator": "BETWEEN",
"decimalPlaces": 2
}
Example
Example for a slider range snippet. A slider range with two attrName for min and max. With minValue and max Value to avoid automatic identification of boundaries.
{
"title": "Angle d'inclinaison du toit du garage",
"attrName": ["angle_minimal", "angle_maximal"],
"type": "sliderRange",
"operator": "BETWEEN",
"value": [0, 90]
}
Example
Example for a date snippet. A date picker for a single date with minValue and maxValue to avoid automatic identification of boundaries.
{
"title": "Birthday",
"attrName": "birthday",
"type": "date",
"format": "YYYY-MM-DD",
"minValue": "2000-01-01",
"maxValue": "2022-12-31"
}
Example
Example for a date range snippet. A date range with two attrName for min and max. With a special date format. Uses intersects operator, without minValue and maxValue to use automatic identification of boundaries.
{
"title": "Bauzeit der Autobahnen",
"attrName": ["autobahn_baubeginn", "autobahn_bauende"],
"type": "dateRange",
"operator": "INTERSECTS",
"format": "DD.MM.YY"
}
Example
Example of a DateRange snippet. With the slider turned off (display: datepicker). With two attribute names for min and max values, two subTitles different from the attrName and different date formats. Additionally a period is preset. Please note that the format of the preset values is based on format.
{
"type": "dateRange",
"title": "Auslandssemester",
"subTitles": ["Start der Reise", "End of Journey"],
"attrName": ["start", "end"],
"format": ["DD.MM.YYYY", "YYYY/DD/MM"],
"prechecked": ["01.08.2022", "2023/06/31"],
"display": "datepicker"
}
Example
Example of a DateRange snippet. With time points preset via prechecked and min and max values preset via value.
{
"type": "dateRange",
"title": "Aktive Baustellen im ...",
"subTitles": ["Zeitraum von", "Zeitraum bis"],
"attrName": ["baubeginn", "bauende"],
"format": "DD.MM.YYYY",
"value": ["01.01.2019", "31.12.2034"],
"prechecked": ["07.07.2022", "25.02.2030"]
}
Example
Example for a feature info snippet. Displays all values of the configured attribute names(attrName) of all filtered features in the filter.
{
"title": "Steckbrief",
"attrName": ["tierartengruppe", "deutscher_artname", "artname", "rote_liste_d", "rote_liste_hh"],
"type": "featureInfo"
}
Example
Example for a slider range snippet of SensorThingsAPI (STA).
{
"type": "sliderRange",
"title": "Anzahl der Fahrräder",
"attrName": "@Datastreams.0.Observations.0.result"
}
Example
Example of a snippet that wants to filter over multiple attributes at once and display the features that match the set value for one of the specified attributes.
{
"attrName": ["xpplanname", "rechtscharakterwert"],
"operatorForAttrName": "OR",
"type": "dropdown",
}
Child snippet configuration. The child snippets are configured in the same way as "normal" snippets. See filterLayerSnippets.
The parent-child relationship can be used for the following use case:
If a dataset is too large, preselecting an attribute can reduce the amount of subsequent filtering.
(Example: animal species group mammals as preselection would significantly reduce the data space of all animals).
The children parameter instructs a snippet not to trigger any filtering itself, but to "feed" only its child snippets configured under children with the data resulting from its setting.
(Example: mammals will shrink the resulting animal species to an acceptable range).
Only the selection in one of the child snippets (example: "blue whale") finally performs the filtering.
In case of using parent-child relationships, we recommend setting snippetTags to false.
Multi-dimensional nesting (grandparent, parent, child) is not currently provided.
Example
Example of a dropdown snippet with parent-child relationship. The cityA and cityB dropdowns are initially not filled. Only when a district is selected do they fill with the cities of the selected district, but no filtering takes place on the map. Only the selection of a city finally initiates the filtering by the city name.
{
"title": "District",
"attrName": "city_district",
"type": "dropdown",
"multiselect": false,
"placeholder": "Choose a district",
"children": [
{
"type": "dropdown",
"attrName": "cityA",
"placeholder": "cityA"
},
{
"type": "dropdown",
"attrName": "cityB",
"placeholder": "cityB"
}
]
}
User experience can be improved with the adjustment of timeouts.
This is especially true for filters that work with strategy: active.
| Name | Required | Typ | Default | Description | Expert |
|---|---|---|---|---|---|
| input | no | Number | 1400 | For snippet typ sliderRange and slider only: The time in milliseconds that should elapse before filtering is triggered after entering numbers and characters into the input field. |
false |
| slider | no | Number | 800 | For snippet typ sliderRange, slider and dateRange only: The time in milliseconds that should elapse before filtering is triggered after the last change of the slider. |
false |
Example
An example of a sliderRange snippet with accelerated filtering after input into the input field or changing the slider.
{
"title": "Baustellen",
"attrName": ["baubeginn", "bauende"],
"type": "sliderRange",
"timeouts": {
"input": 800,
"slider": 400
}
}
An object that describes a service for a snippet. All service types that the filter supports can theoretically be used. The configuration depends on the type of service.
WFS
| Name | Required | Typ | Default | Description | Expert |
|---|---|---|---|---|---|
| type | yes | String | The type of service. | false | |
| url | yes | String | The service url. | false | |
| typename | yes | String | The feature type that will be loaded. Only for WFS | false | |
| collection | yes | String | The collection that will be loaded. Only for OAF | false |
Example
{
"type": "WFS",
"url": "https://qs-geodienste.hamburg.de/HH_WFS_verbreitungskarten_tiere",
"typename": "verbreitung_tiere_eindeutige_liste"
}
Example GeoJSON
{
"type": "GeoJSON",
"url": "../chartjs/charts_stadtteil.geojson"
}
Example OAF
{
"url": "https://api.hamburg.de/datasets/v1/schulen",
"collection" : "staatliche_schulen",
"type": "OAF"
}
A string or object that supply the parameters for util function localeCompare.
Example String
"localeCompareParams": "de"
Object
| Name | Required | Typ | Default | Description | Expert |
|---|---|---|---|---|---|
| locale | no | String | The locale code according ISO 3166 | false | |
| options | no | options | The custom options for sorting in localeCompare | false |
Example Object
{
"locale": "de",
"options": {
"ignorePunctuation": true
}
}
An object for custom control of the localeCompare function used to sort dropdown boxes, the documentation is: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
| Name | Required | Typ | Default | Description | Expert |
|---|---|---|---|---|---|
| ignorePunctuation | no | Boolean | false | Determines whether punctuation will be ignored. | false |
| sensitivity | no | String | "variant" | Determines whether string collation will be used. | false |
| numeric | no | Boolean | false | Determines whether numeric collation will be used | false |
Example
{
"ignorePunctuation": true
}
This tool allows comparing vector features which are provided by WFS(â) services.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| numberOfFeaturesToShow | no | Integer | 3 | Maximum amount of features selectable for comparison. | false |
| numberOfAttributesToShow | no | Integer | 12 | Maximum amount of attributes initially shown. If more attributes are available, they can be shown and hidden by clicking a button. | false |
Example
{
"compareFeatures": {
"name": "Vergleichsliste",
"icon": "bi-list-ul",
"numberOfFeaturesToShow": 5,
"numberOfAttributesToShow": 10
}
}
Parcel search.
This requires a backend!
Depending on your configuration, special stored queries of a WFS(â) are requested with given parameters.
Example request: https://geodienste.hamburg.de/HH_WFS_DOG?service=WFS&request=GetFeature&version=2.0.0&&StoredQuery_ID=Flurstueck&gemarkung=0601&flurstuecksnummer=00011
Deprecated in the next major release. Please use wfsSearch instead.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| serviceId | yes | String | Id of the service to request. Resolved using the rest-services.json file. | false | |
| storedQueryId | yes | String | Id of the stored query to use. | true | |
| configJSON | yes | String | Path to the configuration file holding districts. Example file. | false | |
| parcelDenominator | no | Boolean | false | Flag defining whether parcel denominators are used as a level. (Hamburg special: As a city state, Hamburg has no parcel denominators.) | false |
| styleId | no | String | Allows choosing a style id from the style.json file to overwrite the map marker default style. |
false | |
| zoomLevel | no | Number | 7 | Defines to which zoom level the tool should zoom. | false |
Example
{
"parcelSearch": {
"name": "FlurstĂźckssuche",
"icon": "bi-search",
"serviceId": "6",
"storedQueryID": "Flurstueck",
"configJSON": "https://geodienste.hamburg.de/lgv-config/gemarkungen_hh.json",
"parcelDenominator": false,
"styleId": "flaecheninfo"
}
}
Tool to save the current map content as a url.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| simpleMap | no | Boolean | false | Adds a SimpleMap URL to the component. When calling this URL, the menu bar, layer tree, and map controls are deactivated. | false |
Tool that allows changing the map's current scale.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| isDisplayInFooter | no | Boolean | false | Activates the scale selection also in the footer (note: correlation with the ScaleLine parameter in the config.js). | false |
Reset the theme tree.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| resetTree | no | Boolean | false | Tool to reset tree. Click on the tool name in the menu under Tools to reset the tree. | false |
Coordinate search.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| zoomLevel | no | Number | 7 | Defines to which zoom level the tool should zoom. | false |
Example
{
"searchByCoord": {
"name": "FlurstĂźckssuche",
"icon": "bi-search",
"zoomLevel": 7
}
}
Print module, configurable for 2 print services: High Resolution PlotService and MapfishPrint 3. Printing vector tile layers is not supported, since the print services themselves do not support it. Should users try to print such layers, a warning will be shown.
This requires a backend!
A Mapfish-Print3, or HighResolutionPlotService is required as backend.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| mapfishServiceId | yes | String | Deprecated in 3.0.0. Print service id. Resolved using the rest-services.json file. | false | |
| printServiceId | yes | String | Print service id. Resolved using the rest-services.json file. | false | |
| printService | no | String | "mapfish" | Flag determining which print service is in use. plotservice activates the High Resolution PlotService, if the parameter is not set, Mapfish 3 is used. |
false |
| printAppCapabilities | no | String | "capabilities.json" | path for the configuration of the print service | false |
| currentLayoutName | no | String | "" | Defines which layout is the default layout on opening the print tool, e.g. "A4 portrait format". If the given layout is not available oder none is provided, the first layout mentioned in the Capabilities is used. | false |
| printAppId | no | String | "master" | Print service print app id. This tells the print service which template(s) to use. | false |
| filename | no | String | "report" | Print result file name. | false |
| title | no | String | "PrintResult" | Document title appearing as header. | false |
| titleLength | no | Number | 45 | The length of the title characters. | false |
| isLegendSelected | no | Boolean | false | Defines whether a checkbox to print the legend is offered. Only used for print services supporting legend printing (Mapfish Print 3). | false |
| legendText | no | String | "Mit Legende" | Descriptive text for the legend print checkbox. | false |
| dpiForPdf | no | Number | 200 | DPI resolution for the map in the PDF file. | false |
| capabilitiesFilter | no | capabilitiesFilter | Filter for the response of the configured print service. Possible keys are layouts and outputFormats. | false | |
| defaultCapabilitiesFilter | no | capabilitiesFilter | If there is no key set in capabilitiesFilter, the key from this object is taken. | false | |
| useProxy | no | Boolean | false | Deprecated in the next major release. GDI-DE recommends setting CORS headers on the required services instead of using proxies. Defines whether a service URL should be requested via proxy. For this, dots in the URL are replaced with underscores. | false |
| printMapMarker | no | Boolean | false | If set to true, map markers visible in the print image section will be printed. They may obstruct the view to interesting information. | false |
| overviewmapLayerId | no | String | Allows using a different layer for the overview map element. If no Id is specified, the first layer of the selected baselayer maps is used. | false | |
| layoutOrder | no | String[] | Defines the order in which the layouts should be shown in the dropdown. Only to be used in combination with the print service 'plotservice'. | false | |
| isPrintDrawnGeoms | no | Boolean | false | Flag if it's possible to print geometries created by the Draw or Measure tool. Only to be used in combination with the print service 'plotservice'. | false |
| showInvisibleLayerInfo | no | Boolean | true | Defines whether an infobox is shown when layers will not be printed because they are invisible due to scale. | false |
High Resolution PlotService example configuration
{
"print": {
"name": "Karte drucken",
"icon": "bi-printer-fill",
"mapfishServiceId": "123456",
"filename": "Print",
"title": "My Title",
"printService": "plotservice",
"printAppCapabilities": "info.json",
"version" : "HighResolutionPlotService",
"layoutOrder": [
"Default A4 hoch",
"Default A4 quer",
"Default A3 hoch",
"Default A3 quer",
]
}
}
MapfishPrint3 example configuration
{
"print": {
"name": "Karte drucken",
"icon": "bi-printer-fill",
"mapfishServiceId": "mapfish_printservice_id",
"printAppId": "mrh",
"filename": "Print",
"title": "Mein Titel"
}
}
List of layouts and formats that filters the response from the print service in the respective category.
| Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
|---|---|---|---|---|---|
| layouts | no | String[] | Array of layouts should shown in the UI. | false | |
| outputFormats | no | String[] | Array of formats should shown in the UI. | false |
Example capabilitiesFilter:
{
"capabilitiesFilter": {
"layouts": ["A4 Hochformat", "A3 Hochformat"],
"outputFormats": ["PDF"]
}
}
Module used to draw features on the map. This includes points, which may also be represented by symbols, and (double) circles, polygons, polylines, and text.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Tool name in the menu. | false | |
| iconList | no | icon[] | [{"id": "iconPoint", "type": "simple_point", "value": "simple_point"}, {"id": "yellow pin", "type": "image", "scale": 2, "value": "geo-fill-ylw.svg"}] | List of symbols the user may choose from to draw colored symbols or dots. Images may be used, too, as shown in the example. | false |
| drawSymbolSettings | no | drawSymbolSet | {"color": [55, 126, 184, 1], "opacity": 1} | Pre-configuration for symbol drawing. | false |
| addIconsOfActiveLayers | no | Boolean | false | Set this flag to true to be able to select the icons and symbols of all WFS layers activated in the topic tree as additional symbols besides the icons configured under drawSymbolSettings. |
false |
| drawLineSettings | no | drawLineSet | {"strokeWidth": 1, "opacityContour": 1, "colorContour": [0, 0, 0, 1]} | Pre-configuration for line drawing. | false |
| drawCurveSettings | no | drawCurveSet | {"strokeWidth": 1, "opacityContour": 1, "colorContour": [0, 0, 0, 1]} | Pre-configuration for freehand drawing. | false |
| drawAreaSettings | no | drawAreaSet | {"strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "opacityContour": 1} | Pre-configuration for area drawing. | false |
| drawCircleSettings | no | drawCircleSet | {"circleMethod": "interactive", "unit": "m", "circleRadius": null, "strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "opacityContour": 1, "tooltipStyle": {"fontSize": "16px", "paddingTop": "3px", "paddingLeft": "3px", "paddingRight": "3px", "backgroundColor": "rgba(255, 255, 255, .9)"}} | Pre-configuration for circle drawing. | false |
| drawDoubleCircleSettings | no | drawDoubleCircleSet | {"circleMethod": "defined", "unit": "m", "circleRadius": 0, "circleOuterRadius": 0, "strokeWidth": 1, "color": [55, 126, 184, 1], "opacity": 1, "colorContour": [0, 0, 0, 1], "outerColorContour": [0, 0, 0, 1], "opacityContour": 1} | Pre-configuration for double circle drawing. | false |
| writeTextSettings | no | writeTextSet | {"text": "", "fontSize": 10, "font": "Arial", "color": [55, 126, 184, 1], "opacity": 1} | Pre-configuration for text writing. | false |
| download | no | download | {"preSelectedFormat": "KML"} | Pre-configuration for download. | false |
| enableAttributesSelector | no | Boolean | false | Enables an button which toggles an edit section for custom attributes on the selected feature. | false |
| semicolonCSVDelimiter | no | Boolean | true | To decide if the semicolon is used as the delimiter for exported CSV file. | false |
Example
#!json
{
"draw": {
"name": "Draw / Write",
"icon": "bi-pencil-fill",
"iconList": [
{
"id": "iconPoint",
"type": "simple_point",
"value": "simple_point"
},
{
"id": "iconMeadow",
"type": "image",
"scale": 0.8,
"value": "meadow.png"
},
{
"id": "yellow pin",
"type": "image",
"scale": 2,
"value": "geo-fill-ylw.svg"
}
],
"drawDoubleCircleSettings": {
"circleRadius": 1500,
"circleOuterRadius": 3000,
"strokeWidth": 3,
"color": [55, 126, 184, 0],
"opacity": 0,
"colorContour": [228, 26, 28, 1],
"opacityContour": 1,
"tooltipStyle": {
"fontSize": "14px",
"paddingTop": "3px",
"paddingLeft": "3px",
"paddingRight": "3px",
"backgroundColor": "rgba(255, 255, 255, .9)"
}
}
"semicolonCSVDelimiter": true
}
}
Dot object consisting of text, type, and value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String | Symbol text displayed in the select menu. The id has to be defined in the locale file (usually common) as modules.tools.draw.iconList child. The following entry should begin with icon and contain a representative description. If the key is not found, the id will appear as string on the user interface. |
false | |
| caption | no | String | Deprecated in 3.0.0. Symbol text displayed in the select menu. Unlike id, not only the id itself, but the whole path (modules.tools.draw.iconList + id) has to be given. |
false | |
| type | yes | enum["image", "simple_point"] | Object type to be drawn. If image is chosen, the PNG or SVG file from the value path is drawn. By default, images are to be placed in the /img/tools/draw/ directory and should have a height and width of 96px to scale correctly. Alternatively, a working scale factor must be defined. The key simple_point will draw a simple point. |
false | |
| scale | no | number | Scale factor for images. | false | |
| value | yes | String | Value of the object to be drawn. If no path or URL is set, a file name is expected, and the config.js entry wfsImgPath is expected to be the file's location. |
false |
Example
{
"iconList": [
{
"id": "iconPoint",
"type": "simple_point",
"value": "simple_point"
},
{
"id": "iconMeadow",
"type": "image",
"scale": 0.8,
"value": "meadow.png"
},
{
"id": "yellow pin",
"type": "image",
"scale": 2,
"value": "geo-fill-ylw.svg"
}
]
}
Object to change the drawing tool's configured point symbol default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | yes | Number[] | [55, 126, 184, 1] | The pre-configured color of the symbol as RGB color. The alpha channel value is used for point coloring. | false |
| opacity | yes | Number | 1 | The pre-configured transparency of symbols, given in range [0..1] for point data. | false |
Example
{
"color": [55, 126, 184, 1],
"opacity": 1
}
Object to change the drawing tool's configured line default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| strokeWidth | yes | Number | 1 | Pre-configured stroke width of lines in pixels. | false |
| colorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured line color in RGBA. | false |
| opacityContour | yes | Number | 1 | Pre-configured line transparency in range [0..1]. | false |
Example
{
"strokeWidth": 1,
"opacityContour": 1,
"colorContour": [0, 0, 0, 1]
}
Object to change the drawing tool's configured freehand drawing default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| strokeWidth | yes | Number | 1 | Pre-configured stroke width of lines in pixels. | false |
| colorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured line color in RGBA. | false |
| opacityContour | yes | Number | 1 | Pre-configured line transparency in range [0..1]. | false |
Example
{
"strokeWidth": 1,
"opacityContour": 1,
"colorContour": [0, 0, 0, 1]
}
Object to change the drawing tool's configured area default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| strokeWidth | yes | Number | 1 | Pre-configured stroke width of area borders in pixels. | false |
| color | yes | Number[] | [55, 126, 184, 1] | Pre-configured area color in RGBA. | false |
| opacity | yes | Number | 1 | Pre-configured area transparency in range [0..1]. | false |
| colorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured area border color in RGBA. | false |
| opacityContour | yes | Number | 1 | Pre-configured area border transparency in range [0..1]. | false |
Example
{
"strokeWidth": 1,
"color": [55, 126, 184, 1],
"opacity": 1,
"colorContour": [0, 0, 0, 1],
"opacityContour": 1
}
Object to change the drawing tool's configured circle default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| circleMethod | yes | String | "interactive" | Pre-configured method of circle drawing. "interactive": freehand, "defined": by entering fixed values |
false |
| unit | yes | String | "m" | Pre-configured unit regarding the circle's Radius circleRadius when "defined" is chosen as circleMethod. |
false |
| circleRadius | yes | Number | 0 | Pre-configured circle Radius when "defined" is chosen as circleMethod. |
false |
| strokeWidth | yes | Number | 1 | Pre-configured stroke width of circle border in pixels. | false |
| color | yes | Number[] | [55, 126, 184, 1] | Pre-configured circle color in RGBA. | false |
| opacity | yes | Number | 1 | Pre-configured circle transparency in range [0..1]. | false |
| colorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured circle border color in RGBA. | false |
| opacityContour | yes | Number | 1 | Pre-configured circle border transparency in range [0..1]. | false |
| tooltipStyle | no | String | {} | Pre-configured style for tooltip. | false |
Example
#!json
{
"circleMethod": "interactive",
"unit": "m",
"circleRadius": 0,
"strokeWidth": 1,
"color": [55, 126, 184, 1],
"opacity": 1,
"colorContour": [0, 0, 0, 1],
"opacityContour": 1
}
Object to change the drawing tool's configured circle default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| circleMethod | yes | String | "defined" | Pre-configured method of circle drawing. "interactive": freehand, "defined": by entering fixed values |
false |
| unit | yes | String | "m" | Pre-configured unit regarding the circle's radius circleRadius and circleOuterRadius when "defined" is chosen as circleMethod. |
false |
| circleRadius | yes | Number | 0 | Pre-configured inner circle radius when "defined" is chosen as circleMethod. |
false |
| circleOuterRadius | yes | Number | 0 | Pre-configured outer circle radius when "defined" is chosen as circleMethod. |
false |
| strokeWidth | yes | Number | 1 | Pre-configured stroke width of circle border in pixels. | false |
| color | yes | Number[] | [55, 126, 184, 1] | Pre-configured circle color in RGBA. | false |
| opacity | yes | Number | 1 | Pre-configured double circle transparency in range [0..1]. | false |
| colorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured inner circle border color in RGBA. | false |
| outerColorContour | yes | Number[] | [0, 0, 0, 1] | Pre-configured outer circle border color in RGBA. | false |
| opacityContour | yes | Number | 1 | Pre-configured circle border transparency in range [0..1]. | false |
Example
{
"circleMethod": "defined",
"unit": "m",
"circleRadius": 0,
"circleOuterRadius": 0,
"strokeWidth": 1,
"color": [55, 126, 184, 1],
"opacity": 1,
"colorContour": [0, 0, 0, 1],
"opacityContour": 1
}
Object to change the drawing tool's configured text default value.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| text | yes | String | "" | Pre-configured text. | false |
| fontSize | yes | Number | 10 | Pre-configured font size. | false |
| font | yes | String | "Arial" | Pre-configured font. Restricted to "Arial", "Calibri", and "Times New Roman". |
false |
| color | yes | Number[] | [55, 126, 184, 1] | Pre-configured font color in RGBA. | false |
| opacity | yes | Number | 1 | Pre-configured font transparency in range [0..1]. | false |
Example
{
"text": "",
"fontSize": 10,
"font": "Arial",
"color": [55, 126, 184, 1],
"opacity": 1
}
Object to change the drawing tool's download preselected format. It should be one of "KML", "GEOJSON" and "GPX".
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| preSelectedFormat | no | enum["KML","GEOJSON","GPX"] | "KML" | Pre-configured pre-selected form. | false |
Example
{
"preSelectedFormat": "KML"
}
This module can display loaded vector data from WFS(â) layers in a table. The module receives the available layers from the map via the visible vector layers and shows them in the first tab. If an entry (layer) is selected in this tab, its LayerId is saved. Then, from the layer list, the selected layer is filtered and saved. As a reaction to that selection, the layer features are evaluated and listed in the second tab. Not all features, but at most the configured amount of features is initially loaded, and a button is shown that allows loading additional features to this table.
A hover event controls highlighting hovered features in the map. By clicking a feature, its attributes are shown completely in a third tab. In the future, WFS-T attributes should be editable here. The table also provides sort functionalities.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| maxFeatures | no | Integer | 20 | Amount of features to display initially. More features of the same amount can be revealed by clicking a button. | false |
| highlightVectorRulesPolygon | no | highlightVectorRulesPolygon | Specify the fill color and outline color and stroke width for highlighting the polygon features as well as a zoom parameter. | false | |
| highlightVectorRulesPointLine | no | highlightVectorRulesPointLine | Specify outline color and stroke width for highlighting lines and fill color and scale factor for highlighting points as well as a zoom parameter. | false |
Example
{
"featureLister": {
"name": "List",
"icon": "bi-list",
"maxFeatures": 10,
"highlightVectorRulesPolygon": {
"fill": {
"color": [255, 0, 255, 0.9]
},
"stroke": {
"width": 4,
"color": [0, 0, 204, 0.9]
},
"zoomLevel": 5
},
"highlightVectorRulesPointLine": {
"fill": {
"color": [255, 0, 255, 0.9]
},
"stroke": {
"width": 8,
"color": [255, 0, 255, 0.9]
},
"image": {
"scale": 2
},
"zoomLevel": 5
}
}
}
Specify the fill color and outline color and stroke width for highlighting the polygon features as well as a zoom level.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fill | no | fill | Possible setting: color | false | |
| stroke | no | stroke | Possible setting: width | false | |
| zoomLevel | no | Integer | 7 | Zoom level, possible setting: 0-9 | false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"fill": { "color": [215, 102, 41, 0.9] }
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| width | no | Integer | 1 | Possible setting: width | false |
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"stroke": { "width": 4 , "color": [255, 0, 255, 0.9]}
Specify outline color and stroke width for highlighting lines and fill color and scale factor for highlighting points. Also a zoom level.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fill | no | fill | Possible setting: color | false | |
| stroke | no | stroke | Possible setting: width | false | |
| image | no | image | Possible setting: scale | false | |
| zoomLevel | no | Integer | 7 | Zoom level, possible setting: 0-9 | false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"fill": { "color": [215, 102, 41, 0.9] }
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| width | no | Integer | 1 | Possible setting: width | false |
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"stroke": { "width": 4 , "color": [255, 0, 255, 0.9]}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| scale | no | Integer | 1.5 | Possible setting: scale | false |
"image": { "scale": 2}
Allows selecting a set of vector features by letting the user draw a box on the map. Features in that box will be displayed with GFI information and it's possible to zoom to a feature. This tool requires WFS(â) layers.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| highlightVectorRulesPolygon | no | highlightVectorRulesPolygon | Specify the fill color and outline color and stroke width for highlighting the polygon features as well as a zoom parameter. | false | |
| highlightVectorRulesPointLine | no | highlightVectorRulesPointLine | Specify outline color and stroke width for highlighting lines and fill color and scale factor for highlighting points as well as a zoom parameter. | false |
Example
{
"selectFeatures": {
"name": "translate#common:menu.tools.selectFeatures",
"highlightVectorRulesPolygon": {
"fill": {
"color": [255, 0, 255, 0.9]
},
"stroke": {
"width": 4,
"color": [0, 0, 204, 0.9]
},
"zoomLevel": 5
},
"highlightVectorRulesPointLine": {
"fill": {
"color": [255, 0, 255, 0.9]
},
"stroke": {
"width": 8,
"color": [255, 0, 255, 0.9]
},
"image": {
"scale": 2
},
"zoomLevel": 5
}
}
}
Specify the fill color and stroke width for highlighting the polygon features as well as a zoom level.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fill | no | fill | Possible setting: color | false | |
| stroke | no | stroke | Possible setting: width | false | |
| zoomLevel | no | Integer | 7 | Zoom level, possible setting: 0-9 | false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"fill": { "color": [215, 102, 41, 0.9] }
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| width | no | Integer | 1 | Possible setting: width | false |
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"stroke": { "width": 4 , "color": [255, 0, 255, 0.9]}
Specify outline color and stroke width for highlighting lines and fill color and scale factor for highlighting points. Also a zoom level.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fill | no | fill | Possible setting: color | false | |
| stroke | no | stroke | Possible setting: width | false | |
| image | no | image | Possible setting: scale | false | |
| zoomLevel | no | Integer | 7 | Zoom level, possible setting: 0-9 | false |
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"fill": { "color": [215, 102, 41, 0.9] }
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| width | no | Integer | 1 | Possible setting: width | false |
| color | no | Float[] | [255, 255, 255, 0.5] | Possible setting: color (RGBA) | false |
"stroke": { "width": 4 , "color": [255, 0, 255, 0.9]}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| scale | no | Integer | 1.5 | Possible setting: scale | false |
"image": { "scale": 2}
The measure tool allows measuring distances and areas. This includes the specification of measurement inaccuracies.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| earthRadius | no | Number | 6378137 | Earth radius in meters. Please mind that the earth radius should be chosen in accordance with the reference ellipsoid. E.g., GRS80 should be used for ETRS89 (EPSG:25832). | false |
| measurementAccuracy | no | String | "meter" | Indicates how accurately the measurement result is displayed for "m", "nm", "m²", "ha". Options are "decimeter" for one decimal place. "meter" for no decimal place. "dynamic" for one decimal place for results smaller 10 and no decimal place for results greater or equal 10 of the respective unit. | false |
| lineStringUnits | no | String[] | ["m", "km"] | Indicates which units for length measurements will be selectable by users. Options are "m" (metres), "km" (kilometres), "nm" (nautical miles). | false |
| polygonUnits | no | String[] | ["m²", "km²"] | Indicates which units for area measurements will be selectable by users. Options are "m²", "ha", "km²". | false |
Example
{
"measure": {
"name": "translate#common:menu.tools.measure",
"earthRadius": 6378137,
"measurementAccuracy": "dynamic"
}
}
Can only be used in 3D mode! The 3D modeler allows to import 3D models in the formats .gltf, .dae and .obj, as well as to draw lines and extrudable 3D polygons. These drawings can be exported and loaded back georeferenced into the map.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| gmlId | no | String | "gmlid" | Specify the path to the GML ID in the GFI for buildings in 3D Layers. | false |
| updateAllLayers | no | Boolean | true | Specify, if all layers should be updated, when buildings are hidden. | false |
| highlightStyle | no | highlightStyle | Specify the fill color, alpha, outline color and outline width for highlighting entities. | false |
Example
{
"modeler3D": {
"name": "translate#common:menu.tools.modeler3D",
"gmlId": "gmlId",
"updateAllLayers": false,
"highlightStyle": {
"color": "#787777",
"alpha": 1,
"silhouetteColor": "#E20D0F",
"silhouetteSize": 4
}
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| color | no | String | "#787777" | Specify the fill color for highlighting entities. | false |
| alpha | no | Number | 1 | Specify the alpha for highlighting entities. | false |
| silhouetteColor | no | String | "#E20D0F" | Specify the outline color for highlighting entities. | false |
| silhouetteSize | no | Number | 1 | Specify the outline width for highlighting entities. | false |
Example
{
"highlightStyle": {
"color": "#787777",
"alpha": 1,
"silhouetteColor": "#E20D0F",
"silhouetteSize": 4
}
}
The contact form allows users to send messages to a configured mail address.
This requires a backend!
Contact uses an SMTP server and calls its sendmail.php.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| serviceId | yes | String | Email service id. Resolved using the rest-services.json file. | false | |
| serviceID | no | String | Deprecated in the next major release. Please use serviceId instead. Email service id. Resolved using the rest-services.json file. | false | |
| from | yes | email[] | Email sender. Please mind our hints regarding E-Mail safety. | false | |
| to | yes | email[] | Recipient of the E-Mail. Please mind our hints regarding E-Mail safety. | false | |
| closeAfterSend | no | Boolean | false | Flag determining if the contact window should be closed after successfully sending a message. | false |
| contactInfo | no | String | Additional text shown above the contact form. | false | |
| deleteAfterSend | no | Boolean | false | Flag determining whether the contact form is emptied after successfully sending a message. | false |
| includeSystemInfo | no | Boolean | false | Flag determining if the senders system information should be included in the E-Mail. | false |
| locationOfCustomerService | no | String | "de" | The country the customer service is based in. The parameter is used for the date in the ticketId. | false |
| maxLines | no | Number | 5 | Amount of lines (height) for the textArea of the form | false |
| showPrivacyPolicy | no | Boolean | false | Flag determining if a checkbox should be displayed for agreeing to the privacy policy. | false |
| privacyPolicyLink | no | String | "https://www.masterportal.org/datenschutz.html" | Link to the full privacy policy. Should be given if showPrivacyPolicy is set to true. |
false |
| subject | no | String | The subject to be used for the E-Mail. | false | |
| withTicketNo | no | Boolean | true | Whether successfully sending a email retrieves a ticket number for the user. | false |
Example
{
"contact": {
"name": "common:menu.contact",
"icon": "bi-envelope-fill",
"serviceId": "123",
"from": [
{
"email": "lgvgeoportal-hilfe@gv.hamburg.de",
"name":"LGVGeoportalSupport"
}
],
"to": [
{
"email": "lgvgeoportal-hilfe@gv.hamburg.de",
"name":"LGVGeoportalSupport"
}
],
"includeSystemInfo": true,
"closeAfterSend": true,
"deleteAfterSend": true,
"withTicketNo": false
}
}
Hints regarding E-Mail safety
The unchecked usage of sender (FROM), recipient (TO), copy (CC), and blind copy (BCC) by the SMTP server is hereby expressly discouraged for security reasons. The unchecked usage of the customer email as a reply to (REPLY-TO) by the SMTP server is warned against.
We strongly recommend setting FROM and TO manually on the SMTP server without offering an option for external configuration.
For security reasons, Sender (FROM) and Empfänger (TO) sent by the Masterportal to the SMTP server may not be used as an email's FROM and TO without further checks. This would create a security breach that allows sending malicious emails with manipulated FROM and TO by the SMTP server. Should you need the configuration in the Masterportal anyway (as in the example above), the parameters from and to may be used after checking them against a whistelist on the SMTP server, preventing sending to or from email addresses not mentioned on the list.
We recommend not automatically setting the customer's email address in CC (or BCC).
For security reasons, the user may not be automatically set as Copy (CC) or Blind Copy (BCC) of an email. Such an automatism would allow sending malicious emails by entering a foreign mail address via the SMTP server.
We strongly recommend to manually remove CC and BCC on the SMTP server.
There must be no option to set Copy (CC) or Blind Copy (BCC) via the Masterportal. Such a feature could be misused to send malicious emails via the SMTP server.
We warn against automatically setting the customer email as REPLY-TO.
The unchecked copying of data to email headers is warned against depending on the security level (resp. age) of the SMTP server, since the risk of Carriage Return and Line Feed injections may lead to e.g. allowing REPLY-TO from the email header line to be escaped to ultimately manipulate the email header itself. (Example: "test@example.com\r\nBCC:target1@example.com,target2@example.com,(...),target(n)@example.com"). In a more abstract case, UTF attacks may be possible, where normally harmless UTF-16 or UTF-32 characters may change the email header's behavior when interpreted as ANSI or UTF-8, having a comparable effect.
E-Mail object containing a mail address, and a display name.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| no | String | E-Mail address. | false | ||
| name | no | String | Display name. | false |
Example
{
"email": "lgvgeoportal-hilfe@gv.hamburg.de",
"name":"LGVGeoportalHilfe"
}
The layer cluster toggler tool allows to activate and deactivate cluster layers together
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | "additional:addons.menu.tools.layerClusterToggler.name" | Name displayed in the tool. | false |
| icon | yes | String | "bi-easel3" | icon displayed in the tool menu | false |
| clusterList | yes | clusterList[] | [] | Array of layer id objects or layer id string. | false |
Example
{
"layerClusterToggler": {
"name": "translate#additional:addons.menu.tools.layerClusterToggler.name",
"icon": "bi-easel3",
"clusterList": ["8712", "21067"]
}
}
Defines a cluster of layer
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| layerId | yes | String | ID of the service to be shown in the portal. This layer ID MUST be configured as part of the Themenconfig! | false | |
| suffix | yes | String | Suffix of layer. This Suffix MUST be configured as part of the Themenconfig | false |
Example
{
"layerClusterToggler": {
"name": "translate#additional:addons.menu.tools.layerClusterToggler.name",
"icon": "bi-easel3",
"clusterList": [
"8712",
"8713",
{
"layerId": "21067",
"suffix": "90012"
},
{
"layerId": "21067",
"suffix": "90013"
},
{
"layerId": "21067",
"suffix": "90014"
},
{
"layerId": "21067",
"suffix": "90015"
}
]
}
}
The layer slider tool allows showing multiple layers in a row. This may e.g. be used to animate a time series of aerial imagery.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | String | "common:modules.tools.layerSlider.title" | Name displayed in the tool. | false |
| timeInterval | no | Integer | 2000 | Time in ms until the next layer is shown. | false |
| layerIds | yes | layerId[] | [] | Array of layer information objects. | false |
| sliderType | no | enum["player","handle"] | "player" | Layer slider type. ""player" shows start, pause, and stop buttons, while "handle" uses a switch. In the latter case, layer transparency is adjusted additionally. |
false |
Example
{
"layerSlider": {
"name": "Timeline",
"icon": "bi-hourglass-split",
"title": "Example WMS simulation",
"sliderType": "player",
"timeInterval": 2000,
"layerIds": [
{
"title": "Service 1",
"layerId": "123"
},
{
"title": "Service 2",
"layerId": "456"
},
{
"title": "Service 3",
"layerId": "789"
}
]
}
}
Defines a layer slider layer.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | yes | String | Service name to be shown in the portal. | false | |
| layerId | yes | String | ID of the service to be shown in the portal. This layer ID MUST be configured as part of the Themenconfig! | false |
Example
{
"title": "Service 1",
"layerId": "123"
}
The shadow tool provides a UI element to define a point in time by using sliders and date pickers. The chosen time allows rendering the shadows of all 3D objects in 3D mode by simulating the sun's position. By pulling the sliders or selecting a different date, a new sun position is calculated immediately. By default, the tool starts with the current time, which can be overwritten in the parameters.
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| shadowTime | no | shadowTime | Default time the tool is started with. Recognizes "month", "day", "hour", and "minute". | |
| isShadowEnabled | no | Boolean | false | Default shadow value. true immediately renders shadows, false requires a manual confirmation. |
Example
{
"shadowTime": {
"month": "6",
"day": "20",
"hour": "13",
"minute": "0"
},
"isShadowEnabled": true
}
Todo.
| Name | Required | Type | Default | Beschreibung |
|---|---|---|---|---|
| month | no | String | month | |
| day | no | String | day | |
| hour | no | String | hour | |
| minute | no | String | minute |
Example
{
"month": "6",
"day": "20",
"hour": "13",
"minute": "0"
}
Makes it possible to create a form to query WFS(â) layers using filters through a separate interface. It is assumed that a stored query is used when using a WFS@2.0.0. When using a WFS@1.1.0, it is assumed that the way the WFS should be filtered is defined through the configuration.
Multiple formulars (SearchInstances) can be defined, which will be selectable through a dropdown menu.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| instances | yes | searchInstance[] | Array of searchInstances. A singular searchInstance corresponds to its own search form. |
false | |
| zoomLevel | no | Number | 5 | Defines to which zoom level the tool should zoom. Should a chosen feature not fit the zoom level, a fitting zoom level is chosen automatically. | false |
| resultsPerPage | no | Number | 0 | The search result list will at most show this amount of results at a time. Further results will be offered on separate result pages. 0 means showing all at the same time. | false |
| multiSelect | no | Boolean | false | If true, a user may select multiple features from the result list by either pressing Strg/Shift or using checkboxes; when zooming, all selected features will be shown. |
false |
Example
{
"wfsSearch": {
"instances": [
{
"requestConfig": {
"layerId": "1234"
},
"selectSource": "https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json",
"literals": [
{
"clause": {
"type": "and",
"literals": [
{
"field": {
"type": "equal",
"fieldName": "gemarkung",
"inputLabel": "District",
"options": ""
}
},
{
"field": {
"type": "equal",
"fieldName": "flur",
"inputLabel": "Cadastral District",
"options": "flur"
}
}
]
}
}
]
}
]
}
}
A singular instance of the WFS Search which will be selectable through a dropdown in the tool.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| literals | yes | literal[] | Array of literals. |
true | |
| requestConfig | yes | requestConfig | An object, which mainly contains the id of the service (layerId or restLayerId) that is supposed to be requested. If a WFS@2.0.0 will be used, the storedQueryId needs to be provided as well. Additionally, further options for requests can be set. |
false | |
| selectSource | no | String | Optional Url leading to the expected options for the different inputs. See [https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json] for an example. | false | |
| suggestions | no | suggestions | If given, the service will be queried whenever a user inserts values into an input field to suggest a value. | false | |
| title | yes | String | Title of the search instance to be displayed in a dropdown inside the tool. | false | |
| userHelp | no | String | Information text regarding the search form to be displayed to the user. If not given, it will be generated from the structure of the config. May be a locale key. If the value explicitly set to hide, no information regarding the structure of the form will be displayed. |
false | |
| resultDialogTitle | no | String | Heading of the result list. If not configured the name WFS search will be displayed. May be a translation key. |
false | |
| resultList | no | resultList | Settings for the output of the found features in the result list. If no resultList is configured, the search will zoom directly to the first feature found. | true |
Example
{
"requestConfig": {
"layerId": "1234"
},
"resultList": {
"schulname": "School name",
"abschluss": "Degree"
},
"selectSource": "https://geoportal-hamburg.de/lgv-config/gemarkungen_hh.json",
"title": "Parcel Search",
"literals": [
{
"clause": {
"type": "and",
"literals": [
{
"field": {
"type": "equal",
"fieldName": "gemarkung",
"inputLabel": "District",
"options": ""
}
},
{
"field": {
"type": "equal",
"fieldName": "flur",
"inputLabel": "Cadastral District",
"options": "flur"
}
}
]
}
}
]
}
A literal can either have the parameter clause, or the parameter field. If both are set, the clause-part will be ignored.
However, a field needs to be wrapped inside a clause (as seen in most examples).
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| clause | yes | clause | Defines the way multiple literals should be queried together. Can be seen as a group of literals. |
true | |
| field | no | field | Representation for the selection field of a service value for the user. | true |
Examples
{
"clause": {
"type": "and",
"literals": [
{
"field": {
"type": "equal",
"fieldName": "gemarkung",
"inputLabel": "District",
"options": ""
}
},
{
"field": {
"type": "equal",
"fieldName": "flur",
"inputLabel": "Cadastral District",
"options": "flur"
}
}
]
}
}
{
"field": {
"type": "equal",
"fieldName": "rivers",
"inputLabel": "Rivers",
"options": [
{
"id": "0",
"displayName": "Elbe"
},
{
"id": "1",
"displayName": "Moselle"
},
{
"id": "2",
"displayName": "Rhine"
}
]
}
}
A clause defines the way multiple literals should be queried together.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| literals | yes | literal[] | Array of literals. |
true | |
| type | yes | enum["and", "or"] | The way the literals in this clause should be queried together. |
false |
Example
{
"clause": {
"type": "and",
"literals": [
{
"field": {
"type": "equal",
"fieldName": "gemarkung",
"inputLabel": "District",
"options": ""
}
},
{
"field": {
"type": "equal",
"fieldName": "flur",
"inputLabel": "Cadastral District",
"options": "flur"
}
}
]
}
}
A field represents the selection field for a value in the service.
It is possible to use a field for multiple search parameters. To do this, each parameter needs to be an array where each element of the array corresponds to a single parameter of the service.
A configuration like
{
"field": {
"type": ["equal", "like"],
"fieldName": ["flst", "gmkr"],
"inputLabel": ["Parcel", "Communal district number"]
}
}
would create a single field with which the user can decide whether he wants to use the input field to search for a Parcel or a Communal district number by selecting the value through a dropdown.
If the values are not an array, a label for the field will be shown instead of the dropdown.
If the parameter options is set, a select field is used, otherwise a simple text input.
If options is a String, it is important that the order of the Fields corresponds to the order of the objects in the external source (selectSource).
Assume the source looks like this:
{
"one": {
"foo": {
"id": "foo_one",
"bar": ["f1_bar_one", "f1_bar_two"]
}
},
"two": {
"foo": {
"id": "foo_two",
"bar": ["f2_bar_one", "f2_bar_two"]
}
}
}
Then the order of the config should look like this:
{
"clause": {
"type": "and",
"literals": [
{
"field": {
"type": "equal",
"fieldName": "objects",
"inputLabel": "Objects",
"options": ""
}
},
{
"field": {
"type": "equal",
"fieldName": "foo",
"inputLabel": "Foo",
"options": "foo"
}
},
{
"field": {
"type": "equal",
"fieldName": "bar",
"inputLabel": "Bar",
"options": "foo.bar"
}
}
]
}
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| defaultValue | no | String/String[] | If the field is not required, this value will be used on sending. |
false | |
| fieldName | yes | String/String[] | The wfs service parameter name for the comparison. | false | |
| inputLabel | yes | String/String[] | Label for the UI element. May be a locale key. | false | |
| inputPlaceholder | no | String/String[] | Placeholder for the UI element; only used if options is not set. Should contain example data. May be a locale key. |
false | |
| inputTitle | no | String/String[] | Value to be shown when hovering the UI element. May be a locale key. | false | |
| required | no | Boolean/Boolean[] | false | Whether the field has to be filled. | false |
| options | no | String/option[]/String[] | If options is an array (irrelevant if of strings or options), the given values are used for selection. These options may either match option or are plain values (String / Number). In the latter case, the plain value is used as both id and displayName. <br /> If it is a String, there are different possibilities: <ul><li>If the String is empty, the keys of selectSource are used.</li><li>If the String is not empty, it is assumed that another field with options="" exists; otherwise the field is disabled. It is also assumed that the String represents an array in selectSource providing further options.</li></ul> Note: It is also possible to declare the options as a multidimensional array option[][]. However, this can't be used as a parameter for Masterportal Admin. This should be used if an option[] is wanted for a field that uses multiples parameters. |
true | |
| type | no | enum["equal", "like"]/enum["equal", "like"][] | Required for usage with WFS@1.1.0. The type declared how the field should be compared to the value in the service. |
false | |
| usesId | no | Boolean/Boolean[] | false | Only relevant if the Parameters options is set and an empty String (root element). Determines whether the key of the object of the external source should be used as a value for the query or if the object has an Id which should be used. |
false |
Example
{
"field": {
"type": "equal",
"fieldName": "rivers",
"inputLabel": "Rivers",
"options": [
{
"displayName": "Elbe",
"fieldValue": "0"
},
{
"displayName": "Moselle",
"fieldValue": "1"
},
{
"displayName": "Rhine",
"fieldValue": "2"
}
]
}
}
A selectable option for a queryable parameter.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| displayName | no | String | Value to be displayed for the value. May be a locale key. If not set, the id will be shown. |
false | |
| fieldValue | yes | String | Value that is supposed to be sent to the service. | false |
Example
{
"fieldValue": "elbe",
"displayName": "Elbe"
}
Settings for the output of the found features in the result list.
By specifying showAll all attributes of the found features are displayed in their original form.
By using an Object, a key of the Object must represent one of the attributes of the feature, and the corresponding value defines the textual output of that attribute.
Examples:
{
"resultList": "showAll"
}
{
"resultList": {
"schulname": "School name",
"abschluss": "Degree"
}
}
Information about the WFS service that is supposed to be requested.
Either layerId or restLayerId need to be present. If layerId is chosen, the layer needs to be configured in the config.json.
If both are defined restLayerId is used.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| gazetteer | no | gazetteer | Declares whether the used WFS service is a WFS-G, which needs to be parsed differently. | false | |
| layerId | no | String | Id of the WFS service that should be queried. Information is fetched from services.json. | false | |
| likeFilter | no | likeFilter | {"wildCard": "*", "singleChar": "#", "escape": "!"} | The configuration of the service for the like filter. | true |
| maxFeatures | no | Number/String | 8 | Maximum amount of features that are supposed to be returned from the service. Alternatively, the String showAll can be assigned to maxFeatures to load all features. |
false |
| restLayerId | no | String | Id of the WFS service that should be queried. Information is fetched from rest-services.json. | false | |
| responseProjection | no | String | The expected projection of the coordinates in the response of the requested service. If it doesn't match the map projection a conversion will happen. | false | |
| storedQueryId | no | String | The id of the Stored Query of the WFS that should be used to query the service. If this field is set, it is assumed that a WFS@2.0.0 is used. | false |
Example
{
"requestConfig": {
"restLayerId": "1234",
"storedQueryId": "Flurstuecke",
"responseProjection": "EPSG:4326"
}
}
Values inside a filter for a WFS service can be compared with an equal or a like.
If the comparison should be with a like then the filter needs additional properties. These may vary in value and property definition.
For the documentation, it is assumed that the properties are called wildCard, singleChar and escapeChar; variations like e.g. single and escape are possible and need to be configured in line with the service. All key-value pairs are used in the request as given.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| wildCard | yes | String | "*" | The wildcard value for the like filter. | true |
| singleChar | yes | String | "#" | The single character value for the like filter. | true |
| escapeChar | yes | String | "!" | The escape character value for the like filter. | true |
Example
In this example case, the key for escapeChar deviates.
{
"wildCard": "*",
"singleChar": "#",
"escape": "!"
}
Parameters that are exclusively needed for using a WFS-G (Gazetteer).
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| namespaces | yes | String/String[] | The namespaces need to be provided. | false | |
| memberSuffix | yes | enum["member","featureMember"] | The suffix of the featureType needs to be specified. | false |
Example
{
"gazetteer": {
"namespaces": [
"http://www.adv-online.de/namespaces/adv/dog",
"http://geodienste.hamburg.de/dog_gages/services/wfs_dog?SERVICE=WFS&VERSION=2.0.0&REQUEST=DescribeFeatureType&OUTPUTFORMAT=application/gml+xml;+version=3.2&TYPENAME=dog:Flurstueckskoordinaten&NAMESPACES=xmlns(dog,http://www.adv-online.de/namespaces/adv/dog)"
],
"memberSuffix": "memberSuffix"
}
}
Configuration for the suggestions of the user input.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| featureType | no | String | If given, the query will be sent with this featureType instead of the one configured for the service itself. Only usable if the layer was defined in the services.json. | false | |
| length | no | Number | 3 | The query is triggered when the length of the input is at least as long as this parameter. | false |
WFS-T module to visualize (GetFeature), create (insert), update (update) and delete (delete) features of a Web Feature Service (WFS) which is able to receive transactions. To use this tool, a WFS-T layer must be provided in version 1.1.0. For more configuration information see services.json.
When editing properties of a feature / adding properties to a new features, the available values including its label are based on the layers configured gfiAttributes. For more information see services.json.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| layerIds | yes | String[] | Array of ids of layer defined in services.json. | false | |
| icon | no | String | "bi-globe" | Icon displayed for the tool. | false |
| name | no | String | "WfsTransaction" | Tool name shown in the portal. | false |
| layerSelectLabel | no | String | "common:modules.tools.wfsTransaction.layerSelectLabel" | Deprecated in 3.0.0. Please set the value directly in the language files. If given, overrides the value set for the label of the layer select box. May be a locale key. | false |
| toggleLayer | no | Boolean | false | Whether the features of the currently selected layer should stay visible when adding a new feature. | false |
| useProxy | no | Boolean | false | Deprecated in 3.0.0. GDI-DE recommends setting CORS headers on the required services instead of using proxies. Defines whether a service URL should be requested via proxy. For this, dots in the URL are replaced with underscores. | false |
| areaButton | no | TransactionConfig[]/Boolean | [] | Deprecated in 3.0.0. Please use polygonButton instead. If both are present, areaButton is used for now. Defines which layers of layerIds allow insert transactions of polygon geometries. |
false |
| delete | no | TransactionConfig/Boolean | false | Defines which layers of layerIds allow delete transactions. |
false |
| edit | no | String/Boolean | false | Deprecated in 3.0.0. Please use update instead. If both are present, edit is used for now. If present as a Boolean, it is decided whether features can generally be updated and if it is present as a string, features can be updated and the String defined the value presented inside the button. |
false |
| lineButton | no | TransactionConfig[]/Boolean | [] | Defines which layers of layerIds allow insert transactions of line geometries. |
false |
| pointButton | no | TransactionConfig[]/Boolean | [] | Defines which layers of layerIds allow insert transactions of point geometries. |
false |
| polygonButton | no | TransactionConfig[]/Boolean | [] | Defines which layers of layerIds allow insert transactions of polygon geometries. |
false |
| update | no | TransactionConfig/Boolean | false | Defines which layers of layerIds allow update transactions. |
false |
Example
{
"wfst": {
"name": "WFS-T Tool",
"icon": "bi-globe",
"layerIds": ["1234", "5678", "4389"],
"toggleLayer": true,
"pointButton": [
{
"layerId":"1234",
"caption": "Point test",
"show": true
},
{
"layerId": "5678",
"show": true,
"multi": true
}
],
"lineButton": false,
"polygonButton": [
{
"layerId": "4389",
"show": false
}
],
"update": [
{
"layerId": "4389",
"show": true
}
]
}
}
Specific configuration for transaction methods of given layers.
| Name | Required | Type | Default | Description | Expert |
|---|
|available|yes|Boolean|true|Availability of the transaction method for the layer with the given id.|false|
|layerId|yes|String||Layer the transaction method is being configured for.|false|
|caption|no|String|"common:modules.tools.wfsTransaction.interactionSelect."|Deprecated in 3.0.0. Please use text instead. If both are present, cpation is used for now. Button text. If no value is given, * will be replaced with a standard value depending on the configured button. May be a locale key.|false|
|icon|no|String||Bootstrap icon displayed inside the button. If no value is specified, it defaults to the default value configured for the transaction method.|false|
|multi|no|Boolean|false|Whether the drawn geometries of this layer should be Multi-X. This parameter does not have any use for update / edit and delete.|false|
|show|no|Boolean|true|Deprecated in 3.0.0. Please use available instead. If both are present, show is used for now. Availability of the button for the layer with the given id.|false|
|text|no|String|"common:modules.tools.wfsTransaction.interactionSelect."|Button text. If no value is given, * will be replaced with a standard value depending on the configured button. May be a locale key.|false|
Examples
{
"layerId": "1234",
"show": true,
"caption": "Point test"
}
{
"layerId": "5678",
"show": true
}
{
"layerId": "5489",
"multi": true
}
Coordinates tool. To display the height above sea level in addition to the 2 dimensional coordinates, a 'heightLayerId' of a WMS service that provides the height must be specified. The format XML is expected and the attribute for the heights is expected under the value of the parameter 'heightElementName'.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| heightLayerId | no | String | Coordinate query: Id of the WMS layer that provides the height in XML format. If not defined, then no height is displayed. | false | |
| heightElementName | no | String | Coordinate query: The element name under which the height in the XML is searched. | false | |
| heightValueWater | no | String | Coordinate query: the value in the element defined under "heightElementName" supplied by the WMS for an unmeasured height in the water area, it will display the internationalized text "Water surface, no heights available" under the key "common:modules.tools.coordToolkit.noHeightWater" in the interface. If this attribute is not specified, then the text provided by the WMS will be displayed. | false | |
| heightValueBuilding | no | String | Coordinate query: the value in the element defined under "heightElementName" supplied by the WMS for a non-measured height in the building area, it will display the internationalized text "Building area, no heights available" under the key "common:modules.tools.coordToolkit.noHeightBuilding" in the interface. If this attribute is not specified, then the text provided by the WMS will be displayed. | false | |
| zoomLevel | no | Number | 7 | Coordinate search: Specifies the zoom level to which you want to zoom. | false |
| showCopyButtons | no | Boolean | true | Switch to show or hide the buttons for copying the coordinates. | false |
| delimiter | no | String | "Pipe-Symbol" | Delimiter of the coordinates when copying the coordinate pair | false |
| heightLayerInfo | no | String | An explanation for the height can be deposited here. | false | |
| coordInfo | no | CoordInfo | An object with explanations for the coordinate reference systems can be stored here. | false |
Example
#!json
"coordToolkit": {
"name": "translate#common:menu.tools.coordToolkit",
"icon": "bi-globe",
"zoomLevel": 5,
"heightLayerId" : "19173",
"heightElementName": "value_0",
"heightValueWater": "-20",
"heightValueBuilding": "200",
"delimiter": "-",
"showCopyButtons": true
}
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| title | no | string | Heading for the explanations on the coordinate reference systems. | false | |
| explanations | no | explanations[] | Array with explanations from which a list is generated. | false |
Array with explanations from which a list is generated.
The tool allows for adding additional WMS layers via a provided URL.
The tool highlights features of a target layer, that are located within or outside a circle around the features of a source-Layer. The circle is defined by a buffer-radius. The tool requires vector based Data from WFS(â) services for both the source and the target layer.
â ď¸Deprecated in 3.0.0 Please use "supplyCoord" instead. Tool to read coordinates on mouse click
Tool to read coordinates on mouse click and search for coordinates.
â ď¸Deprecated in 3.0.0 Please use "filter" instead.
Dynamic filtering of WFS(â) features. This requires an extendedFilter configuration on the WFS layer object.
Import ".kml", ".geojson" and "*.gpx" files with this tool.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| enableZoomToExtend | no | Boolean | false | To decide if the file name is shown as a button and it is able to zoom the imported features by clicking the file name | false |
Example
#!json
"fileImport": {
"name": "translate#common:menu.tools.fileImport",
"icon":"bi-box-arrow-in-down-right",
"enableZoomToExtend": true
}
â ď¸Deprecated in 3.0.0. Please use fileImport instead.
Import ".kml", ".geojson" and "*.gpx" files with this tool.
With this tool one can de-/activate clusters of layers together.
The tool allows for switching the style of vector tile layers(â) which provides multiple stylings defined in the services.json file.
â ď¸Deprecated in 3.0.0. Please use coordToolkit instead.
Tool to read coordinates on mouse click.
Tool to reset the tree.
â ď¸Deprecated in 3.0.0. Please use filter instead.
The tool allows for filtering WFS(â) features. This required configuring "filterOptions" on the WFS layer object.|false|
Routing-tool. Enables user to plan routes between multiple points with multiple options to choose from. In addition users can create isochrones. Both functions are available with mass requests for specific use cases. â This tool will use the routing service provided by the BKG â.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| activeRoutingToolOption | no | String | "DIRECTIONS" | Which routing tool should be open. | false |
| routingToolOptions | no | String[] | [ ] | Which routing tool should be enabled. ("DIRECTIONS", "ISOCHRONES") | false |
| download | no | download | Downloadoptions | false | |
| geosearch | no | geosearch | Geosearchoptions | false | |
| geosearchReverse | no | geosearchReverse | Geosearchreverseoptions | false | |
| directionsSettings | no | directionsSettings | Directionsoptions | false | |
| isochronesSettings | no | isochronesSettings | Isochronesoptions | false |
Example
#!json
{
"routing": {
"name": "translate#common:menu.tools.routing",
"icon": "bi-signpost-2-fill",
"activeRoutingToolOption": "DIRECTIONS",
"routingToolOptions": ["DIRECTIONS", "ISOCHRONES"],
"download": {
"filename": "",
"format": "GEOJSON"
},
"geosearch": {
"minChars": 3,
"limit": 10,
"type": "BKG",
"serviceId": "bkg_geosearch"
},
"geosearchReverse": {
"distance": 1000,
"filter": "",
"type": "BKG",
"serviceId": "bkg_suggest"
},
"directionsSettings": {
"type": "ORS",
"serviceId": "bkg_ors",
"speedProfile": "CAR",
"preference": "RECOMMENDED",
"styleRoute": {
"fillColor": [255, 44, 0, 1],
"width": 6,
"highlightColor": [255, 255, 255, 1],
"highlightWidth": 9,
"partHighlightColor": [255, 255, 255, 1],
"partHighlightWidth": 3
},
"styleWaypoint": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"textFillColor": "#000",
"textLineColor": "#fff",
"textLineWidth": 3,
"opacity": 0.3,
"radius": 8
},
"styleAvoidAreas": {
"lineColor": [0, 127, 255],
"lineWidth": 2,
"fillColor": [0, 127, 255],
"opacity": 0.3,
"pointRadius": 8,
"pointLineWidth": 4
},
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
},
"isochronesSettings": {
"type": "ORS",
"serviceId": "bkg_ors",
"speedProfile": "CAR",
"isochronesMethodOption": "TIME",
"distanceValue": 30,
"minDistance": 1,
"maxDistance": 400,
"timeValue": 30,
"minTime": 1,
"maxTime": 180,
"intervalValue": 15,
"minInterval": 3,
"maxInterval": 30,
"styleCenter": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"opacity": 0.3,
"radius": 8
},
"styleIsochrones": {
"lineWidth": 2,
"opacity": 0.65,
"startColor": [66, 245, 78],
"endColor": [245, 66, 66]
},
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
}
}
}
Routing-tool download options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fileName | no | String | Default filename for the download. | false | |
| format | no | String | "GEOJSON" | Which format should be selected by default. ("GEOJSON", "KML", "GPX") | false |
Example
#!json
{
"download": {
"filename": "",
"format": "GEOJSON"
}
}
Routing-tool geosearch options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| minChars | no | Number | 3 | Minimum amount of characters before sending a request to an external service. | false |
| limit | no | Number | 10 | Maximale amount of characters for the search. | false |
| type | yes | String | Which type of the geosearch should be used. ("BKG", "NOMINATIM", "LOCATIONFINDER", "KOMOOT", "GAZETTEER", "SPECIALWFS", "ELASTIC") | false | |
| serviceId | yes | String | Which service should be used for the geosearch. | false | |
| typeName | no | String | Type name for the specialWfs geosearch query. | false | |
| propertyNames | no | String[] | Names of properties to be included in the specialWfs geosearch. | false | |
| geometryNames | no | String | Name of the geometry field for specialWfs geosearch. | false | |
| bbox | no | bbox | BBOX value according to the speedProfile. Coordinate system depends on the epsg parameter. Geosearch service must support bbox string. | false | |
| epsg | no | String | 4326 | Which EPSG code is used by the service (e.g. 4326, 25832). | false |
| searchField | no | String | The path to the field to be searched for when using Elastic Search. | false | |
| sortField | no | String | The path to the field that specifies the sorting of the results in ascending order when using Elastic Search. | false |
Example for BKG
#!json
{
"geosearch": {
"type": "BKG",
"serviceId": "bkg_geosearch",
"bbox": {"CYCLING": "9.6,53.40,10.4,53.84"}
}
}
Example for SPECIALWFS
#!json
{
"geosearch": {
"minChars": 3,
"limit": 10,
"type": "SPECIALWFS",
"serviceId": "specialWfs_geosearch",
"typeName": "ms:strasse_nr",
"propertyNames": [
"ms:LABEL_TEXT"
],
"geometryName": "ms:msGeometry"
}
}
Example for ELASTIC
#!json
{
"geosearch": {
"minChars": 3,
"limit": 10,
"type": "ELASTIC",
"serviceId": "elastic_geosearch",
"epsg": "25832",
"searchField": "properties.searchField",
"sortField": "properties.HAUSNUMMER"
}
}
BBOX value according to the speedProfile. Coordinate system depends on the epsg parameter. Geosearch service must support bbox string.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| speedProfile | no | String | Coordinate values "West,South,East,North" | false |
Example
#!json
{
"bbox": {"CYCLING": "9.6,53.40,10.4,53.84"}
}
Routing-tool geosearch reverse options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| distance | no | Number | 1000 | Search radius in meter for the external service. | false |
| filter | no | String | Additional filter used in the query. | false | |
| type | yes | String | Which type of geosearch reverse should be used. ("BKG", "NOMINATIM", KOMOOT) | false | |
| serviceId | yes | String | Which service should be used for the geosearch reverse. | false |
Example
#!json
{
"geosearchReverse": {
"distance": 1000,
"filter": "",
"type": "BKG",
"serviceId": "bkg_suggest"
}
}
Routing-tool directions options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| type | yes | String | Which type of service should be used for the request. ("ORS") | false | |
| serviceId | yes | String | Which service should be used for the request. | false | |
| speedProfile | no | String | "CAR" | Which speed profile should be selected by default. | false |
| preference | no | String | "RECOMMENDED" | Which type of directions should be used by default. | false |
| customPreferences | no | customPreferences | Possibility to define additional preferences for the different speed profiles (additionally to the BKG service) (requires own modified backend) | false | |
| customAvoidFeatures | no | customAvoidFeatures | Possibility to define own options for avoid traffic routes for the different speed profiles(additionally to the BKG service) (requires own modified backend) | false | |
| styleRoute | no | styleRoute | Stylerouteoptions | false | |
| styleWaypoint | no | styleWaypoint | Stylewaypointoptions | false | |
| styleAvoidAreas | no | styleAvoidAreas | Styleavoidareasoptions | false | |
| batchProcessing | no | batchProcessing | Batchprocessingoptions | false |
Example
#!json
{
"directionsSettings": {
"type": "ORS",
"serviceId": "bkg_ors",
"speedProfile": "CAR",
"preference": "RECOMMENDED",
"customPreferences": {
"CYCLING": ["RECOMMENDED", "SHORTEST", "GREEN"]
},
"customAvoidFeatures": {
"CYCLING": ["STEPS", "FERRIES", "UNPAVEDROADS"]
},
"styleRoute": {
"fillColor": [255, 44, 0, 1],
"width": 6,
"highlightColor": [255, 255, 255, 1],
"highlightWidth": 9,
"partHighlightColor": [255, 255, 255, 1],
"partHighlightWidth": 3
},
"styleWaypoint": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"textFillColor": "#000",
"textLineColor": "#fff",
"textLineWidth": 3,
"opacity": 0.3,
"radius": 8
},
"styleAvoidAreas": {
"lineColor": [0, 127, 255],
"lineWidth": 2,
"fillColor": [0, 127, 255],
"opacity": 0.3,
"pointRadius": 8,
"pointLineWidth": 4
},
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
}
}
Possibility to define additional avoid features for the different speed profiles (additionally to the BKG service) (requires own modified backend).
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| speedProfile | no | String[] | Options for avoid traffic routes that should be available for the speedProfile. | false |
Example
#!json
{
"customAvoidFeatures": {
"CYCLING": ["STEPS", "FERRIES", "UNPAVEDROADS"],
"CAR": ["HIGHWAYS"]
}
}
Routing-tool directions route customPreferences. Possibility to define additional preferences for the different speed profiles (additionally to the BKG service) (requires own modified backend)
| Name | Verpflichtend | Typ | Default | Beschreibung | Expert |
|---|---|---|---|---|---|
| speedProfile | no | String[] | Which preferences should be available for the speedProfile. | false |
Beispiel
#!json
{
"customPreferences": {
"CYCLING": ["RECOMMENDED", "SHORTEST", "GREEN"],
"CAR": ["RECOMMENDED", "SHORTEST", "GREEN"]
}
}
Routing-tool directions route style options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fillColor | no | Number[] | [255, 44, 0, 1] | Which color should be used to fill. | false |
| width | no | Number | 6 | How thick should the line be displayed. | false |
| highlightColor | no | Number[] | [255, 255, 255, 1] | Which color should be used to highlight the route. | false |
| highlightWidth | no | Number | 9 | How thick should the highlighting line be displayed. | false |
| partHighlightColor | no | Number[] | [255, 255, 255, 1] | Which color should be used when highlighting part of the route. | false |
| highlightWidth | no | Number | 9 | How thick should the highlighting part of the route be displayed. | false |
Example
#!json
{
"styleRoute": {
"fillColor": [255, 44, 0, 1],
"width": 6,
"highlightColor": [255, 255, 255, 1],
"highlightWidth": 9,
"partHighlightColor": [255, 255, 255, 1],
"partHighlightWidth": 3
}
}
Routing-tool directions waypoint style options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| lineColor | no | Number[] | [255, 127, 0] | Which color should be used for the border. | false |
| lineWidth | no | Number | 4 | How thick should the border be. | false |
| fillColor | no | Number[] | [255, 127, 0] | Which color should be used to fill. | false |
| textFillColor | no | String | "#000" | Which color should be used for the text. | false |
| textLineColor | no | String | "#fff" | Which color should be used for the text background. | false |
| textLineWidth | no | Number | 3 | How big should the text be displayed. | false |
| opacity | no | Number | 0.3 | How transparent should the fill color be displayed. | false |
| radius | no | Number | 8 | How big should the waypoint be displayed. | false |
Example
#!json
{
"styleWaypoint": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"textFillColor": "#000",
"textLineColor": "#fff",
"textLineWidth": 3,
"opacity": 0.3,
"radius": 8
}
}
Routing-tool directions avoid areas style options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| lineColor | no | Number[] | [0, 127, 255] | Which color should be used for the border. | false |
| lineWidth | no | Number | 2 | How thick should the border be. | false |
| fillColor | no | Number[] | [0, 127, 255] | Which color should be used to fill. | false |
| opacity | no | Number | 0.3 | How transparent should the fill color be displayed. | false |
| pointRadius | no | Number | 8 | How big should the corner points be displayed. | false |
| pointLineWidth | no | Number | 4 | How big should the border of the corner points be displayed. | false |
Example
#!json
{
"styleAvoidAreas": {
"lineColor": [0, 127, 255],
"lineWidth": 2,
"fillColor": [0, 127, 255],
"opacity": 0.3,
"pointRadius": 8,
"pointLineWidth": 4
}
}
Routing-tool directions batch processing options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| enabled | no | Boolean | false | If the batch processing should be enabled for the user. | false |
| active | no | Boolean | false | If the batch processing is active by default. | false |
| limit | no | Number | 1000 | The maximum amount of rows allowed in the csv file. | false |
| maximumConcurrentRequests | no | Number | 3 | The maximum concurrent requests allowed to be made by the batch processing task handler. | false |
Example
#!json
{
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
}
Routing-tool isochrones options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| type | yes | String | Which type of service should be used for the request. ("ORS") | false | |
| serviceId | yes | String | Which service should be used for the request. | false | |
| speedProfile | no | String | "CAR" | Which speed profile should be selected by default. | false |
| isochronesMethodOption | no | String | "TIME" | Which method should be selected by default. | false |
| distanceValue | no | Number | 30 | Which distance value in km should be selected by default. | false |
| minDistance | no | Number | 1 | Which minimal distance value in km should be used. | false |
| maxDistance | no | Number | 400 | Which maximum distance value in km should be used. | false |
| timeValue | no | Number | 30 | Which time value in min should be selected by default. | false |
| minTime | no | Number | 1 | Which minimal time value in min should be used. | false |
| maxTime | no | Number | 180 | Which maximum time in min should be used. | false |
| intervalValue | no | Number | 15 | Which interval value in km/min should be used by default. | false |
| minInterval | no | Number | 1 | Which minimal interval value in km/min should be used. | false |
| maxInterval | no | Number | 30 | Which maximum interval value in km/min should be used. | false |
| styleCenter | no | styleCenter | Stylecenteroptions | false | |
| styleIsochrones | no | styleIsochrones | Styleisochronesoptions | false | |
| batchProcessing | no | batchProcessing | Batchprocessingoptions | false |
Example
#!json
{
"isochronesSettings": {
"type": "ORS",
"serviceId": "bkg_ors",
"speedProfile": "CAR",
"isochronesMethodOption": "TIME",
"distanceValue": 30,
"minDistance": 1,
"maxDistance": 400,
"timeValue": 30,
"minTime": 1,
"maxTime": 180,
"intervalValue": 15,
"minInterval": 3,
"maxInterval": 30,
"styleCenter": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"opacity": 0.3,
"radius": 8
},
"styleIsochrones": {
"lineWidth": 2,
"opacity": 0.65,
"startColor": [66, 245, 78],
"endColor": [245, 66, 66]
},
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
}
}
Routing-tool isochrones centers style options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| lineColor | no | Number[] | [255, 127, 0] | Which color should be used for the border. | false |
| lineWidth | no | Number | 4 | How thick should the border be displayed. | false |
| fillColor | no | Number[] | [255, 127, 0] | Which color should be used to fill. | false |
| opacity | no | Number | 0.3 | How transparent should the fill color be displayed. | false |
| radius | no | Number | 8 | How big should the waypoint be displayed. | false |
Example
#!json
{
"styleCenter": {
"lineColor": [255, 127, 0],
"lineWidth": 4,
"fillColor": [255, 127, 0],
"opacity": 0.3,
"radius": 8
}
}
Routing-tool isochrones style options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| lineWidth | no | Number | 2 | How thick should the lines be displayed. | false |
| opacity | no | Number | 0.65 | How transparent the fill color is displayed. | false |
| startColor | no | Number[] | [66, 245, 78] | The starting color for the fill color interpolation calculation. | false |
| endColor | no | Number[] | [245, 66, 66] | The end color for the fill color interpolation calculation. | false |
Example
#!json
{
"styleIsochrones": {
"lineWidth": 2,
"opacity": 0.65,
"startColor": [66, 245, 78],
"endColor": [245, 66, 66]
}
}
Routing-tool isochrones batch processing options.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| enabled | no | Boolean | false | If the batch processing should be enabled for the user. | false |
| active | no | Boolean | false | If the batch processing is active by default. | false |
| limit | no | Number | 1000 | The maximum amount of rows allowed in the csv file. | false |
| maximumConcurrentRequests | no | Number | 3 | The maximum concurrent requests allowed to be made by the batch processing task handler. | false |
Example
#!json
{
"batchProcessing": {
"enabled": false,
"active": false,
"limit": 1000,
"maximumConcurrentRequests": 3
}
}
The staticlinks array contains objects either describing links to other web resources or triggers of defined events.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| staticlinks | no | staticlink[] | Static link array. | false |
onClickTrigger example
{
"staticlinks": [
{
"name": "Alert",
"icon": "bi-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}
]
}
Ein Staticlink-Objekt enthält folgende Attribute.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | String | Menu name of the link. | false | |
| icon | no | String | "bi-globe" | CSS icon class of link, shown before its name. | false |
| url | no | String | URL to open in a new tab. | false | |
| onClickTrigger | no | onClickTrigger[] | Array of onClickTrigger events. | false |
URL example
{
"name": "Hamburg",
"icon": "bi-globe",
"url": "http://www.hamburg.de"
}
onClickTrigger example
{
"name": "Alert",
"icon": "bi-globe",
"onClickTrigger": [
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
]
}
Defines an event trigger, possibly containing a payload.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| channel | yes | String | Radio channel name. | false | |
| event | yes | String | Radio channel's event name of the event to be triggered. | false | |
| data | no | String/Boolean/Number | Payload to be sent along. | false |
Example
{
"channel": "Alert",
"event": "alert",
"data": "Hello World!"
}
The Themenconfig entry defines the contents and their order in the topic selection. Depending on your treeType configuration, the Fachdaten section may also contain folder structures.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| Hintergrundkarten | yes | Hintergrundkarten | Background map definition. | false | |
| Fachdaten | no | Fachdaten | Technical data definition. | false | |
| Fachdaten_3D | no | Fachdaten_3D | Technical data definition used in 3D mode. | false | |
| Fachdaten_Zeit | no | Fachdaten_Zeit | Definition of WMS-T layers in their own folder. | false |
Example
{
"Themenconfig": {
"Hintergrundkarten": {},
"Fachdaten": {},
"Fachdaten_3D": {},
"Fachdaten_Zeit": {}
}
}
Background map definition.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String | "Hintergrundkarten" | For treeType default and custom, name of the background map button area. |
false |
| Layer | yes | Layer/GroupLayer[] | Layer definition. | false | |
| Ordner | no | Ordner[] | Folder definition. | false |
Example
{
"Hintergrundkarten": {
"name": "My background maps",
"Layer": [
{
"id": "123"
}
]
}
}
Technical data definition.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String | "Fachdaten" | For treeType default and custom, name of the technical data button area. |
false |
| Layer | yes | Layer/GroupLayer[] | Layer definition. | false | |
| Ordner | no | Ordner[] | Folder definition. | false |
Example
{
"Fachdaten": {
"name": "My technical data",
"Layer": [
{
"id": "123"
}
]
}
}
3D data definition for the 3D mode in treeType custom and default. Only shown when 3D mode is active.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String | "3D Daten" | Name of the 3D data button area. | false |
| Layer | yes | Layer[] | 3D layer definition. | false |
Example
{
"Fachdaten_3D": {
"name": "My technical 3D data",
"Layer": [
{
"id": "12883"
}
]
}
}
Definition for WMS-T layers treeType custom and default. The layers can also be defined under Fachdaten.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String | "common:tree.subjectDataTime" | Name of the WMS-T layer button area. | false |
| Layer | yes | Layer[] | WMS-T layer definition. | false |
Example
{
"Fachdaten_Zeit": {
"name": "My Time Series",
"Layer": [
{
"id": "my_wms_time"
}
]
}
}
Folder definition. Folders may also be nested. Folders can be configured below the "Fachdaten" and "Hintergrundkarten". With treeType 'default' the 3D data can also be configured as a folder under 'Fachdaten_3D'.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| Titel | yes | String | Folder title. | false | |
| Layer | yes | Layer/GroupLayer[] | Layer definition. | false | |
| Ordner | no | Ordner[] | Folder definition. | false | |
| isFolderSelectable | no | Boolean | false | Defines whether all layers of a folder can be de-/activated at once by using a checkbox. Only works if treetype="custom". If no flag is set, the global flag in config.js parameter tree.isFolderSelectable is used. |
false |
| invertLayerOrder | no | Boolean | false | Defines wheather the order of layers added to the map should be invert when clicking the folder. | false |
Example Fachdaten-folder with one layer
{
"Fachdaten": {
"Ordner": [
{
"Titel": "My folder",
"Layer": [
{
"id": "123"
}
]
}
]
}
}
Example Hintergrundkarten-folder with 2 layers
{
"Hintergrundkarten":{
"Ordner": [{
"Titel": "Maps",
"isFolderSelectable": false,
"Layer": [
{
"name": "Aerial view",
"id": "123",
"visibility": true
},
{
"name": "City map",
"id": "456"
}
]
}]
}
}
Example Hintergrundkarten-folder, next to it are configured layers
{
"Hintergrundkarten":{
"Ordner": [{
"Titel": "Maps",
"isFolderSelectable": false,
"Layer": [
{
"name": "Aerial view",
"id": "123",
"visibility": true
},
{
"name": "City map",
"id": "456"
}
]
}],
"Layer": [{
"name": "Old map",
"id": "789"
},
...
]
}
}
Example Fachdaten-folder with a sub-folder that contains a layer
{
"Fachdaten": {
"Ordner": [
{
"Titel": "My first folder",
"isFolderSelectable": true,
"Ordner": [
{
"Titel": "My second folder",
"Layer": [
{
"id": "123"
}
]
}
]
}
]
}
}
Example Fachdaten-folder with a sub-folder holding a layer, where the first folder also has a layer defined
{
"Fachdaten": {
"Ordner": [
{
"Titel": "My first folder",
"Ordner": [
{
"Titel": "My second folder",
"Layer": [
{
"id": "123"
}
]
}
],
"Layer": [
{
"id": "456"
}
]
}
]
}
}
Example Fachdaten-folder with an inverted order of layers
In this example layer 123 will be added to the map first. This leads to 456 being above 123.
{
"Fachdaten": {
"Ordner": [
{
"Titel": "My folder",
"invertLayerOrder": true,
"Layer": [
{
"id": "123"
},
{
"id": "456"
}
]
}
]
}
}
Example 3D data folder with subfolders, treeType 'default'.
"Fachdaten_3D": {
"Ordner": [
{
"Titel": "3D Gebäudedaten",
"Layer": [
{
"id": "12884",
"name": "Gebäude LoD2",
"visibility": true
}
]
},
{
"Titel": "3D Basisdaten",
"Layer": [
{
"id": "12883",
"name": "Gelände",
"visibility": true
}
]
}
]
}
Group layer definition to de-/activate multiple layers in one click.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String | Internal layer id to reference this layer. The actual services are referenced in the children field. Please mind that this id must not collide with any id in the services.json. |
false | |
| children | yes | Layer[] | In this array the multiple grouped services are defined. | false | |
| name | no | String | Layer name. | false | |
| transparency | no | Integer | 0 | Layer transparency. | false |
| visibility | no | Boolean | false | Layer visibility. | false |
| supported | no | String[] | ["2D", "3D"] | List of modes the layer may be used in. | false |
| layerAttribution | no | String | services.json value. HTML string shown when the layer is active. | false | |
| legendURL | no | String | services.json value. URL used to request the legend graphic. Deprecated, please use "legend" instead. | false | |
| legend | no | Boolean/String | services.json value. URL used to request the legend graphic. Use true to dynamically generate the legend from a WMS request or the styling. If of type string, it's expected to be a path to an image or a PDF file. |
false | |
| maxScale | no | String | services.json value. Maximum scale in which the layer is still shown. | false | |
| minScale | no | String | services.json value. Minimum scale in which the layer is still shown. | false | |
| autoRefresh | no | Integer | Automatically reload layer every autoRefresh ms. Minimum value is 500. |
false | |
| isNeverVisibleInTree | no | Boolean | false | If true, the layer is never visible in the topic selection tree. |
false |
| urlIsVisible | no | Boolean | true | Whether the service URL should be shown in the layer information window. | false |
Example
{
"id": "myId",
"name": "myGroupLayer",
"children": [
{
"id": "123",
"name": "myLayer_1"
},
{
"id": "456",
"name": "myLayer_2"
}
]
}
Layer definition. Multiple ways to define layers exist. Most attributes are defined in the services.json, but may be overwritten in the layer definition.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String/String[] | Layer ID(s). Resolved using the services.json file. Please mind that the given IDs MUST refer to the same URL, that is, use the same service. When configuring an array of IDs, setting minScale and maxScale of each layer is required to be in the services.json. |
false | |
| name | no | String | Layer name. | false | |
| entities | yes | Entity3D[] | Models to be shown. | false | |
| transparency | no | Integer | 0 | Layer transparency. | false |
| visibility | no | Boolean | false | Layer visibility. | false |
| supported | no | String[] | ["2D", "3D"] | List of modes the layer may be used in. | false |
| layerAttribution | no | String | services.json value. HTML string shown when the layer is active. | false | |
| legendURL | no | String | services.json value. URL used to request the legend graphic. Deprecated, please use "legend" instead. | false | |
| legend | no | Boolean/String | services.json value. URL used to request the legend graphic. Use true to dynamically generate the legend from a WMS request or the styling. If of type string, it's expected to be a path to an image or a PDF file. |
false | |
| maxScale | no | String | services.json value. Maximum scale in which the layer is still shown. | false | |
| minScale | no | String | services.json value. Minimum scale in which the layer is still shown. | false | |
| autoRefresh | no | Integer | Automatically reload layer every autoRefresh ms. Minimum value is 500. |
false | |
| isNeverVisibleInTree | no | Boolean | false | If true, the layer is never visible in the topic selection tree. |
false |
| urlIsVisible | no | Boolean | true | Whether the service URL should be shown in the layer information window. | false |
| filterRefId | no | Integer | Referencing to a configured filter. It is the order (index) of Layer in filter. Starting with 0. | false | |
| renderer | no | String | "default" | Which render pipeline to use ("default" or "webgl") (only for vector data of type "GeoJSON", "WFS", "OAF"). "webgl" is currently classified as experimental and can lead to errors in some modules | false |
| isPointLayer | no | Boolean | false | Whether the (vector) layer only consists of point features (only relevant for WebGL rendering) | false |
Example with one ID
{
"id": "123"
}
Example with an array of IDs
{
"id": ["123", "456", "789"],
"name": "my test layer"
}
List of typical WMS attributes.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String/String[] | Layer name. If the attribute styles is configured, name must be of type String[]. |
false | |
| extent | no | Extent | [454591, 5809000, 700000, 6075769] | Only relevant for 3D mode. Extent of the layer. If not specified, it will be used Extent of the MapView. | false |
| featureCount | no | Integer | 1 | Amount of feature to be returned at maximum on a GetFeatureInfo request. | false |
| gfiAsNewWindow | no | gfiAsNewWindow | null | Relevant if "text/html" is used. |
true |
| styles | no | String[] | Will be sent to the server if defined. The server will interpret and apply these styles and return the corresponding styled tiles. | true |
Example
{
"id": "123456",
"name": "MyWMSLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"layerAttribution": "MyBoldAttribution for layer 123456",
"legend": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"featureCount": 2,
"gfiAsNewWindow": {
"name": "_blank",
"specs": "width=800,height=700"
},
"styles": ["firstStyle", "secondStyle"]
}
The parameter gfiAsNewWindow is only in use when infoFormat is set to "text/html".
This feature allows opening WMS HTML responses in their own window or tab rather than in an iFrame or GFI. To open HTML contents in a standard browser window, set the empty object {} instead of null.
You may change the opening behaviour by setting the parameter name:
Note on SSL encryption
If gfiAsNewWindow is not defined, it's applied with default values when the called URL is not SSL-encrypted (HTTPS).
Due to the No Mixed Content policy of all modern browsers, unencrypted content may not be displayed in an iFrame. Please mind that automatic forwarding (e.g. in Javascript) in iFrames to an insecure HTTP connection (without SSL) is not automatically recognized and may be prevented by the browser.
For such cases, define gfiAsNewWindow manually as described above.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | yes | enum["blank","self"] | "_blank" | "_blank" opens a new browser tab or window (depending on browser) with the specified HTML content. The window appearance can be changed with the specs parameter. "_self" opens the specified HTML content within the current browser window. |
true |
| specs | no | String | You may add an arbitrary amount of comma-separated properties like {"specs": "width=800,height=700"}. For more options, please read the documentation regarding javascript and window.open: W3 Schools: Met win open (German), JavaScript Info: Popup windows (English), MDN: Window open (English) |
true |
Example
#!json
{
"id": "123456",
// (...)
"gfiAsNewWindow": {
"name": "_blank",
"specs": "toolbar=yes,scrollbars=yes,resizable=yes,top=0,left=500,width=800,height=700"
},
// (...)
}
List of typical WFS query attributes for highlightFeaturesByAttribute. For the invocation parameters see urlParameter.
Example invocations:
?api/highlightFeaturesByAttribute=1&wfsId=1&attributeName=DK5&attributeValue=valueToSearchFor&attributeQuery=isequal
?api/highlightFeaturesByAttribute=123&wfsId=1711&attributeName=name&attributeValue=Helios%20ENDO-Klinik%20Hamburg&attributeQuery=IsLike
?api/highlightFeaturesByAttribute=123&wfsId=2003&attributeName=gebietsname&attributeValue=NSG%20Zollenspieker&attributeQuery=isequal
?api/highlightFeaturesByAttribute=123&wfsId=2928&attributeName=biotop_nr&attributeValue=279&attributeQuery=isLike
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| styleId | yes | String | Id of the style. Id defined in the style.json. | false | |
| featurePrefix | yes | String | Search prefix for the WFS query - e.g. app:. | true | |
| wildCard | yes | String | The wildcard character for the WFS query -e.g. % | true | |
| singleChar | yes | String | The single character for the WFS query - e.g. # | true | |
| escapeChar | yes | String | The escape character for the WFS query - e.g. | | true | |
| valueDelimiter | no | String | The value delimiter for isIn queries attributeValue, defaulting to semicolon | true |
Example
#!json
{
"id": "1",
"styleId": "1",
"visibility": false,
"name": "Tierarten invasiv",
"featurePrefix": "app:",
"wildCard": "%",
"singleChar": "#",
"escapeChar": "!"
}
#### Themenconfig.Layer.Tileset
[inherits]: # (Themenconfig.Layer)
List of attributes typically used for tilesets.
|Name|Required|Type|Default|Description|
|----|--------|----|-------|-----------|
|hiddenFeatures|no|String[]|[]|List of IDs to be hidden in the plane.|
|**[cesium3DTilesetOptions](https://cesiumjs.org/Cesium/Build/Documentation/Cesium3DTileset.html)**|no|**[cesium3DTilesetOption](#markdown-header-themenconfiglayertilesetcesium3dtilesetoption)**||Cesium 3D tileset options directly forwarded to the *Cesium tileset object*. E.g. `maximumScreenSpaceError` is relevant to the visibility.|
**Example**
```json
{
"id": "123456",
"name": "TilesetLayerName",
"visibility": true,
"hiddenFeatures": ["id1", "id2"],
"cesium3DTilesetOptions" : {
"maximumScreenSpaceError" : 6
}
}
Todo
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| maximumScreenSpaceError | no | Number | Todo |
Example
{
"cesium3DTilesetOptions": {
"maximumScreenSpaceError": 6
}
}
List of attributes typically used for Terrain.
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| cesiumTerrainProviderOptions | no | cesiumTerrainProviderOption[] | Cesium TerrainProvider options directly forwarded to the Cesium TerrainProvider E.g. requestVertexNormals is used for object surface shading. |
Example
{
"id": "123456",
"name": "TerrainLayerName",
"visibility": true,
"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
}
}
Todo
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| requestVertexNormals | no | Boolean | Todo |
Example
{
"cesiumTerrainProviderOptions": {
"requestVertexNormals" : true
}
}
List of attributes typically used for Entities 3D.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| url | yes | String | "" | Model URL, e.g. "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb". |
false |
| attributes | no | Attribute | Model attributes, e.g. {"name": "test"}. |
false | |
| latitude | yes | Number | Model origin latitude in degrees. Example: 53.541831 |
false | |
| longitude | yes | Number | Model origin longitude in degrees. Example: 9.917963 |
false | |
| height | no | Number | 0 | Model origin height. Example: 10 |
false |
| heading | no | Number | 0 | Model rotation in degrees. Example: 0 |
false |
| pitch | no | Number | 0 | Model pitch in degrees. Example: 0 |
false |
| roll | no | Number | 0 | Model roll in degrees. Example: 0 |
false |
| scale | no | Number | 1 | Model scale. Example: 1 |
false |
| allowPicking | no | Boolean | true | Whether the model may be clicked for GFI. Example: true |
false |
| show | no | Boolean | true | Whether the model should be shown. Should be true. Example: true |
false |
Example
{
"id": "123456",
"name": "EntitiesLayerName",
"visibility": true,
"typ": "Entities3D",
"entities": [
{
"url": "https://daten-hamburg.de/gdi3d/datasource-data/Simple_Building.glb",
"attributes": {
"name": "simple building in Planten und Blomen"
},
"latitude": 53.5631,
"longitude": 9.9800,
"height": 12,
"heading": 0,
"pitch": 0,
"roll": 0,
"scale": 5,
"allowPicking": true,
"show": true
}
],
"gfiAttributes" : {
"name": "Name"
}
},
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| name | no | String | "" | Todo | false |
Example
{
"name": "Fernsehturm.kmz"
}
This type allows loading images as georeferenced map layers. Supported formats are jpeg and png.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String | ID required to be unique. | false | |
| typ | yes | String | "StaticImage" | Sets the layer type to StaticImage, meaning static images will be displayed as layers. |
false |
| url | yes | String | "https://meinedomain.de/bild.png" | Link to the image that is to be shown as layer. | false |
| name | yes | String | "Static Image Name" | Topic selection tree layer name. | false |
| extent | yes | Extent | [560.00, 5950.00, 560.00, 5945.00] | Georeferences the image. The coordinates are expected to be in EPSG:25832, and refer to the top-left and bottom-right image corner. | false |
Example
{
"id": "12345",
"typ": "StaticImage",
"url": "https://www.w3.org/Graphics/PNG/alphatest.png",
"name": "Test PNG file",
"visibility": true,
"extent": [560296.72, 5932154.22, 562496.72, 5933454.22]
}
List of attributes typically used in vector layers. Vector layers are WFS, GeoJSON (EPSG:4326 only), SensorLayer, and Vector Tile Layer.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| clusterDistance | no | Integer | All features within this pixel radius are clustered to a single feature. â ď¸clusterDistance on WFS layers with polygon or line geometry results in the features not being displayed. | false | |
| extendedFilter | no | Boolean | Defines whether the tool extendedFilter may use this layer. |
false | |
| filterOptions | no | filterOption[] | Filter options required by tool wfsFeatureFilter. |
false | |
| mouseHoverField | no | String/String[] | Attribute name or array thereorf to be shown on mouse hovering a feature. | false | |
| nearbyTitle | no | String/String[] | Attribute name or array of features to be shown on nearby search results. | false | |
| additionalInfoField | no | String | "name" | Feature's attribute name to use in the search bar's hit list. Should this attribute not exist in a hit feature, the layer name is used instead. | false |
| styleId | no | String | Style ID. Resolved using the style.json file. | false | |
| styleGeometryType | no | String/String[] | WFS style geometry type to reduce visible features to the ones sharing the given geometry types. More information. | false | |
| hitTolerance | no | String | Click tolerance for hits in pixels when firing a GetFeatureInfo request. | false | |
| vtStyles | no | vtStyle[] | Choosable external style definitions. Only available in a Vector Tile Layer. | false | |
| useMpFonts | no | Boolean | true | Only available in a Vector Tile Layer. Switch to overwrite Fontstacks of external style definitions, to assure needed fonts are available. If set to false, used fonts need to be added separately e.g. via '<link rel=stylesheet ...>' in index.html | false |
| loadingStrategy | no | String | "bbox" | Strategy function for loading features. Possible values are "bbox" or "all". More information. | false |
Example
#!json
{
"id": "123456",
"name": "MyVectorLayerName",
"transparency": 0,
"visibility": true,
"supported": ["2D"],
"extent": [454591, 5809000, 700000, 6075769],
"layerAttribution": "MyBoldAttribution for layer 123456",
"legend": "https://myServer/myService/legend.pdf",
"maxScale": "100000",
"minScale": "1000",
"autoRefresh": "10000",
"isNeverVisibleInTree": false,
"clusterDistance": 60,
"extendedFilter": true,
"loadingStrategy": "all",
"filterOptions": [
{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
},
{
"fieldName": "mySecondAttributeToFilter",
"filterName": "Filter_2",
"filterString": ["*", "value3", "value4"],
"filterType": "combo"
}
],
"mouseHoverField": "name",
"nearbyTitle": "name",
"searchField": "name",
"styleId": "123456",
"hitTolerance": 50
},
{
"id" : "11111",
"name" : "local GeoJSON",
"url" : "portal/master/test.json",
"typ" : "GeoJSON",
"gfiAttributes" : "showAll",
"layerAttribution" : "nicht vorhanden",
"legend" : true
}
Filter options used by the tool wfsFeatureFilter.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| fieldName | yes | String | Attribute name to filter by. | false | |
| filterName | yes | String | Filter name in the tool. | false | |
| filterString | yes | String[] | Array of attribute names filtering by is enabled. Using "*" will allow all values. |
false | |
| filterType | yes | String | Filter type. Only "combo" is supported. |
false |
Example
{
"fieldName": "myFirstAttributeToFilter",
"filterName": "Filter_1",
"filterString": ["*", "value1", "value2"],
"filterType": "combo"
}
Style definitions. Available for Vector Tile Layers only.
| Name | Required | Type | Default | Description | Expert |
|---|---|---|---|---|---|
| id | yes | String | Cross-service unique id. | false | |
| name | yes | String | Display name, e.g. used in the selection tool. | false | |
| url | yes | String | URL to load a style from. The linked JSON must match the Mapbox style specification. | false | |
| defaultStyle | no | String | If set true, this style is used initially; if no field is set true, the first style is used. |
false | |
| resolutions | no | Number[] | Resolutions for zoom levels defined in style. If not set default resolutions from ol-mapbox-style project are used. | false |
Example
{
"id": "UNIQUE_ID",
"name": "Red lines",
"url": "https://example.com/asdf/styles/root.json",
"defaultStyle": true,
"resolutions": [
661.4579761460263,
264.58319045841048,
66.14579761460263,
26.458319045841044,
15.874991427504629,
10.583327618336419
]
}
This chapter defines expected data types.
A coordinate is an array of two numbers. The first represents the easting, the second the northing.
Example integer coordinate
[561210, 5932600]
Example float coordinate
[561210.1458, 5932600.12358]
An extent is an array of four numbers describing a rectangular scope. The rectangle is constructed from the "lower left" and "upper right" corner, so the scheme used is [Easting lower left, Northing lower left, Easting upper right, Northing upper right], or [minx, miny, maxx, maxy].
Example extent
[510000.0, 5850000.0, 625000.4, 6000000.0]
An object containing the required contents. Parameters depend on configuration, usage, and backend components.
A string that refers to a layer id from the services-internet.json. In the example, the ID "1711" is used to refer to the layer "Krankenhäuser" in the services-internet.json of the city of Hamburg.
Example LayerId
"1711"