OGC 12-066

Open Geospatial Consortium
Publication date: 2014-01-31
Approval Date: 2012-12-08
Submission Date: 2013-06-18
External identifier of this OGC® document: http://www.opengis.net/doc/BP/ade-citygml-inuml
Reference number of this OGC® project document:

OGC 12-066

Category: OGC® Best Practice
Editor: Linda van den Brink, Jantien Stoter, Sisi Zlatanova

Modeling an application domain extension of CityGML in UML
OGC Best Practice

Copyright © 2012-2014 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.

Warning
This document defines an OGC Best Practices on a particular technology orapproach related to an OGC standard. This document is not an OGC Standard andmay not be referred to as an OGC Standard. It is subject to change without notice.
However, this document is an official position of the OGC membership on thisparticular technology topic.

Document type:
Document subtype:
Document stage:
Document language:

OGC® Best PracticeApproved for public release
EnglishOGC 12-066

License Agreement
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below,
to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property
without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish,
distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to
do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual
Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above
copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTSTHAT MAY BE IN FORCE ANYWHERE IN THE WORLD.
THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULARPURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDEDIN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILLMEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE
UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT
THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OFINTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY
DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTINGFROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH
THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all
copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except asprovided in the following sentence, no such termination of this license shall require the termination of any third party end-user
sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual
Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent,
copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license
without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy orcause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual
Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without
prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may
authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any
LICENSOR standards or specifications.
This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United
Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of thisAgreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable,
and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be
construed to be a waiver of any rights or remedies available to it.

ii

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

Foreword
Attention is drawn to the possibility that some of the elements of this document may be
the subject of patent rights. Open Geospatial Consortium shall not be held responsible for
identifying any or all such patent rights. However, to date, no such rights have been
claimed or identified.
Recipients of this document are requested to submit, with their comments, notification of
any relevant patent claims or other intellectual property rights of which they may beaware that might be infringed by any implementation of the specification set forth in thisdocument, and to provide supporting documentation.
This best practice paper is based on a paper, presented at 3D GeoInfo, May 2012, inQuebec, Canada by the following authors: Linda van den Brink1, Jantien Stoter1,2 3, andSisi Zlatanova2.
,

1 Geonovum, Amersfoort, {l.vandenbrink|j.stoter}@geonovum.nl
2 OTB, TU Delft, {|j.e.stoter|s.zlatanova }@tudelft.nl
3 Kadaster, Apeldoorn, Jantien.stoter@kadaster.nl

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

iii

OGC 12-066

Abstract
This paper presents key aspects of the development of a Dutch 3D standard IMGeo as a
CityGML ADE. The new ADE is modeled using UML class diagrams. However the
OGC CityGML specification does not provide clear rules on modeling an ADE in UML.
This paper describes how the extension was built, which provides general insight how
CityGML can be extended for a specific applications starting from the UML diagrams.
Several alternatives for modeling ADEs in UML have been investigated and compared.
The best suited for the 3D standard option is selected and applied. Open issues andchallenges are discussed in the conclusions.

iv

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

Best Practice Paper

OGC 12-066

