CityGML

The CityGML Task converts 3D city models into 3D Tiles so they can be visualized in the VC Map. Typical input sources are CityGML, CityJSON, or an existing VC Database (VCDB) or 3D City Database (3DCityDB). The task prepares not only the geometry but also semantic and visual information so that the resulting data can be rendered efficiently and used for attribute-based analysis in the viewer.

Step 1

Option Description

Task Name

Name of the task.

Create or overwrite Datasource

Select whether to create a new datasource or overwrite an existing one

Datasource Name

If an existing data source is to be overwritten, select the source here.

Step 2

In this step, you define the input data, semantic filtering, spatial reference, and the conversion, tiling, and output options. The minimum required settings are the input source, the files or database to be processed, and the desired output interpretation and processing behavior. These choices determine which objects enter processing, which level of detail is used later in the viewer, and how geometry, textures, and output formats are optimized. If a database source (VCDB / 3DCityDB) is selected, the dialog shows additional database-specific export and filter options.

The settings in step 2 follow the order of the sections in the user interface.

Input Data

Setting Parameter Description

Data source type

3D City Database

CityGML / CityJSON files

Selects whether the 3D objects are read from a database source (VCDB / 3DCityDB) or from CityGML / CityJSON files. Database-based processing is appropriate for centrally managed datasets. File-based imports are useful for project-specific exports or clearly separated deliveries. For this workflow, the target database must already be configured and assigned to the project, see Database Management and Project Management. The selection also controls which additional fields become visible in step 2.

Select database

specific VCDB or 3DCityDB instance

Only visible when the database source type is selected. Chooses the specific VCDB or 3DCityDB instance that shall be exported. This is relevant when several databases are operated in parallel, for example separate project, test, or production datasets.

Directory

folder path

Only relevant for file-based imports. Path to the folder that contains the input files. UNC paths are supported. The Publisher service account must have read access to this location.

File

file name or pattern, e.g.
*.gml

Only relevant for file-based imports. File name or search pattern inside the specified directory, for example export.gml, *.gml, tile_*.json, or ZIP files such as *.zip.

Include subdirectories

enabled / disabled

Searches all subfolders recursively for matching files.

LoD level

1

2

3

Defines the preferred Level of Detail for the imported objects. For building datasets, LoD 1 usually represents simplified block models, LoD 2 typically adds differentiated roof shapes and a more realistic outer shell, and LoD 3 contains a more detailed exterior geometry. For other feature classes, the practical meaning of the LoD can differ.

LoD selection

Equal

Allow lower

Allow any

Controls how objects are handled if the selected LoD is not available. Equal exports only objects that exist exactly in the selected LoD. Allow lower uses a simpler LoD as fallback if the requested one is missing. Allow any accepts any available LoD and maximizes data coverage, but may produce a more mixed level of detail in the result.

Appearance mode

None

Prefer texture

Texture only

Material only

Prefer material

Multiply

Defines whether textures, materials, or a default color are used for the output geometry. None ignores available appearance data and typically uses the default color. Prefer texture gives priority to textures and falls back to materials or color. Texture only uses only textures. Material only uses only material properties such as diffuse colors. Prefer material prioritizes material colors over textures. Multiply combines texture and material information, which may result in additional tinting depending on the data.

Appearance selection

Automatic

Theme

Null theme

The field is only visible when the Appearance mode is not set to None. It controls which appearance theme from the selected VCDB / 3DCityDB or input dataset should be used during export. Automatic uses the appearance variant detected by the system. Theme refers to an explicitly selected appearance theme. Null theme addresses appearance entries without a theme name. This matters when the source contains only one appearance theme without having a specific name.

Default color

color value, e.g.
#cccccc

Default fallback color used when the selected appearance mode does not provide a texture or material.

Semantics

Setting Parameter Description

Semantic subdivision down to

None

CityObjectGroup

CityObject

CityObjectPart

All

