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