OGC CityGML 3 Feature Representation

This section describes how multiple geometries are handled in the CityGML 3 Reader, how levels of detail are portrayed, and explains the feature hierarchy that is created when the reader interprets a CityGML dataset.

CityGML features read by the reader are named the same in FME as they are in the CityGML application schema. For example, a CityGML Building will create a Building feature type in FME.

Multiple Geometries

In a CityGML dataset, the same feature may be represented simultaneously in multiple levels of detail. Since FME does not support multiple geometries on a feature, the reader will create a single aggregate of geometries for a feature type.

If only one level of detail is available for a feature type, then a non-aggregate geometry representing the feature will be created.

Feature Hierarchy

The design principle for CityGML is to model real-world entities as features – such as buildings and walls – and to maintain "part-of" relationships between features. For example, a window and a door may be on the same semantic level, thus they can both be part of the same wall.

The reader mimics this hierarchy with regards to the CityGML Thematic Model by creating a feature for each of the CityGML features, and maintains the "part-of" relationships through gml_id and gml_parent_id attributes. In the example above, both the window and the door would specify a gml_parent_id equivalent to the gml_id of the wall that they would be a part of.