Defines how deeply semantic structures such as city objects, object parts, or surfaces are preserved in the output. None strongly reduces the semantic decomposition to one resulting object. No further decomposition takes place and individual objects are not clickable / inspectable. CityObjectGroup preserves CityGML group structures and thus the resulting features are the defined groups. CityObject keeps individual root CityGML objects such as Building, Bridge, or Tunnel. No further decomposition into semantic surfaces such as RoofSurface, WallSurface, or GroundSurface takes place. CityObjectPart additionally preserves object parts such as building parts. All keeps the semantic structure as deep as possible. The deeper the subdivision, the more precise the later selection, querying, and thematic styling can be, but the number of individual elements as well as the size of the output files increase. The selected subdivision level also influences which attributes are available later in the VC Map application, because attributes remain attached to the preserved semantic objects.

Feature types

free selection of CityGML feature types

Restricts processing to selected CityGML feature types such as Building, Bridge, or WaterBody. This is useful when only specific object classes shall be published and processed. If many different classes are processed together, they end up in the same layer and usually cannot be toggled independently in the VC Map application.

Attributes

None

Keep

Remove

All

Controls whether attributes are fully kept, selectively retained, removed, or omitted entirely. None writes no attributes. Keep writes only the explicitly selected attributes. Remove excludes only the selected attributes. All writes all available attributes. This directly affects the balance between information depth, privacy, and data volume. If no attributes are written at all, the resulting objects are usually much more limited for selection, inspection, or targeted hiding in the viewer.

Select attributes from list

attribute list, depending on
Keep or Remove

Used to define individual attributes explicitly. With Keep, only these attributes are exported. With Remove, exactly these attributes are excluded.

Remove semantic surfaces

free selection, e.g. GroundSurface, RoofSurface, WallSurface

Excludes selected semantic surface types such as GroundSurface, RoofSurface, or WallSurface from the result. This can be useful to reduce data volume when certain surfaces do not add value in the target use case. For example, GroundSurface is often hardly visible if a building sits directly on terrain; removing it reduces file size, but the affected objects remain open from below.

Spatial Reference

Setting Parameter Description

Coordinate reference system

Same as input data

Override with SRS code

Override with WKT definition

Uses the CRS from the input data or defines a target CRS via an SRS code or WKT. Same as input data is the safe default without explicit reprojection. Override with SRS code uses an identifier such as EPSG, ADV, OGC, or ESRI. Override with WKT definition expects a full WKT description of the target CRS.

EPSG, ADV, OGC, or ESRI SRS

SRS identifier, e.g.
EPSG:25832

Only visible when Override with SRS code is selected for the coordinate reference system. Enter the target CRS as an identifier, for example an EPSG code or another supported SRS identifier.

WKT definition

WKT string, e.g.
PROJCS[…​]

Only visible when Override with WKT definition is selected for the coordinate reference system. Enter the target CRS as a full WKT definition. This is mainly required for special, local, or non-standard reference systems that cannot be described cleanly by a simple SRS code.

Height mode

Absolute

Ellipsoid

Terrain

Determines whether heights are interpreted as absolute, ellipsoidal, or terrain-related values. Absolute is the normal case when the data already uses the correct vertical reference. Ellipsoid sets all buildings to z = 0 and therefore onto the ellipsoid. Terrain interprets heights relative to a terrain model and only makes sense if a suitable terrain datasource is available in the project.

Terrain datasource

terrain datasource from the project

Only visible when Terrain is selected for the Height mode. Defines the terrain source to which the heights refer. Without a suitable terrain datasource that is already configured in the project (see Datasources), this mode is generally not meaningful.

Offset

numeric value in meters

Applies a global vertical offset in meters to all generated objects.

When choosing Terrain as height mode, polygon-like or line-like objects are not fully draped over the terrain surface. The process calculates the center point of each ground polygon and uses the terrain height at that point. For line-like objects, the starting point of each line is used. As a result, buildings or line objects might partially "sink" into the terrain while other parts "float" above it. The terrain datasource option is therefore recommended mainly for flat areas or for point-like objects such as instantiated trees (SolitaryVegetationObject) or street lamps (CityFurniture).

