What is CityGML?

Excerpt of the CityGML model (LOD2) of The Hague, Netherlands (open dataset).

CityGML is an open standardised data model and exchange format to store digital 3D models of cities and landscapes. It defines ways to describe most of the common 3D features and objects found in cities (such as buildings, roads, rivers, bridges, vegetation and city furniture) and the relationships between them. It also defines different standard levels of detail (LODs) for the 3D objects, which allows us to represent objects for different applications and purposes.

By using CityGML, you can build on the extensive expertise on 3D city modelling that has accumulated over the years. There is now a growing community, a body of research and material, plenty of software tools that support the format, and a long list of potential applications.

What can be stored in CityGML?

CityGML mainly describes the geometry, attributes and semantics of different kinds of 3D city objects. These can be supplemented with textures and/or colours in order to give a better impression of their appearance. Specific relationships between different objects can also be stored using CityGML, e.g. that a building is decomposed into three parts, or that a building has a both a carport and a balcony.

The types of objects stored in CityGML are grouped into different modules. These are:

It is however possible to extend this list with new classes and attributes by defining Application Domain Extension (ADEs). There are already several ADEs, e.g. for representing the 3D topographic objects in the Netherlands, for energy estimation in an urban context, and for estimating solar potential.

How are objects stored in CityGML?

In its most common implementation, which is the one generally used to disseminate and exchange data, CityGML datasets consist of a set of plain text files (XML files) and possibly some accompanying image files that are used as textures. Each text file can represent a part of the dataset, such as a specific region, a specific type of object (such as a set of roads), or a predefined LOD.

The structure of a CityGML file is a hierarchy that ultimately reaches down to individual objects and their attributes. These objects have a geometry that is described using GML.

Another important implementation of CityGML is the one of 3D City DB, which stores CityGML in a database.

CityGML as a standard

CityGML is an open standard that can be used free of charge, and it is an official international standards of the Open Geospatial Consortium (OGC). It has been realised as an open data model and is implemented as a GML application schema. Because CityGML is based on GML, it can be used with the whole family of GML-compatible web services for data access, processing, and cataloging, such as Web Feature Services, Web Processing Services, and Catalog Services.

CityGML was originally developed by the members of the Special Interest Group 3D (SIG 3D) of the initiative Geodata Infrastructure North-Rhine Westphalia (GDI NRW) in Germany. It is now developed and maintained by the OGC.