OGC CityGML User Attributes
In addition to the generic FME feature attributes that FME Workbench adds to all features (see About Feature Type Attributes), this format also adds format-specific attributes (Format Attributes).
OGC 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 listed in the table below.
xml_type |
Geometry |
Description |
---|---|---|
xml_aggregate |
Collection |
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 (that is, an aggregate may contain aggregate components). |
xml_line |
Line |
Features having their xml_type set to xml_line are polyline features and have at least two coordinates or aggregates of polyline features. |
xml_no_geom |
No Geometry |
Features having their xml_type set to xml_no_geom do not contain any geometry data. |
xml_point |
Area |
Features having their xml_type set to xml_point are single coordinate features or aggregates of single coordinate features. |
xml_solid |
Point |
Features having their xml_type set to xml_point are single coordinate features. |
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. |
CityGML-Specific Attributes
Other attributes depend on the feature type. Common and feature-specific attributes are listed in the tables below.
Common Attributes
Attribute Name |
Contents |
gml_id |
The unique identifier for each feature. This attribute must be unique in the dataset scope. If you already have an id in your data (my_id), you can use a prefix to make it unique. |
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 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. |