Spatial Filter

Setting Parameter Description

Bounding box filter

enabled / disabled

Limits processing to objects located inside a specified rectangular area.

Extent

minX, minY, maxX, maxY

Only relevant when the Bounding box filter is enabled. Defines the rectangular area by minimum and maximum X/Y values in EPSG:4326 coordinates (WGS84). The Publisher UI supports WGS84 coordinates only. Click on Edit bounding box Edit bounding box to open the map editor and adjust the extent interactively instead of entering the coordinates only manually.

Additional Options for Database Sources

When a database source is chosen, additional options become available within the spatial filters for exporting data from VCDB / 3DCityDB. These settings cover validity handling for versioned content and advanced filtering of the exported feature set.

Setting Parameter Description

Feature version validity

enabled / disabled

Considers the temporal validity of versioned database objects during export. This is especially relevant for datasets that store historical states or maintain multiple versions of the same feature over time.

Validity mode

Valid

Invalid

All

Defines whether only valid, only invalid, or all feature versions are exported. The evaluation usually relates to the CityGML attributes core:creationDate and core:terminationDate. Valid is typically the correct choice for a current publication, whereas all is more useful for QA, comparison, or historical inspections. When combined with a specific date, the export can target a defined temporal state.

Point in time

checkbox at plus date/time

Optional temporal reference for feature validity. When this option is set, the export evaluates feature validity for a specific point in time instead of only using the general current state. This is especially useful for historical publications or snapshot-based exports. Available starting with VCDB / 3DCityDB 5.0.

Reference

Database

Real world

Defines whether the validity check refers to the technical state stored in the database or to the real-world validity of the feature content. Available starting with VCDB / 3DCityDB 5.0.

Lenient validation

enabled / disabled

Allows the export to continue even if individual validity or consistency checks are not fully satisfied. This can be helpful for exploratory test runs, but should be used carefully for production-ready data.

Database filter options

object identifiers or expert filter expression

Allows one database filter expression to be specified directly. In the simplest case, this can be a comma-separated list of object identifiers. For advanced filters, click Expert filter to open the expert filter editor and enter the expression directly. VCDB / 3DCityDB version 4 uses XML-based filters; version 5 uses JSON-based filter expressions.

Edit the expert filter expression only if the standard UI options are not sufficient. For VCDB / 3DCityDB 4 the expression is XML-based; for version 5 it is JSON-based.
It is often easier to create and test the same filter first in the Database Export Task and then copy the filter expression into this task.

For more detailed background on validity handling and advanced database filters, refer to the VC Database or 3D City Database manuals.

Advanced Settings

Setting Parameter Description

Number of threads

numeric value

Defines how many worker threads are used in parallel during conversion. Higher values can reduce runtime, but they also increase CPU and memory usage.

Converter memory [MB]

numeric value or auto

Defines the memory budget for the converter process in megabytes. Leaving the field at auto lets the system use the default configuration.

Log level

debug

info

warning

error

Controls how detailed the converter log output should be. Use more verbose levels such as debug for troubleshooting and more restrictive levels such as warning or error for routine operation.

The following settings also belong to step 2 and control how the 3D objects are rendered, tiled, processed, and written to the output. The default values are suitable for many standard city model conversions, while advanced options help optimize performance and visual quality for larger datasets.

Model Appearance

Setting Parameter Description

Default shininess

numeric value

Controls the specular appearance of objects that do not provide their own material properties.

Render outlines

enabled / disabled

Adds visible contour lines to object edges.

Outline mode

Primitives / Surfaces / Crease angle

Defines which edges are rendered as outlines when Render outlines is enabled. Primitives draws contours around individual geometry elements. Surfaces additionally emphasizes boundaries between semantic surfaces such as roof, wall, or ground surfaces. Crease angle uses the Default crease angle to render edges with clearly differing face orientations as outlines.

Enable normal interpolation

enabled / disabled

