See ISO/DIS 19136 15.2.
The GML temporal schemas include components for describing temporal geometry and topology, temporal reference systems, and the temporal characteristics of geographic data. The model underlying the representation constitutes a profile of the conceptual schema described in ISO 19108. The underlying spatiotemporal model strives to accommodate both feature-level and attribute-level time stamping; basic support for tracking moving objects is also included.
Time is measured on two types of scales: interval and ordinal. An interval scale offers a basis for measuring duration, an ordinal scale provides information only about relative position in time.
Two other ISO standards are relevant to describing temporal objects: ISO 8601 describes encodings for time instants and time periods, as text strings with particular structure and punctuation; ISO 11404 provides a detailed description of time intervals as part of a general discussion of language independent datatypes.
The temporal schemas cover two interrelated topics and provide basic schema components for representing temporal instants and periods, temporal topology, and reference systems; more specialized schema components defines components used for dynamic features. Instances of temporal geometric types are used as values for the temporal properties of geographic features.
Application Data
temporal.xsd More information at: urn:ogc:specification:gml:schema-xsd:temporal:3.2.0.
gml:TimeGeometricPrimitive acts as the head of a substitution group for geometric temporal primitives.
A temporal geometry shall be associated with a temporal reference system through the frame attribute that provides a URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default reference system, but others may also be used. The GPS calendar is an alternative reference systems in common use.
The two geometric primitives in the temporal dimension are the instant and the period. GML components are defined to support these as follows.
gml:TimePeriod acts as a one-dimensional geometric primitive that represents an identifiable extent in time.
The location in of a gml:TimePeriod is described by the temporal positions of the instants at which it begins and ends. The length of the period is equal to the temporal distance between the two bounding temporal positions.
Both beginning and end may be described in terms of their direct position using gml:TimePositionType which is an XML Schema simple content type, or by reference to an indentifiable time instant using gml:TimeInstantPropertyType.
Alternatively a limit of a gml:TimePeriod may use the conventional GML property model to make a reference to a time instant described elsewhere, or a limit may be indicated as a direct position.
gml:timeInterval conforms to ISO 11404 which is based on floating point values for temporal length.
ISO 11404 syntax specifies the use of a positiveInteger together with appropriate values for radix and factor. The resolution of the time interval is to one radix ^(-factor) of the specified time unit.
The value of the unit is either selected from the units for time intervals from ISO 31-1:1992, or is another suitable unit. The encoding is defined for GML in gml:TimeUnitType. The second component of this union type provides a method for indicating time units other than the six standard units given in the enumeration.
gml:RelatedTimeType provides a content model for indicating the relative position of an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive. It extends the generic gml:TimePrimitivePropertyType with an XML attribute relativePosition, whose value is selected from the set of 13 temporal relationships identified by Allen (1983)
XML Instance Representation
<... 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]" owns="boolean[0..1]" relativePosition="string (value comes from list: {'Before'|'After'|'Begins'|'Ends'|'During'|'Equals'|'Contains'|'Overlaps'|'Meets'|'OverlappedBy'|'MetBy'|'BegunBy'|'EndedBy'})[0..1]"> Start Sequence[0..1]
The method for identifying a temporal position is specific to each temporal reference system. gml:TimePositionType supports the description of temporal position according to the subtypes described in ISO 19108.
Values based on calendars and clocks use lexical formats that are based on ISO 8601, as described in XML Schema Part 2:2001. A decimal value may be used with coordinate systems such as GPS time or UNIX time. A URI may be used to provide a reference to some era in an ordinal reference system .
In common with many of the components modelled as data types in the ISO 19100 series of International Standards, the corresponding GML component has simple content. However, the content model gml:TimePositionType is defined in several steps.
Three XML attributes appear on gml:TimePositionType:
A time value shall be associated with a temporal reference system through the frame attribute that provides a URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default reference system, but others may also be used. Components for describing temporal reference systems are described in 14.4, but it is not required that the reference system be described in this, as the reference may refer to anything that may be indentified with a URI.
For time values using a calendar containing more than one era, the (optional) calendarEraName attribute provides the name of the calendar era.
Inexact temporal positions may be expressed using the optional indeterminatePosition attribute. This takes a value from an enumeration.
gml:TimePrimitivePropertyType provides a standard content model for associations between an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object.
value comes from list: {'after'|'before'|'now'|'unknown'}
Documentation
These values are interpreted as follows:
- “unknown” indicates that no specific value for temporal position is provided.
- “now” indicates that the specified value shall be replaced with the current temporal position whenever the value is accessed.
- “before” indicates that the actual temporal position is unknown, but it is known to be before the specified value.
- “after” indicates that the actual temporal position is unknown, but it is known to be after the specified value.
A value for indeterminatePosition may
- be used either alone, or
- qualify a specific value for temporal position.
The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the subtypes for temporal position described in ISO 19108.
An ordinal era may be referenced via URI. A decimal value may be used to indicate the distance from the scale origin . time is used for a position that recurs daily (see ISO 19108:2002 5.4.4.2).
Finally, calendar and clock forms that support the representation of time in systems based on years, months, days, hours, minutes and seconds, in a notation following ISO 8601, are assembled by gml:CalDate
Schema Component Representation
<simpleTypename="TimePositionUnion">
<unionmemberTypes="gml:CalDate time dateTime anyURI decimal"/>
The XML Instance Representation table above shows the schema component's content as an XML instance.
The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
Model group information are shown in gray, e.g. Start Choice ... End Choice.
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
Otherwise, the type of the element/attribute is displayed.
If the element/attribute's type is in the schema, a link is provided to it.
For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
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.
Collapse Whitespace PolicyReplace 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.
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.
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 PolicyReplace tab, line feed, and carriage return characters with space character (Unicode character 32).
Substitution GroupElements 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 NamespaceThe 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.