root / trunk / libraries / libGPE-GML / testdata / schemas / CityGML.xsd @ 11124
History | View | Annotate | Download (109 KB)
1 |
<?xml version="1.0" encoding="UTF-8"?> |
---|---|
2 |
<!-- CityGML Version No. 0.3.0, May 31th, 2006--> |
3 |
<!-- CityGML - GML3 application schema for the 3D city model of the Special Interest Group 3D (SIG 3D) of GDI NRW--> |
4 |
<!-- Editors: Dr. Gerhard Groeger & Dr. Thomas H. Kolbe, Institute for Cartography and Geoinformation, University of Bonn --> |
5 |
<!-- For further information see: www.citygml.org --> |
6 |
<!-- For the history of changes and additions to this CityGML schema see file history.txt --> |
7 |
<xs:schema targetNamespace="http://www.citygml.org/citygml/1/0/0" xmlns="http://www.citygml.org/citygml/1/0/0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
8 |
<!-- |
9 |
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="3.1.1/base/gml.xsd"/> |
10 |
<xs:import namespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" schemaLocation="xAL/xAL.xsd"/> |
11 |
--> |
12 |
<!-- ========================================================================================= --> |
13 |
<!-- ======================Root Element: CityModel================================================ --> |
14 |
<!-- ========================================================================================= --> |
15 |
<xs:complexType name="CityModelType"> |
16 |
<xs:annotation> |
17 |
<xs:documentation>Type describing the "root" element of any city model file. It is a |
18 |
collection whose members are restricted to be features of a city model. All features |
19 |
are included as cityObjectMember. |
20 |
</xs:documentation> |
21 |
</xs:annotation> |
22 |
<xs:complexContent> |
23 |
<xs:extension base="gml:AbstractFeatureCollectionType"> |
24 |
<xs:sequence/> |
25 |
</xs:extension> |
26 |
</xs:complexContent> |
27 |
</xs:complexType> |
28 |
<!-- ========================================================================================= --> |
29 |
<xs:element name="CityModel" type="CityModelType" substitutionGroup="gml:_FeatureCollection"/> |
30 |
<!-- ========================================================================================= --> |
31 |
<!-- =======================================CityModel Members ================================== --> |
32 |
<!-- ========================================================================================= --> |
33 |
<xs:element name="cityObjectMember" type="gml:FeaturePropertyType" substitutionGroup="gml:featureMember"/> |
34 |
<!-- ========================================================================================= --> |
35 |
<!-- ==================================CityObject: Base Class of all Features========================== --> |
36 |
<!-- ========================================================================================= --> |
37 |
<xs:complexType name="_CityObjectType" abstract="true"> |
38 |
<xs:annotation> |
39 |
<xs:documentation>Type describing the abstract superclass of most CityGML features. |
40 |
Its purpose is to provide a creation and a termination date as well as a reference |
41 |
to corresponding objects in other information systems and gerneric attributes. |
42 |
A generalization relation may be used to relate features, which represent the |
43 |
same real-world object in different Levels-of-Detail, i.e. a feature and its generalized |
44 |
counterpart(s). The direction of this relation is from the feature to the corresponding |
45 |
generalized feature. |
46 |
</xs:documentation> |
47 |
</xs:annotation> |
48 |
<xs:complexContent> |
49 |
<xs:extension base="gml:AbstractFeatureType"> |
50 |
<xs:sequence> |
51 |
<xs:element name="creationDate" type="xs:date" minOccurs="0"/> |
52 |
<xs:element name="terminationDate" type="xs:date" minOccurs="0"/> |
53 |
<xs:element name="externalReference" type="ExternalReferenceType" minOccurs="0" maxOccurs="unbounded"/> |
54 |
<xs:element ref="_genericAttribute" minOccurs="0" maxOccurs="unbounded"/> |
55 |
<xs:element name="generalizesTo" type="GeneralizationRelationType" minOccurs="0" maxOccurs="unbounded"/> |
56 |
</xs:sequence> |
57 |
</xs:extension> |
58 |
</xs:complexContent> |
59 |
</xs:complexType> |
60 |
<!-- ========================================================================================= --> |
61 |
<xs:element name="_CityObject" type="_CityObjectType" abstract="true" substitutionGroup="gml:_Feature"/> |
62 |
<!-- ========================================================================================= --> |
63 |
<xs:complexType name="GeneralizationRelationType"> |
64 |
<xs:annotation> |
65 |
<xs:documentation>Denotes the relation of an CityObject to its corresponding CityObject |
66 |
in higher LoD, i.e. to the CityObjects representing the same real world object in |
67 |
higher LoD. </xs:documentation> |
68 |
</xs:annotation> |
69 |
<xs:complexContent> |
70 |
<xs:restriction base="gml:AssociationType"> |
71 |
<xs:sequence minOccurs="0"> |
72 |
<xs:element ref="_CityObject"/> |
73 |
</xs:sequence> |
74 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
75 |
</xs:restriction> |
76 |
</xs:complexContent> |
77 |
</xs:complexType> |
78 |
<!-- ========================================================================================== --> |
79 |
<!-- ========================================================================================== --> |
80 |
<!-- ===========================EXTERNAL REFERENCES (all LoD)=================================== --> |
81 |
<!-- ========================================================================================== --> |
82 |
<xs:complexType name="ExternalReferenceType"> |
83 |
<xs:annotation> |
84 |
<xs:documentation>Type describing the reference to an corresponding object in an other |
85 |
information system, for example in the german cadastre ALKIS, the german topographic |
86 |
information system or ATKIS, ot the british OS mastermap. The reference consists of |
87 |
the name of the external information system, represented by an URI, and the |
88 |
reference of the external object, given either by a string or by an URI. |
89 |
If the informationSystem element is missing in the ExternalReference, |
90 |
the ExternalObjectReference must be an URI, which contains an indication |
91 |
of the informationSystem. |
92 |
</xs:documentation> |
93 |
</xs:annotation> |
94 |
<xs:sequence> |
95 |
<xs:element name="informationSystem" type="xs:anyURI" minOccurs="0"/> |
96 |
<xs:element name="externalObject" type="ExternalObjectReferenceType"/> |
97 |
</xs:sequence> |
98 |
</xs:complexType> |
99 |
<!-- ========================================================================================== --> |
100 |
<xs:complexType name="ExternalObjectReferenceType"> |
101 |
<xs:choice> |
102 |
<xs:element name="name" type="xs:string"/> |
103 |
<xs:element name="uri" type="xs:anyURI"/> |
104 |
</xs:choice> |
105 |
</xs:complexType> |
106 |
<!-- ========================================================================================== --> |
107 |
<!-- ========================================================================================= --> |
108 |
<!-- ==================================Generic CityObjects and Attributes=============================--> |
109 |
<!-- ========================================================================================== --> |
110 |
<!-- ========================================================================================== --> |
111 |
<xs:complexType name="_GenericAttributeType" abstract="true"> |
112 |
<xs:annotation> |
113 |
<xs:documentation> Generic (user defined) attributes may be used to represent attributes |
114 |
which are not covered explicitly by the CityGML schema. Generic attributes should be |
115 |
used with care; they should only be used if there is no appropiate attribute available in the schema. |
116 |
Oherwise, problems concerning semantic interoperability may arise. |
117 |
A generic attribute has a name and a value, which has further |
118 |
subclasses (IntAttrribute, StringAttribute, ...). |
119 |
</xs:documentation> |
120 |
</xs:annotation> |
121 |
<xs:sequence/> |
122 |
<xs:attribute name="name" type="xs:string" use="required"/> |
123 |
</xs:complexType> |
124 |
<!-- ========================================================================================== --> |
125 |
<xs:element name="_genericAttribute" type="_GenericAttributeType" abstract="true"/> |
126 |
<!-- ========================================================================================== --> |
127 |
<xs:complexType name="StringAttributeType"> |
128 |
<xs:annotation> |
129 |
<xs:documentation/> |
130 |
</xs:annotation> |
131 |
<xs:complexContent> |
132 |
<xs:extension base="_GenericAttributeType"> |
133 |
<xs:sequence> |
134 |
<xs:element name="value" type="xs:string"/> |
135 |
</xs:sequence> |
136 |
</xs:extension> |
137 |
</xs:complexContent> |
138 |
</xs:complexType> |
139 |
<!-- ========================================================================================== --> |
140 |
<xs:element name="stringAttribute" type="StringAttributeType" substitutionGroup="_genericAttribute"/> |
141 |
<!-- ========================================================================================== --> |
142 |
<xs:complexType name="IntAttributeType"> |
143 |
<xs:annotation> |
144 |
<xs:documentation/> |
145 |
</xs:annotation> |
146 |
<xs:complexContent> |
147 |
<xs:extension base="_GenericAttributeType"> |
148 |
<xs:sequence> |
149 |
<xs:element name="value" type="xs:integer"/> |
150 |
</xs:sequence> |
151 |
</xs:extension> |
152 |
</xs:complexContent> |
153 |
</xs:complexType> |
154 |
<!-- ========================================================================================== --> |
155 |
<xs:element name="intAttribute" type="IntAttributeType" substitutionGroup="_genericAttribute"/> |
156 |
<!-- ========================================================================================== --> |
157 |
<xs:complexType name="DoubleAttributeType"> |
158 |
<xs:annotation> |
159 |
<xs:documentation/> |
160 |
</xs:annotation> |
161 |
<xs:complexContent> |
162 |
<xs:extension base="_GenericAttributeType"> |
163 |
<xs:sequence> |
164 |
<xs:element name="value" type="xs:double"/> |
165 |
</xs:sequence> |
166 |
</xs:extension> |
167 |
</xs:complexContent> |
168 |
</xs:complexType> |
169 |
<!-- ========================================================================================== --> |
170 |
<xs:element name="doubleAttribute" type="DoubleAttributeType" substitutionGroup="_genericAttribute"/> |
171 |
<!-- ========================================================================================== --> |
172 |
<xs:complexType name="DateAttributeType"> |
173 |
<xs:annotation> |
174 |
<xs:documentation/> |
175 |
</xs:annotation> |
176 |
<xs:complexContent> |
177 |
<xs:extension base="_GenericAttributeType"> |
178 |
<xs:sequence> |
179 |
<xs:element name="value" type="xs:date"/> |
180 |
</xs:sequence> |
181 |
</xs:extension> |
182 |
</xs:complexContent> |
183 |
</xs:complexType> |
184 |
<!-- ========================================================================================== --> |
185 |
<xs:element name="dateAttribute" type="DateAttributeType" substitutionGroup="_genericAttribute"/> |
186 |
<!-- ========================================================================================== --> |
187 |
<xs:complexType name="UriAttributeType"> |
188 |
<xs:annotation> |
189 |
<xs:documentation/> |
190 |
</xs:annotation> |
191 |
<xs:complexContent> |
192 |
<xs:extension base="_GenericAttributeType"> |
193 |
<xs:sequence> |
194 |
<xs:element name="value" type="xs:anyURI"/> |
195 |
</xs:sequence> |
196 |
</xs:extension> |
197 |
</xs:complexContent> |
198 |
</xs:complexType> |
199 |
<!-- ========================================================================================== --> |
200 |
<xs:element name="uriAttribute" type="UriAttributeType" substitutionGroup="_genericAttribute"/> |
201 |
<!-- ========================================================================================== --> |
202 |
<xs:complexType name="GenericCityObjectType"> |
203 |
<xs:annotation> |
204 |
<xs:documentation/> |
205 |
</xs:annotation> |
206 |
<xs:complexContent> |
207 |
<xs:extension base="_CityObjectType"> |
208 |
<xs:sequence> |
209 |
<xs:element name="class" type="xs:string" minOccurs="0"/> |
210 |
<xs:element name="function" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
211 |
<xs:element name="usage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
212 |
<xs:element name="lod0Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
213 |
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
214 |
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
215 |
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
216 |
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
217 |
<xs:element name="lod0TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
218 |
<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
219 |
<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
220 |
<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
221 |
<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
222 |
<xs:element name="lod0ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
223 |
<xs:element name="lod1ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
224 |
<xs:element name="lod2ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
225 |
<xs:element name="lod3ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
226 |
<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
227 |
</xs:sequence> |
228 |
</xs:extension> |
229 |
</xs:complexContent> |
230 |
</xs:complexType> |
231 |
<!-- ========================================================================================== --> |
232 |
<xs:element name="GenericCityObject" type="GenericCityObjectType" substitutionGroup="_CityObject"/> |
233 |
<!-- ========================================================================================== --> |
234 |
<!-- ========================================================================================== --> |
235 |
<!-- =======================================GROUPS============================================ --> |
236 |
<!-- ========================================================================================== --> |
237 |
<!-- ========================================================================================== --> |
238 |
<!-- ========================================================================================== --> |
239 |
<xs:complexType name="CityObjectGroupType"> |
240 |
<xs:annotation> |
241 |
<xs:documentation> A group may be used to aggregate arbitrary CityObjects |
242 |
according to some user-defined criteria. Examples for groups are the buildings in a |
243 |
specific region, the result of a query, or objects put together for visualization |
244 |
purposes. Each group has a name (inherited from AbstractGMLType), functions (e.g., |
245 |
building group), a class and zero or more usages. A geometry may optionally be attached to a group, if |
246 |
the geometry of the whole group differs from the geometry of the parts. Each member |
247 |
of a group may be qualified by a role name, reflecting the role each cityObject |
248 |
plays in the context of the group. |
249 |
As subclass of _CityObject, a CityObjectGroup inherits all attributes and relations, in particular |
250 |
an id, names, external references, generic attributes and generalization relations. |
251 |
As CityObjectGroup itself is a CityObject, it may also contain groups. |
252 |
</xs:documentation> |
253 |
</xs:annotation> |
254 |
<xs:complexContent> |
255 |
<xs:extension base="_CityObjectType"> |
256 |
<xs:sequence> |
257 |
<xs:element name="class" type="xs:string" minOccurs="0"/> |
258 |
<xs:element name="function" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
259 |
<xs:element name="usage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
260 |
<xs:element name="groupMember" type="CityObjectGroupMemberType" minOccurs="0" maxOccurs="unbounded"/> |
261 |
<xs:element name="geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
262 |
</xs:sequence> |
263 |
</xs:extension> |
264 |
</xs:complexContent> |
265 |
</xs:complexType> |
266 |
<!-- ========================================================================================== --> |
267 |
<xs:element name="CityObjectGroup" type="CityObjectGroupType" substitutionGroup="_CityObject"/> |
268 |
<!-- ========================================================================================== --> |
269 |
<!-- ========================================================================================== --> |
270 |
<!-- ======================Type for Aggregation of Group Members===================================== --> |
271 |
<!-- ========================================================================================== --> |
272 |
<xs:complexType name="CityObjectGroupMemberType"> |
273 |
<xs:annotation> |
274 |
<xs:documentation>Denotes the relation of a group to its members, which are |
275 |
CityObjects. Since an association attribute group for enabling the use of references |
276 |
is provided, the relation may either be given by a reference to a city object defined alsewhere, or by |
277 |
inlining of the complete city object. </xs:documentation> |
278 |
</xs:annotation> |
279 |
<xs:complexContent> |
280 |
<xs:extension base="gml:AssociationType"> |
281 |
<xs:attribute name="role" type="xs:string"/> |
282 |
</xs:extension> |
283 |
</xs:complexContent> |
284 |
</xs:complexType> |
285 |
<!-- ========================================================================================== --> |
286 |
<!-- ======================================== Sites ============================================= --> |
287 |
<!-- ========================================================================================== --> |
288 |
<xs:complexType name="_SiteType" abstract="true"> |
289 |
<xs:annotation> |
290 |
<xs:documentation>Type describing the abstract superclass for buildings, facilities, |
291 |
etc. Future extensions of CityGML like bridges and tunnels would be modelled as |
292 |
subclasses of _Site. The german translation of site is 'Anlage'. |
293 |
As subclass of _CityObject, a _Site inherits all attributes and relations, in particular |
294 |
an id, names, external references, generic attributes and generalization relations. |
295 |
</xs:documentation> |
296 |
</xs:annotation> |
297 |
<xs:complexContent> |
298 |
<xs:extension base="_CityObjectType"/> |
299 |
</xs:complexContent> |
300 |
</xs:complexType> |
301 |
<!-- ========================================================================================== --> |
302 |
<xs:element name="_Site" type="_SiteType" abstract="true" substitutionGroup="_CityObject"/> |
303 |
<!-- ========================================================================================== --> |
304 |
<!-- ===================================BUILDINGS (all LoD)======================================= --> |
305 |
<!-- ========================================================================================== --> |
306 |
<xs:complexType name="_AbstractBuildingType" abstract="true"> |
307 |
<xs:annotation> |
308 |
<xs:documentation>Type describing the thematic and geometric attributes and the |
309 |
associations of buildings. It is an abstract type, only its subclasses Building and |
310 |
BuildingPart can be instantiated. An _AbstractBuilding may consist of BuildingParts, |
311 |
which are again _AbstractBuildings by inheritance. Thus an aggregation hierarchy |
312 |
between _AbstractBuildings of arbitrary depth may be specified. In such an |
313 |
hierarchy, top elements are Buildings, while all other elements are BuildingParts. |
314 |
Each element of such a hierarchy may have all attributes and geometries of |
315 |
_AbstractBuildings. It must, however, be assured than no inconsistencies occur (for |
316 |
example, if the geometry of a Building does not correspond to the geometries of its |
317 |
parts, of if the roof type of a Building is saddle roof, while its parts have an hip |
318 |
roof). </xs:documentation> |
319 |
</xs:annotation> |
320 |
<xs:complexContent> |
321 |
<xs:extension base="_SiteType"> |
322 |
<xs:sequence> |
323 |
<xs:annotation> |
324 |
<xs:documentation> The name will be represented by gml:name (inherited from |
325 |
_GML) . list order for storeyHeightsAboveground: first floor, second |
326 |
floor,... list order for storeyHeightsBelowground: first floor below |
327 |
ground, second floor below ground,... The lodXMultiSurface must |
328 |
be used, if the geometry of a building is just a collection of |
329 |
surfaces bounding a solid, but not a topologically clean solid boundary |
330 |
necessary for GML3 solid boundaries. |
331 |
</xs:documentation> |
332 |
</xs:annotation> |
333 |
<xs:element name="class" type="BuildingClassType" minOccurs="0"/> |
334 |
<xs:element name="function" type="BuildingFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
335 |
<xs:element name="usage" type="BuildingUsageType" minOccurs="0" maxOccurs="unbounded"/> |
336 |
<xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/> |
337 |
<xs:element name="roofType" type="RoofTypeType" minOccurs="0"/> |
338 |
<xs:element name="measuredHeight" type="gml:LengthType" minOccurs="0"/> |
339 |
<xs:element name="storeysAboveGround" type="xs:nonNegativeInteger" minOccurs="0"/> |
340 |
<xs:element name="storeysBelowGround" type="xs:nonNegativeInteger" minOccurs="0"/> |
341 |
<xs:element name="storeyHeightsAboveGround" type="gml:MeasureOrNullListType" minOccurs="0"/> |
342 |
<xs:element name="storeyHeightsBelowGround" type="gml:MeasureOrNullListType" minOccurs="0"/> |
343 |
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
344 |
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
345 |
<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
346 |
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
347 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
348 |
<xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
349 |
<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
350 |
<xs:element name="outerBuildingInstallation" type="BuildingInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
351 |
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/> |
352 |
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
353 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
354 |
<xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
355 |
<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
356 |
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
357 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
358 |
<xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
359 |
<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
360 |
<xs:element name="interiorRoom" type="InteriorRoomPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
361 |
<xs:element name="consistsOfBuildingPart" type="BuildingPartPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
362 |
<xs:element name="address" type="AddressPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
363 |
</xs:sequence> |
364 |
</xs:extension> |
365 |
</xs:complexContent> |
366 |
</xs:complexType> |
367 |
<!-- ========================================================================================== --> |
368 |
<xs:element name="_AbstractBuilding" type="_AbstractBuildingType" abstract="true" substitutionGroup="_Site"/> |
369 |
<!-- ========================================================================================== --> |
370 |
<xs:simpleType name="BuildingClassType"> |
371 |
<xs:annotation> |
372 |
<xs:documentation> Class of a building. The values of this type are defined in a the XML |
373 |
file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3. |
374 |
</xs:documentation> |
375 |
</xs:annotation> |
376 |
<xs:restriction base="xs:string"/> |
377 |
</xs:simpleType> |
378 |
<!-- ========================================================================================== --> |
379 |
<xs:simpleType name="BuildingFunctionType"> |
380 |
<xs:annotation> |
381 |
<xs:documentation> Intended function of a building. The values of this type are defined in the XML |
382 |
file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3. |
383 |
The values may be adopted from ALKIS, the german standard for cadastre modelling. |
384 |
If the cadastre models from other countries differ in the building functions, |
385 |
these values may be compiled in another codelist to be used with CityGML. |
386 |
</xs:documentation> |
387 |
</xs:annotation> |
388 |
<xs:restriction base="xs:string"/> |
389 |
</xs:simpleType> |
390 |
<!-- ========================================================================================== --> |
391 |
<xs:simpleType name="BuildingUsageType"> |
392 |
<xs:annotation> |
393 |
<xs:documentation> Actual usage of a building. The values of this type are defined in a the XML |
394 |
file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3.. |
395 |
</xs:documentation> |
396 |
</xs:annotation> |
397 |
<xs:restriction base="xs:string"/> |
398 |
</xs:simpleType> |
399 |
<!-- ========================================================================================== --> |
400 |
<xs:simpleType name="RoofTypeType"> |
401 |
<xs:annotation> |
402 |
<xs:documentation>Roof Types. The values of this type are defined in a XML file, |
403 |
according to the dictionary concept of GML3.</xs:documentation> |
404 |
</xs:annotation> |
405 |
<xs:restriction base="xs:string"/> |
406 |
</xs:simpleType> |
407 |
<!-- ========================================================================================== --> |
408 |
<xs:complexType name="BuildingPartType"> |
409 |
<xs:complexContent> |
410 |
<xs:extension base="_AbstractBuildingType"/> |
411 |
</xs:complexContent> |
412 |
</xs:complexType> |
413 |
<!-- ========================================================================================== --> |
414 |
<xs:element name="BuildingPart" type="BuildingPartType" substitutionGroup="_AbstractBuilding"/> |
415 |
<!-- ========================================================================================== --> |
416 |
<xs:complexType name="BuildingType"> |
417 |
<xs:complexContent> |
418 |
<xs:extension base="_AbstractBuildingType"> |
419 |
<xs:sequence/> |
420 |
</xs:extension> |
421 |
</xs:complexContent> |
422 |
</xs:complexType> |
423 |
<!-- ========================================================================================== --> |
424 |
<xs:element name="Building" type="BuildingType" substitutionGroup="_AbstractBuilding"/> |
425 |
<!-- ========================================================================================== --> |
426 |
<xs:complexType name="BuildingPartPropertyType"> |
427 |
<xs:annotation> |
428 |
<xs:documentation>Denotes the relation of an _AbstractBuilding to its building parts. The |
429 |
gml:AssociationType attribute group for enabling the |
430 |
use of refs is not repeated in the restriction and thus omitted. The building part |
431 |
has to be given inline, i.e. explicitely in this property. The reason for this inline definition is |
432 |
that no BuildingPart is used by more than one building, thus the use or references to building |
433 |
parts defined elsewhere is prohibited. |
434 |
</xs:documentation> |
435 |
</xs:annotation> |
436 |
<xs:complexContent> |
437 |
<xs:restriction base="gml:AssociationType"> |
438 |
<xs:sequence> |
439 |
<xs:element ref="BuildingPart"/> |
440 |
</xs:sequence> |
441 |
</xs:restriction> |
442 |
</xs:complexContent> |
443 |
</xs:complexType> |
444 |
<!-- ========================================================================================== --> |
445 |
<xs:complexType name="BuildingInstallationType"> |
446 |
<xs:annotation> |
447 |
<xs:documentation>A BuildingInstallation (German translation is 'Gebäudecharakteristik') |
448 |
is a part of a Building which has not the significance of a BuildingPart. Examples |
449 |
are stairs, antennas, balconies or small roofs. |
450 |
As subclass of _CityObject, a BuildingInstallation inherits all attributes and relations, in particular |
451 |
an id, names, external references, generic attributes and generalization relations. |
452 |
</xs:documentation> |
453 |
</xs:annotation> |
454 |
<xs:complexContent> |
455 |
<xs:extension base="_CityObjectType"> |
456 |
<xs:sequence> |
457 |
<xs:element name="class" type="BuildingInstallationClassType" minOccurs="0"/> |
458 |
<xs:element name="function" type="BuildingInstallationFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
459 |
<xs:element name="usage" type="BuildingInstallationUsageType" minOccurs="0" maxOccurs="unbounded"/> |
460 |
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
461 |
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
462 |
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
463 |
</xs:sequence> |
464 |
</xs:extension> |
465 |
</xs:complexContent> |
466 |
</xs:complexType> |
467 |
<!-- ========================================================================================== --> |
468 |
<xs:element name="BuildingInstallation" type="BuildingInstallationType" substitutionGroup="_CityObject"/> |
469 |
<!-- ========================================================================================== --> |
470 |
<xs:simpleType name="BuildingInstallationClassType"> |
471 |
<xs:annotation> |
472 |
<xs:documentation>Class of a building installation. The values of this type are defined |
473 |
in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept |
474 |
of GML3. </xs:documentation> |
475 |
</xs:annotation> |
476 |
<xs:restriction base="xs:string"/> |
477 |
</xs:simpleType> |
478 |
<!-- ========================================================================================== --> |
479 |
<xs:simpleType name="BuildingInstallationFunctionType"> |
480 |
<xs:annotation> |
481 |
<xs:documentation>Function of a building installation. The values of this type are |
482 |
defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary |
483 |
concept of GML3. </xs:documentation> |
484 |
</xs:annotation> |
485 |
<xs:restriction base="xs:string"/> |
486 |
</xs:simpleType> |
487 |
<!-- ========================================================================================== --> |
488 |
<xs:simpleType name="BuildingInstallationUsageType"> |
489 |
<xs:annotation> |
490 |
<xs:documentation>Actual Usage of a building installation. The values of this type are |
491 |
defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary |
492 |
concept of GML3. </xs:documentation> |
493 |
</xs:annotation> |
494 |
<xs:restriction base="xs:string"/> |
495 |
</xs:simpleType> |
496 |
<!-- ========================================================================================== --> |
497 |
<xs:complexType name="BuildingInstallationPropertyType"> |
498 |
<xs:annotation> |
499 |
<xs:documentation>Denotes the relation of an AbstractBuilding to its building |
500 |
installations. The gml:AssociationType attribute group for enabling the |
501 |
use of refs is not repeated in the restriction and thus omitted. The building installation |
502 |
has to be given inline, i.e. explicitely in this property. The reason for this inline definition is |
503 |
that no installation of a building is used by more than one building, thus the use or references to building |
504 |
installations defined elsewhere is prohibited. |
505 |
</xs:documentation> |
506 |
</xs:annotation> |
507 |
<xs:complexContent> |
508 |
<xs:restriction base="gml:AssociationType"> |
509 |
<xs:sequence> |
510 |
<xs:element ref="BuildingInstallation"/> |
511 |
</xs:sequence> |
512 |
</xs:restriction> |
513 |
</xs:complexContent> |
514 |
</xs:complexType> |
515 |
<!-- ========================================================================================== --> |
516 |
<!-- ========================SURFACES OF BUILDINGS AND ROOMS( LoD2 to LOD4)=====================--> |
517 |
<!-- ========================================================================================== --> |
518 |
<xs:complexType name="_BoundarySurfaceType" abstract="true"> |
519 |
<xs:annotation> |
520 |
<xs:documentation>A BoundarySurface (German translation is 'Begrenzungsfläche') is a |
521 |
thematic object which classifies surfaces bounding a building or a room. The |
522 |
geometry of a BoundarySurface is given by MultiSurfaces. |
523 |
As it is a subclass of _CityObject, it inherits all atributes and relations, in particular |
524 |
the external references, the generic attributes, and the generalization relations. |
525 |
</xs:documentation> |
526 |
</xs:annotation> |
527 |
<xs:complexContent> |
528 |
<xs:extension base="_CityObjectType"> |
529 |
<xs:sequence> |
530 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
531 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
532 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
533 |
<xs:element name="opening" type="OpeningPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
534 |
</xs:sequence> |
535 |
</xs:extension> |
536 |
</xs:complexContent> |
537 |
</xs:complexType> |
538 |
<!-- ========================================================================================== --> |
539 |
<xs:element name="_BoundarySurface" type="_BoundarySurfaceType" abstract="true" substitutionGroup="_CityObject"/> |
540 |
<!-- ========================================================================================== --> |
541 |
<xs:complexType name="RoofSurfaceType"> |
542 |
<xs:complexContent> |
543 |
<xs:extension base="_BoundarySurfaceType"/> |
544 |
</xs:complexContent> |
545 |
</xs:complexType> |
546 |
<!-- ========================================================================================== --> |
547 |
<xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/> |
548 |
<!-- ========================================================================================== --> |
549 |
<xs:complexType name="WallSurfaceType"> |
550 |
<xs:complexContent> |
551 |
<xs:extension base="_BoundarySurfaceType"> |
552 |
<xs:sequence/> |
553 |
</xs:extension> |
554 |
</xs:complexContent> |
555 |
</xs:complexType> |
556 |
<!-- ========================================================================================== --> |
557 |
<xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/> |
558 |
<!-- ========================================================================================== --> |
559 |
<xs:complexType name="GroundSurfaceType"> |
560 |
<xs:complexContent> |
561 |
<xs:extension base="_BoundarySurfaceType"/> |
562 |
</xs:complexContent> |
563 |
</xs:complexType> |
564 |
<!-- ========================================================================================== --> |
565 |
<xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/> |
566 |
<!-- ========================================================================================== --> |
567 |
<xs:complexType name="ClosureSurfaceType"> |
568 |
<xs:complexContent> |
569 |
<xs:extension base="_BoundarySurfaceType"/> |
570 |
</xs:complexContent> |
571 |
</xs:complexType> |
572 |
<!-- ========================================================================================== --> |
573 |
<xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/> |
574 |
<!-- ========================================================================================== --> |
575 |
<!-- ===================================LoD4 only Surfaces=========================================== --> |
576 |
<!-- ========================================================================================== --> |
577 |
<xs:complexType name="FloorSurfaceType"> |
578 |
<xs:complexContent> |
579 |
<xs:extension base="_BoundarySurfaceType"/> |
580 |
</xs:complexContent> |
581 |
</xs:complexType> |
582 |
<!-- ========================================================================================== --> |
583 |
<xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/> |
584 |
<!-- ========================================================================================== --> |
585 |
<xs:complexType name="InteriorWallSurfaceType"> |
586 |
<xs:complexContent> |
587 |
<xs:extension base="_BoundarySurfaceType"/> |
588 |
</xs:complexContent> |
589 |
</xs:complexType> |
590 |
<!-- ========================================================================================== --> |
591 |
<xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/> |
592 |
<!-- ========================================================================================== --> |
593 |
<xs:complexType name="CeilingSurfaceType"> |
594 |
<xs:complexContent> |
595 |
<xs:extension base="_BoundarySurfaceType"/> |
596 |
</xs:complexContent> |
597 |
</xs:complexType> |
598 |
<!-- ========================================================================================== --> |
599 |
<xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/> |
600 |
<!-- ========================================================================================== --> |
601 |
<!-- ========================================================================================== --> |
602 |
<!-- =============================Relation of Buildings/Rooms to its bounding Surfaces=================== --> |
603 |
<!-- ========================================================================================== --> |
604 |
<xs:complexType name="BoundarySurfacePropertyType"> |
605 |
<xs:annotation> |
606 |
<xs:documentation>Denotes the relation of an Building or Room to its bounding thematic |
607 |
surfaces (walls, roofs, ..). There is no differentiation between interior surfaces |
608 |
bounding rooms and outer ones bounding buildings (one reason is, that |
609 |
ClosureSurfaces belong to both types). It has to be made sure by additional |
610 |
integrity constraints that, e.g. a building is not related to CeilingSurfaces or a |
611 |
room not to RoofSurfaces. |
612 |
</xs:documentation> |
613 |
</xs:annotation> |
614 |
<xs:complexContent> |
615 |
<xs:restriction base="gml:AssociationType"> |
616 |
<xs:sequence minOccurs="0"> |
617 |
<xs:element ref="_BoundarySurface"/> |
618 |
</xs:sequence> |
619 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
620 |
</xs:restriction> |
621 |
</xs:complexContent> |
622 |
</xs:complexType> |
623 |
<!-- ========================================================================================== --> |
624 |
<!-- ================================Openings (LoD3 and LoD4 only)================================= --> |
625 |
<!-- ========================================================================================== --> |
626 |
<xs:complexType name="OpeningPropertyType"> |
627 |
<xs:annotation> |
628 |
<xs:documentation>Denotes the relation of an BondarySurface to its openings (doors, |
629 |
windows). </xs:documentation> |
630 |
</xs:annotation> |
631 |
<xs:complexContent> |
632 |
<xs:restriction base="gml:AssociationType"> |
633 |
<xs:sequence minOccurs="0"> |
634 |
<xs:element ref="_Opening"/> |
635 |
</xs:sequence> |
636 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
637 |
</xs:restriction> |
638 |
</xs:complexContent> |
639 |
</xs:complexType> |
640 |
<!-- ========================================================================================== --> |
641 |
<xs:complexType name="_OpeningType" abstract="true"> |
642 |
<xs:annotation> |
643 |
<xs:documentation> Type for openings (doors, windows) in walls. Used in LoD3 and LoD4 |
644 |
only. As subclass of _CityObject, an _Opening inherits all attributes and relations, in particular |
645 |
an id, names, external references, generic attributes and generalization relations. |
646 |
</xs:documentation> |
647 |
</xs:annotation> |
648 |
<xs:complexContent> |
649 |
<xs:extension base="_CityObjectType"> |
650 |
<xs:sequence> |
651 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
652 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
653 |
</xs:sequence> |
654 |
</xs:extension> |
655 |
</xs:complexContent> |
656 |
</xs:complexType> |
657 |
<!-- ========================================================================================== --> |
658 |
<xs:element name="_Opening" type="_OpeningType" abstract="true" substitutionGroup="_CityObject"/> |
659 |
<!-- ========================================================================================== --> |
660 |
<xs:complexType name="WindowType"> |
661 |
<xs:annotation> |
662 |
<xs:documentation> Type for windows in walls. Used in LoD3 and LoD4 only . |
663 |
As subclass of _CityObject, a window inherits all attributes and relations, in particular |
664 |
an id, names, external references, generic attributes and generalization relations. |
665 |
</xs:documentation> |
666 |
</xs:annotation> |
667 |
<xs:complexContent> |
668 |
<xs:extension base="_OpeningType"> |
669 |
<xs:sequence/> |
670 |
</xs:extension> |
671 |
</xs:complexContent> |
672 |
</xs:complexType> |
673 |
<!-- ========================================================================================== --> |
674 |
<xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/> |
675 |
<!-- ========================================================================================== --> |
676 |
<xs:complexType name="DoorType"> |
677 |
<xs:annotation> |
678 |
<xs:documentation> Type for doors in walls. Used in LoD3 and LoD4 only . |
679 |
As subclass of _CityObject, a Door inherits all attributes and relations, in particular |
680 |
an id, names, external references, generic attributes and generalization relations. |
681 |
</xs:documentation> |
682 |
</xs:annotation> |
683 |
<xs:complexContent> |
684 |
<xs:extension base="_OpeningType"> |
685 |
<xs:sequence> |
686 |
<xs:element name="address" type="AddressPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
687 |
</xs:sequence> |
688 |
</xs:extension> |
689 |
</xs:complexContent> |
690 |
</xs:complexType> |
691 |
<!-- ========================================================================================== --> |
692 |
<xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/> |
693 |
<!-- ========================================================================================== --> |
694 |
<!-- ====================================ROOMS (LoD4 only)====================================== --> |
695 |
<!-- ========================================================================================== --> |
696 |
<xs:complexType name="RoomType"> |
697 |
<xs:annotation> |
698 |
<xs:documentation>A Room is a thematic object for modelling the closed parts inside a |
699 |
building. It has to be closed, if necessary by using closure surfaces. The geometry |
700 |
may be either a solid, or a MultiSurface if the boundary is not topologically clean. |
701 |
The room connectivity may be derived by detecting shared thematic openings |
702 |
or closure surfaces: two rooms are connected if both use the same opening object or the same |
703 |
closure surface. The thematic surfaces bounding a room are referenced by |
704 |
the boundedBy property. |
705 |
As subclass of _CityObject, a Room inherits all attributes and relations, in particular |
706 |
an id, names, external references, generic attributes and generalization relations. |
707 |
</xs:documentation> |
708 |
</xs:annotation> |
709 |
<xs:complexContent> |
710 |
<xs:extension base="_CityObjectType"> |
711 |
<xs:sequence> |
712 |
<xs:element name="class" type="RoomClassType" minOccurs="0"/> |
713 |
<xs:element name="function" type="RoomFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
714 |
<xs:element name="usage" type="RoomUsageType" minOccurs="0" maxOccurs="unbounded"/> |
715 |
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
716 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
717 |
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/> |
718 |
<xs:element name="interiorFurniture" type="InteriorFurniturePropertyType" minOccurs="0" maxOccurs="unbounded"/> |
719 |
<xs:element name="interiorBuildingInstallation" type="BuildingInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
720 |
</xs:sequence> |
721 |
</xs:extension> |
722 |
</xs:complexContent> |
723 |
</xs:complexType> |
724 |
<!-- ========================================================================================== --> |
725 |
<xs:element name="Room" type="RoomType" substitutionGroup="_CityObject"/> |
726 |
<!-- ========================================================================================== --> |
727 |
<xs:simpleType name="RoomClassType"> |
728 |
<xs:annotation> |
729 |
<xs:documentation>Class of a room . The values of this type are defined in the XML file |
730 |
CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
731 |
</xs:documentation> |
732 |
</xs:annotation> |
733 |
<xs:restriction base="xs:string"/> |
734 |
</xs:simpleType> |
735 |
<!-- ========================================================================================== --> |
736 |
<xs:simpleType name="RoomFunctionType"> |
737 |
<xs:annotation> |
738 |
<xs:documentation>Function of a room. The values of this type are defined in the XML |
739 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
740 |
</xs:documentation> |
741 |
</xs:annotation> |
742 |
<xs:restriction base="xs:string"/> |
743 |
</xs:simpleType> |
744 |
<!-- ========================================================================================== --> |
745 |
<xs:simpleType name="RoomUsageType"> |
746 |
<xs:annotation> |
747 |
<xs:documentation>Actual Usage of a room. The values of this type are defined in the XML |
748 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
749 |
</xs:documentation> |
750 |
</xs:annotation> |
751 |
<xs:restriction base="xs:string"/> |
752 |
</xs:simpleType> |
753 |
<!-- ========================================================================================== --> |
754 |
<xs:complexType name="BuildingFurnitureType"> |
755 |
<xs:annotation> |
756 |
<xs:documentation>Type for building furnitures. As subclass of _CityObject, a BuildingFurniture inherits all |
757 |
attributes and relations, in particular an id, names, external references, generic attributes |
758 |
and generalization relations. |
759 |
</xs:documentation> |
760 |
</xs:annotation> |
761 |
<xs:complexContent> |
762 |
<xs:extension base="_CityObjectType"> |
763 |
<xs:sequence> |
764 |
<xs:element name="class" type="BuildingFurnitureClassType" minOccurs="0"/> |
765 |
<xs:element name="function" type="BuildingFurnitureFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
766 |
<xs:element name="usage" type="BuildingFurnitureUsageType" minOccurs="0" maxOccurs="unbounded"/> |
767 |
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
768 |
<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
769 |
</xs:sequence> |
770 |
</xs:extension> |
771 |
</xs:complexContent> |
772 |
</xs:complexType> |
773 |
<!-- ========================================================================================== --> |
774 |
<xs:element name="BuildingFurniture" type="BuildingFurnitureType" substitutionGroup="_CityObject"/> |
775 |
<!-- ========================================================================================== --> |
776 |
<xs:simpleType name="BuildingFurnitureClassType"> |
777 |
<xs:annotation> |
778 |
<xs:documentation> Class of a building furniture. The values of this type are defined |
779 |
in a XML file, according to the dictionary concept of GML3. </xs:documentation> |
780 |
</xs:annotation> |
781 |
<xs:restriction base="xs:string"/> |
782 |
</xs:simpleType> |
783 |
<!-- ========================================================================================== --> |
784 |
<xs:simpleType name="BuildingFurnitureFunctionType"> |
785 |
<xs:annotation> |
786 |
<xs:documentation> Function of a building furniture. The values of this type are defined |
787 |
in a XML file, according to the dictionary concept of GML3. </xs:documentation> |
788 |
</xs:annotation> |
789 |
<xs:restriction base="xs:string"/> |
790 |
</xs:simpleType> |
791 |
<!-- ========================================================================================== --> |
792 |
<xs:simpleType name="BuildingFurnitureUsageType"> |
793 |
<xs:annotation> |
794 |
<xs:documentation> Actual Usage of a building Furniture. The values of this type are |
795 |
defined in a XML file, according to the dictionary concept of GML3. |
796 |
</xs:documentation> |
797 |
</xs:annotation> |
798 |
<xs:restriction base="xs:string"/> |
799 |
</xs:simpleType> |
800 |
<!-- ========================================================================================== --> |
801 |
<!-- ========================================================================================== --> |
802 |
<!-- ============================Relation of Building to Rooms (LoD4 only)============================= --> |
803 |
<!-- ========================================================================================== --> |
804 |
<!-- ========================================================================================== --> |
805 |
<xs:complexType name="InteriorRoomPropertyType"> |
806 |
<xs:annotation> |
807 |
<xs:documentation>Denotes the relation of an AbstractBuilding to its rooms. The |
808 |
gml:AssociationType attribute group for enabling the use of refs is not repeated in |
809 |
the restriction and thus omitted. The room has to be given inline within this |
810 |
property, not by reference. </xs:documentation> |
811 |
</xs:annotation> |
812 |
<xs:complexContent> |
813 |
<xs:restriction base="gml:AssociationType"> |
814 |
<xs:sequence> |
815 |
<xs:element ref="Room"/> |
816 |
</xs:sequence> |
817 |
</xs:restriction> |
818 |
</xs:complexContent> |
819 |
</xs:complexType> |
820 |
<!-- ========================================================================================== --> |
821 |
<xs:complexType name="InteriorFurniturePropertyType"> |
822 |
<xs:annotation> |
823 |
<xs:documentation>Denotes the relation of a room to its interior furnitures (movable). |
824 |
The gml:AssociationType attribute group for enabling the use of refs is not repeated |
825 |
in the restriction and thus omitted. The BuildingFurniture has to be given |
826 |
inline within this property, not by reference. </xs:documentation> |
827 |
</xs:annotation> |
828 |
<xs:complexContent> |
829 |
<xs:restriction base="gml:AssociationType"> |
830 |
<xs:sequence> |
831 |
<xs:element ref="BuildingFurniture"/> |
832 |
</xs:sequence> |
833 |
</xs:restriction> |
834 |
</xs:complexContent> |
835 |
</xs:complexType> |
836 |
<!-- ========================================================================================== --> |
837 |
<!--==================== ================== Address (all LoD) ====================================== --> |
838 |
<!-- ======================================uses xAL Standard====================================== --> |
839 |
<!-- ========================================================================================== --> |
840 |
<xs:complexType name="AddressPropertyType"> |
841 |
<xs:annotation> |
842 |
<xs:documentation>Denotes the relation of an AbstractBuilding or a Door to its Addresses. |
843 |
</xs:documentation> |
844 |
</xs:annotation> |
845 |
<xs:complexContent> |
846 |
<xs:restriction base="gml:AssociationType"> |
847 |
<xs:sequence minOccurs="0"> |
848 |
<xs:element ref="Address"/> |
849 |
</xs:sequence> |
850 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
851 |
</xs:restriction> |
852 |
</xs:complexContent> |
853 |
</xs:complexType> |
854 |
<!-- ========================================================================================== --> |
855 |
<xs:complexType name="AddressType"> |
856 |
<xs:annotation> |
857 |
<xs:documentation>Type for addresses. It references the xAL address standard issued by the |
858 |
OASIS consortium. |
859 |
Please note, that addresses are modelled as GML features. Every address can be assigned zero or more |
860 |
2D or 3D point geometries (one gml:MultiPoint geometry) locating the entrance(s). |
861 |
</xs:documentation> |
862 |
</xs:annotation> |
863 |
<xs:complexContent> |
864 |
<xs:extension base="gml:AbstractFeatureType"> |
865 |
<xs:sequence> |
866 |
<xs:element name="xalAddress" type="xalAddressPropertyType"/> |
867 |
<xs:element name="multiPoint" type="gml:MultiPointPropertyType" minOccurs="0"/> |
868 |
</xs:sequence> |
869 |
</xs:extension> |
870 |
</xs:complexContent> |
871 |
</xs:complexType> |
872 |
<!-- ========================================================================================== --> |
873 |
<xs:element name="Address" type="AddressType" substitutionGroup="gml:_Feature"/> |
874 |
<!-- ========================================================================================== --> |
875 |
<xs:complexType name="xalAddressPropertyType"> |
876 |
<xs:annotation> |
877 |
<xs:documentation>Denotes the relation of an Address feature to the xAL address element.</xs:documentation> |
878 |
</xs:annotation> |
879 |
<xs:sequence> |
880 |
<xs:element ref="xAL:AddressDetails"/> |
881 |
</xs:sequence> |
882 |
</xs:complexType> |
883 |
<!-- ========================================================================================== --> |
884 |
<!-- ======================================MATERIAL/TEXTURES================================== --> |
885 |
<!-- ========================================================================================== --> |
886 |
<xs:complexType name="TexturedSurfaceType"> |
887 |
<xs:annotation> |
888 |
<xs:documentation> |
889 |
The concept of positioning textures on surfaces complies with the standard X3D. |
890 |
Because there has been no appropriate texturing concept in GML3, CityGML adds the class |
891 |
TexturedSurface to the geometry model of GML 3. A texture is specified as a raster image referenced by an |
892 |
URI, and can be an arbitrary resource, even in the internet. Textures are positioned by employing the concept of |
893 |
texture coordinates, i.e. each texture coordinate matches with exactly one 3D coordinate of the TexturedSurface. |
894 |
The use of texture coordinates allows an exact positioning and trimming of the texture on the surface geometry. |
895 |
Each surface may be assigned one or more appearances, each refering to one side of the surface. |
896 |
</xs:documentation> |
897 |
</xs:annotation> |
898 |
<xs:complexContent> |
899 |
<xs:extension base="gml:OrientableSurfaceType"> |
900 |
<xs:sequence> |
901 |
<xs:element ref="appearance" maxOccurs="unbounded"/> |
902 |
</xs:sequence> |
903 |
</xs:extension> |
904 |
</xs:complexContent> |
905 |
</xs:complexType> |
906 |
<!-- ========================================================================================== --> |
907 |
<xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/> |
908 |
<!-- ========================================================================================== --> |
909 |
<xs:element name="appearance" type="_AppearancePropertyType"/> |
910 |
<!-- ========================================================================================== --> |
911 |
<xs:complexType name="_AppearancePropertyType"> |
912 |
<xs:annotation> |
913 |
<xs:documentation> A property that has an _Appearance as its value domain, which can |
914 |
either be a Material (Color,...) or a Texture. The _Appearance Element can either |
915 |
be encapsulated in an element of this type or an XLink reference to a remote |
916 |
_Appearance element (where remote includes geometry elements located elsewhere in |
917 |
the same document). Either the reference or the contained element must be given, but |
918 |
neither both nor none. |
919 |
The side of the surface the _Appearance refers to is given by the orientation attribute, |
920 |
which refers to the corresponding sign attribute of the orientable surface: |
921 |
+ means the side with positive orientation, and - the side with negative orientation. |
922 |
</xs:documentation> |
923 |
</xs:annotation> |
924 |
<xs:sequence> |
925 |
<xs:element ref="_Appearance" minOccurs="0"/> |
926 |
</xs:sequence> |
927 |
<xs:attribute name="orientation" type="gml:SignType" default="+"/> |
928 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
929 |
</xs:complexType> |
930 |
<!-- ========================================================================================== --> |
931 |
<xs:complexType name="_AppearanceType" abstract="true"> |
932 |
<xs:annotation> |
933 |
<xs:documentation> This abstract type is the parent type of MaterialType and |
934 |
SimpleTextureType. It is derived from gml:AbstractGMLType, thus |
935 |
it inherits the attribute gml:id and may be referenced by an appearanceProperty, |
936 |
although it is defined elsewhere in another appearanceProperty. |
937 |
</xs:documentation> |
938 |
</xs:annotation> |
939 |
<xs:complexContent> |
940 |
<xs:extension base="gml:AbstractGMLType"/> |
941 |
</xs:complexContent> |
942 |
</xs:complexType> |
943 |
<!-- ========================================================================================== --> |
944 |
<xs:element name="_Appearance" type="_AppearanceType" abstract="true" substitutionGroup="gml:_GML"/> |
945 |
<!-- ========================================================================================== --> |
946 |
<xs:complexType name="MaterialType"> |
947 |
<xs:annotation> |
948 |
<xs:documentation> Adopted from X3D standard (http://www.web3d.org/x3d/) |
949 |
</xs:documentation> |
950 |
</xs:annotation> |
951 |
<xs:complexContent> |
952 |
<xs:extension base="_AppearanceType"> |
953 |
<xs:sequence> |
954 |
<xs:element name="shininess" type="doubleBetween0and1" minOccurs="0"/> |
955 |
<xs:element name="transparency" type="doubleBetween0and1" minOccurs="0"/> |
956 |
<xs:element name="ambientIntensity" type="doubleBetween0and1" minOccurs="0"/> |
957 |
<xs:element name="specularColor" type="Color" minOccurs="0"/> |
958 |
<xs:element name="diffuseColor" type="Color" minOccurs="0"/> |
959 |
<xs:element name="emissiveColor" type="Color" minOccurs="0"/> |
960 |
</xs:sequence> |
961 |
</xs:extension> |
962 |
</xs:complexContent> |
963 |
</xs:complexType> |
964 |
<!-- ========================================================================================== --> |
965 |
<xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/> |
966 |
<!-- ========================================================================================== --> |
967 |
<xs:complexType name="SimpleTextureType"> |
968 |
<xs:annotation> |
969 |
<xs:documentation> Adopted from X3D standard (http://www.web3d.org/x3d/). |
970 |
ToDo: repeat |
971 |
</xs:documentation> |
972 |
</xs:annotation> |
973 |
<xs:complexContent> |
974 |
<xs:extension base="_AppearanceType"> |
975 |
<xs:sequence> |
976 |
<xs:element name="textureMap" type="xs:anyURI"/> |
977 |
<xs:element name="textureCoordinates" type="gml:doubleList"/> |
978 |
<xs:element name="textureType" type="TextureTypeType" minOccurs="0"/> |
979 |
<xs:element name="repeat" type="xs:boolean" minOccurs="0"/> |
980 |
</xs:sequence> |
981 |
</xs:extension> |
982 |
</xs:complexContent> |
983 |
</xs:complexType> |
984 |
<!-- ========================================================================================== --> |
985 |
<xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/> |
986 |
<!-- ========================================================================================== --> |
987 |
<xs:simpleType name="Color"> |
988 |
<xs:annotation> |
989 |
<xs:documentation> List of three values (red, green, blue), separated by spaces. The |
990 |
values must be in the range between zero and one. </xs:documentation> |
991 |
</xs:annotation> |
992 |
<xs:restriction base="doubleBetween0and1List"> |
993 |
<xs:minLength value="3"/> |
994 |
<xs:maxLength value="3"/> |
995 |
</xs:restriction> |
996 |
</xs:simpleType> |
997 |
<!-- ========================================================================================== --> |
998 |
<xs:simpleType name="TextureTypeType"> |
999 |
<xs:annotation> |
1000 |
<xs:documentation> |
1001 |
Textures can be qualified by the attribute textureType. |
1002 |
The textureType differentiates between textures, which are specific for a certain object and |
1003 |
are only used for that object (specific), and prototypic textures being typical for that kind of |
1004 |
object and are used many times for all objects of that kind (typical). A typical texture may |
1005 |
be replaced by a specific, if available. Textures may also be classified as unknown. |
1006 |
</xs:documentation> |
1007 |
</xs:annotation> |
1008 |
<xs:restriction base="xs:string"> |
1009 |
<xs:enumeration value="specific"/> |
1010 |
<xs:enumeration value="typical"/> |
1011 |
<xs:enumeration value="unknown"/> |
1012 |
</xs:restriction> |
1013 |
</xs:simpleType> |
1014 |
<!-- ========================================================================================== --> |
1015 |
<!-- ========================================================================================== --> |
1016 |
<!--======================================Transportation Model ==================================== --> |
1017 |
<!-- ========================================================================================== --> |
1018 |
<!-- ========================================================================================== --> |
1019 |
<xs:complexType name="_TransportationObjectType" abstract="true"> |
1020 |
<xs:annotation> |
1021 |
<xs:documentation>Type describing the abstract superclass for transportation objects. |
1022 |
</xs:documentation> |
1023 |
</xs:annotation> |
1024 |
<xs:complexContent> |
1025 |
<xs:extension base="_CityObjectType"/> |
1026 |
</xs:complexContent> |
1027 |
</xs:complexType> |
1028 |
<!-- ========================================================================================== --> |
1029 |
<xs:element name="_TransportationObject" type="_CityObjectType" substitutionGroup="_CityObject"/> |
1030 |
<!-- ========================================================================================== --> |
1031 |
<xs:complexType name="TransportationComplexType"> |
1032 |
<xs:annotation> |
1033 |
<xs:documentation>Type describing transportation complexes, which are aggregated |
1034 |
features, e.g. roads, which consist of parts (traffic areas, e.g. pedestrian path, |
1035 |
and auxiliary traffic areas). |
1036 |
As subclass of _CityObject, a TransportationComplex inherits all attributes and relations, in particular |
1037 |
an id, names, external references, generic attributes and generalization relations. |
1038 |
</xs:documentation> |
1039 |
</xs:annotation> |
1040 |
<xs:complexContent> |
1041 |
<xs:extension base="_TransportationObjectType"> |
1042 |
<xs:sequence> |
1043 |
<xs:element name="function" type="TransportationComplexFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1044 |
<xs:element name="usage" type="TransportationComplexUsageType" minOccurs="0" maxOccurs="unbounded"/> |
1045 |
<xs:element name="trafficArea" type="TrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
1046 |
<xs:element name="auxiliaryTrafficArea" type="AuxiliaryTrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
1047 |
<xs:element name="lod0Network" type="gml:GeometricComplexPropertyType" minOccurs="0" maxOccurs="unbounded"/> |
1048 |
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1049 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1050 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1051 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1052 |
</xs:sequence> |
1053 |
</xs:extension> |
1054 |
</xs:complexContent> |
1055 |
</xs:complexType> |
1056 |
<!-- ========================================================================================== --> |
1057 |
<xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/> |
1058 |
<!-- ========================================================================================== --> |
1059 |
<xs:complexType name="TrafficAreaType"> |
1060 |
<xs:annotation> |
1061 |
<xs:documentation>Type describing the class for traffic Areas. |
1062 |
Traffic areas are the surfaces where traffic actually takes place. |
1063 |
As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular |
1064 |
an id, names, external references, generic attributes and generalization relations. |
1065 |
</xs:documentation> |
1066 |
</xs:annotation> |
1067 |
<xs:complexContent> |
1068 |
<xs:extension base="_TransportationObjectType"> |
1069 |
<xs:sequence> |
1070 |
<xs:element name="usage" type="TrafficAreaUsageType" minOccurs="0" maxOccurs="unbounded"/> |
1071 |
<xs:element name="function" type="TrafficAreaFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1072 |
<xs:element name="surfaceMaterial" type="TrafficSurfaceMaterialType" minOccurs="0"/> |
1073 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1074 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1075 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1076 |
</xs:sequence> |
1077 |
</xs:extension> |
1078 |
</xs:complexContent> |
1079 |
</xs:complexType> |
1080 |
<!-- ========================================================================================== --> |
1081 |
<xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/> |
1082 |
<!-- ========================================================================================== --> |
1083 |
<xs:complexType name="AuxiliaryTrafficAreaType"> |
1084 |
<xs:annotation> |
1085 |
<xs:documentation>Type describing the class for auxiliary traffic Areas. |
1086 |
These are the surfaces where no traffic actually takes place, but which |
1087 |
belong to a transportation object. Examples are kerbstones, road markings and grass stripes. |
1088 |
As subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular |
1089 |
an id, names, external references, generic attributes and generalization relations. |
1090 |
</xs:documentation> |
1091 |
</xs:annotation> |
1092 |
<xs:complexContent> |
1093 |
<xs:extension base="_TransportationObjectType"> |
1094 |
<xs:sequence> |
1095 |
<xs:element name="function" type="AuxiliaryTrafficAreaFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1096 |
<xs:element name="surfaceMaterial" type="TrafficSurfaceMaterialType" minOccurs="0"/> |
1097 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1098 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1099 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1100 |
</xs:sequence> |
1101 |
</xs:extension> |
1102 |
</xs:complexContent> |
1103 |
</xs:complexType> |
1104 |
<!-- ========================================================================================== --> |
1105 |
<xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/> |
1106 |
<!-- ========================================================================================== --> |
1107 |
<xs:complexType name="TrafficAreaPropertyType"> |
1108 |
<xs:annotation> |
1109 |
<xs:documentation>Denotes the relation of a transportation complex to its parts, which |
1110 |
are traffic areas in this case. Since an attribute group for enabling the use of |
1111 |
references is provided, the relation may be given by a reference to an an element |
1112 |
defined elsewhere or by the complete TrafficArea inline. |
1113 |
</xs:documentation> |
1114 |
</xs:annotation> |
1115 |
<xs:complexContent> |
1116 |
<xs:restriction base="gml:AssociationType"> |
1117 |
<xs:sequence minOccurs="0"> |
1118 |
<xs:element ref="TrafficArea"/> |
1119 |
</xs:sequence> |
1120 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1121 |
</xs:restriction> |
1122 |
</xs:complexContent> |
1123 |
</xs:complexType> |
1124 |
<!-- ========================================================================================== --> |
1125 |
<xs:complexType name="AuxiliaryTrafficAreaPropertyType"> |
1126 |
<xs:annotation> |
1127 |
<xs:documentation>Denotes the relation of an Transportation Complex to its parts, which |
1128 |
are AuxiliaryTrafficAreas in this case . Since an attribute group for enabling the |
1129 |
use of references is provided, the relation may be given by a reference to a AuxiliaryTrafficArea |
1130 |
defined elsewhere or by the inline definition of an AuxiliaryTrafficArea. |
1131 |
</xs:documentation> |
1132 |
</xs:annotation> |
1133 |
<xs:complexContent> |
1134 |
<xs:restriction base="gml:AssociationType"> |
1135 |
<xs:sequence minOccurs="0"> |
1136 |
<xs:element ref="AuxiliaryTrafficArea"/> |
1137 |
</xs:sequence> |
1138 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1139 |
</xs:restriction> |
1140 |
</xs:complexContent> |
1141 |
</xs:complexType> |
1142 |
<!-- ============================Subtypes of Transportation Complex=============================== --> |
1143 |
<xs:complexType name="TrackType"> |
1144 |
<xs:annotation> |
1145 |
<xs:documentation>Type describing the class for tracks. A track is a small path |
1146 |
mainly used by pedestrians. |
1147 |
As subclass of _CityObject, a Track inherits all attributes and relations, in particular |
1148 |
an id, names, external references, generic attributes and generalization relations. |
1149 |
</xs:documentation> |
1150 |
</xs:annotation> |
1151 |
<xs:complexContent> |
1152 |
<xs:extension base="TransportationComplexType"> |
1153 |
<xs:sequence/> |
1154 |
</xs:extension> |
1155 |
</xs:complexContent> |
1156 |
</xs:complexType> |
1157 |
<!-- ========================================================================================== --> |
1158 |
<xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/> |
1159 |
<!-- ========================================================================================== --> |
1160 |
<xs:complexType name="RoadType"> |
1161 |
<xs:annotation> |
1162 |
<xs:documentation>Type describing the class for roads. As subclass of _CityObject, a Road inherits |
1163 |
all attributes and relations, in particular an id, names, external references, generic attributes and |
1164 |
generalization relations. |
1165 |
</xs:documentation> |
1166 |
</xs:annotation> |
1167 |
<xs:complexContent> |
1168 |
<xs:extension base="TransportationComplexType"> |
1169 |
<xs:sequence/> |
1170 |
</xs:extension> |
1171 |
</xs:complexContent> |
1172 |
</xs:complexType> |
1173 |
<!-- ========================================================================================== --> |
1174 |
<xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/> |
1175 |
<!-- ========================================================================================== --> |
1176 |
<xs:complexType name="RailwayType"> |
1177 |
<xs:annotation> |
1178 |
<xs:documentation>Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes |
1179 |
and relations, in particular an id, names, external references, generic attributes and generalization relations. |
1180 |
</xs:documentation> |
1181 |
</xs:annotation> |
1182 |
<xs:complexContent> |
1183 |
<xs:extension base="TransportationComplexType"> |
1184 |
<xs:sequence/> |
1185 |
</xs:extension> |
1186 |
</xs:complexContent> |
1187 |
</xs:complexType> |
1188 |
<!-- ========================================================================================== --> |
1189 |
<xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/> |
1190 |
<!-- ========================================================================================== --> |
1191 |
<xs:complexType name="SquareType"> |
1192 |
<xs:annotation> |
1193 |
<xs:documentation>Type describing the class for squares. A square is an open area commonly found in |
1194 |
cities (like a plaza). As subclass of _CityObject, a Square inherits all attributes and relations, in particular |
1195 |
an id, names, external references, generic attributes and generalization relations. |
1196 |
</xs:documentation> |
1197 |
</xs:annotation> |
1198 |
<xs:complexContent> |
1199 |
<xs:extension base="TransportationComplexType"> |
1200 |
<xs:sequence/> |
1201 |
</xs:extension> |
1202 |
</xs:complexContent> |
1203 |
</xs:complexType> |
1204 |
<!-- ========================================================================================== --> |
1205 |
<xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/> |
1206 |
<!-- ========================================================================================== --> |
1207 |
<xs:simpleType name="TransportationComplexFunctionType"> |
1208 |
<xs:annotation> |
1209 |
<xs:documentation>Function of a transportation complex. The values of this type are |
1210 |
defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary |
1211 |
concept of GML3. </xs:documentation> |
1212 |
</xs:annotation> |
1213 |
<xs:restriction base="xs:string"/> |
1214 |
</xs:simpleType> |
1215 |
<!-- ========================================================================================== --> |
1216 |
<xs:simpleType name="TransportationComplexUsageType"> |
1217 |
<xs:annotation> |
1218 |
<xs:documentation>Actual Usage of a transportation complex. The values of this type are |
1219 |
defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary |
1220 |
concept of GML3. </xs:documentation> |
1221 |
</xs:annotation> |
1222 |
<xs:restriction base="xs:string"/> |
1223 |
</xs:simpleType> |
1224 |
<!-- ========================================================================================== --> |
1225 |
<xs:simpleType name="TrafficAreaFunctionType"> |
1226 |
<xs:annotation> |
1227 |
<xs:documentation>Function of a traffic area. The values of this type are defined in the |
1228 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1229 |
</xs:documentation> |
1230 |
</xs:annotation> |
1231 |
<xs:restriction base="xs:string"/> |
1232 |
</xs:simpleType> |
1233 |
<!-- ========================================================================================== --> |
1234 |
<xs:simpleType name="AuxiliaryTrafficAreaFunctionType"> |
1235 |
<xs:annotation> |
1236 |
<xs:documentation>Function of an auxiliary traffic area. The values of this type are |
1237 |
defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary |
1238 |
concept of GML3. </xs:documentation> |
1239 |
</xs:annotation> |
1240 |
<xs:restriction base="xs:string"/> |
1241 |
</xs:simpleType> |
1242 |
<!-- ========================================================================================== --> |
1243 |
<xs:simpleType name="TrafficAreaUsageType"> |
1244 |
<xs:annotation> |
1245 |
<xs:documentation>Usage of a traffic area. The values of this type are defined in the |
1246 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1247 |
</xs:documentation> |
1248 |
</xs:annotation> |
1249 |
<xs:restriction base="xs:string"/> |
1250 |
</xs:simpleType> |
1251 |
<!-- ========================================================================================== --> |
1252 |
<xs:simpleType name="TrafficSurfaceMaterialType"> |
1253 |
<xs:annotation> |
1254 |
<xs:documentation>Type for surface materials of transportation objects. The values of |
1255 |
this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to |
1256 |
the dictionary concept of GML3. </xs:documentation> |
1257 |
</xs:annotation> |
1258 |
<xs:restriction base="xs:string"/> |
1259 |
</xs:simpleType> |
1260 |
<!-- ========================================================================================== --> |
1261 |
<!-- ========================================================================================== --> |
1262 |
<!-- ==========================================Vegetation Model=================================== --> |
1263 |
<!-- ========================================================================================== --> |
1264 |
<!-- ========================================================================================== --> |
1265 |
<!-- ========================================================================================== --> |
1266 |
<xs:complexType name="_VegetationObjectType" abstract="true"> |
1267 |
<xs:annotation> |
1268 |
<xs:documentation>Type describing the abstract superclass for vegetation objects. A |
1269 |
subclass is either a SolitaryVegetationObject or a PlantCover. |
1270 |
</xs:documentation> |
1271 |
</xs:annotation> |
1272 |
<xs:complexContent> |
1273 |
<xs:extension base="_CityObjectType"/> |
1274 |
</xs:complexContent> |
1275 |
</xs:complexType> |
1276 |
<!-- ========================================================================================== --> |
1277 |
<xs:element name="_VegetationObject" type="_VegetationObjectType" substitutionGroup="_CityObject"/> |
1278 |
<!-- ========================================================================================== --> |
1279 |
<xs:complexType name="PlantCoverType"> |
1280 |
<xs:annotation> |
1281 |
<xs:documentation>Type describing Plant Covers resp. Biotopes (German translation: Vegetation). |
1282 |
As subclass of _CityObject, a VegetationObject inherits all attributes and relations, in particular |
1283 |
an id, names, external references, generic attributes and generalization relations. |
1284 |
</xs:documentation> |
1285 |
</xs:annotation> |
1286 |
<xs:complexContent> |
1287 |
<xs:extension base="_VegetationObjectType"> |
1288 |
<xs:sequence> |
1289 |
<xs:element name="class" type="PlantCoverClassType" minOccurs="0"/> |
1290 |
<xs:element name="function" type="PlantCoverFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1291 |
<xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/> |
1292 |
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1293 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1294 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1295 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1296 |
<xs:element name="lod1MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/> |
1297 |
<xs:element name="lod2MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/> |
1298 |
<xs:element name="lod3MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/> |
1299 |
</xs:sequence> |
1300 |
</xs:extension> |
1301 |
</xs:complexContent> |
1302 |
</xs:complexType> |
1303 |
<!-- ========================================================================================== --> |
1304 |
<xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/> |
1305 |
<!-- ========================================================================================== --> |
1306 |
<xs:simpleType name="PlantCoverClassType"> |
1307 |
<xs:annotation> |
1308 |
<xs:documentation>Class of a PlantCover. The values of this type are defined in the XML |
1309 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1310 |
</xs:documentation> |
1311 |
</xs:annotation> |
1312 |
<xs:restriction base="xs:string"/> |
1313 |
</xs:simpleType> |
1314 |
<!-- ========================================================================================== --> |
1315 |
<xs:simpleType name="PlantCoverFunctionType"> |
1316 |
<xs:annotation> |
1317 |
<xs:documentation>Function of a PlantCover. The values of this type are defined in the |
1318 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1319 |
</xs:documentation> |
1320 |
</xs:annotation> |
1321 |
<xs:restriction base="xs:string"/> |
1322 |
</xs:simpleType> |
1323 |
<!-- ========================================================================================== --> |
1324 |
<xs:complexType name="SolitaryVegetationObjectType"> |
1325 |
<xs:annotation> |
1326 |
<xs:documentation>Type describing solitary vegetation objects, e.g., trees. Its geometry |
1327 |
is either defined explicitly by a GML 3 geometry with absolute coordinates, or in the case |
1328 |
of multiple occurences of the same vegetation object, implicitly by a reference to a |
1329 |
shape definition and a transformation. The shape definition may be given in an external file. |
1330 |
As subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular |
1331 |
an id, names, external references, generic attributes and generalization relations. |
1332 |
</xs:documentation> |
1333 |
</xs:annotation> |
1334 |
<xs:complexContent> |
1335 |
<xs:extension base="_VegetationObjectType"> |
1336 |
<xs:sequence> |
1337 |
<xs:element name="class" type="PlantClassType" minOccurs="0"/> |
1338 |
<xs:element name="function" type="PlantFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1339 |
<xs:element name="species" type="SpeciesType" minOccurs="0"/> |
1340 |
<xs:element name="height" type="gml:LengthType" minOccurs="0"/> |
1341 |
<xs:element name="trunkDiameter" type="gml:LengthType" minOccurs="0"/> |
1342 |
<xs:element name="crownDiameter" type="gml:LengthType" minOccurs="0"/> |
1343 |
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1344 |
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1345 |
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1346 |
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1347 |
<xs:element name="lod1ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1348 |
<xs:element name="lod2ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1349 |
<xs:element name="lod3ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1350 |
<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1351 |
</xs:sequence> |
1352 |
</xs:extension> |
1353 |
</xs:complexContent> |
1354 |
</xs:complexType> |
1355 |
<!-- ========================================================================================== --> |
1356 |
<xs:element name="SolitaryVegetationObject" type="SolitaryVegetationObjectType" substitutionGroup="_VegetationObject"/> |
1357 |
<!-- ========================================================================================== --> |
1358 |
<xs:simpleType name="PlantClassType"> |
1359 |
<xs:annotation> |
1360 |
<xs:documentation>Class of a PlantType. The values of this type are defined in the XML |
1361 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1362 |
</xs:documentation> |
1363 |
</xs:annotation> |
1364 |
<xs:restriction base="xs:string"/> |
1365 |
</xs:simpleType> |
1366 |
<!-- ========================================================================================== --> |
1367 |
<xs:simpleType name="PlantFunctionType"> |
1368 |
<xs:annotation> |
1369 |
<xs:documentation>Function of a PlantType. The values of this type are defined in the |
1370 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1371 |
</xs:documentation> |
1372 |
</xs:annotation> |
1373 |
<xs:restriction base="xs:string"/> |
1374 |
</xs:simpleType> |
1375 |
<!-- ========================================================================================== --> |
1376 |
<xs:simpleType name="SpeciesType"> |
1377 |
<xs:annotation> |
1378 |
<xs:documentation>Type of a Species. The values of this type are defined in the XML file |
1379 |
CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1380 |
</xs:documentation> |
1381 |
</xs:annotation> |
1382 |
<xs:restriction base="xs:string"/> |
1383 |
</xs:simpleType> |
1384 |
<!-- ========================================================================================== --> |
1385 |
<xs:complexType name="ImplicitRepresentationPropertyType"> |
1386 |
<xs:annotation> |
1387 |
<xs:documentation> A property that has a Implicit Representation as its value domain, |
1388 |
which is a representation of a geometry by referencing a prototype and transforming |
1389 |
it to its real position in space. </xs:documentation> |
1390 |
</xs:annotation> |
1391 |
<xs:complexContent> |
1392 |
<xs:restriction base="gml:AssociationType"> |
1393 |
<xs:sequence minOccurs="0"> |
1394 |
<xs:element ref="ImplicitGeometry"/> |
1395 |
</xs:sequence> |
1396 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1397 |
</xs:restriction> |
1398 |
</xs:complexContent> |
1399 |
</xs:complexType> |
1400 |
<!-- ========================================================================================== --> |
1401 |
<xs:complexType name="ImplicitGeometryType"> |
1402 |
<xs:annotation> |
1403 |
<xs:documentation> Type for the implicit representation of a geometry. |
1404 |
An implicit geometry is a geometric object, where the shape is stored only once as a prototypical geometry, |
1405 |
e.g. a tree or other vegetation object, a traffic light or a traffic sign. |
1406 |
This prototypic geometry object is re-used or referenced many times, wherever the corresponding feature |
1407 |
occurs in the 3D city model. Each occurrence is represented by a link to the prototypic shape geometry |
1408 |
(in a local cartesian coordinate system), by a transforma-tion matrix that is multiplied with each 3D |
1409 |
coordinate tuple of the prototype, and by an anchor point denoting the base point of the object in the |
1410 |
world coordinate reference system. In order to determine the absolute coordinates of an implicit geometry, |
1411 |
the anchor point coordinates have to be added to the matrix multiplication results. The transformation |
1412 |
matrix accounts for the intended rotation, scaling, and local translation of the prototype. |
1413 |
It is a 4x4 matrix that is multiplied with the prototype coordinates using homogeneous coordinates, i.e. (x,y,z,1). |
1414 |
This way even a projection might be modeled by the transformation matrix. |
1415 |
The concept of implicit geometries is an enhancement of the geometry model of GML3. |
1416 |
</xs:documentation> |
1417 |
</xs:annotation> |
1418 |
<xs:complexContent> |
1419 |
<xs:extension base="gml:AbstractGMLType"> |
1420 |
<xs:sequence> |
1421 |
<xs:element name="mimeType" type="MimeTypeType" minOccurs="0"/> |
1422 |
<xs:element name="transformationMatrix" type="TransformationMatrixType" minOccurs="0"/> |
1423 |
<xs:element name="libraryObject" type="xs:anyURI" minOccurs="0"/> |
1424 |
<xs:element name="relativeGMLGeometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1425 |
<xs:element name="referencePoint" type="gml:PointPropertyType"/> |
1426 |
</xs:sequence> |
1427 |
</xs:extension> |
1428 |
</xs:complexContent> |
1429 |
</xs:complexType> |
1430 |
<!-- ========================================================================================== --> |
1431 |
<xs:element name="ImplicitGeometry" type="ImplicitGeometryType" substitutionGroup="gml:_GML"/> |
1432 |
<!-- ========================================================================================== --> |
1433 |
<xs:simpleType name="MimeTypeType"> |
1434 |
<xs:annotation> |
1435 |
<xs:documentation>MIME type of a geometry in an external library file. MIME types are defined by the |
1436 |
IETF (Internet Engineering Task Force). The values of this type |
1437 |
are defined in the XML file CityGML_ExternalCodeLists.xml, according to the |
1438 |
dictionary concept of GML3. </xs:documentation> |
1439 |
</xs:annotation> |
1440 |
<xs:restriction base="xs:string"/> |
1441 |
</xs:simpleType> |
1442 |
<!-- ========================================================================================== --> |
1443 |
<!-- ========================================================================================== --> |
1444 |
<!-- ========================================================================================== --> |
1445 |
<!-- ==========================================Water Bodies Model================================ --> |
1446 |
<!-- ========================================================================================== --> |
1447 |
<!-- ========================================================================================== --> |
1448 |
<!-- ========================================================================================== --> |
1449 |
<xs:complexType name="_WaterObjectType" abstract="true"> |
1450 |
<xs:annotation> |
1451 |
<xs:documentation>Type describing the abstract superclass for water objects. |
1452 |
As subclass of _CityObject, a _WaterObject inherits all attributes and relations, in particular |
1453 |
an id, names, external references, generic attributes and generalization relations. |
1454 |
</xs:documentation> |
1455 |
</xs:annotation> |
1456 |
<xs:complexContent> |
1457 |
<xs:extension base="_CityObjectType"/> |
1458 |
</xs:complexContent> |
1459 |
</xs:complexType> |
1460 |
<!-- ========================================================================================== --> |
1461 |
<xs:element name="_WaterObject" type="_WaterObjectType" substitutionGroup="_CityObject"/> |
1462 |
<!-- ========================================================================================== --> |
1463 |
<xs:complexType name="WaterBodyType"> |
1464 |
<xs:annotation> |
1465 |
<xs:documentation>Type describing Water Bodies, e.g., lakes, rivers. |
1466 |
As subclass of _CityObject, a WaterBody inherits all attributes and relations, in particular |
1467 |
an id, names, external references, generic attributes and generalization relations. |
1468 |
</xs:documentation> |
1469 |
</xs:annotation> |
1470 |
<xs:complexContent> |
1471 |
<xs:extension base="_WaterObjectType"> |
1472 |
<xs:sequence> |
1473 |
<xs:element name="class" type="WaterBodyClassType" minOccurs="0"/> |
1474 |
<xs:element name="function" type="WaterBodyFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1475 |
<xs:element name="usage" type="WaterBodyUsageType" minOccurs="0" maxOccurs="unbounded"/> |
1476 |
<xs:element name="lod0MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
1477 |
<xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1478 |
<xs:element name="lod1MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
1479 |
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1480 |
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
1481 |
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
1482 |
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
1483 |
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/> |
1484 |
<xs:element name="boundedBy" type="BoundedByWaterSurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/> |
1485 |
</xs:sequence> |
1486 |
</xs:extension> |
1487 |
</xs:complexContent> |
1488 |
</xs:complexType> |
1489 |
<!-- ========================================================================================== --> |
1490 |
<xs:element name="WaterBody" type="WaterBodyType" substitutionGroup="_WaterObject"/> |
1491 |
<!-- ========================================================================================== --> |
1492 |
<xs:simpleType name="WaterBodyClassType"> |
1493 |
<xs:annotation> |
1494 |
<xs:documentation>Class of a Water Body. The values of this type are defined in the XML |
1495 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1496 |
</xs:documentation> |
1497 |
</xs:annotation> |
1498 |
<xs:restriction base="xs:string"/> |
1499 |
</xs:simpleType> |
1500 |
<!-- ========================================================================================== --> |
1501 |
<xs:simpleType name="WaterBodyFunctionType"> |
1502 |
<xs:annotation> |
1503 |
<xs:documentation>Function of a Water Body. The values of this type are defined in the |
1504 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1505 |
</xs:documentation> |
1506 |
</xs:annotation> |
1507 |
<xs:restriction base="xs:string"/> |
1508 |
</xs:simpleType> |
1509 |
<!-- ========================================================================================== --> |
1510 |
<xs:simpleType name="WaterBodyUsageType"> |
1511 |
<xs:annotation> |
1512 |
<xs:documentation>Actual usage of a water body. The values of this type are defined in |
1513 |
the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of |
1514 |
GML3. </xs:documentation> |
1515 |
</xs:annotation> |
1516 |
<xs:restriction base="xs:string"/> |
1517 |
</xs:simpleType> |
1518 |
<!-- ========================================================================================== --> |
1519 |
<xs:complexType name="BoundedByWaterSurfacePropertyType"> |
1520 |
<xs:annotation> |
1521 |
<xs:documentation> A type for a property of a Water Body denoting its boundary, which is a water surface. |
1522 |
Since an attribute group for enabling the use of references is provided, the relation may be given |
1523 |
by a reference to a WaterBoundarySurface |
1524 |
defined elsewhere or by the inline definition of a WaterBoundarySurface. |
1525 |
</xs:documentation> |
1526 |
</xs:annotation> |
1527 |
<xs:complexContent> |
1528 |
<xs:restriction base="gml:AssociationType"> |
1529 |
<xs:sequence minOccurs="0"> |
1530 |
<xs:element ref="_WaterBoundarySurface"/> |
1531 |
</xs:sequence> |
1532 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1533 |
</xs:restriction> |
1534 |
</xs:complexContent> |
1535 |
</xs:complexType> |
1536 |
<!-- ========================================================================================== --> |
1537 |
<xs:complexType name="_WaterBoundarySurfaceType" abstract="true"> |
1538 |
<xs:annotation> |
1539 |
<xs:documentation>A WaterBoundarySurface is a thematic object which classifies surfaces |
1540 |
bounding a water body. </xs:documentation> |
1541 |
</xs:annotation> |
1542 |
<xs:complexContent> |
1543 |
<xs:extension base="_CityObjectType"> |
1544 |
<xs:sequence> |
1545 |
<xs:element name="lod2Surface" type="gml:SurfacePropertyType" minOccurs="0"/> |
1546 |
<xs:element name="lod3Surface" type="gml:SurfacePropertyType" minOccurs="0"/> |
1547 |
<xs:element name="lod4Surface" type="gml:SurfacePropertyType" minOccurs="0"/> |
1548 |
</xs:sequence> |
1549 |
</xs:extension> |
1550 |
</xs:complexContent> |
1551 |
</xs:complexType> |
1552 |
<!-- ========================================================================================== --> |
1553 |
<xs:element name="_WaterBoundarySurface" type="_WaterBoundarySurfaceType" abstract="true" substitutionGroup="_CityObject"/> |
1554 |
<!-- ========================================================================================== --> |
1555 |
<xs:simpleType name="WaterLevelType"> |
1556 |
<xs:annotation> |
1557 |
<xs:documentation>Type for the specification of the level of a water surface. |
1558 |
The optional attribute waterLevel of a WaterSurface can be used to describe the water level, |
1559 |
for which the given 3D surface geometry was acquired. This is especially important, when the |
1560 |
water body is influenced by the tide. The values of this type are defined in the XML |
1561 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1562 |
</xs:documentation> |
1563 |
</xs:annotation> |
1564 |
<xs:restriction base="xs:string"/> |
1565 |
</xs:simpleType> |
1566 |
<!-- ========================================================================================== --> |
1567 |
<xs:complexType name="WaterSurfaceType"> |
1568 |
<xs:annotation> |
1569 |
<xs:documentation>Type describing the surface of a water body, which separates |
1570 |
the water from the air. As subclass of _CityObject, a WaterSurface inherits all attributes and relations, in particular |
1571 |
an id, names, external references, generic attributes and generalization relations. |
1572 |
</xs:documentation> |
1573 |
</xs:annotation> |
1574 |
<xs:complexContent> |
1575 |
<xs:extension base="_WaterBoundarySurfaceType"> |
1576 |
<xs:sequence> |
1577 |
<xs:element name="waterLevel" type="WaterLevelType" minOccurs="0"/> |
1578 |
</xs:sequence> |
1579 |
</xs:extension> |
1580 |
</xs:complexContent> |
1581 |
</xs:complexType> |
1582 |
<!-- ========================================================================================== --> |
1583 |
<xs:element name="WaterSurface" type="WaterSurfaceType" substitutionGroup="_WaterBoundarySurface"/> |
1584 |
<!-- ========================================================================================== --> |
1585 |
<xs:complexType name="WaterGroundSurfaceType"> |
1586 |
<xs:annotation> |
1587 |
<xs:documentation>Type describing the ground surface of a water body, i.e. the boundary |
1588 |
to the digital terrain model. As subclass of _CityObject, a WaterGroundSurface |
1589 |
inherits all attributes and relations, in particular |
1590 |
an id, names, external references, generic attributes and generalization relations. |
1591 |
</xs:documentation> |
1592 |
</xs:annotation> |
1593 |
<xs:complexContent> |
1594 |
<xs:extension base="_WaterBoundarySurfaceType"> |
1595 |
<xs:sequence/> |
1596 |
</xs:extension> |
1597 |
</xs:complexContent> |
1598 |
</xs:complexType> |
1599 |
<!-- ========================================================================================== --> |
1600 |
<xs:element name="WaterGroundSurface" type="WaterGroundSurfaceType" substitutionGroup="_WaterBoundarySurface"/> |
1601 |
<!-- ========================================================================================== --> |
1602 |
<xs:complexType name="WaterClosureSurfaceType"> |
1603 |
<xs:annotation> |
1604 |
<xs:documentation>Type describing the closure surface between water bodys. |
1605 |
As subclass of _CityObject, a WaterClosureSurface inherits all attributes and relations, in particular |
1606 |
an id, names, external references, generic attributes and generalization relations. |
1607 |
</xs:documentation> |
1608 |
</xs:annotation> |
1609 |
<xs:complexContent> |
1610 |
<xs:extension base="_WaterBoundarySurfaceType"> |
1611 |
<xs:sequence/> |
1612 |
</xs:extension> |
1613 |
</xs:complexContent> |
1614 |
</xs:complexType> |
1615 |
<!-- ========================================================================================== --> |
1616 |
<xs:element name="WaterClosureSurface" type="WaterClosureSurfaceType" substitutionGroup="_WaterBoundarySurface"/> |
1617 |
<!-- ========================================================================================== --> |
1618 |
<!-- ========================================================================================== --> |
1619 |
<!-- ========================================================================================== --> |
1620 |
<!-- ==========================================Land Use ======================================== --> |
1621 |
<!-- ========================================================================================== --> |
1622 |
<!-- ========================================================================================== --> |
1623 |
<xs:complexType name="LandUseType"> |
1624 |
<xs:annotation> |
1625 |
<xs:documentation>Type describing the class for Land Use in all LoD. LandUse objects describe areas |
1626 |
of the earth’s surface dedicated to a specific land use. The geometry must consist of 3-D surfaces. |
1627 |
As subclass of _CityObject, a LandUse inherits all attributes and relations, in particular |
1628 |
an id, names, external references, generic attributes and generalization relations. |
1629 |
</xs:documentation> |
1630 |
</xs:annotation> |
1631 |
<xs:complexContent> |
1632 |
<xs:extension base="_CityObjectType"> |
1633 |
<xs:sequence> |
1634 |
<xs:element name="class" type="LandUseClassType" minOccurs="0"/> |
1635 |
<xs:element name="function" type="LandUseFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1636 |
<xs:element name="usage" type="LandUseUsageType" minOccurs="0" maxOccurs="unbounded"/> |
1637 |
<xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1638 |
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1639 |
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1640 |
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1641 |
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> |
1642 |
</xs:sequence> |
1643 |
</xs:extension> |
1644 |
</xs:complexContent> |
1645 |
</xs:complexType> |
1646 |
<!-- ========================================================================================== --> |
1647 |
<xs:element name="LandUse" type="LandUseType" substitutionGroup="_CityObject"/> |
1648 |
<!-- ========================================================================================== --> |
1649 |
<xs:simpleType name="LandUseClassType"> |
1650 |
<xs:annotation> |
1651 |
<xs:documentation>Class of a Landuse. The values of this type are defined in the XML |
1652 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1653 |
</xs:documentation> |
1654 |
</xs:annotation> |
1655 |
<xs:restriction base="xs:string"/> |
1656 |
</xs:simpleType> |
1657 |
<!-- ========================================================================================== --> |
1658 |
<xs:simpleType name="LandUseFunctionType"> |
1659 |
<xs:annotation> |
1660 |
<xs:documentation>Function of a Landuse. The values of this type are defined in the XML |
1661 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1662 |
</xs:documentation> |
1663 |
</xs:annotation> |
1664 |
<xs:restriction base="xs:string"/> |
1665 |
</xs:simpleType> |
1666 |
<!-- ========================================================================================== --> |
1667 |
<xs:simpleType name="LandUseUsageType"> |
1668 |
<xs:annotation> |
1669 |
<xs:documentation>Usage of a Landuse. The values of this type are defined in the XML |
1670 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1671 |
</xs:documentation> |
1672 |
</xs:annotation> |
1673 |
<xs:restriction base="xs:string"/> |
1674 |
</xs:simpleType> |
1675 |
<!-- ========================================================================================== --> |
1676 |
<!-- =========================================City Model Furnitures================================= --> |
1677 |
<!-- ========================================================================================== --> |
1678 |
<xs:complexType name="CityFurnitureType"> |
1679 |
<xs:annotation> |
1680 |
<xs:documentation>Type describing city furnitures, like traffic lights, benches, ... |
1681 |
As subclass of _CityObject, a CityFurniture inherits all attributes and relations, in particular |
1682 |
an id, names, external references, generic attributes and generalization relations. |
1683 |
</xs:documentation> |
1684 |
</xs:annotation> |
1685 |
<xs:complexContent> |
1686 |
<xs:extension base="_CityObjectType"> |
1687 |
<xs:sequence> |
1688 |
<xs:element name="class" type="CityFurnitureClassType" minOccurs="0"/> |
1689 |
<xs:element name="function" type="CityFurnitureFunctionType" minOccurs="0" maxOccurs="unbounded"/> |
1690 |
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1691 |
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1692 |
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1693 |
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> |
1694 |
<xs:element name="lod1ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1695 |
<xs:element name="lod2ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1696 |
<xs:element name="lod3ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1697 |
<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/> |
1698 |
</xs:sequence> |
1699 |
</xs:extension> |
1700 |
</xs:complexContent> |
1701 |
</xs:complexType> |
1702 |
<!-- ========================================================================================== --> |
1703 |
<xs:element name="CityFurniture" type="CityFurnitureType" substitutionGroup="_CityObject"/> |
1704 |
<!-- ========================================================================================== --> |
1705 |
<xs:simpleType name="CityFurnitureFunctionType"> |
1706 |
<xs:annotation> |
1707 |
<xs:documentation>Function of a Furniture. The values of this type are defined in the |
1708 |
XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1709 |
</xs:documentation> |
1710 |
</xs:annotation> |
1711 |
<xs:restriction base="xs:string"/> |
1712 |
</xs:simpleType> |
1713 |
<!-- ========================================================================================== --> |
1714 |
<xs:simpleType name="CityFurnitureClassType"> |
1715 |
<xs:annotation> |
1716 |
<xs:documentation>Class of a Furniture. The values of this type are defined in the XML |
1717 |
file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3. |
1718 |
</xs:documentation> |
1719 |
</xs:annotation> |
1720 |
<xs:restriction base="xs:string"/> |
1721 |
</xs:simpleType> |
1722 |
<!-- ========================================================================================== --> |
1723 |
<!-- ========================================================================================== --> |
1724 |
<!-- =========================================Digital Terrain Model================================= --> |
1725 |
<!-- ========================================================================================== --> |
1726 |
<!-- ========================================================================================== --> |
1727 |
<xs:complexType name="ReliefFeatureType"> |
1728 |
<xs:annotation> |
1729 |
<xs:documentation>Type describing the features of the Digital Terrain Model. |
1730 |
As subclass of _CityObject, a ReliefFeature inherits all attributes and relations, in particular |
1731 |
an id, names, external references, generic attributes and generalization relations. |
1732 |
</xs:documentation> |
1733 |
</xs:annotation> |
1734 |
<xs:complexContent> |
1735 |
<xs:extension base="_CityObjectType"> |
1736 |
<xs:sequence> |
1737 |
<xs:element name="lod" type="integerBetween0and4"/> |
1738 |
<xs:element name="reliefComponent" type="ReliefComponentPropertyType" maxOccurs="unbounded"/> |
1739 |
</xs:sequence> |
1740 |
</xs:extension> |
1741 |
</xs:complexContent> |
1742 |
</xs:complexType> |
1743 |
<!-- ========================================================================================== --> |
1744 |
<xs:element name="ReliefFeature" type="ReliefFeatureType" substitutionGroup="_CityObject"/> |
1745 |
<!-- ========================================================================================== --> |
1746 |
<xs:complexType name="_ReliefComponentType" abstract="true"> |
1747 |
<xs:annotation> |
1748 |
<xs:documentation>Type describing the vomponents of a relief feature - either a TIN, a |
1749 |
Grid, mass points or break lines. |
1750 |
As subclass of _CityObject, a ReliefComponent inherits all attributes and relations, in particular |
1751 |
an id, names, external references, generic attributes and generalization relations. |
1752 |
</xs:documentation> |
1753 |
</xs:annotation> |
1754 |
<xs:complexContent> |
1755 |
<xs:extension base="_CityObjectType"> |
1756 |
<xs:sequence> |
1757 |
<xs:element name="lod" type="integerBetween0and4"/> |
1758 |
<xs:element name="extent" type="gml:PolygonPropertyType" minOccurs="0"/> |
1759 |
</xs:sequence> |
1760 |
</xs:extension> |
1761 |
</xs:complexContent> |
1762 |
</xs:complexType> |
1763 |
<!-- ========================================================================================== --> |
1764 |
<xs:element name="_ReliefComponent" type="_ReliefComponentType" abstract="true" substitutionGroup="_CityObject"/> |
1765 |
<!-- ========================================================================================== --> |
1766 |
<xs:complexType name="ReliefComponentPropertyType"> |
1767 |
<xs:annotation> |
1768 |
<xs:documentation>Denotes the relation of a relief feature to its components. The |
1769 |
relation may be given by a reference to a component definede elsewhere or by the complete inline |
1770 |
definition of a component. |
1771 |
</xs:documentation> |
1772 |
</xs:annotation> |
1773 |
<xs:complexContent> |
1774 |
<xs:restriction base="gml:AssociationType"> |
1775 |
<xs:sequence minOccurs="0"> |
1776 |
<xs:element ref="_ReliefComponent"/> |
1777 |
</xs:sequence> |
1778 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1779 |
</xs:restriction> |
1780 |
</xs:complexContent> |
1781 |
</xs:complexType> |
1782 |
<!-- ========================================================================================== --> |
1783 |
<xs:complexType name="TINReliefType"> |
1784 |
<xs:annotation> |
1785 |
<xs:documentation>Type describing the TIN component of a relief feature. |
1786 |
As subclass of _CityObject, a TINRelief inherits all attributes and relations, in particular |
1787 |
an id, names, external references, generic attributes and generalization relations. |
1788 |
</xs:documentation> |
1789 |
</xs:annotation> |
1790 |
<xs:complexContent> |
1791 |
<xs:extension base="_ReliefComponentType"> |
1792 |
<xs:sequence> |
1793 |
<xs:element name="tin" type="tinPropertyType"/> |
1794 |
</xs:sequence> |
1795 |
</xs:extension> |
1796 |
</xs:complexContent> |
1797 |
</xs:complexType> |
1798 |
<!-- ========================================================================================== --> |
1799 |
<xs:element name="TINRelief" type="TINReliefType" substitutionGroup="_ReliefComponent"/> |
1800 |
<!-- ========================================================================================== --> |
1801 |
<xs:complexType name="RasterReliefType"> |
1802 |
<xs:annotation> |
1803 |
<xs:documentation>Type describing the raster component of a relief feature. |
1804 |
As subclass of _CityObject, a RasterRelief inherits all attributes and relations, in particular |
1805 |
an id, names, external references, generic attributes and generalization relations. |
1806 |
</xs:documentation> |
1807 |
</xs:annotation> |
1808 |
<xs:complexContent> |
1809 |
<xs:extension base="_ReliefComponentType"> |
1810 |
<xs:sequence> |
1811 |
<xs:element name="grid" type="gridPropertyType"/> |
1812 |
</xs:sequence> |
1813 |
</xs:extension> |
1814 |
</xs:complexContent> |
1815 |
</xs:complexType> |
1816 |
<!-- ========================================================================================== --> |
1817 |
<xs:element name="RasterRelief" type="RasterReliefType" substitutionGroup="_ReliefComponent"/> |
1818 |
<!-- ========================================================================================== --> |
1819 |
<xs:complexType name="MassPointReliefType"> |
1820 |
<xs:annotation> |
1821 |
<xs:documentation>Type describing the mass point component of a relief feature. |
1822 |
As subclass of _CityObject, a MassPoint Relief inherits all attributes and relations, in particular |
1823 |
an id, names, external references, generic attributes and generalization relations. |
1824 |
</xs:documentation> |
1825 |
</xs:annotation> |
1826 |
<xs:complexContent> |
1827 |
<xs:extension base="_ReliefComponentType"> |
1828 |
<xs:sequence> |
1829 |
<xs:element name="reliefPoints" type="gml:MultiPointPropertyType"/> |
1830 |
</xs:sequence> |
1831 |
</xs:extension> |
1832 |
</xs:complexContent> |
1833 |
</xs:complexType> |
1834 |
<!-- ========================================================================================== --> |
1835 |
<xs:element name="MassPointRelief" type="MassPointReliefType" substitutionGroup="_ReliefComponent"/> |
1836 |
<!-- ========================================================================================== --> |
1837 |
<xs:complexType name="BreaklineReliefType"> |
1838 |
<xs:annotation> |
1839 |
<xs:documentation>Type describing the break line Component of a relief feature. A break |
1840 |
line relief consists of break lines or ridgeOrValleyLines (German Translation: |
1841 |
Geripplinie) |
1842 |
As subclass of _CityObject, a BreaklineRelief inherits all attributes and relations, in particular |
1843 |
an id, names, external references, generic attributes and generalization relations. |
1844 |
</xs:documentation> |
1845 |
</xs:annotation> |
1846 |
<xs:complexContent> |
1847 |
<xs:extension base="_ReliefComponentType"> |
1848 |
<xs:sequence> |
1849 |
<xs:choice> |
1850 |
<xs:element name="ridgeOrValleyLines" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
1851 |
<xs:element name="breaklines" type="gml:MultiCurvePropertyType" minOccurs="0"/> |
1852 |
</xs:choice> |
1853 |
</xs:sequence> |
1854 |
</xs:extension> |
1855 |
</xs:complexContent> |
1856 |
</xs:complexType> |
1857 |
<!-- ========================================================================================== --> |
1858 |
<xs:element name="BreaklineRelief" type="BreaklineReliefType" substitutionGroup="_ReliefComponent"/> |
1859 |
<!-- ========================================================================================== --> |
1860 |
<xs:complexType name="tinPropertyType"> |
1861 |
<xs:complexContent> |
1862 |
<xs:restriction base="gml:AssociationType"> |
1863 |
<xs:sequence minOccurs="0"> |
1864 |
<xs:element ref="gml:TriangulatedSurface"/> |
1865 |
</xs:sequence> |
1866 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1867 |
</xs:restriction> |
1868 |
</xs:complexContent> |
1869 |
</xs:complexType> |
1870 |
<!-- ========================================================================================== --> |
1871 |
<xs:complexType name="gridPropertyType"> |
1872 |
<xs:complexContent> |
1873 |
<xs:restriction base="gml:AssociationType"> |
1874 |
<xs:sequence minOccurs="0"> |
1875 |
<xs:element ref="gml:RectifiedGridCoverage"/> |
1876 |
</xs:sequence> |
1877 |
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> |
1878 |
</xs:restriction> |
1879 |
</xs:complexContent> |
1880 |
</xs:complexType> |
1881 |
<!-- ========================================================================================== --> |
1882 |
<!-- ============= The height values of the grid are represented by Elevation elements, which have a height ======= --> |
1883 |
<!-- ============= value and a unit of measurement, e.g. meter. ======= --> |
1884 |
<!-- ========================================================================================== --> |
1885 |
<xs:element name="Elevation" type="gml:LengthType" substitutionGroup="gml:_Object"/> |
1886 |
<!-- ========================================================================================== --> |
1887 |
<!-- ========================================================================================== --> |
1888 |
<!-- ==========================================Miscellaneous===================================== --> |
1889 |
<!-- ========================================================================================== --> |
1890 |
<!-- ========================================================================================== --> |
1891 |
<xs:simpleType name="doubleBetween0and1"> |
1892 |
<xs:annotation> |
1893 |
<xs:documentation>Type for values, which are greater or equal than 0 and less or equal |
1894 |
than 1. Used for color encoding, for example. </xs:documentation> |
1895 |
</xs:annotation> |
1896 |
<xs:restriction base="xs:double"> |
1897 |
<xs:minInclusive value="0"/> |
1898 |
<xs:maxInclusive value="1"/> |
1899 |
</xs:restriction> |
1900 |
</xs:simpleType> |
1901 |
<!-- ========================================================================================== --> |
1902 |
<xs:simpleType name="doubleBetween0and1List"> |
1903 |
<xs:annotation> |
1904 |
<xs:documentation>List for double values, which are greater or equal than 0 and less or |
1905 |
equal than 1. Used for color encoding, for example. </xs:documentation> |
1906 |
</xs:annotation> |
1907 |
<xs:list itemType="doubleBetween0and1"/> |
1908 |
</xs:simpleType> |
1909 |
<!-- ========================================================================================== --> |
1910 |
<xs:simpleType name="TransformationMatrixType"> |
1911 |
<xs:annotation> |
1912 |
<xs:documentation>Used for implicit geometries. The Transformation matrix is a 4 by 4 |
1913 |
matrix, thus it must be a list with 16 items. The order the matrix element are |
1914 |
represented is row-major, i. e. the first 4 elements represent the first row, the |
1915 |
fifth to the eight element the second row,... |
1916 |
</xs:documentation> |
1917 |
</xs:annotation> |
1918 |
<xs:restriction base="gml:doubleList"> |
1919 |
<xs:minLength value="16"/> |
1920 |
<xs:maxLength value="16"/> |
1921 |
</xs:restriction> |
1922 |
</xs:simpleType> |
1923 |
<!-- ========================================================================================== --> |
1924 |
<xs:simpleType name="integerBetween0and4"> |
1925 |
<xs:annotation> |
1926 |
<xs:documentation>Type for integer values, which are greater or equal than 0 and less or |
1927 |
equal than 4. Used for encoding of the LoD number. </xs:documentation> |
1928 |
</xs:annotation> |
1929 |
<xs:restriction base="xs:integer"> |
1930 |
<xs:minInclusive value="0"/> |
1931 |
<xs:maxInclusive value="4"/> |
1932 |
</xs:restriction> |
1933 |
</xs:simpleType> |
1934 |
<!-- ========================================================================================== --> |
1935 |
</xs:schema> |