Smooths shading across adjacent faces. This can improve organic geometry but may make building edges appear softer.

Default crease angle

angle in degrees

Defines from which angle an edge should remain sharp instead of being smoothed.

Tiling

Setting Parameter Description

Tiling type

Single Level Tiling

Multi Level Tiling (Replace Refinement)

Multi Level Tiling (Add Refinement)

Selects how the generated 3D Tiles are distributed across tile levels. Depending on the selected tiling type, additional tiling, generalization, and texture-reduction fields become visible.

Tile level

single level or minimum / maximum tile level

Defines the zoom or subdivision level at which tiles are generated. For Single Level Tiling, one tile level is entered. For multi-level tiling, a minimum and a maximum tile level are defined.

Object size filter

enabled / disabled

Omits very small objects that would not be meaningful at the selected tile level. The effect depends on the semantic subdivision chosen earlier in step 2, because object size is evaluated on the generated semantic objects.

Threshold factor

numeric value

Defines the factor used by the object size filter. Higher values omit more small objects on the affected tile level.

Use generalization

enabled / disabled

Simplifies geometry for lower tile levels to reduce data volume. Depending on the tiling type, either a direct tolerance or a target geometric error is configured.

Tolerance [m]

numeric value in meters

Visible for Single Level Tiling and Multi Level Tiling (Add Refinement). Defines the geometric simplification tolerance. Higher values reduce geometry complexity more aggressively.

Tolerance to geometric error ratio

numeric ratio

Visible for Multi Level Tiling (Replace Refinement). Defines the relation between the simplification tolerance and the target geometric error.

Target geometric error [m]

numeric value in meters

Visible for Multi Level Tiling (Replace Refinement). Defines the target geometric error on the highest tile level. Details larger than this value are preserved there without further generalization; lower values retain finer details but increase data volume and loading time.

Use texture reduction

enabled / disabled

Reduces texture resolution for lower tile levels. Depending on the tiling type, either a direct texture size or a target texture size is configured.

Texture size [m]

numeric value in meters

Visible for Single Level Tiling and Multi Level Tiling (Add Refinement). Defines the target texel size in meters used for texture reduction. Larger values reduce texture resolution more aggressively.

Texture size to geometric error ratio

numeric ratio

Visible for Multi Level Tiling (Replace Refinement). Defines the relation between target texture size and target geometric error.

Target texture size [m]

numeric value in meters

Visible for Multi Level Tiling (Replace Refinement). Defines the target texture resolution on the highest tile level. A value such as 0.1 targets about 10 cm texture resolution there. This setting has a major impact on the resulting file size, loading time, and visualization performance.

Spatial subdivision schema

e.g.
Quadtree

Octree

Chooses the tiling structure, for example Quadtree or Octree.

Feature assignment to tiles

Assign by center

Slice

Defines how features are distributed to tiles. Assign by center stores a feature in the tile that contains its center point. Slice allows geometry to be split at tile boundaries so that it can be distributed across neighboring tiles.

The Tiling type controls how refinement works in the viewer:

  • Single Level Tiling: tiles are created only at the specified tile level.

  • Multi Level Tiling (Replace Refinement): tiles are created at multiple levels and tiles from lower levels are replaced by tiles from higher levels. For example, tiles of level 15 are replaced by tiles of level 16 when zooming in.

  • Multi Level Tiling (Add Refinement): tiles are created at multiple levels and the content of higher levels is added to tiles from lower levels. This is especially useful together with the object size filter, for example when very large objects are shown on level 15, medium-sized objects on level 16, and small objects on level 17, so the content of levels 16 and 17 is added to the tiles of level 15 while zooming in.

With Quadtree tiling (2D space), each parent tile is divided into 4 child tiles. With Octree tiling, each parent tile is divided into 8 child tiles because subdivision also takes place in the Z direction. Octree therefore gives a finer spatial subdivision in the viewer, but also creates roughly twice as many files as Quadtree.

Processing

Setting Parameter Description

Convert materials to textures

enabled / disabled