1. Introduction
Recently a national 3D standard has been established in The Netherlands as a CityGML
ADE (Van den Brink et al 2012; Stoter et al 2011). This ADE completely integrates
CityGML with the existing national Information Model for large scale topography (called
Information Model Geography or ‘IMGeo’). IMGeo is modeled in UML (Unified
Modeling Language), and contains object definitions for large scale representations ofroads, water, land use/land cover, bridges, tunnels etc. and their properties, and prescribes
2D point, curve or surface geometry for all objects. As the new version of IMGeo(version 2.0) is completely integrated with CityGML, 2D IMGeo data can be extended
into 2.5D (i.e. as height surface representation) and 3D (as volumetric representation)according to geometric and semantic principles of CityGML.
In line with the Dutch practice of modeling geo-information in UML the IMGeo
CityGML ADE is modeled using UML class diagrams. However, the CityGML
specifications do not provide rules or guidance on modeling an ADE in UML (CityGML
ADE, 2012). It describes only how an ADE must be modeled in the XML schemas.
Based on the lessons learned from developing the CityGML-IMGeo ADE, this paper
describes how CityGML can be extended for specific applications starting from the UML
diagrams. A complete description of the CityGML-IMGeo ADE can be found in Van den
Brink et al (2011). This paper summarizes the technical modeling, i.e. how the UML
models of CityGML can be extended to also support the concepts defined in a specificdomain, and how a GML application schema (OGC 2007) conforming to the CityGML
ADE rules can be automatically generated from the UML model. Our experiences canserve as best practice to standardize the developments of domain specific CityGML
ADEs in the near future. Firstly, because this process is not standardized yet and,secondly, because our approach was established through intensive discussions on
possible alternatives with the OGC CityGML Working Group, members of the Special
Interest Group 3D (SIG 3D) and other experts. An important step in this process, hasbeen the decision of SIG 3D to adopt our UML modeling approach for ADE’s in March,
2012.
The IMGeo standard, in which the approach described in this best practice paper isimplemented, has been formally approved as a Dutch national standard in February 2012.
This forms evidence of implementation of this best practice. The IMGeo standard is usedin the Dutch base registry for large scale topography, part of the national system of baseregistries for sharing data. Government agencies who are data provider of large scale
topography are required by law to supply at least their data as defined in the mandatory
core of IMGeo, and encouraged to supply also any optional data they have.
The paper is organized as follows. Section 2 describes the optimal modeling approach,which was selected from several alternatives. Section 3 explains how the selected

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

1

OGC 12-066

modeling approach has been applied to model the CityGML ADE ‘IMGeo 2.0’ andSection 4 concludes on findings and topics for further research.

2

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

2. APPROACH for modeling CityGML ADEs in UMLThis section presents the selection process of the optimal approach for modelingapplication domain extensions of CityGML in UML. During the development of
CityGML_IMGeo, intensive discussions took place on possible alternatives for modelingthe ADE in UML, specifically with the OGC CityGML Working Group, members of theSpecial Interest Group 3D (SIG 3D) and other experts. Some of the alternatives werebased on having only generic extension placeholders in the UML model, while theextension would be described informally in some way outside the model. In otheralternatives the extension would be described in UML. Most of these alternatives were insome degree in conflict with rules of UML, the ISO19109 General Feature model, or themodular specification standard of OGC (OGC, 2009).
After comparing the advantages and disadvantages of the alternatives, one alternative wasselected as the best option for the IMGeo ADE. This approach defines the properties tobe added in subclasses in the ADE package but suppresses these subclasses from thegenerated XML Schema.
An extension subclass is marked as ADE extension in the UML model using a stereotype
or tagged value. A stereotype is preferred because it makes clear from the UML diagrams
that the ADE subtype is not mapped to an XML Schema component. Tagged values are
not always (and usually not) shown in the graphical notation. However, this could beviewed as violating the GML encoding rule that stereotypes are used for conceptual
aspects and tagged values for encoding-related aspects.
Several disadvantages to this approach were noted by the participants of the discussions.
1) It is confusing to introduce an ADE subclass of a CityGML type although the ADE
hooks provide a means to avoid subclassing. The ADE hooks represent a concept of
attribute substitution, for which there is no standard expression method in UML. In UML,
using a subclass for extending another class is appropriate. 2) In UML a subclass inherits
all methods and attributes from its super class, but in this case that is not intended. Inorder to stress this, the generalization relation between subclass and CityGML superclassreceives a stereotype <<ADE>>. 3) Because in UML the extension is modelled with
subclasses, it is not possible to create an instance diagram where an object instance isshown combining properties from different ADE’s. The only way to show instance datais on the XML level.
These disadvantages notwithstanding, there are several reasons why we have chosen thisapproach. Firstly, conceptually IMGeo is an extension of CityGML and therefore
defining the IMGeo classes as subclasses of CityGML classes and adding the extra
properties to these subclasses is appropriate. Another aspect in favor of this alternative isthat the use of subclassing is understandable for people with basic knowledge of UML
class diagrams. This is an important requirement of the IMGeo UML model. Finally, thisapproach conforms to relevant rules of UML, the ISO 19100 series and OGC unlike most

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

