Documentation for CityGML

Complex Type: _AbstractBuildingType

[Table of contents]

Super-types: gml:AbstractFeatureType < _CityObjectType (by extension) < _SiteType (by extension) < _AbstractBuildingType (by extension)
Sub-types:
Name _AbstractBuildingType
Used by (from the same schema document) Element _AbstractBuilding
Abstract yes
Documentation 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).
XML Instance Representation
<...
gml:id="[0..1]">
<gml:description> ... </gml:description> [0..1]
<gml:name> ... </gml:name> [0..*]

'Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority.'

<gml:boundedBy> ... </gml:boundedBy> [0..1]
<gml:location> ... </gml:location> [0..1]

'deprecated in GML version 3.1'

<creationDate> xs:date </creationDate> [0..1]
<terminationDate> xs:date </terminationDate> [0..1]
<externalReference> ExternalReferenceType </externalReference> [0..*]
<generalizesTo> GeneralizationRelationType </generalizesTo> [0..*]
<class> BuildingClassType </class> [0..1]
<function> BuildingFunctionType </function> [0..*]
<usage> BuildingUsageType </usage> [0..*]
<yearOfConstruction> xs:gYear </yearOfConstruction> [0..1]
<yearOfDemolition> xs:gYear </yearOfDemolition> [0..1]
<roofType> RoofTypeType </roofType> [0..1]
<measuredHeight> gml:LengthType </measuredHeight> [0..1]
<storeysAboveGround> xs:nonNegativeInteger </storeysAboveGround> [0..1]
<storeysBelowGround> xs:nonNegativeInteger </storeysBelowGround> [0..1]
<storeyHeightsAboveGround> gml:MeasureOrNullListType </storeyHeightsAboveGround> [0..1]
<storeyHeightsBelowGround> gml:MeasureOrNullListType </storeyHeightsBelowGround> [0..1]
<lod1Solid> gml:SolidPropertyType </lod1Solid> [0..1]
<lod1MultiSurface> gml:MultiSurfacePropertyType </lod1MultiSurface> [0..1]
<lod1TerrainIntersection> gml:MultiCurvePropertyType </lod1TerrainIntersection> [0..1]
<lod2Solid> gml:SolidPropertyType </lod2Solid> [0..1]
<lod2MultiSurface> gml:MultiSurfacePropertyType </lod2MultiSurface> [0..1]
<lod2MultiCurve> gml:MultiCurvePropertyType </lod2MultiCurve> [0..1]
<lod2TerrainIntersection> gml:MultiCurvePropertyType </lod2TerrainIntersection> [0..1]
<outerBuildingInstallation> BuildingInstallationPropertyType </outerBuildingInstallation> [0..*]
<interiorBuildingInstallation> IntBuildingInstallationPropertyType </interiorBuildingInstallation> [0..*]
<boundedBy> BoundarySurfacePropertyType </boundedBy> [0..*]
<lod3Solid> gml:SolidPropertyType </lod3Solid> [0..1]
<lod3MultiSurface> gml:MultiSurfacePropertyType </lod3MultiSurface> [0..1]
<lod3MultiCurve> gml:MultiCurvePropertyType </lod3MultiCurve> [0..1]
<lod3TerrainIntersection> gml:MultiCurvePropertyType </lod3TerrainIntersection> [0..1]
<lod4Solid> gml:SolidPropertyType </lod4Solid> [0..1]
<lod4MultiSurface> gml:MultiSurfacePropertyType </lod4MultiSurface> [0..1]
<lod4MultiCurve> gml:MultiCurvePropertyType </lod4MultiCurve> [0..1]
<lod4TerrainIntersection> gml:MultiCurvePropertyType </lod4TerrainIntersection> [0..1]
<interiorRoom> InteriorRoomPropertyType </interiorRoom> [0..*]
<consistsOfBuildingPart> BuildingPartPropertyType </consistsOfBuildingPart> [0..*]
<address> AddressPropertyType </address> [0..*]
</...>
Diagram
Schema Component Representation
<xs:complexType name="_AbstractBuildingType" abstract="true">
<xs:complexContent>
<xs:extension base=" _SiteType ">
<xs:sequence>
<xs:element name="class" type=" BuildingClassType " minOccurs="0"/>
<xs:element name="function" type=" BuildingFunctionType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type=" BuildingUsageType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="yearOfConstruction" type=" xs:gYear " minOccurs="0"/>
<xs:element name="yearOfDemolition" type=" xs:gYear " minOccurs="0"/>
<xs:element name="roofType" type=" RoofTypeType " minOccurs="0"/>
<xs:element name="measuredHeight" type=" gml:LengthType " minOccurs="0"/>
<xs:element name="storeysAboveGround" type=" xs:nonNegativeInteger " minOccurs="0"/>
<xs:element name="storeysBelowGround" type=" xs:nonNegativeInteger " minOccurs="0"/>
<xs:element name="storeyHeightsAboveGround" type=" gml:MeasureOrNullListType " minOccurs="0"/>
<xs:element name="storeyHeightsBelowGround" type=" gml:MeasureOrNullListType " minOccurs="0"/>
<xs:element name="lod1Solid" type=" gml:SolidPropertyType " minOccurs="0"/>
<xs:element name="lod1MultiSurface" type=" gml:MultiSurfacePropertyType " minOccurs="0"/>
<xs:element name="lod1TerrainIntersection" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="lod2Solid" type=" gml:SolidPropertyType " minOccurs="0"/>
<xs:element name="lod2MultiSurface" type=" gml:MultiSurfacePropertyType " minOccurs="0"/>
<xs:element name="lod2MultiCurve" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="lod2TerrainIntersection" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="outerBuildingInstallation" type=" BuildingInstallationPropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorBuildingInstallation" type=" IntBuildingInstallationPropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="boundedBy" type=" BoundarySurfacePropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod3Solid" type=" gml:SolidPropertyType " minOccurs="0"/>
<xs:element name="lod3MultiSurface" type=" gml:MultiSurfacePropertyType " minOccurs="0"/>
<xs:element name="lod3MultiCurve" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="lod3TerrainIntersection" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="lod4Solid" type=" gml:SolidPropertyType " minOccurs="0"/>
<xs:element name="lod4MultiSurface" type=" gml:MultiSurfacePropertyType " minOccurs="0"/>
<xs:element name="lod4MultiCurve" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="lod4TerrainIntersection" type=" gml:MultiCurvePropertyType " minOccurs="0"/>
<xs:element name="interiorRoom" type=" InteriorRoomPropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="consistsOfBuildingPart" type=" BuildingPartPropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="address" type=" AddressPropertyType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" _GenericApplicationPropertyOfAbstractBuilding " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>