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. |
Only relevant for file-based imports. File name or search pattern inside the specified directory, for example |
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. |
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 |
Feature types |
free selection of CityGML feature types |
Restricts processing to selected CityGML feature types such as |
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 |
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. |
Excludes selected semantic surface types such as |
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 SRS |
SRS identifier, e.g. |
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. |
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 |
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 |
|
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 |
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 |
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 |
| 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 |
Defines the memory budget for the converter process in megabytes. Leaving the field at |
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 |
Spatial subdivision schema |
e.g. 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 |
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. |
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.
|
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 |
|
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 |
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. |