Land use Change Requests | OGC

142 Copyright © 2012 Open Geospatial Consortium. Fig. 72: LOD0 regional model consisting of land use objects in CityGML source: IGG Uni Bonn. XML namespace The XML namespace of the CityGML LandUse module is identified by the Uniform Resource Identifier URI http:www.opengis.netcitygmllanduse2.0. Within the XML Schema definition of the LandUse module, this URI is also used to identify the default namespace.

10.10.1 Land use object

LandUseType, LandUse xs:complexType name= LandUseType xs:complexContent xs:extension base= core:AbstractCityObjectType xs:sequence xs:element name= class type= gml:CodeType minOccurs= xs:element name= function type= gml:CodeType minOccurs= maxOccurs= unbounded xs:element name= usage type= gml:CodeType minOccurs= maxOccurs= unbounded xs:element name= lod0MultiSurface type= gml:MultiSurfacePropertyType minOccurs= xs:element name= lod1MultiSurface type= gml:MultiSurfacePropertyType minOccurs= xs:element name= lod2MultiSurface type= gml:MultiSurfacePropertyType minOccurs= xs:element name= lod3MultiSurface type= gml:MultiSurfacePropertyType minOccurs= xs:element name= lod4MultiSurface type= gml:MultiSurfacePropertyType minOccurs= xs:element ref= _GenericApplicationPropertyOfLandUse minOccurs= maxOccurs= unbounded xs:sequence xs:extension xs:complexContent xs:complexType -- ========================================================================================= -- xs:element name= LandUse type= LandUseType substitutionGroup= core:_CityObject -- ========================================================================================= -- xs:element name= _GenericApplicationPropertyOfLandUse type= xs:anyType abstract= true

10.10.2 Code lists

The attributes class, function, and usage of the feature LandUse are specified as gml:CodeType. The values of these properties can be enumerated in code lists. Proposals for corresponding code lists can be found in annex C.5. Copyright © 2012 Open Geospatial Consortium. 143

10.10.3 Conformance requirements

Base requirements  The gml:MultiSurface geometry element representing the geometry of a LandUse object must be given with 3D coordinate values within each LOD. 144 Copyright © 2012 Open Geospatial Consortium.

10.11 City object groups

The CityGML grouping concept has been introduced in chapter 6.8. CityObjectGroups are modelled using the Composite Design Pattern from software engineering cf. Gamma et al. 1995: CityObjectGroups aggregate CityObjects and furthermore are defined as special CityObjects. This implies that a group may become a member of another group realizing a recursive aggregation schema. However, in a CityGML instance document it has to be ensured by the generating application that no cyclic groupings are included. Fig. 73 shows the UML dia- gram for the class CityObjectGroup, for the XML schema see annex A.6. The grouping concept of CityGML is defined by the thematic extension module CityObjectGroup cf. chapter 7. Fig. 73: UML diagram of city object groups in CityGML. Prefixes are used to indicate XML namespaces associated with model elements. Element names without a prefix are defined within the CityGML CityObjectGroup module. The class CityObjectGroup has the optional attributes class, function and usage. The class attribute allows a group classification with respect to the stated function and may occur only once. The function attribute is intend- ed to express the main purpose of a group, possibly to which thematic area it belongs e.g. site, building, trans- portation, architecture, unknown etc.. The attribute usage can be used, if the way the object is actually used differs from the function. Both attributes can occur multiple times. Each member of a group may be qualified by a role name, reflecting the role each _CityObject plays in the context of the group. Furthermore, a CityObject- Group can optionally be assigned an arbitrary geometry object from the GML3 subset shown in Fig. 9 in chapter 8.1. This may be used to represent a generalised geometry generated from the members geometries. The parent association linking a CityObjectGroup to a _CityObject allows for the modelling of a generic hierar- chical grouping concept. Named aggregations of components CityObjects can be added to specific CityObjects considered as the parent object. The parent association links to the aggregate, while the parts are given by the group members. This concept is used, for example, to represent storeys in buildings see section 10.3.6: Mo- delling building storeys using CityObjectGroups. XML namespace The XML namespace of the CityGML CityObjectGroup module is identified by the Uniform Resource Identifier URI http:www.opengis.netcitygmlcityobjectgroup2.0. Within the XML Schema definition of the CityOb- jectGroup module, this URI is also used to identify the default namespace.

10.11.1 City object group

CityObjectGroupType, CityObjectGroup xs:complexType name= CityObjectGroupType xs:complexContent xs:extension base= core:AbstractCityObjectType xs:sequence xs:element name= class type= gml:CodeType minOccurs= xs:element name= function type= gml:CodeType minOccurs= maxOccurs= unbounded xs:element name= usage type= gml:CodeType minOccurs= maxOccurs= unbounded xs:element name= groupMember type= CityObjectGroupMemberType minOccurs= maxOccurs= unbounded Copyright © 2012 Open Geospatial Consortium. 145 xs:element name= parent type= CityObjectGroupParentType minOccurs= xs:element name= geometry type= gml:GeometryPropertyType minOccurs= xs:element ref= _GenericApplicationPropertyOfCityObjectGroup minOccurs= maxOccurs= unbounded xs:sequence xs:extension xs:complexContent xs:complexType -- ========================================================================================= -- xs:element name= CityObjectGroup type= CityObjectGroupType substitutionGroup= core:_CityObject -- ========================================================================================= -- xs:element name= _GenericApplicationPropertyOfCityObjectGroup type= xs:anyType abstract= true -- ========================================================================================= -- xs:complexType name= CityObjectGroupMemberType xs:sequence minOccurs= xs:element ref= core:_CityObject xs:sequence xs:attribute name= role type= xs:string xs:attributeGroup ref= gml:AssociationAttributeGroup xs:complexType -- ========================================================================================= -- xs:complexType name= CityObjectGroupParentType xs:sequence minOccurs= xs:element ref= core:_CityObject xs:sequence xs:attributeGroup ref= gml:AssociationAttributeGroup xs:complexType

10.11.2 Code lists

The attributes class, function, and usage of the feature CityObjectGroup are specified as gml:CodeType. The values of these properties can be enumerated in code lists. Proposals for corresponding code lists can be found in annex C.10.

10.11.3 Conformance requirements

Base requirements 1. No cyclic groupings shall be included within a CityGML instance document. Referential integrity 2. The groupMember property type: CityObjectGroupMemberType of the element CityObjectGroup may contain a core:_CityObject element inline or an XLink reference to a remote core:_CityObject element using the XLink concept of GML 3.1.1. In the latter case, the xlink:href attribute of the groupMember property may only point to a remote core:_CityObject element where remote core:_CityObject ele- ments are located in another document or elsewhere in the same document. Either the contained ele- ment or the reference must be given, but neither both nor none. 3. The parent property type: CityObjectGroupParentType of the element CityObjectGroup may contain a core:_CityObject element inline or an XLink reference to a remote core:_CityObject element using the XLink concept of GML 3.1.1. In the latter case, the xlink:href attribute of the parent property may only point to a remote core:_CityObject element where remote core:_CityObject elements are located in another document or elsewhere in the same document. Either the contained element or the reference must be given, but neither both nor none.