1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
<schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0">
|
3
|
<annotation>
|
4
|
<appinfo source="urn:ogc:specification:gml:schema-xsd:dynamicFeature:3.2.0">dynamicFeature.xsd</appinfo>
|
5
|
<documentation>See ISO/DIS 19136 15.6.
|
6
|
A number of types and relationships are defined to represent the time-varying properties of geographic features.
|
7
|
In a comprehensive treatment of spatiotemporal modeling, Langran (see Bibliography) distinguished three principal temporal entities: states, events, and evidence; the schema specified in the following Subclauses incorporates elements for each.</documentation>
|
8
|
</annotation>
|
9
|
<include schemaLocation="feature.xsd"/>
|
10
|
<include schemaLocation="direction.xsd"/>
|
11
|
<element name="dataSource" type="gml:StringOrRefType">
|
12
|
<annotation>
|
13
|
<documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that indicates the source of the temporal data. The remote link attributes of the gml:dataSource element have been deprecated along with its current type.</documentation>
|
14
|
</annotation>
|
15
|
</element>
|
16
|
<element name="dataSourceReference" type="gml:ReferenceType">
|
17
|
<annotation>
|
18
|
<documentation>Evidence is represented by a simple gml:dataSource or gml:dataSourceReference property that indicates the source of the temporal data.</documentation>
|
19
|
</annotation>
|
20
|
</element>
|
21
|
<group name="dynamicProperties">
|
22
|
<annotation>
|
23
|
<documentation>A convenience group. This allows an application schema developer to include dynamic properties in a content model in a standard fashion.</documentation>
|
24
|
</annotation>
|
25
|
<sequence>
|
26
|
<element ref="gml:validTime" minOccurs="0"/>
|
27
|
<element ref="gml:history" minOccurs="0"/>
|
28
|
<element ref="gml:dataSource" minOccurs="0"/>
|
29
|
<element ref="gml:dataSourceReference" minOccurs="0"/>
|
30
|
</sequence>
|
31
|
</group>
|
32
|
<element name="DynamicFeature" type="gml:DynamicFeatureType" substitutionGroup="gml:AbstractFeature">
|
33
|
<annotation>
|
34
|
<documentation>States are captured by time-stamped instances of a feature. The content model extends the standard gml:AbstractFeatureType with the gml:dynamicProperties model group.
|
35
|
Each time-stamped instance represents a ‘snapshot’ of a feature. The dynamic feature classes will normally be extended to suit particular applications. A dynamic feature bears either a time stamp or a history.</documentation>
|
36
|
</annotation>
|
37
|
</element>
|
38
|
<complexType name="DynamicFeatureType">
|
39
|
<complexContent>
|
40
|
<extension base="gml:AbstractFeatureType">
|
41
|
<group ref="gml:dynamicProperties"/>
|
42
|
</extension>
|
43
|
</complexContent>
|
44
|
</complexType>
|
45
|
<element name="DynamicFeatureCollection" type="gml:DynamicFeatureCollectionType" substitutionGroup="gml:DynamicFeature">
|
46
|
<annotation>
|
47
|
<documentation>A gml:DynamicFeatureCollection is a feature collection that has a gml:validTime property (i.e. is a snapshot of the feature collection) or which has a gml:history property that contains one or more gml:AbstractTimeSlices each of which contain values of the time varying properties of the feature collection. Note that the gml:DynamicFeatureCollection may be one of the following:
|
48
|
1. A feature collection which consists of static feature members (members do not change in time) but which has properties of the collection object as a whole that do change in time .
|
49
|
2. A feature collection which consists of dynamic feature members (the members are gml:DynamicFeatures) but which also has properties of the collection as a whole that vary in time.</documentation>
|
50
|
</annotation>
|
51
|
</element>
|
52
|
<complexType name="DynamicFeatureCollectionType">
|
53
|
<complexContent>
|
54
|
<extension base="gml:DynamicFeatureType">
|
55
|
<sequence>
|
56
|
<element ref="gml:dynamicMembers"/>
|
57
|
</sequence>
|
58
|
</extension>
|
59
|
</complexContent>
|
60
|
</complexType>
|
61
|
<element name="dynamicMembers" type="gml:DynamicFeatureMemberType"/>
|
62
|
<complexType name="DynamicFeatureMemberType">
|
63
|
<complexContent>
|
64
|
<extension base="gml:AbstractFeatureMemberType">
|
65
|
<sequence>
|
66
|
<element ref="gml:DynamicFeature" minOccurs="0" maxOccurs="unbounded"/>
|
67
|
</sequence>
|
68
|
<attributeGroup ref="gml:AssociationAttributeGroup"/>
|
69
|
</extension>
|
70
|
</complexContent>
|
71
|
</complexType>
|
72
|
<element name="AbstractTimeSlice" type="gml:AbstractTimeSliceType" abstract="true" substitutionGroup="gml:AbstractGML">
|
73
|
<annotation>
|
74
|
<documentation>To describe an event — an action that occurs at an instant or over an interval of time — GML provides the gml:AbtractTimeSlice element. A timeslice encapsulates the time-varying properties of a dynamic feature -- it shall be extended to represent a time stamped projection of a specific feature. The gml:dataSource property describes how the temporal data was acquired.
|
75
|
A gml:AbstractTimeSlice instance is a GML object that encapsulates updates of the dynamic—or volatile—properties that reflect some change event; it thus includes only those feature properties that have actually changed due to some process.
|
76
|
gml:AbstractTimeSlice basically provides a facility for attribute-level time stamping, in contrast to the object-level time stamping of dynamic feature instances.
|
77
|
The time slice can thus be viewed as event or process-oriented, whereas a snapshot is more state or structure-oriented. A timeslice has richer causality, whereas a snapshot merely portrays the status of the whole.
|
78
|
</documentation>
|
79
|
</annotation>
|
80
|
</element>
|
81
|
<complexType name="AbstractTimeSliceType" abstract="true">
|
82
|
<complexContent>
|
83
|
<extension base="gml:AbstractGMLType">
|
84
|
<sequence>
|
85
|
<element ref="gml:validTime"/>
|
86
|
<element ref="gml:dataSource" minOccurs="0"/>
|
87
|
</sequence>
|
88
|
</extension>
|
89
|
</complexContent>
|
90
|
</complexType>
|
91
|
<element name="MovingObjectStatus" type="gml:MovingObjectStatusType" substitutionGroup="gml:AbstractTimeSlice">
|
92
|
<annotation>
|
93
|
<documentation>gml:MovingObjectStatus is one example of how gml:AbstractTimeSlice may be extended. This element provides a standard method to capture a record of the status of a moving object.
|
94
|
A gml:MovingObjectStatus element allows the user to describe the present location, along with the speed, bearing, acceleration and elevation of an object in a particular time slice.
|
95
|
Additional information about the current status of the object may be recorded in the gml:status or gml:statusReference property elements.</documentation>
|
96
|
</annotation>
|
97
|
</element>
|
98
|
<complexType name="MovingObjectStatusType">
|
99
|
<complexContent>
|
100
|
<extension base="gml:AbstractTimeSliceType">
|
101
|
<sequence>
|
102
|
<choice>
|
103
|
<element name="position" type="gml:GeometryPropertyType"/>
|
104
|
<element ref="gml:pos"/>
|
105
|
<element ref="gml:locationName"/>
|
106
|
<element ref="gml:locationReference"/>
|
107
|
<element ref="gml:location"/>
|
108
|
</choice>
|
109
|
<element name="speed" type="gml:MeasureType" minOccurs="0"/>
|
110
|
<element name="bearing" type="gml:DirectionPropertyType" minOccurs="0"/>
|
111
|
<element name="acceleration" type="gml:MeasureType" minOccurs="0"/>
|
112
|
<element name="elevation" type="gml:MeasureType" minOccurs="0"/>
|
113
|
<element ref="gml:status" minOccurs="0"/>
|
114
|
<element ref="gml:statusReference" minOccurs="0"/>
|
115
|
</sequence>
|
116
|
</extension>
|
117
|
</complexContent>
|
118
|
</complexType>
|
119
|
<element name="status" type="gml:StringOrRefType">
|
120
|
<annotation>
|
121
|
<documentation>The remote link attributes of the gml:status element have been deprecated along with its current type.</documentation>
|
122
|
</annotation>
|
123
|
</element>
|
124
|
<element name="statusReference" type="gml:ReferenceType"/>
|
125
|
<element name="history" type="gml:HistoryPropertyType">
|
126
|
<annotation>
|
127
|
<documentation>A generic sequence of events constitute a gml:history of an object.
|
128
|
The gml:history element contains a set of elements in the substitution group headed by the abstract element gml:AbstractTimeSlice, representing the time-varying properties of interest. The history property of a dynamic feature associates a feature instance with a sequence of time slices (i.e. change events) that encapsulate the evolution of the feature.</documentation>
|
129
|
</annotation>
|
130
|
</element>
|
131
|
<complexType name="HistoryPropertyType">
|
132
|
<sequence>
|
133
|
<element ref="gml:AbstractTimeSlice" maxOccurs="unbounded"/>
|
134
|
</sequence>
|
135
|
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
|
136
|
</complexType>
|
137
|
<element name="track" type="gml:HistoryPropertyType" substitutionGroup="gml:history">
|
138
|
<annotation>
|
139
|
<appinfo>deprecated</appinfo>
|
140
|
</annotation>
|
141
|
</element>
|
142
|
</schema>
|