TimePositionType, timePosition Temporal geometry .1 Introduction

154 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 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 3 . 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 the details of the mapping to ISO 19108 TM_Position are described in D.2.5.5: complexType name=TimePositionType final=all simpleContent extension base=gml:TimePositionUnion attribute name=frame type=anyURI default=ISO-8601 attribute name=calendarEraName type=string attribute name=indeterminatePosition type=gml:TimeIndeterminateValueType extension simpleContent complexType 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 manner, as the reference may refer to any resource that may be identified 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 defined as follows: simpleType name=TimeIndeterminateValueType restriction base=string enumeration value=after enumeration value=before enumeration value=now enumeration value=unknown restriction simpleType 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. 3 e.g. a geological epoch. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 155 A value for indeterminatePosition may  be used either alone, or  qualify a specific value for temporal position 4 . 4 e.g. before 2002-12, after 1019624400. 156 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the subtypes for temporal position described in ISO 19108. simpleType name=TimePositionUnion union memberTypes=gml:CalDate time dateTime anyURI decimal simpleType An ordinal era may be referenced via URI. A decimal value may be used to indicate the distance from the scale origin 5 . 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 as follows: simpleType name=CalDate union memberTypes=date gYearMonth gYear simpleType NOTE 1 The XML Schema simpleType dateTime does not permit right-truncation, except for fractions of seconds, which is why date, gYear and gYearMonth are required. NOTE 2 Following ISO 19108, when used with non-Gregorian calendars based on years, months, days, the same lexical representation should still be used. Following XML Schema Part 2, leading zeros should be added if the year value would otherwise have fewer than four digits. The element gml:timePosition is declared as follows: element name=timePosition type=gml:TimePositionType This element is used directly as a property of gml:TimeInstant see 14.2.2.3, and may also be used in application schemas. EXAMPLE The following examples illustrate how gml:timePosition or other elements of this type may appear in a data instance: gml:timePosition2002-11-25T13:20:20Zgml:timePosition gml:timePosition indeterminatePosition=after1994gml:timePosition gml:timePosition indeterminatePosition=now1994-07-10gml:timePosition gml:timePosition frame=‖http:my.big.orgTRSGPS‖25876321.01gml:timePosition gml:timePosition frame=http:my.big.orgTRSarchaeology http:my.history.orgerasbronzeAge gml:timePosition gml:timePosition frame=‖http:my.big.orgTRScalendarsjapanese‖ calendarEraName=Meiji0025-03gml:timePosition

14.2.2.8 timeLength, duration, timeInterval, TimeUnitType

The length of a time period is described using the group gml:timeLength, which is declared in the schema as follows: group name=timeLength choice 5 e.g. UNIX time, GPS calendar. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 157 element ref=gml:duration element ref=gml:timeInterval choice group Its content model is a choice of two property elements: element name=duration type=duration gml:duration conforms to the ISO 8601 syntax for temporal length as implemented by the XML Schema duration type. The other alternative is gml:timeInterval which conforms to ISOIEC 11404 which is based on floating point values for temporal length. element name=timeInterval type=gml:TimeIntervalLengthType complexType name=TimeIntervalLengthType final=all simpleContent extension base=decimal attribute name=unit type=gml:TimeUnitType use=required attribute name=radix type=positiveInteger attribute name=factor type=integer extension simpleContent complexType ISOIEC 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. EXAMPLE unit=second, radix=10, factor=3 specifies a resolution of milliseconds The value of the unit is either selected from the units for time intervals from ISO 80000-3, or is another suitable unit. The encoding is defined for GML in gml:TimeUnitType: simpleType name=TimeUnitType union simpleType restriction base=string enumeration value=year enumeration value=month enumeration value=day enumeration value=hour enumeration value=minute enumeration value=second restriction simpleType simpleType restriction base=string pattern value=other:\w{2,} restriction simpleType union simpleType The second component of this union type provides a method for indicating time units other than the six standard units given in the enumeration. EXAMPLE To express a period length of 5 days, 14 hours and 30 minutes, any of the following instances are acceptable: durationP5DT14H30Mduration