-
Definitions for all classes, attributes, data types, enumerations, code lists, basic types, etc. were added.
-
The color scheme for the UML model was simplified.
-
The dependency to ISO 19136 was replaced by a dependency to ISO 19109.
-
The new ADE mechanism was added.
-
After review of the draft specification, several conceptual, editorial, typographical, and grammatical issues were applied. See #117, #118, #119, #136, #137, and #124 for details.
-
Appearance module
- Class
TextureAssociation
: The attributeuri
was renamed totarget
. #105
- Class
-
Core module
- The names of the following code lists were changed:
QualifiedVolumeValue
intoQualifiedVolumeTypeValue
,QualifiedAreaValue
intoQualifiedAreaTypeValue
, andMimeValue
->MimeTypeValue
. - The union class
CityModelMember
was added to allow for arbitrary order of the member properties ofCityModel
in encodings. #38 - The following changes were applied to avoid GML-dependency in the conceptual model: #16 and #18
- A language-independent
MeasureOrNilReasonList
type was added together with the classesDoubleOrNilReasonList
,DoubleOrNilReason
,NilReason
, andNilReasonEnumeration
. - The class
AbstractFeature
with the attributesfeatureID
,identifier
,name
, anddescription
was added, as well as the basic typeID
. - The classes
AbstractPointCloud
,AbstractSurfaceData
,AbstractTimeseries
, andAddress
are derived now from the new classAbstractFeature
. - Association between
ImplicitGeometry
andGM_Object
: The role namerelativeGMLGeometry
was renamed torelativeGeometry
. - Class
CityModelMember
: The type of the attributefeatureMember
was changed fromAnyFeature
toAbstractFeature
.
- A language-independent
- The basic type
Code
was added. - The data type
XALAddressDetails
was renamed toXALAddress
to support XAL v3.0. - The role
bounds
was removed. #117 - The name of the class
TopologicRelationTypeValue
was changed toTopologicalRelationTypeValue
. #132
- The names of the following code lists were changed:
-
Building module
- The bi-directional association between
BuildingUnit
andStorey
was split into two uni-directional associations. #119
- The bi-directional association between
-
CityObjectGroup module
- Class
Role
: The multiplicity of the attributerole
was changed from [1] to [0..1].
- Class
-
Construction module
- Class
Door
: The names of the property types were changed fromWindowClassValue
,WindowFunctionValue
,WindowUsageValue
toDoorClassValue
,DoorFunctionValue
,DoorUsageValue
. #106
- Class
-
Dynamizer module
- The names of the following code lists were changed:
SensorConnectionValue
intoSensorConnectionTypeValue
,StandardFileValue
intoStandardFileTypeValue
,TabulatedFileValue
intoTabulatedFileTypeValue
, andAuthenticationValue
intoAuthenticationTypeValue
.
- The names of the following code lists were changed:
-
Generics module
- The data type
CodeAttribute
was added.
- The data type
-
Transportation module
TransportationSpaceClassValue
,TransportationSpaceFunctionValue
, andTransportationSpaceUsageValue
were removed. #117
-
The attribute
engineeringCRS
was added to the classCityModel
to define a local coordinate system in a CityGML file. The attribute is encoded as metadata property in the XML Schema. #45 -
The Transportation module was refined. #64
- The new concepts
Waterway
,Intersection
, andMarking
were added - The
TransportationComplex
is now modelled asAbstractTransportationSpace
, and the classTransportationSpace
was removed. #82 - The classes
Track
,Road
,Waterway
,Railway
, andSquare
have now the stereotype<<TopLevelFeatureType>>
. #81 - The attributes
class
,function
, andusage
were removed from the classAbstractTransportationSpace
and are now defined separately for the classesTrack
,Road
,Waterway
,Railway
, andSquare
to allow individual codelists for each feature type. AuxiliaryTrafficSpace
is now a subclass ofAbstractUnoccupiedSpace
instead ofAbstractPhysicalSpace
.- The subclasses
Drain
,Manhole
, andRoadwayDamage
were removed and instead were added as entries to the codelist for theclass
attribute of the feature typeHole
. - The attribute
granularity
was added to the classesTrafficSpace
andAuxiliaryTrafficSpace
to be able to model traffic spaces at different levels of granularity. The allowed valuesarea
,way
andlane
are defined as enumerationGranularityValue
. - A class
HoleSurface
was introduced to be able to represent the boundary surface of a hole. - The property
trafficFlow
was renamed totrafficDirection
, its datatype was changed to an enumeration, and it was moved from the classSection
to the two classesAbstractTransportationSpace
andTrafficSpace
. - The
GM_Complex
geometry as well as thenetwork
associations fromTrafficSpace
andAbstractTransportationSpace
toGM_Complex
were removed from the Transportation module. Instead, the propertylod0MultiCurve
was added toAbstractSpace
in the Core module, which allows for representing every space through aGM_MultiCurve
in LOD 0.
- The new concepts
-
The Dynamizer module was refined. #94
- The
SensorConnection
data type contains new attributes to connect to different Sensor APIs using HTTP requests, MQTT Brokers, and Security parameters. - The
AbstractAtomicTimeseries
class no longer imports the OGC standards TimeSeriesML and Observations & Measurements (O&M). Instead, by means of the three subclassesTabulatedFileTimeseries
,StandardFileTimeseries
, andGenericTimeseries
it is now possible to link to standardized timeseries files such as TimeseriesML 1.0 and O&M 2.0, to link to tabulated files such as CSV, and to represent basic time-value pairs for different types of properties such as integer, double, appearances, geometries, and ImplicitGeometries. A main motivation for this change was to reduce the dependencies and tight coupling to other standards, and thus to ease implementations. - The properties
firstTimestamp
andlastTimestamp
were added to the classAbstractTimeseries
to make them available for all subclasses. - The data type
URI
was changed toCharacterString
for the attributesattributeRef
,linkToObservation
, andlinkToSensorDescription
to be able to represent XPath expressions. - The association
isComponent
was renamed intocomponent
.
- The
-
The Relief module was refined. #97
- The classes
ReliefFeature
andAbstractReliefComponent
are now defined as subclasses of the classAbstractSpaceBoundary
. The classAbstractSpaceBoundary
, in turn, was introduced in the Core module as superclass ofAbstractThematicSurface
. - The class
TINRelief
is again associated withGM_TriangulatedSurface
as in CityGML 2.0. - The class
MassPointRelief
is again associated withGM_MultiPoint
as in CityGML 2.0. In addition, it is can also be represented using anAbstractPointCloud
.
- The classes
-
Building module
- The class
RoomElevationReferenceValue
was changed from enumeration to code list.
- The class
-
Construction module
- The class
ElevationReferenceValue
was changed from enumeration to code list.
- The class
-
Generics module
- The attribute
name
was moved from the classAbstractGenericAttribute
to its subclassesGenericAttributeSet
,StringAttribute
,IntAttribute
,DoubleAttribute
,DateAttribute
,UriAttribute
, andMeasureAttribute
.
- The attribute
-
WaterBody module
- The class
WaterClosureSurface
was removed, because the closure surface is already defined by the classClosureSurface
in theCore
module.
- The class
- Moved attribute
surfaceMaterial
fromTrafficSpace
/AuxiliaryTrafficSpace
toTrafficArea
/AuxiliaryTrafficArea
. #78 - Class
ImplicitGeometry
: made attributetransformationMatrix
mandatory. #73 - Added
class
,function
, andusage
toDoor
andWindow
. #76 - Changed composition between
AbstractBuilding
andAbstractBuildingSubdivision
to aggregation. #71 - Introduced the abstract classes
AbstractAppearance
,AbstractDynamizer
,AbstractGenericAttribute
,AbstractPointCloud
,AbstractVersion
, andAbstractVersionTransition
to remove dependencies of the Core module to the thematic modules Appearance, Dynamizer, Generics, PointCloud, and Versioning. #68 - Added code list classes to every module. #10
- Corrected OCL constraint of the class
PointCloud
. #91 - Added a
lod0MultiSurface
geometry property toAbstractThematicSurface
. #92 - Change stereotype of
ImplicitGeometry
from<<FeatureType>>
to<<ObjectType>>
. #86 - An association from
CityObjectRelation
toAbstractGenericAttribute
was defined in the Core module. This allowed for removing the classGenericCityObjectRelation
in the Generics module. #80 - The association between
AbstractSpace
andAbstractThematicSurface
was made uni-directional. In the thematic modules Construction, Building, Transportation, and WaterBody, the subsets of the bounds-boundary relation were replaced by the original bounds-boundary relation. In this way, no additional relationships are derived in the GML application schemas. #21 - Changed sequence of properties in
core:AbstractSpaceType
. #22
- The attributes
occupancyDaytime
andoccupancyNighttime
were removed from the classAbstractSpace
. Instead, an attributeoccupancy
was introduced to the classesAbstractConstruction
,TrafficSpace
andTransportationComplex
, together with the data typeOccupancy
and the code listsIntervalValue
andOccupantTypeValue
. #62 - To make the UML model fully language-independent, a language-independent
DoubleList
type was defined which replaces thedoubleList
type from GML. #16 - To make the UML model fully language-independent, the classes
AbstractFeature
andAbstractGML
were removed from the UML model; instead, a comment was added to describe which attributes are inherited from these classes in the GML encoding. #18 - The attributes
minHeight
andmaxHeight
were added to the classPlantCover
. #34 - The attributes
rootBallDiameter
andmaxRootBallDepth
were added to the classSolitaryVegetationObject
. #50 - The class
AnyFeature
from ISO 19109 was added to the Core model to allow for the relationfeatureMember
also in CityGML 3. #61
- The classes
Void
andVoidSurface
were removed. In addition, the classAbstractSpaceBoundary
was renamed toAbstractThematicSurface
which allowed for removing the subclassAbstractThematicSurface
. #22 DoorSuface
andWindowSurface
were made subclasses of the new superclassAbstractFillingSurface
which in turn inherits fromAbstractSurfaceBoundary
. In addition, associations fromAbstractConstructionSurface
toAbstractFillingSurface
andClosureSurface
were defined. Furthermore, a classAbstractFillingElement
was added as superclass ofDoor
andWindow
as well as an association fromAbstractConstructiveElement
toAbstractFillingElement
. #54- The class
BridgeConstructionElement
was renamed toBridgeConstructiveElement
. An attributeisStructuralElement
was added to the classAbstractConstructiveElement
. #21 - The class
Room
was renamed toBuildingRoom
. #33 - The attribute
heightAboveGround
was renamed toheight
. #35 - The attribute
heightReference
was renamed tohighReference
. #56 - All role names (with few exceptions) use now the name of the target class as role name, starting with a lower case letter. #55
- The attributes
volume
andarea
were added to the classAbstractSpace
, the attributearea
was added to the classAbstractThematicSurface
. In addition, the data typesQualifiedVolume
andQualifiedArea
as well as the code listsQualifiedVolumeValue
andQualifiedAreaValue
were defined. #51 - The attribute
dateOfRenovation
was removed. Instead, an attributeconstructionEvent
was added together with the data typeConstructionEvent
and the code listEventValue
. #53
- Resolved multiple inheritance in the model by introducing a new stereotype
<<TopLevelFeatureType>>
that replaces the previous abstract classAbstractTopLevelFeature
. Top-level feature types are no longer derived from this abstract class, but are now classified using the new stereotype. #32, #9- As a consequence, this allowed for reducing the concepts
Space
andSpaceBoundary
to mostly abstract classes in theCore
module.
- As a consequence, this allowed for reducing the concepts
- Replaced the aggregation between
Building
andBuildingPart
by a composition. #31 - Removed
PointCloud
from theCore
module and put it into a separate extension module. #14 - The classes
AbstractVoidSurface
andAbstractVoid
have been made non-abstract and renamed toVoid
andVoidSurface
. - Simplified the
Construction
module. The semantics ofVoid
,VoidSurface
and openings (e.g.Door
,DoorSurface
) are now more precise. #3, #22 - Removed the classes
ReliefSurface
andGenericSurface
from theCore
module. - Simplified the
SpaceRelation
concept in theCore
module to allow for relations between any city object.- This is now similar to the relation concept in IFC.
GML application schemas and test datasets are available from the releases section of the CityGML-3.0Encodings repository. Please make sure to download the matching release.