Geojson Datasource

Geographical data (streets, parcels, POIs, etc.) can be integrated in GeoJSON format. The following settings can be specified for a GeoJSON data source.


Option Description

Name

Name of the Datasource.

Description

Description of the Datasource (optional).

Bounding Box

Describes the bounding box of the data.
Clicking the button "Edit Bounding Box" opens a new map window where a bounding box can be defined interactively. Clicking the button "Draw new extent on map" activates the bounding box mode, allowing the user to define a bounding box by clicking twice on the map (e.g., top-right and bottom-left corners of the bounding box). The coordinates of the bounding box are automatically adopted in EPSG 4326.
Clicking the button "CLOSE" closes the map window.

URI

URI of the datasource.

Altitude mode

Default is clampToGround, which places the data on the earth’s surface in 3D mode. If the data contains a height value, this option should be set to absolute. If the data should be relative to the earth’s surface, set relativeToGround and specify the corresponding value under Height above ground.

Height above ground

This setting is only relevant if the height mode is set to relativeToGround. Here you can specify a fixed value in meters to shift the data relative to the earth’s surface.

GeoJSON is WGS84

If the GeoJSON data is in the WGS84 coordinate system (EPSG:4326), this option must be enabled. Otherwise, you can disable this option and must specify an EPSG code and a Proj4 string.

EPSG Code

If the GeoJSON data is not in the WGS84 coordinate system (EPSG:4326), specify the corresponding EPSG code (code for the coordinate reference system / CRS [see also: https://epsg.io/]).

Proj4 String

If the GeoJSON data is not in the WGS84 coordinate system (EPSG:4326), specify the corresponding Proj4 string (e.g. see here Link to EPSG:25832).

Features

Optionally, features in GeoJSON format can be specified directly. Please add the features in the features array or copy and paste a features array directly into the field. These will then be loaded and displayed on the map. If a GeoJSON data source should be created without a URL and only with features in the features array, use the following string for the URL: data:application/json;base64,e30=

Style

Here you can specify a style for the GeoJSON data. By default, a blue dot is displayed for each point, lines are shown in blue, and polygons in transparent blue. If you want to define your own style, you can specify it here.
Declarative Styles

 {
    "name": "MeasuredHeight",
    "type": "DeclarativeStyleItem",
    "title": "Measured Height",
    "declarativeStyle": {
        "show": "true",
        "color": {
            "conditions": [
                ["${attributes.measuredHeight} === undefined", "color('#993404')"],
                ["${attributes.measuredHeight} < 5", "color('#ffffd4')"],
                ["${attributes.measuredHeight} < 15", "color('#fed98e')"],
                ["${attributes.measuredHeight} < 30", "color('#fe9929')"],
                ["${attributes.measuredHeight} < 65", "color('#d95f0e')"],
                ["true", "color('#993404')"]
            ]
        }
    },
    "properties": {
        "legend": [
            {
                "type": "StyleLegendItem",
                "colNr": 1,
                "rows": [
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": "#ffffd4"
                        },
                        "title": "< 5 m"
                    },
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": "#fed98e"
                        },
                        "title": "< 15 m"
                    },
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": "#fe9929"
                        },
                        "title": "< 30 m"
                    },
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": "#d95f0e"
                        },
                        "title": "< 65 m"
                    },
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": "#993404"
                        },
                        "title": "> 65 m"
                    }
                ]
            }
        ]
    }
}

or Vector Styles such as

{
    "type": "VectorStyleItem",
    "name": "VectorStyleLineFill",
    "fill": {
        "color": [
            64,
            157,
            119,
            0.5
        ]
    },
    "stroke": {
        "color": [
            64,
            157,
            119,
            1
        ],
        "width": 1.25
    },
    "properties": {
        "legend": [
            {
                "type": "StyleLegendItem",
                "colNr": 1,
                "rows": [
                    {
                        "type": "FillLegendRow",
                        "fill": {
                            "color": [
                                64,
                                157,
                                119,
                                0.5
                            ]
                        },
                        "stroke": {
                            "color": [
                                64,
                                157,
                                119,
                                1
                            ],
                            "width": 1.25
                        },
                        "title": "Fill style"
                    }
                ]
            }
        ]
    }
}