Writes material information as textures for viewers that do not support native material colors.

Apply colors per CityGML feature type

enabled / disabled

Assigns predefined colors automatically based on object type. The actual color mapping can be adjusted through the color palette dialog Color palette. This option depends on the settings in the semantic subdivision in the previous step.

Image processing

grouped texture-processing options

Enables texture post-processing options such as texture atlas generation, interpolation settings, and maximum image size. The subordinate options below are only relevant when image processing is enabled.

Generate texture atlas

enabled / disabled

Combines multiple small textures into larger atlas textures. This reduces the number of files and material switches and can improve viewer runtime performance, but it adds extra preprocessing work.

Allow texture expansion

enabled / disabled

Allows textures to be padded at their borders for atlas creation or rescaling operations. This helps avoid visible seams and sampling artifacts, especially with mipmaps or oblique viewing angles.

Enable image cache

enabled / disabled

Keeps already loaded textures in memory during processing so they do not have to be reloaded for each level. This can speed up processing significantly, but it may also increase memory consumption substantially.

Maximum image size

numeric pixel value, e.g.
1024

Limits the edge length of generated or post-processed textures. Smaller values reduce memory usage and data volume, but they can make fine texture details visibly softer.

Interpolation

Bilinear

Bicubic

Nearest neighbor

Defines how textures are recalculated during scaling. Bilinear is a balanced default, Bicubic usually produces smoother results, and Nearest neighbor preserves hard pixel edges.

The image cache can have a significant impact on required memory. If memory issues occur during processing, the image cache should be disabled. In that case, textures are reloaded for each level, which increases runtime noticeably but reduces memory usage.

Output Options

Setting Parameter Description

Render front and back faces

enabled / disabled

Disables back-face culling so both polygon sides remain visible. This option should only be chosen if normal vector issues occur (some surfaces are hidden or not visible from outside). This will influence the performance of the dataset and finally of the viewer (makes it slower), since with this option ALL surfaces will be rendered always from both sides!

Transparency mode

None

Alpha blending

Alpha filter

Combined

Controls how transparent pixels are handled. None ignores transparency effects, Alpha blending mixes transparent areas smoothly, Alpha filter cuts pixels below a threshold sharply, and Combined applies thresholding and soft transparency together.

Alpha filter threshold

numeric threshold

Defines the threshold below which transparent pixels are discarded. This setting is mainly relevant for Alpha filter and Combined.

Metal factor

numeric value

Adjusts the metallic appearance of the generated PBR material.

Minification filter

Linear

Nearest

Controls texture sampling when a texture is displayed smaller in the viewer. Linear appears smoother, while Nearest preserves harder pixel edges.

Magnification filter

Linear

Nearest

Controls texture sampling when a texture is displayed larger in the viewer. Linear smooths transitions, while Nearest produces a sharper, more pixelated appearance.

Image compression

e.g.
JPEG/PNG

KTX2

Selects the output texture format, for example JPEG/PNG or KTX2. The JPEG- and PNG-specific detail settings are only relevant when JPEG/PNG is used.

JPEG chroma subsampling

4_4_4

4_2_2

4_2_0

4_1_1

Defines how strongly color information is reduced compared with brightness information. Stronger subsampling saves space but can visibly reduce smooth color transitions and fine texture detail.

JPEG compression quality

numeric quality value, for example 0.8

Defines how strongly JPEG textures are compressed. Higher values preserve more visual detail but create larger files.

PNG compression quality

numeric quality or compression value

Adjusts the compression level for PNG textures.

Post-processing

None

Google Draco Transcoder

Applies optional output optimizations for specific target platforms. Google Draco Transcoder adds geometry compression and can reduce output size significantly, but it requires a target environment that supports Draco-compressed content.

Step 3

Option Description

Start Job as soon as possible

Start the job immediately.

Start Job once at given time

Schedule job for a future time.

Repeat Job

Automatic periodic execution of the job.

Publish Job after Completion

Once conversion is successful, the datasource is published automatically.