3

OGC 12-066

of the alternatives. Finally this approach is the most in line with the current geoinformation modeling approach in the Netherlands.
The fact that in the XML Schema implementation the subclasses are omitted, is seen as atechnical implementation choice to allow the combining of properties from different
ADEs. While this is a valid reason on the technical level, it is not taken to mean that in
the conceptual UML model subclassing should also be avoided.

4

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

3. Modeling IMGeo as CityGML ADE
This section explains how the selected modeling approach was applied to model the
CityGML ADE IMGeo 2.0. Although the focus in this section is on realising a CityGML
ADE for the Dutch information model “IMGeo”, the followed procedure contains
generalities that can be used to model other ADEs in UML as well.
3.1. Modeling IMGeo classes as subclasses of CityGML classes

Since CityGML is only available as xml schema, the first step is to recreate the UML
model in the modeling tool Enterprise Architect, based on (OGC 2008). In the next step
all IMGeo classes are modeled as subclasses of CityGML classes. Using the selectedmodeling approach, these subclasses get the same class name as the CityGML class they
are extending. The stereotype <<ADEElement>> is assigned to the subclasses. This
stereotype was proposed by Benner and Haefele during the discussion on the selectedmodeling alternative. This stereotype marks these classes as subtypes that only add
properties to the CityGML class, and accordingly no XML component for these classes
will be created in the XML Schema. In addition, the specialization relation with the
CityGML class is marked with a stereotype <<ADE>>. For documentation purposes, aDutch translation of the subclass name is added as an alias.
For all CityGML classes which are relevant for IMGeo, a subclass is created, adding atleast a 2D geometry property to all classes. Figure 1 shows an example in the IMGeo
ADE of a subclass TunnelPart which contains additional properties compared to theequivalent CityGML class (2D geometry and LOD0 geometry properties). The yellow
classes are classes from the CityGML Tunnel package. The <<ADEElement>>
TunnelPart is a class defined in the IMGeo ADE package as a subclass of CityGML
TunnelPart class. The Dutch alias is shown between brackets on the class diagram.
The implications of applying this inheritance structure, is that the domain specificinformation model gets the same structure as defined by the CityGML model.

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

5OGC 12-066

Figure 1: TunnelPart AD Element with 2D geometry
To identify equivalent concepts that can be modeled via this subclassing method, first a
conceptual mapping was made between CityGML and the application information model
IMGeo. These mappings compared the concepts at semantic level, i.e. independent of
which LOD the concept appears in CityGML.
Obviously, not for every IMGeo class a 1-to-1 mapping to an equivalent CityGML class
could be found. For these classes, two solutions are possible. The first option, which ispreferred and therefore applied as much as possible, remodels the IMGeo concept so thatan equivalent CityGML class can be found. For IMGeo this is for example done for
Vegetation that models any vegetation-related concept (in IMGeo 1.0 divided over
several classes) and AuxiliaryTrafficArea meant for road segments which are not used
for traffic, such as verges (in IMGeo modeled under the classes Road or Land Use).
If it is not possible to remodel the concept into a CityGML class, CityGML is extended
with a new class, as a subclass of one of the CityGML classes. Figure 2 shows anexample in the IMGeo ADE of a class which is not available in CityGML but needed in
IMGeo. The class ‘OverigeConstructie’ (OtherConstruction) is a class to represent manmade constructions other than buildings, bridges and tunnels. Examples are water
management constructs such as pumping plants, locks, and weirs but also wharfs, fences,loose-standing walls, high-tension line towers and wind turbines. It is modeled as a<<featureType>> subclass of the CityGML class _Site (with a Dutch class name) which
is not suppressed from the XML Schema. The class has its own properties which aremodeled similar to CityGML classes, such as implicit geometry on different LODs as
well as 2D and 3D geometry up to LOD3.

6

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

Figure 2: OverigeConstructie, new class added, derived from _Site
3.2. The use of code lists in the ADE

