Type describing the "root" element of any city model file. It is a collection whose members are restricted to be features of a city model. All features are included as cityObjectMember. Type describing the abstract superclass of most CityGML features. Its purpose is to provide a creation and a termination date as well as a reference to corresponding objects in other information systems and gerneric attributes. A generalization relation may be used to relate features, which represent the same real-world object in different Levels-of-Detail, i.e. a feature and its generalized counterpart(s). The direction of this relation is from the feature to the corresponding generalized feature. Denotes the relation of an CityObject to its corresponding CityObject in higher LoD, i.e. to the CityObjects representing the same real world object in higher LoD. Type describing the reference to an corresponding object in an other information system, for example in the german cadastre ALKIS, the german topographic information system or ATKIS, ot the british OS mastermap. The reference consists of the name of the external information system, represented by an URI, and the reference of the external object, given either by a string or by an URI. If the informationSystem element is missing in the ExternalReference, the ExternalObjectReference must be an URI, which contains an indication of the informationSystem. Generic (user defined) attributes may be used to represent attributes which are not covered explicitly by the CityGML schema. Generic attributes should be used with care; they should only be used if there is no appropiate attribute available in the schema. Oherwise, problems concerning semantic interoperability may arise. A generic attribute has a name and a value, which has further subclasses (IntAttrribute, StringAttribute, ...). A group may be used to aggregate arbitrary CityObjects according to some user-defined criteria. Examples for groups are the buildings in a specific region, the result of a query, or objects put together for visualization purposes. Each group has a name (inherited from AbstractGMLType), functions (e.g., building group), a class and zero or more usages. A geometry may optionally be attached to a group, if the geometry of the whole group differs from the geometry of the parts. Each member of a group may be qualified by a role name, reflecting the role each cityObject plays in the context of the group. As subclass of _CityObject, a CityObjectGroup inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. As CityObjectGroup itself is a CityObject, it may also contain groups. Denotes the relation of a group to its members, which are CityObjects. Since an association attribute group for enabling the use of references is provided, the relation may either be given by a reference to a city object defined alsewhere, or by inlining of the complete city object. Type describing the abstract superclass for buildings, facilities, etc. Future extensions of CityGML like bridges and tunnels would be modelled as subclasses of _Site. The german translation of site is 'Anlage'. As subclass of _CityObject, a _Site inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the thematic and geometric attributes and the associations of buildings. It is an abstract type, only its subclasses Building and BuildingPart can be instantiated. An _AbstractBuilding may consist of BuildingParts, which are again _AbstractBuildings by inheritance. Thus an aggregation hierarchy between _AbstractBuildings of arbitrary depth may be specified. In such an hierarchy, top elements are Buildings, while all other elements are BuildingParts. Each element of such a hierarchy may have all attributes and geometries of _AbstractBuildings. It must, however, be assured than no inconsistencies occur (for example, if the geometry of a Building does not correspond to the geometries of its parts, of if the roof type of a Building is saddle roof, while its parts have an hip roof). The name will be represented by gml:name (inherited from _GML) . list order for storeyHeightsAboveground: first floor, second floor,... list order for storeyHeightsBelowground: first floor below ground, second floor below ground,... The lodXMultiSurface must be used, if the geometry of a building is just a collection of surfaces bounding a solid, but not a topologically clean solid boundary necessary for GML3 solid boundaries. Class of a building. The values of this type are defined in a the XML file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3. Intended function of a building. The values of this type are defined in the XML file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3. The values may be adopted from ALKIS, the german standard for cadastre modelling. If the cadastre models from other countries differ in the building functions, these values may be compiled in another codelist to be used with CityGML. Actual usage of a building. The values of this type are defined in a the XML file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3.. Roof Types. The values of this type are defined in a XML file, according to the dictionary concept of GML3. Denotes the relation of an _AbstractBuilding to its building parts. The gml:AssociationType attribute group for enabling the use of refs is not repeated in the restriction and thus omitted. The building part has to be given inline, i.e. explicitely in this property. The reason for this inline definition is that no BuildingPart is used by more than one building, thus the use or references to building parts defined elsewhere is prohibited. A BuildingInstallation (German translation is 'Gebäudecharakteristik') is a part of a Building which has not the significance of a BuildingPart. Examples are stairs, antennas, balconies or small roofs. As subclass of _CityObject, a BuildingInstallation inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a building installation. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a building installation. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Actual Usage of a building installation. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Denotes the relation of an AbstractBuilding to its building installations. The gml:AssociationType attribute group for enabling the use of refs is not repeated in the restriction and thus omitted. The building installation has to be given inline, i.e. explicitely in this property. The reason for this inline definition is that no installation of a building is used by more than one building, thus the use or references to building installations defined elsewhere is prohibited. A BoundarySurface (German translation is 'Begrenzungsfläche') is a thematic object which classifies surfaces bounding a building or a room. The geometry of a BoundarySurface is given by MultiSurfaces. As it is a subclass of _CityObject, it inherits all atributes and relations, in particular the external references, the generic attributes, and the generalization relations. Denotes the relation of an Building or Room to its bounding thematic surfaces (walls, roofs, ..). There is no differentiation between interior surfaces bounding rooms and outer ones bounding buildings (one reason is, that ClosureSurfaces belong to both types). It has to be made sure by additional integrity constraints that, e.g. a building is not related to CeilingSurfaces or a room not to RoofSurfaces. Denotes the relation of an BondarySurface to its openings (doors, windows). Type for openings (doors, windows) in walls. Used in LoD3 and LoD4 only. As subclass of _CityObject, an _Opening inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type for windows in walls. Used in LoD3 and LoD4 only . As subclass of _CityObject, a window inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type for doors in walls. Used in LoD3 and LoD4 only . As subclass of _CityObject, a Door inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. A Room is a thematic object for modelling the closed parts inside a building. It has to be closed, if necessary by using closure surfaces. The geometry may be either a solid, or a MultiSurface if the boundary is not topologically clean. The room connectivity may be derived by detecting shared thematic openings or closure surfaces: two rooms are connected if both use the same opening object or the same closure surface. The thematic surfaces bounding a room are referenced by the boundedBy property. As subclass of _CityObject, a Room inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a room . The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a room. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Actual Usage of a room. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type for building furnitures. As subclass of _CityObject, a BuildingFurniture inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a building furniture. The values of this type are defined in a XML file, according to the dictionary concept of GML3. Function of a building furniture. The values of this type are defined in a XML file, according to the dictionary concept of GML3. Actual Usage of a building Furniture. The values of this type are defined in a XML file, according to the dictionary concept of GML3. Denotes the relation of an AbstractBuilding to its rooms. The gml:AssociationType attribute group for enabling the use of refs is not repeated in the restriction and thus omitted. The room has to be given inline within this property, not by reference. Denotes the relation of a room to its interior furnitures (movable). The gml:AssociationType attribute group for enabling the use of refs is not repeated in the restriction and thus omitted. The BuildingFurniture has to be given inline within this property, not by reference. Denotes the relation of an AbstractBuilding or a Door to its Addresses. Type for addresses. It references the xAL address standard issued by the OASIS consortium. Please note, that addresses are modelled as GML features. Every address can be assigned zero or more 2D or 3D point geometries (one gml:MultiPoint geometry) locating the entrance(s). Denotes the relation of an Address feature to the xAL address element. The concept of positioning textures on surfaces complies with the standard X3D. Because there has been no appropriate texturing concept in GML3, CityGML adds the class TexturedSurface to the geometry model of GML 3. A texture is specified as a raster image referenced by an URI, and can be an arbitrary resource, even in the internet. Textures are positioned by employing the concept of texture coordinates, i.e. each texture coordinate matches with exactly one 3D coordinate of the TexturedSurface. The use of texture coordinates allows an exact positioning and trimming of the texture on the surface geometry. Each surface may be assigned one or more appearances, each refering to one side of the surface. A property that has an _Appearance as its value domain, which can either be a Material (Color,...) or a Texture. The _Appearance Element can either be encapsulated in an element of this type or an XLink reference to a remote _Appearance element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. The side of the surface the _Appearance refers to is given by the orientation attribute, which refers to the corresponding sign attribute of the orientable surface: + means the side with positive orientation, and - the side with negative orientation. This abstract type is the parent type of MaterialType and SimpleTextureType. It is derived from gml:AbstractGMLType, thus it inherits the attribute gml:id and may be referenced by an appearanceProperty, although it is defined elsewhere in another appearanceProperty. Adopted from X3D standard (http://www.web3d.org/x3d/) Adopted from X3D standard (http://www.web3d.org/x3d/). ToDo: repeat List of three values (red, green, blue), separated by spaces. The values must be in the range between zero and one. Textures can be qualified by the attribute textureType. The textureType differentiates between textures, which are specific for a certain object and are only used for that object (specific), and prototypic textures being typical for that kind of object and are used many times for all objects of that kind (typical). A typical texture may be replaced by a specific, if available. Textures may also be classified as unknown. Type describing the abstract superclass for transportation objects. Type describing transportation complexes, which are aggregated features, e.g. roads, which consist of parts (traffic areas, e.g. pedestrian path, and auxiliary traffic areas). As subclass of _CityObject, a TransportationComplex inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for traffic Areas. Traffic areas are the surfaces where traffic actually takes place. As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for auxiliary traffic Areas. These are the surfaces where no traffic actually takes place, but which belong to a transportation object. Examples are kerbstones, road markings and grass stripes. As subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Denotes the relation of a transportation complex to its parts, which are traffic areas in this case. Since an attribute group for enabling the use of references is provided, the relation may be given by a reference to an an element defined elsewhere or by the complete TrafficArea inline. Denotes the relation of an Transportation Complex to its parts, which are AuxiliaryTrafficAreas in this case . Since an attribute group for enabling the use of references is provided, the relation may be given by a reference to a AuxiliaryTrafficArea defined elsewhere or by the inline definition of an AuxiliaryTrafficArea. Type describing the class for tracks. A track is a small path mainly used by pedestrians. As subclass of _CityObject, a Track inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for roads. As subclass of _CityObject, a Road inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for squares. A square is an open area commonly found in cities (like a plaza). As subclass of _CityObject, a Square inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Function of a transportation complex. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Actual Usage of a transportation complex. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a traffic area. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of an auxiliary traffic area. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Usage of a traffic area. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type for surface materials of transportation objects. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing the abstract superclass for vegetation objects. A subclass is either a SolitaryVegetationObject or a PlantCover. Type describing Plant Covers resp. Biotopes (German translation: Vegetation). As subclass of _CityObject, a VegetationObject inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a PlantCover. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a PlantCover. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing solitary vegetation objects, e.g., trees. Its geometry is either defined explicitly by a GML 3 geometry with absolute coordinates, or in the case of multiple occurences of the same vegetation object, implicitly by a reference to a shape definition and a transformation. The shape definition may be given in an external file. As subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a PlantType. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a PlantType. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type of a Species. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. A property that has a Implicit Representation as its value domain, which is a representation of a geometry by referencing a prototype and transforming it to its real position in space. Type for the implicit representation of a geometry. An implicit geometry is a geometric object, where the shape is stored only once as a prototypical geometry, e.g. a tree or other vegetation object, a traffic light or a traffic sign. This prototypic geometry object is re-used or referenced many times, wherever the corresponding feature occurs in the 3D city model. Each occurrence is represented by a link to the prototypic shape geometry (in a local cartesian coordinate system), by a transforma-tion matrix that is multiplied with each 3D coordinate tuple of the prototype, and by an anchor point denoting the base point of the object in the world coordinate reference system. In order to determine the absolute coordinates of an implicit geometry, the anchor point coordinates have to be added to the matrix multiplication results. The transformation matrix accounts for the intended rotation, scaling, and local translation of the prototype. It is a 4x4 matrix that is multiplied with the prototype coordinates using homogeneous coordinates, i.e. (x,y,z,1). This way even a projection might be modeled by the transformation matrix. The concept of implicit geometries is an enhancement of the geometry model of GML3. MIME type of a geometry in an external library file. MIME types are defined by the IETF (Internet Engineering Task Force). The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing the abstract superclass for water objects. As subclass of _CityObject, a _WaterObject inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing Water Bodies, e.g., lakes, rivers. As subclass of _CityObject, a WaterBody inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a Water Body. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a Water Body. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Actual usage of a water body. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. A type for a property of a Water Body denoting its boundary, which is a water surface. Since an attribute group for enabling the use of references is provided, the relation may be given by a reference to a WaterBoundarySurface defined elsewhere or by the inline definition of a WaterBoundarySurface. A WaterBoundarySurface is a thematic object which classifies surfaces bounding a water body. Type for the specification of the level of a water surface. The optional attribute waterLevel of a WaterSurface can be used to describe the water level, for which the given 3D surface geometry was acquired. This is especially important, when the water body is influenced by the tide. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing the surface of a water body, which separates the water from the air. As subclass of _CityObject, a WaterSurface inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the ground surface of a water body, i.e. the boundary to the digital terrain model. As subclass of _CityObject, a WaterGroundSurface inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the closure surface between water bodys. As subclass of _CityObject, a WaterClosureSurface inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the class for Land Use in all LoD. LandUse objects describe areas of the earth’s surface dedicated to a specific land use. The geometry must consist of 3-D surfaces. As subclass of _CityObject, a LandUse inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Class of a Landuse. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Function of a Landuse. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Usage of a Landuse. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing city furnitures, like traffic lights, benches, ... As subclass of _CityObject, a CityFurniture inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Function of a Furniture. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Class of a Furniture. The values of this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. Type describing the features of the Digital Terrain Model. As subclass of _CityObject, a ReliefFeature inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the vomponents of a relief feature - either a TIN, a Grid, mass points or break lines. As subclass of _CityObject, a ReliefComponent inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Denotes the relation of a relief feature to its components. The relation may be given by a reference to a component definede elsewhere or by the complete inline definition of a component. Type describing the TIN component of a relief feature. As subclass of _CityObject, a TINRelief inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the raster component of a relief feature. As subclass of _CityObject, a RasterRelief inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the mass point component of a relief feature. As subclass of _CityObject, a MassPoint Relief inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type describing the break line Component of a relief feature. A break line relief consists of break lines or ridgeOrValleyLines (German Translation: Geripplinie) As subclass of _CityObject, a BreaklineRelief inherits all attributes and relations, in particular an id, names, external references, generic attributes and generalization relations. Type for values, which are greater or equal than 0 and less or equal than 1. Used for color encoding, for example. List for double values, which are greater or equal than 0 and less or equal than 1. Used for color encoding, for example. Used for implicit geometries. The Transformation matrix is a 4 by 4 matrix, thus it must be a list with 16 items. The order the matrix element are represented is row-major, i. e. the first 4 elements represent the first row, the fifth to the eight element the second row,... Type for integer values, which are greater or equal than 0 and less or equal than 4. Used for encoding of the LoD number.