dynamicFeature

Table of Contents

top

Schema Document Properties

Target Namespacehttp://www.opengis.net/gml
Version3.2.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
DocumentationSee ISO/DIS 19136 15.6. A number of types and relationships are defined to represent the time-varying properties of geographic features. 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.
Application DatadynamicFeature.xsd
More information at: urn:ogc:specification:gml:schema-xsd:dynamicFeature:3.2.0.

Declared Namespaces

PrefixNamespace
Default namespacehttp://www.w3.org/2001/XMLSchema
xmlhttp://www.w3.org/XML/1998/namespace
gmlhttp://www.opengis.net/gml
Schema Component Representation
<schema targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.2.0">
<include schemaLocation="feature.xsd"/>
<include schemaLocation="direction.xsd"/>
...
</schema>
top

Global Declarations

Element: AbstractTimeSlice

  • This element can be used wherever the following element is referenced:
  • The following elements can be used wherever this element is referenced:
NameAbstractTimeSlice
Typegml:AbstractTimeSliceType
Nillableno
Abstractyes
DocumentationTo 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. 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. gml:AbstractTimeSlice basically provides a facility for attribute-level time stamping, in contrast to the object-level time stamping of dynamic feature instances. 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.
XML Instance Representation
<gml:AbstractTimeSlice
gml:id="[1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:validTime> ... </gml:validTime> [1]
<gml:dataSource> ... </gml:dataSource> [0..1]
</gml:AbstractTimeSlice>
Schema Component Representation
<element name="AbstractTimeSlice" type="gml:AbstractTimeSliceType" abstract="true" substitutionGroup="gml:AbstractGML"/>
top

Element: DynamicFeature

NameDynamicFeature
Typegml:DynamicFeatureType
Nillableno
Abstractno
DocumentationStates are captured by time-stamped instances of a feature. The content model extends the standard gml:AbstractFeatureType with the gml:dynamicProperties model group. 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.
XML Instance Representation
<gml:DynamicFeature
gml:id="[1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:boundedBy> ... </gml:boundedBy> [0..1]
<gml:location> ... </gml:location> [0..1]
<gml:validTime> ... </gml:validTime> [0..1]
<gml:history> ... </gml:history> [0..1]
<gml:dataSource> ... </gml:dataSource> [0..1]
<gml:dataSourceReference> ... </gml:dataSourceReference> [0..1]
</gml:DynamicFeature>
Schema Component Representation
<element name="DynamicFeature" type="gml:DynamicFeatureType" substitutionGroup="gml:AbstractFeature"/>
top

Element: DynamicFeatureCollection

  • This element can be used wherever the following element is referenced:
NameDynamicFeatureCollection
Typegml:DynamicFeatureCollectionType
Nillableno
Abstractno
DocumentationA 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: 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 . 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.
XML Instance Representation
<gml:DynamicFeatureCollection
gml:id="[1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:boundedBy> ... </gml:boundedBy> [0..1]
<gml:location> ... </gml:location> [0..1]
<gml:validTime> ... </gml:validTime> [0..1]
<gml:history> ... </gml:history> [0..1]
<gml:dataSource> ... </gml:dataSource> [0..1]
<gml:dataSourceReference> ... </gml:dataSourceReference> [0..1]
<gml:dynamicMembers> ... </gml:dynamicMembers> [1]
</gml:DynamicFeatureCollection>
Schema Component Representation
<element name="DynamicFeatureCollection" type="gml:DynamicFeatureCollectionType" substitutionGroup="gml:DynamicFeature"/>
top

Element: MovingObjectStatus

NameMovingObjectStatus
Typegml:MovingObjectStatusType
Nillableno
Abstractno
Documentationgml: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. 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. Additional information about the current status of the object may be recorded in the gml:status or gml:statusReference property elements.
XML Instance Representation
<gml:MovingObjectStatus
gml:id="[1]">
<gml:metaDataProperty> ... </gml:metaDataProperty> [0..*]
<gml:description> ... </gml:description> [0..1]
<gml:descriptionReference> ... </gml:descriptionReference> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:validTime> ... </gml:validTime> [1]
<gml:dataSource> ... </gml:dataSource> [0..1]
Start Choice [1]
<gml:position> gml:GeometryPropertyType </gml:position> [1]
<gml:pos> ... </gml:pos> [1]
<gml:locationName> ... </gml:locationName> [1]
<gml:locationReference> ... </gml:locationReference> [1]
<gml:location> ... </gml:location> [1]
End Choice
<gml:speed> gml:MeasureType </gml:speed> [0..1]
<gml:bearing> gml:DirectionPropertyType </gml:bearing> [0..1]
<gml:acceleration> gml:MeasureType </gml:acceleration> [0..1]
<gml:elevation> gml:MeasureType </gml:elevation> [0..1]
<gml:status> ... </gml:status> [0..1]
<gml:statusReference> ... </gml:statusReference> [0..1]
</gml:MovingObjectStatus>
Schema Component Representation
<element name="MovingObjectStatus" type="gml:MovingObjectStatusType" substitutionGroup="gml:AbstractTimeSlice"/>
top