Data Preview

The data preview allows a visual check of the configured data source before publication. It displays the data in the map window using the selected projection and within the defined extent. Users can interactively pan and zoom the map to review the display.
Changes to the data source or the extent are applied to the preview after clicking “Reload Map.”

Helpful for creating GeoJSON data sources

In the features array of a GeoJSON data source, the individual features of a FeatureCollection are stored. The "properties" are also considered. In addition to the general attributes that describe each feature, such as name, ID, etc., special attributes are supported that allow rendering, for example, a 3D tree, 3D lantern (GLTF model), or other objects instead of a point object. The corresponding models must be available as GLTF models and accessible via URL for both the Publisher and the later application.

Properties that start with "olcs_" are interpreted and implemented by the OpenLayers Cesium Library (OLCS). Settings that can be made for the entire data source are described in the data source description above, but will be overridden by properties of individual features.

Representation of 3D Models

The following special attributes can be specified for each model:

Setting Description

olcs_modelUrl

The URL to this model (GLTF / Glb) resource. If the file is on another server, make sure the CORS headers are set correctly.

olcs_modelHeading

Value from 0 to 360. Describes the orientation around the z-axis.

olcs_modelPitch

Value from 0 to 360. Describes the orientation around the x-axis.

olcs_modelRoll

Value from 0 to 360. Describes the orientation around the y-axis.

olcs_modelScale{X,Y,Z}

Numeric value for scaling the model in X, Y, Z direction.

Representation of Point, Line, and Polygon Objects

The following settings refer to the representation of point, line, and polygon objects in the GeoJSON data source. Some settings are mutually exclusive or override other settings. For example, if an object is set to clampToGround, the olcs_heightAboveGround setting is ignored. If 3D models (GLTF) are to be displayed, use the settings described above.

The following special attributes can be specified for each feature:

Setting Description

olcs_storeysAboveGround

Integer value specifying the number of storeys above ground. Used to calculate building height (e.g., number of storeys * 3 meters).

olcs_altitudeMode

Specifies the altitude mode. Possible values are:
clampToGround (default, places the object on the earth’s surface),
clampTo3DTiles (places the object on 3D objects),
clampToTerrain (places the object on the terrain),
absolute (places the object at an absolute height above sea level),
relativeToTerrain (places the object relative to the earth’s surface),
relativeTo3DTiles (places the object relative to 3D objects),
relativeToGround (places the object relative to all surfaces).

olcs_heightAboveGround

Numeric value in meters specifying the height above ground. This setting is only relevant if the altitude mode is set to relativeToX.

olcs_groundLevel

Numeric value in meters specifying the ground level height. Default value is 0 meters.

olcs_storeyHeightsAboveGround

Array of integer values. Each number specifies the height of a storey in meters. Default value is 3 meters. Used to calculate building height (e.g., number of storeys * height of a storey).

olcs_storeysBelowGround

Integer value specifying the number of storeys below ground. Used to calculate building height (e.g., number of storeys * 3 meters).

olcs_storeyHeightsBelowGround

Array of integer values. Each number specifies the height of a storey in meters. Default value is 3 meters. Used to calculate building height below ground (e.g., number of storeys * height of a storey).

olcs_classificationType

Specifies the classification type of the object. Possible values are:
cesium3DTile (places the feature on all 3D objects),
terrain (places the feature on the terrain),
both (places the feature on terrain and building objects).

olcs_extrudedHeight

Numeric value in meters specifying the extruded height for the feature. A point object becomes a line, a line becomes a wall, and a polygon becomes a volumetric object.

olcs_skirt

Numeric value specifying whether a skirt should be drawn for polygon objects (into the ground) to close gaps between the extruded object and the earth’s surface.