|
> CityGML is an open conceptual data model for the storage and exchange of virtual 3D city models. It is defined through a Unified Modeling Language (UML) object model. This UML model extends the ISO Technical Committee 211 (TC211) conceptual model standards for spatial and temporal data. Building on the ISO foundation assures that the man-made features described in the City Models share the same spatial-temporal universe as the surrounding countryside within which they reside. The aim of the development of CityGML is to reach a common definition of the basic entities, attributes, and relations of a 3D city model. This is especially important with respect to the cost-effective sustainable maintenance of 3D city models, allowing the reuse of the same data in different application fields.[^1]
|
|
> CityGML is an open conceptual data model for the storage and exchange of virtual 3D city models. It is defined through a Unified Modeling Language (UML) object model. This UML model extends the ISO Technical Committee 211 (TC211) conceptual model standards for spatial and temporal data. Building on the ISO foundation assures that the man-made features described in the City Models share the same spatial-temporal universe as the surrounding countryside within which they reside. The aim of the development of CityGML is to reach a common definition of the basic entities, attributes, and relations of a 3D city model. This is especially important with respect to the cost-effective sustainable maintenance of 3D city models, allowing the reuse of the same data in different application fields.[^1]
|
|
|
|
|
|
In order to describe a city model, CityGML utilizes thematic modules. The base module is the CityGML Core which gets extended by defined thematic modules such as Building, Bridge, Vegetation, Transportation, WaterBody, Relief, LandUse, Appearance etc. In this tutorial, the building module will be used to explain the CityGML concepts. Examples will be given in CityGML 2.0 as most existing tools are using this version. However, the examples will be given in CityGML 3.0 XML encoding as well to see the differences of CityGML 2.0 and CityGML 3.0.
|
|
In order to describe a city model, CityGML utilizes thematic modules. The base module is the CityGML Core which gets extended by defined thematic modules such as Building, Bridge, Vegetation, Transportation, WaterBody, Relief, LandUse, Appearance etc. In this tutorial, the building module will be used to explain the CityGML concepts. Examples will be given in CityGML 2.0 as most existing tools are using this version. However, the examples will be given in CityGML 3.0 XML encoding as well to see the differences of CityGML 2.0 and CityGML 3.0.
|
|
|
|
<div align=center>
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div align="center">
|
|
<div align="center">
|
|
|
|
|
|
**Left**: CityGML 2.0 Modules ([Overview](https://docs.opengeospatial.org/guides/20-066.html)) **Right**: CityGML 3.0 Modules ([Overview](https://portal.ogc.org/files/?artifact_id=47842))
|
|
**Left**: CityGML 2.0 Modules ([Overview](https://docs.opengeospatial.org/guides/20-066.html)) **Right**: CityGML 3.0 Modules ([Overview](https://portal.ogc.org/files/?artifact_id=47842))
|
|
|
|
|
|
</div>
|
|
</div>
|
|
The following example shows a CityModel (CityGML 2.0) that makes use of several modules including Building, Bridge, WaterBody, Vegetation, Relief, and Transportation. 
|
|
The following example shows a CityModel (CityGML 2.0) that makes use of several modules including Building, Bridge, WaterBody, Vegetation, Relief, and Transportation.
|
|
|
|
<div align=center>
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div align="center">
|
|
<div align="center">
|
|
|
|
|
... | @@ -21,9 +29,12 @@ The CityGML model Stuttgart-Stöckach was created by L. Rothengass as a part of |
... | @@ -21,9 +29,12 @@ The CityGML model Stuttgart-Stöckach was created by L. Rothengass as a part of |
|
## CityGML Core
|
|
## CityGML Core
|
|
|
|
|
|
The following UML diagram defines the CityGML top level class hierarchy (based on CityGML 2.0 standard document, fig. 23, p51).
|
|
The following UML diagram defines the CityGML top level class hierarchy (based on CityGML 2.0 standard document, fig. 23, p51).
|
|
|
|
<div align=center>
|
|
|
|
|
|

|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
A _CityModel_ is a collection of _cityObjectMembers_. Each CityGML module defines specific _CityObjects_ such as _Building_ objects, _Vegetation_ objects etc. Every _CityObject_ has a fixed set of specific attributes as specified in the UML model, and an _Appearance_ to define its visual properties. _GenericAttributes_ can be used to define additional attributes that are not explicitly specified in the UML model itself.
|
|
A _CityModel_ is a collection of _cityObjectMembers_. Each CityGML module defines specific _CityObjects_ such as _Building_ objects, _Vegetation_ objects etc. Every _CityObject_ has a fixed set of specific attributes as specified in the UML model, and an _Appearance_ to define its visual properties. _GenericAttributes_ can be used to define additional attributes that are not explicitly specified in the UML model itself.
|
|
|
|
|
|
The XML encoding of the UML diagram is defined in an XML schema. In CityGML 2.0, the XML schema is a part of the CityGML standard document. An example of a typical XML document of a _City Model_ is sketched here:
|
|
The XML encoding of the UML diagram is defined in an XML schema. In CityGML 2.0, the XML schema is a part of the CityGML standard document. An example of a typical XML document of a _City Model_ is sketched here:
|
... | | ... | |