Element: dataSource

NamedataSource
Typegml:StringOrRefType
Nillableno
Abstractno
DocumentationEvidence 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.
XML Instance Representation
<gml:dataSource
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]">
string
</gml:dataSource>
Schema Component Representation
<element name="dataSource" type="gml:StringOrRefType"/>
top

Element: dataSourceReference

NamedataSourceReference
Typegml:ReferenceType
Nillableno
Abstractno
DocumentationEvidence is represented by a simple gml:dataSource or gml:dataSourceReference property that indicates the source of the temporal data.
XML Instance Representation
<gml:dataSourceReference
owns="boolean [0..1]"
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"/>
Schema Component Representation
<element name="dataSourceReference" type="gml:ReferenceType"/>
top

Element: dynamicMembers

NamedynamicMembers
Typegml:DynamicFeatureMemberType
Nillableno
Abstractno
XML Instance Representation
<gml:dynamicMembers
owns="boolean [0..1]"
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]">
<gml:DynamicFeature> ... </gml:DynamicFeature> [0..*]
</gml:dynamicMembers>
Schema Component Representation
<element name="dynamicMembers" type="gml:DynamicFeatureMemberType"/>
top

Element: history

  • The following elements can be used wherever this element is referenced:
Namehistory
Typegml:HistoryPropertyType
Nillableno
Abstractno
DocumentationA generic sequence of events constitute a gml:history of an object. 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.
XML Instance Representation
<gml:history
owns="boolean [0..1]">
<gml:AbstractTimeSlice> ... </gml:AbstractTimeSlice> [1..*]
</gml:history>
Schema Component Representation
<element name="history" type="gml:HistoryPropertyType"/>
top

Element: status

Namestatus
Typegml:StringOrRefType
Nillableno
Abstractno
DocumentationThe remote link attributes of the gml:status element have been deprecated along with its current type.
XML Instance Representation
<gml:status
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]">
string
</gml:status>
Schema Component Representation
<element name="status" type="gml:StringOrRefType"/>
top

Element: statusReference

NamestatusReference
Typegml:ReferenceType
Nillableno
Abstractno
XML Instance Representation
<gml:statusReference
owns="boolean [0..1]"
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]"/>
Schema Component Representation
<element name="statusReference" type="gml:ReferenceType"/>
top

Element: track

  • This element can be used wherever the following element is referenced:
Nametrack
Typegml:HistoryPropertyType
Nillableno
Abstractno
Application Datadeprecated
XML Instance Representation
<gml:track
owns="boolean [0..1]">
<gml:AbstractTimeSlice> ... </gml:AbstractTimeSlice> [1..*]
</gml:track>
Schema Component Representation
<element name="track" type="gml:HistoryPropertyType" substitutionGroup="gml:history"/>
top

Global Definitions

Complex Type: AbstractTimeSliceType

Super-types:gml:AbstractGMLType < AbstractTimeSliceType (by extension)
Sub-types:
NameAbstractTimeSliceType
Abstractyes
XML Instance Representation
<...
gml:id="[1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:validTime> ... </gml:validTime> [1]
<gml:dataSource> ... </gml:dataSource> [0..1]
</...>
Schema Component Representation
<complexType name="AbstractTimeSliceType" abstract="true">
<complexContent>
<extension base="gml:AbstractGMLType">
<sequence>
<element ref="gml:validTime"/>
<element ref="gml:dataSource" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
top

Complex Type: DynamicFeatureCollectionType

Super-types:gml:AbstractFeatureType < DynamicFeatureType (by extension) < DynamicFeatureCollectionType (by extension)
Sub-types:None
NameDynamicFeatureCollectionType
Abstractno
XML Instance Representation
<...
gml:id="[1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:boundedBy> ... </gml:boundedBy> [0..1]
<gml:location> ... </gml:location> [0..1]
<gml:validTime> ... </gml:validTime> [0..1]
<gml:history> ... </gml:history> [0..1]
<gml:dataSource> ... </gml:dataSource> [0..1]
</...>
Schema Component Representation
<complexType name="DynamicFeatureCollectionType">
<complexContent>
<extension base="gml:DynamicFeatureType">
<sequence>
<element ref="gml:dynamicMembers"/>
</sequence>
</extension>
</complexContent>
</complexType>
top

Complex Type: DynamicFeatureMemberType