CityGML provides code lists to allow predefined values for the CityGML attributes.
However, the CityGML-IMGeo ADE makes use of national classification code lists
instead of the CityGML code lists. Several aspects gave reasons to do this (this is in linewith the findings of Portele 2009): the national lists are specifically suited to the Dutch
context and contain a definition for each concept, approved by the Dutch organizations
involved. Other reasons for not using the CityGML code lists are that IMGeo favors
Dutch language code lists and that the CityGML standard does not provide definitions forthe code list values, which makes it hard to decide which value to use. There is no need tomap the Dutch code lists to the CityGML code lists, as these are non-normative andsoftware does not check on code list values nor process them in specific ways.
Both CityGML and GML do not provide a normative way to structure code lists.
Prominent choices are GML dictionary and SKOS (Simple Knowledge Organisation
System; SKOS, 2012). GML dictionary was considered but not selected, because theseare deprecated in GML 3.3, while SKOS adoption is growing in the geo community.
SKOS was therefore selected.
The code lists are maintained in the UML model and XML structured code lists can begenerated from the UML using a ShapeChange customization which allows generation of
SKOS-encoded code lists from UML classes with a <<codeList>> stereotype. The
disadvantage of maintaining the code lists in the UML model, is that the UML modelneeds to be updated in case the code lists need an update. For IMGeo the code lists are
considered as part of the standard and allowed to change only when a new IMGeo
version is published.
Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

7

OGC 12-066

The SKOS code lists will be published in a national, publicly available registry, which
also contains the IMGeo XML Schema. Each code list and code list value is accessible
via its own URL.
Code list validation can be done using standard XML techniques such as Schematron
constraints (ISO/IEC 19757-3:2006(E)). Further work is needed to assess how the IMGeo
code lists are best represented and structured in SKOS.
3.3. Generating XML Schema from the UML ADE
The Java tool ShapeChange is used to generate an XML Schema (GML application
schema) from the ADE defined in UML (Portele, 2008). As mentioned before,
ShapeChange implements the UML to GML encoding rules described in ISO 19136, ISO
10118, and ISO 19109. ShapeChange was modified to add a custom encoding rule forclasses with the <<ADEElement>> stereotype. These classes are suppressed from the
GML Application schema, while their properties are added to the ADE namespace as
substitutes for the CityGML “_GenericApplicationPropertyOf<Featuretypename>”hooks as described in CityGML 10.13.1.
For the national 3D standard it is required to identify the reference system (x, y, z) to be
used in the GML files.
IMGeo 2.0 compliant test data has been generated to show how the model works whenapplied to data, see Figure 3.

Figure 3: Visualisation of CityGML-IMGeo encoded data: CityGML LOD28

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

4. Conclusion and further researchThis paper presents an approach for automatic generation of a CityGML ADE startingfrom UML schema. After some investigations of the several possibilities, the mostbeneficial for the Dutch purposes was applied for the CityGML ADE IMGeo (i.e. theDutch national 3D standard). The main principle of the selected approach is that allclasses of IMGeo are modeled as subclasses of CityGML classes and these subclasses get
the same class name as the CityGML class they are extending. The stereotype<<ADEElement>> marks these classes as subtypes that only add properties to the
CityGML class, and accordingly no XML component for these classes will be created in
the XML Schema.
In the development of CityGML ADE IMGeo 2.0 a number of topics are identified that
requires further research. Firstly, more research is needed to understand the consequencesof this new modeling method for IMGeo when used for both 2D and 3D datasets, e.g.
how to preserve the links between the different LODs and how to upgrade 2D LOD tohigher LODs. Secondly, knowledge is required on the ability to use 3D IMGeo data in
CityGML-aware software, i.e. whether software systems are compatible with our
extensions and which adaption is required. Furthermore research is needed to assess how
the IMGeo code lists are best represented and structured in SKOS. Finally, the creationand management of CityGML-IMGeo data needs more research attention. Whichmethods can be used to generate CityGML-IMGeo data? How should this data bevalidated and maintained? How can 2.5D topology be created and maintained?
These open issues are currently being studied in a follow-up project of the 3D Pilot NL(Stoter et al, 2012). The first phase finished in June, 2011 and has been reported in Stoter
et al (2011). Since October 2011 over 100 organizations (Geonovum, 2012) arecontributing to the six activities of the second phase of the 3D Pilot NL. The activities
related to learn more about the UML modeling approach for ADEs are the generation of
3D IMGeo example data (several levels of detail and several classes) and the design andimplementation of a 3D validator that tests whether both the semantics and the geometryof the data are compliant with the standard.
This is the first study on extending the UML diagrams of CityGML for specific domains.
Since the OGC CityGML specifications do not provide rules or guidance on correctlymodeling an ADE in UML, this paper may serve as best practice for future ADEs to bemodeled in UML.

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

