CityGML User Attributes
In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Attributes), this format adds the format-specific attributes and attribute types described in this section.
CityGML Attribute Types
CityGML provides the usual assortment of attribute types, usually prefixed with either citygml_ or xml_. One type that is particularly interesting to users of the CityGML Writer is the xml_xml type.
A string attribute that is set to this type will not be encoded when written into the XML document. One place that this is very useful is when writing elements of type xalAddress or other places where you wish to provide a back door into the document and insert an xml fragment directly into the document.
XML Type
The geometry of the CityGML feature may be identified by its xml_type attribute. The valid values for this attribute are:
xml_type |
Description |
---|---|
xml_no_geom |
FME Feature with no geometry. |
xml_point |
Point feature. |
xml_line |
Linear feature. |
xml_surface |
Surface feature, may contain gaps. |
xml_solid |
Solid feature, may contain voids. |
xml_aggregate |
A possibly heterogeneous collection of geometries. |
No Geometry
xml_type: xml_no_geom
Features having their xml_type set to xml_no_geom do not contain any geometry data.
Point
xml_type: xml_point
Features having their xml_type set to xml_point are single coordinate features or aggregates of single coordinate features.
Line
xml_type: xml_line
Features having their xml_type set to xml_line are polyline features and have at least two coordinates or aggregates of polyline features.
Surface
xml_type: xml_surface
Features having their xml_type set to xml_surface are surfaces. They may be simple, topologically contiguous surfaces or aggregates of surface features.
Collection
xml_type: xml_aggregate
Features having their xml_type set to xml_aggregate are complex geometries. Each component of an aggregate may be any of the types listed in this section, including xml_aggregate (i.e. an aggregate may contain aggregate components).
CityGML-Specific Attributes
Other attributes depend on the feature type. Common and feature-specific attributes are as follows.
Common Attributes
Attribute Name |
Contents |
gml_id |
The unique identifier for each feature. This attribute must be unique in the dataset scope. |
gml_parent_id |
The unique identifier representing the feature’s parent in the hierarchy. This must reference another feature in the dataset. |
citygml_level_of_detail{} |
The level of detail of the geometry/geometries. Range: 0...4 |
citygml_lod_name |
Provides the specific name of the level of detail element that this feature is enclosed. The Range is (in pseudo-regular expression syntax) lod[0-4](Network|(Multi)?(Surface|Solid). Examples: lod0Network, lod3Solid, etc. Not all combinations are legal, and not all CityGML feature types support all options. |
citygml_library_object |
The target URI for the implicit geometry. |
citygml_mime_type |
The mime type of the library object. |
citygml_transformation_matrix |
A 4x4 matrix describing the translation of the implicit geometry. Elements are space-delimited. |
Appearance Attributes:
Attribute Name |
Contents |
citygml_theme |
The name of the themed appearance. |
X3DMaterial Attributes:
Attribute Name |
Contents |
citygml_is_front |
A boolean describing whether the material should be applied to the front or the back of the target surface. Range: true|false|1|0 |
citygml_ambient_intensity |
A real number describing the ambient intensity. Range: 0...1 |
citygml_diffuse_color |
A list of three real numbers describing diffuse color. Elements are space-delimited and must conform to the following range. Range: 0...1 |
citygml_emissive_color |
A list of three real numbers describing emissive color. Elements are space-delimited and must conform to the following range. Range: 0...1 |
citygml_specular_color |
A list of three real numbers describing specular color. Elements are space-delimited and must conform to the following range. Range: 0...1 |
citygml_shininess |
A real number describing the shininess. Range: 0...1 |
citygml_transparency |
A real number describing the transparency. Range: 0...1 |
citygml_is_smooth |
A Boolean denoting if the surface is smooth or not. Range: true|false|1|0 |
citygml_target |
Targets to apply the material to. |
GeoreferencedTexture Attributes:
Attribute Name |
Contents |
---|---|
citygml_is_front |
A boolean describing whether the material should be applied to the front or the back of the target surface. Range: true|false|1|0 |
citygml_image_uri |
The target uri that the texture is located at. |
citygml_mime_type |
The mime type of the texture. |
citygml_texture_type |
The texture type. Range: specific|typical|unknown |
citygml_wrap_mode |
The type of wrapping to apply. Range: none|wrap|mirror|clamp|border |
citygml_border_color |
A list of three to four real numbers describing the border color and opacity. Elements are space-delimited and must conform to the following range. Range: 0...1 |
citygml_prefer_world_file |
A boolean denoting if a world file should be sought and used when possible instead of the included georeferenced texture data. Range: true|false|1|0 |
citygml_orientation_matrix |
A 2x2 matrix describing the rotation and scaling of the texture. Elements are space-delimited. |
citygml_target |
Targets to apply the texture to. |
ParameterizedTexture Attributes:
Attribute Name |
Contents |
---|---|
citygml_is_front |
A Boolean describing whether the material should be applied to the front or the back of the target surface. Range: true|false|1|0 |
citygml_image_uri |
The target uri that the texture is located at. |
citygml_mime_type |
The mime type of the texture. |
citygml_texture_type |
The texture type. Range: specific|typical|unknown |
citygml_wrap_mode |
The type of wrapping to apply. Range: none|wrap|mirror|clamp|border |
citygml_border_color |
A list of three to four real numbers describing the border color and opacity. Elements are space-delimited and must conform to the following range. Range: 0...1 |
citygml_target{}.uri |
The location of the surface to which the texture applies. |
citygmal_target{}.coordinate_list{}.ring |
The named ring of the surface that the texture applies to. |
citygml_target{}.coordinate_list{}.coordinates |
A list of real numbers describing the coordinates on the ring that the texture applies to. Elements are space-delimited. |
citygml_target{}.coordinate_list{}.world_to_texture_matrix |
A 3x4 matrix describing the linear translation and spatial location of the texture to be mapped. Elements are space-delimited. |