Super-types:gml:AbstractFeatureMemberType < DynamicFeatureMemberType (by extension)
Sub-types:None
NameDynamicFeatureMemberType
Abstractno
XML Instance Representation
<...
owns="boolean [0..1]"
xlink:type="simple [0..1]"
xlink:href="[0..1]"
xlink:role="[0..1]"
xlink:arcrole="[0..1]"
xlink:title="[0..1]"
xlink:show="[0..1]"
xlink:actuate="[0..1]"
nilReason="gml:NilReasonType [0..1]"
gml:remoteSchema="[0..1]">
</...>
Schema Component Representation
<complexType name="DynamicFeatureMemberType">
<complexContent>
<extension base="gml:AbstractFeatureMemberType">
<sequence>
<element ref="gml:DynamicFeature" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: DynamicFeatureType

Super-types:gml:AbstractFeatureType < DynamicFeatureType (by extension)
Sub-types:
NameDynamicFeatureType
Abstractno
XML Instance Representation
<...
gml:id="[1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:boundedBy> ... </gml:boundedBy> [0..1]
<gml:location> ... </gml:location> [0..1]
<gml:validTime> ... </gml:validTime> [0..1]
<gml:history> ... </gml:history> [0..1]
<gml:dataSource> ... </gml:dataSource> [0..1]
</...>
Schema Component Representation
<complexType name="DynamicFeatureType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<group ref="gml:dynamicProperties"/>
</extension>
</complexContent>
</complexType>
top

Complex Type: HistoryPropertyType

Super-types:None
Sub-types:None
NameHistoryPropertyType
Abstractno
XML Instance Representation
<...
owns="boolean [0..1]">
<gml:AbstractTimeSlice> ... </gml:AbstractTimeSlice> [1..*]
</...>
Schema Component Representation
<complexType name="HistoryPropertyType">
<sequence>
<element ref="gml:AbstractTimeSlice" maxOccurs="unbounded"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>
top

Complex Type: MovingObjectStatusType

Super-types:gml:AbstractGMLType < AbstractTimeSliceType (by extension) < MovingObjectStatusType (by extension)
Sub-types:None
NameMovingObjectStatusType
Abstractno
XML Instance Representation
<...
gml:id="[1]">
<gml:description> ... </gml:description> [0..1]
<gml:identifier> ... </gml:identifier> [0..1]
<gml:name> ... </gml:name> [0..*]
<gml:validTime> ... </gml:validTime> [1]
<gml:dataSource> ... </gml:dataSource> [0..1]
Start Choice [1]
<gml:position> gml:GeometryPropertyType </gml:position> [1]
<gml:pos> ... </gml:pos> [1]
<gml:location> ... </gml:location> [1]
End Choice
<gml:speed> gml:MeasureType </gml:speed> [0..1]
<gml:bearing> gml:DirectionPropertyType </gml:bearing> [0..1]
<gml:acceleration> gml:MeasureType </gml:acceleration> [0..1]
<gml:elevation> gml:MeasureType </gml:elevation> [0..1]
<gml:status> ... </gml:status> [0..1]
</...>
Schema Component Representation
<complexType name="MovingObjectStatusType">
<complexContent>
<extension base="gml:AbstractTimeSliceType">
<sequence>
<choice>
<element name="position" type="gml:GeometryPropertyType"/>
<element ref="gml:pos"/>
<element ref="gml:locationName"/>
<element ref="gml:locationReference"/>
<element ref="gml:location"/>
</choice>
<element name="speed" type="gml:MeasureType" minOccurs="0"/>
<element name="bearing" type="gml:DirectionPropertyType" minOccurs="0"/>
<element name="acceleration" type="gml:MeasureType" minOccurs="0"/>
<element name="elevation" type="gml:MeasureType" minOccurs="0"/>
<element ref="gml:status" minOccurs="0"/>
<element ref="gml:statusReference" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
top

Model Group: dynamicProperties

NamedynamicProperties
DocumentationA convenience group. This allows an application schema developer to include dynamic properties in a content model in a standard fashion.
XML Instance Representation
<gml:validTime> ... </gml:validTime> [0..1]
<gml:history> ... </gml:history> [0..1]
<gml:dataSource> ... </gml:dataSource> [0..1]
<gml:dataSourceReference> ... </gml:dataSourceReference> [0..1]
Schema Component Representation
<group name="dynamicProperties">
<sequence>
<element ref="gml:validTime" minOccurs="0"/>
<element ref="gml:history" minOccurs="0"/>
<element ref="gml:dataSource" minOccurs="0"/>
<element ref="gml:dataSourceReference" minOccurs="0"/>
</sequence>
</group>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types:Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
NameAusAddress
Abstractno
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia">
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexTypename="AusAddress">
<complexContent>
<extensionbase="Address">
<sequence>
<elementname="state" type="AusStates"/>
<elementname="postcode">
<simpleType>
<restrictionbase="string">
<patternvalue="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attributename="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top