9OGC 12-066

5.

Acknowledgments

The authors express their sincere gratitude to Thomas Kolbe, Claus Nagel (both TU
Berlin); Carsten Roensdorf (Ordnance Survey and chair of OGC CityGML working
group) and Clemens Portele (interactive instruments GmbH), who actively participated in
the discussions.
This research is supported by the Dutch Technology Foundation STW, which is part of
the Netherlands Organisation for Scientific Research (NWO) and partly funded by the
Ministry of Economic Affairs, Agriculture and Innovation (project code: 11300).

10

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 12-066

Bibliography

CityGML ADE, 2012, current ADE are maintained atwww.citygmlwiki.org/index.php/CityGML-ADEs
Geonovum, 2012, list of participants of second phase 3D Pilot, online,
www.geonovum.nl/dossiers/3d-pilot/deelnemersvervolg
IMGeo, 2007. Informatiemodel Geografie, oct 2007 [online]. Available fromwww.geonovum.nl/sites/default/files/IMGeo_rapport_definitief_versie_1.0.pdf
ISO/IEC, 2006, 19757-3:2006(E), Information technology – Document Schema
Definition Languages (DSDL) – Part 3: Rule-based validation – Schematron. First edition
2006-06-0
OGC, 2007, OpenGIS® Geography Markup Language (GML) Encoding Standard.
Version 3.2.1, doc # OGC 07-036,
http://portal.opengeospatial.org/files/?artifact_id=20509
OGC, 2008, OpenGIS® City Geography Markup Language (CityGML) EncodingStandard, version 1.0.0, document # 08-007r1.
http://portal.opengeospatial.org/files/?artifact_id=28802
OGC, 2009, The Specification Model — A Standard for Modular specifications. version
1.0.0, document # 08-131r3. https://portal.opengeospatial.org/files/?artifact_id=34762
Portele, C., 2008, Mapping UML to GML Application Schemas; ShapeChange Architetcure and Descritpion, version 1.0rc., www.interactiveinstruments.de/fileadmin/gdi/docs/ugas/ShapeChange-1.0.pdf
Portele, C., 2009. OGC® OWS-6 UTDS-CityGML Implementation Profile, editor:
Clemens Portele, version 0.3.0, OGC 09-037r1
SKOS, 2012, [online] Available from www.w3.org/2004/02/skos/
Stoter, J., Vosselman, G., Goos, J., Zlatanova, S., Verbree, E., Klooster, R. and Reuvers,
M., 2011. Towards a National 3D Spatial Data Infrastructure: Case of The Netherlands.
PFG Photogrammetrie, Fernerkundung, Geoinformation, 2011(6): 405-420.
Stoter, J.E., Jacob Beetz, Hugo Ledoux, Marcel Reuvers, Rick Klooster, Paul Janssen,
Friso Penninga, Sisi Zlatanova, Lida van den Brink, 2012, Implementation of a national
3D standard: case of The Netherlands, 3D GeoInfo Symposium, Quebec, Canada, 16-17
May. To be published in Lecture Notes in Geinformation and Cartography (Springer).

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

11

OGC 12-066

Van den Brink, L., J.E. Stoter and S. Zlatanova, 2012. Establishing a national standard
compliant to CityGML, accepted for International Journal of Geographical Information
Science IJGIS

12Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.