License Agreement

Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.

If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.

THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.

THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.

This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.

Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.


 

i. Abstract

TimeseriesML 1.2 defines an XML encoding that implements the OGC Timeseries Profile of Observations and Measurements, with the intent of allowing the exchange of such data sets across information systems. Through the use of existing OGC standards, it aims at being an interoperable exchange format that may be re-used to address a range of data exchange requirements.

ii. Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, OGC document, Timeseries, Observations, Exchange, Interoperability, TimeseriesML, XML, GML

iii.          Preface

This standard is an XML implementation of the conceptual model defined in OGC Timeseries Profile of Observations and Measurements. This standard has been developed from work initially undertaken within OGC WaterML 2.0: Part 1 – Timeseries.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.

iv.          Security Considerations

No security considerations have been made for this standard

v.          Submitting organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

  • Australian Bureau of Meteorology
  • Met Office
  • Australian Commonwealth Scientific and Industrial Research Organisation (CSIRO)
  • Landcare Research
  • Météo-France
  • KISTERS AG
  • Environment Canada
  • US National Weather Service

vi.          Submitters

All questions regarding this submission should be directed to the editor or the submitters:

 

Name Affiliation
James Tomkins Met Office
Dominic Lowe Australian Bureau of Meteorology
Bruce Bannerman Australian Bureau of Meteorology
Tony Boston Australian Bureau of Meteorology
Simon Cox CSIRO
Peter Taylor CSIRO
James Doyle Environment Canada
Jack Lindsey Environment Canada
Michael Natschke Kisters
Michael Utech Kisters
Alistair Ritchie Landcare Research
Frédéric Guillaud Météo-France
Paul Hershberg US National Weather Service

1.    Scope

This document is an OGC® Implementation Standard for the representation of the Timeseries Profile of Observations and Measurements as XML. TimeseriesML 1.2 is implemented as an application schema of the Geography Markup Language version 3.3, making use of the OGC Observations & Measurements standards. TimeseriesML 1.2 is designed as an extensible schema to allow encoding of data to be used in a variety of exchange scenarios. Example areas of usage are: cross-border exchange of observational data; release of data for public dissemination; enhancing disaster management through data exchange; and exchange in support of national reporting. The core aspect of the Timeseries Profile of Observations and Measurements is the correct, precise description of timeseries. This document defines an implementation of this profile.

2.    Conformance

This standard defines an XML encoding standard for the OGC Timeseries Profile of Observations and Measurements.

Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site[1].

In order to conform to this OGC®interface standard, a software implementation shall choose to implement:

a)     Any one of the conformance levels specified in Annex A (normative).

All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.

3.    References

The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.

OGC 15-043r3 – Timeseries Profile of Observations and Measurements
OGC 08-131r3 – The Specification Model – A Standard for Modular Specification
ISO 19103:2005 – Conceptual Schema Language
ISO 19108:2002 -Geographic information - Temporal schema
ISO 19109:2005 -Geographic information – Rules for application schema
ISO 8601- Data elements and interchange formats – Information interchange – Representation of dates and times
OGC 10-004r3 OGC Abstract Specification Topic 20 – Observations and Measurements (aka ISO 19156:2011)
OGC 08-015r2 OGC Abstract Specification Topic 2 – Spatial Referencing by Coordinates (aka ISO 19111:2007)
OGC 07-011 OGC Abstract Specification Topic 6 – Schema for Coverage geometry and functions (aka ISO 19123:2005)
OGC 01-111 OGC Abstract Specification Topic 11 – Geographic information — Metadata (aka ISO 19115:2003)
ISO: ISO 19115:2003, Geographic information — Metadata, 2003
OGC 07-036 Geography Markup Language (aka ISO 19136:2007)
OGC 09-146r2 Implementation Schema for Coverages (1.0.1)
OGC 10-126r4 OGC WaterML2.0 part 1 – Timeseries.
OGC 08-094r1 OGC SWE Common Data Model Encoding Standard v2.0
The UCUM Organization: Unified Code for Units of Measure (UCUM) – Version 1.8, July 2009
OGM: Unified Modeling Language (UML). Version 2.3. May 2010.
W3C: Extensible Markup Language (XML) – Version 1.0 (Fourth Edition), August 2006
W3C: XML Schema – Version 1.0 (Second Edition), October 2004

4. Terms and Definitions

This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.

For the purpose of this document, the following additional terms and definitions apply:

4.1 Coverage

Feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain

[ISO 19123:2005, definition 4.17]

4.2 Domain Feature

Feature of a type defined within a particular application domain

[ISO 19156, definition 4.4]

4.3 Feature

Abstraction of real-world phenomena

[ISO 19101:2002, definition 4.11]

4.4 Observation

Act of observing a property

[ISO 19156, definition 4.10]

4.5 Observation Procedure

Method, algorithm or instrument, or system of these which may be used in making an observation

[ISO 19156, definition 4.11]

4.6 Property <General Feature Model>

Facet or attribute of an object referenced by a name

EXAMPLE: Abby’s car has the color red where “color red” is a property of the car instance

4.7 Sampling Feature

Feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature

[ISO 19156, definition 4.16]

4.8 Sensor

Type of observation procedure that provides the estimated value of an observed property at its output

Note: A sensor uses a combination of physical, chemical or biological means in order to estimate the underlying observed property. At the end of the measuring chain electronic devices often produce signals to be processed

[OGC SWE Common 2.0, definition 4.5.]

4.9 Timeseries

A sequence of data values which are ordered in time. The sequence typically records (or predicts) the value of a property of a feature over a time interval, with interim values at times within the interval. These times are monotonic and are often, but not always, at regular intervals (e.g. an hourly timeseries).

5. Conventions

5.1 Abbreviated Terms

In this document the following abbreviations and acronyms are used or introduced:

GMLCOV OGC Implementation Schema for Coverages

ISO International Organization for Standardization

O&M Observations and Measurements

OGC Open Geospatial Consortium

SensorML Sensor Model Language

SWE Sensor Web Enablement

TSML TimeseriesML

TVP Time-Value Pair

UML Unified Modeling Language

UTC Coordinated Universal Time

5.2    UML Notation

The diagrams that appear in this standard are presented using the Unified Modeling Language (UML) static structure diagram.

Note: Within the context of this profile, the following color scheme is used to identify the package in which the class exists. This is just for informative purposes.

Blue: Defined within the Timeseries Profile of O&M (conceptual model)

Yellow: Defined within this standard (XML implementation model)

Green: ISO19156 – Observations & Measurements

Red: Other (ISO or GML)

5.3    Finding Requirements and Recommendations

This standard is identified as http://www.opengis.net/spec/timeseriesml/1.2. For clarity, each normative statement in this standard is in one and only one place and defined within a requirements class table and identified with a URI, whose root is the specification URI. In this standard, all requirements are associated to tests in the abstract test suite in Annex A using the URL of the requirement as the reference identifier.

Requirements classes are separated into their own clauses and named and specified according to inheritance (direct dependencies). The Conformance test classes in the test suite are similarly named to establish an explicit and mnemonic link between requirements classes and conformance test classes.

6.    XML Implementation (normative)

In addition to the UML conceptual model this standard defines a GML XML Schema implementation that is compliant to the UML conceptual model. The XML Schemas for this implementation are published at:

http://schemas.opengis.net/tsml/1.2/

Schematron patterns are implemented for some requirements where appropriate and are published at the same location.

6.1    XML encoding principles

The following principles apply to data encoded according to the TimeseriesML 1.2 XML schema.

6.1.1    Conformance to GML 3.3 encoding rules for codelists

This XML Schema implementation imports the OGC GML 3.2.1 schemas. However, codelists are implemented according to the clarified rules for codelists in the OGC GML 3.3 specification. Namely that items in codelists are referred to using gml:ReferenceType and not encoded with gml:CodeType.

None of the GML 3.3 schema types are used in this implementation and therefore only GML 3.2.1 schemas are imported by the TimeseriesML 1.2 XML schemas. This is consistent with the note in the GML 3.3 specification which reads: A GML application schema conforming to this standard will import the GML 3.2 schema plus zero or more additional GML 3.3 schemas as needed.

6.1.2    Extends the OGC Implementation Schema for Coverages

The TimeseriesML schema supports both an interleaved time-value pair encoding and a domain, range encoding. The domain, range encoding inherits from the coverage schema defined in the OGC Implementation Schema for Coverages (09-146r2). The interleaved timeseries encoding is a representation of a special case of the CV_DiscreteCoverage class from OGC Abstract Specification Topic 6, in which each GeometryValuePair has a ‘geometry’ which is a timestamp, and a ‘value’ which is a measure or other simple datatype. The OGC CIS v1.1 specification provides alternative representations of coverages, including an option for interleaving coverages, which can be useful for timeseries of more complex values.

6.1.3    Virtual typing

In accordance with OMXML, the specialization of the OM_Observation result type is provided through schematron restriction. The om:type element may be used to specify the type of OM_Observation that is being encoded. This shall be done using the OGC Name URI for the corresponding type from the following table.

Table : O&M URIs for observation specializations
TimeseriesML 1.2 OGC Name Content of om:result in TimeseriesML 1.2 XML1
MeasurementTimeseriesTVPObservation http://www.opengis.net/def/observationType/timeseriesML/1.2/MeasurementTimeseriesTVPObservation

type=

’tsml:Timeseries'

result.value =

'tsml:MeasurementTVP'

CategoricalTimeseriesTVPObservation

http://www.opengis.net/def/observationType/timeseriesML/1.2/CategoricalTimeseriesTVPObservation

type=

’tsml:Timeseries’

result.value =

'tsml:CategoricalTVP'

MeasurementTimeseriesDomainRangeObservation http://www.opengis.net/def/observationType/timeseriesML/1.2/MeasurementTimeseriesDomainRangeObservation

type=

’tsml:TimeseriesDomainRange’

CategoricalTimeseriesDomainRangeObservation http://www.opengis.net/def/observationType/timeseriesML/1.2/CategoricalTimeseriesDomainRangeObservation

type=

’tsml:TimeseriesDomainRange’

 

Likewise, a tsml:type property is present on the TimeseriesDomainRange type to enable a soft-typing approach to this class. The values for this property should be taken from Table 2.

Table : TimeseriesML URIs for TimeseriesDomainRange specializations
Timeseries Profile of O&M Type tsml:type value in tsml:TimeseriesDomainRange

MeasurementTimeseriesDomainRangeTimeseries

http://www.opengis.net/def/timeseriesType/timeseriesML/1.2/Time/MeasurementTimeseriesDomainRange

CategoricalTimeseriesDomainRangeTimeseries

http://www.opengis.net/def/timeseriesType/timeseriesML/1.2/Time/CategoricalTimeseriesDomainRange

6.1.4    Efficiency of encoding

This XML Schema implementation takes the approach that, where conceptual classes can be combined without loss of clarity, they are. For example, the same metadata classes are used for both Categorical and Measurement timeseries. This is to avoid a proliferation of similar classes in the XML encoding.

The following table outlines the mapping between the conceptual model and the XML Schema implementation.

Table : Mapping of Timeseries Profile of Observations and Measurments toTimeseriesML 1.2 XML Schema types.
Timeseries Profile of Observations and Measurements TimeseriesML 1.2 XML

Collection

tsml:Collection

DocumentMetadata

tsml:DocumentMetadata

CategoricalTimeseriesTVPObservation

om:OM_Observation*

MeasurementTimeseriesTVPObservation

CategoricalTimeseriesDomainRangeObservation

MeasurementTimeseriesDomainRangeObservation

TimeseriesTVP

tsml:TimeseriesTVP

MeasurementTimeseriesTVP

CategoricalTimeseriesTVP

TimeseriesDomainRange

tsml:TimeseriesDomainRange

MeasurementTimeseriesDomainRange

CategoricalTimeseriesDomainRange

PointMetadata

tsml:PointMetadata

MeasurementPointMetadata

CategoricalPointMetadata

TimeValuePair

tsml:TimeValuePair (abstract)

MeasureTimeValuePair

tsml:MeasurementTVP

CategoricalTimeValuePair

tsml:CategoricalTVP

ObservationProcess

tsml:ObservationProcess

MonitoringFeature

tsml:MonitoringFeature

* The specialization of OM_Observation is provided through Schematron rather than a specialized XML type.

 

6.1.5    Abstract requirements and conformances classes

 

As noted in the OGC Modular Specification section 6.2, the tests for abstract conformance classes may need to be described in the subclass classes if the base requirements classes are ambiguous for the abstract class. This is the case for the two styles of timeseries conformance classes, domain-range and interleaved (time-value pair). Some requirements for these classes are re-specified in more concrete terms to allow more explicit testing.

6.2    XML Examples

XML examples are published alongside the XML schemas at http://schemas.opengis.net/tsml/1.2/. In all examples, the following namespaces are used.

Table : XML Example Code Namespaces
Identifier Namespace URL
xsi http://www.w3.org/2001/XMLSchema-instance
Gml http://www.opengis.net/gml/3.2
Om http://www.opengis.net/om/2.0
xlink http://www.w3.org/1999/xlink
tsml http://www.opengis.net/timeseriesml/1.0
gmd http://www.isotc211.org/2005/gmd
gco http://www.isotc211.org/2005/gco
sam http://www.opengis.net/sampling/2.0
sams http://www.opengis.net/samplingSpatial/2.0

 

6.3    Requirements Class: XML Rules

Requirements Class
http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Name

XML Rules

Dependency

http://www.w3.org/TR/xmlschema-2

Dependency

http://standards.iso.org/iso/8601/2004/4

Dependency

http://www.opengis.net/doc/IS/GML/3.2#clause-2.4

Dependency

http://www.opengis.net/spec/GML/3.3/req/definitions

Dependency

http://www.opengis.net/spec/SWE/2.0/req/xsd-simple-components

 Requirement

/req/xsd-xml-rules/iso8601-time

All date-time elements shall be encoded using ISO8601 extended time format.

 Requirement

/req/xsd-xml-rules/time-zone

The value of each time element (defined in the TimeValuePairType ‘time’ element) shall include a time zone definition using a signed 4-digit character or a ‘Z’ to represent Zulu or Greenwich Mean Time (GMT). This is defined by the following regular expression:

(Z|[+-]HH:MM)

 Requirement

/req/xsd-xml-rules/unit-of-measure

All units of measure shall use the appropriate code from The Unified Code for Units of Measure (UCUM) code system. The unit of measure shall be identified by encoding the UCUM code1 in the ‘code’ attribute of the tsml:uom element. -------------------------

1 The UCUM base codes are available in XML form here:

http://unitsofmeasure.org/ucum-essence.xml.

 Requirement

/req/xsd-xml-rules/swe-types

When using the SWE Common types, the following elements shall not be used: swe:quality (AbstractSimpleComponentType), swe:nilValues (AbstractSimpleComponentType), swe:constraint (QuantityType, QuantityRangeType, CategoryType). The attributes ‘optional’ and ‘updatable’ from the base type ‘AbstractDataComponentshall also not be used.

 Requirement

/req/xsd-xml-rules/xlink-title

If an xlink:href is used to reference a controlled vocabulary item, the element should encode the xlink:title attribute with a text description of the referenced item.

 Requirement

/req/xsd-xml-rules/vocabulary-references

When specifying references to vocabulary (code) items using an xlink:href, a resolvable HTTP URL should be used which, when resolved, should provide suitable description of the concept being referenced.

 Requirement

/req/xsd-xml-rules/xlink-valid-local-reference

If an xlink:href is a local reference then the referenced element must exist.

 

6.3.1    Requirements class overview

This requirements class contains a set of general rules applicable to the XML encoding.

6.4    Requirements Class: Timeseries Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-timeseries-observation

Name

Timeseries Observation

Dependency

http://www.opengis.net/spec/OMXML/2.0/req/observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-domain-range-timeseries-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-categorical-domain-range-timeseries-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-measurement-domain-range-timeseries-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-categorical-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-measurement-timeseries-tvp-observation

Dependency

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Requirement

/req/xsd-timeseries-observation/procedure

The xml element om:procedure shall contain an element which is a subtype of OM_Process, such as  tsml:ObservationProcess element, or a subtype of SWE AbstractProcess or a reference to an external definition of the process using the xlink:href attribute.

Requirement

/req/xsd-timeseries-observation/phenomenonTime

The om:phenomenonTime element shall contain a gml:TimePeriod element that represents the temporal extent of the timeseries result of the observation.

6.4.1    Requirements class overview

This requirements class restricts the content model for the XML element OM_Observation relating specifically to timeseries observations. The requirements classes that depend on this class describe specific result types of time series. The restrictions rules for OM_Observation are captured in the ‘xsd-timeseries-observation.sch’ Schematron file.

6.5    Requirements Class: Timeseries (TVP) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-timeseries-tvp-observation

 Name

Timeseries (TVP) Observation

 Requirement

/req/xsd-timeseries-tvp-observation/result

The xml element om:result shall contain a concrete subelement in the substitution group tsml:TimeseriesTVP.

6.5.1    Requirements class overview

This requirements class captures the core type of timeseries observation – one with a result of an interleaved time-value pair timeseries. This restriction is defined in the ‘xsd-timeseries-tvp-observation.sch’ Schematron file.

6.6    Requirements Class: Categorical Timeseries (TVP) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-categorical-timeseries-tvp-observation

 Name

Categorical Timeseries (TVP) Observation

 Requirement

/req/xsd-categorical-timeseries-tvp-observation/result

The xml element om:result shall have a value that matches the content model defined by tsml:CategoricalTVP.

6.6.1    Requirements class overview

This requirements class restricts the type of timeseries observation to one with a result of an interleaved time-value pair timeseries where each value is a Category. This restriction is defined in the ‘xsd-categorical-timeseries-tvp-observation.sch’ Schematron file.

6.7    Requirements Class: Measurement Timeseries (TVP) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-measurement-timeseries-tvp-observation

 Name

Measurement Timeseries (TVP) Observation

 Requirement

/req/xsd-measurement-timeseries-tvp-observation/result

The xml element om:result shall have a value that matches the content model defined by tsml:MeasurementTVP.

6.7.1    Requirements class overview

This requirements class restricts the type of timeseries observation to one with a result of an interleaved time-value pair timeseries where each value is a Measure. This restriction is defined in the ‘xsd-measurement-timeseries-tvp-observation.sch’ Schematron file.

6.8    Requirements Class: Timeseries (Domain Range) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-timeseries-domain-range-observation

 Name

Timeseries (Domain Range) Observation

 Requirement

/req/xsd-timeseries-domain-range-observation/result

The xml element om:result shall contain a concrete subelement in the substitution group tsml:TimeseriesDomainRange.

6.8.1    Requirements class overview

This requirements class captures the domain range type of timeseries observation. This restriction is defined in the ‘xsd-timeseries-domain-range-observation.sch’ Schematron file.

6.9    Requirements Class: Categorical Timeseries (Domain Range) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-categorical-timeseries-domain-range-observation

 Name

Categorical Timeseries (Domain Range) Observation

 Requirement

/req/xsd-categorical-timeseries-domain-range-observation/result

The xml element om:result shall contain a concrete subelement in the substitution group tsml:TimeseriesDomainRange with range element values of type Category contained in a (GML) ValueArray

6.9.1    Requirements class overview

This requirements class captures the categorical domain range type of timeseries observation.

6.10    Requirements Class: Measurement Timeseries (Domain Range) Observation

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-measurement-timeseries-domain-range-observation

 Name

Measurement Timeseries (Domain Range) Observation

 Requirement

/req/xsd-measurement-timeseries-domain-range-observation/result

The xml element om:result shall contain a concrete subelement in the substitution group tsml:TimeseriesDomainRange with a rangeset of type QuantityList.

6.10.1    Requirements class overview

This requirements class captures the measurement domain range type of timeseries observation.   

6.11    Requirements Class: Timeseries encoded as Time-Value Pairs

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-timeseries-tvp

Name

Timeseries encoded as Time-Value Pairs

Target Type

XML encoding

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-core

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-tvp

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-categorical-timeseries-tvp

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-measurement-timeseries-tvp

Dependency

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Requirement

/req/xsd-timeseries-tvp/valid

 The content model of this XML element shall have a value that matches the content model defined by tsml:TimeseriesTVP.

Requirement

/req/xsd-timeseries-tvp/time-increasing

The domain elements (implemented as the tsml:point element) shall be ordered in increasing time.

Requirement

/req/xsd-timeseries-tvp/record-homogenous

The type of the tsml:value element (range) shall be the same for each point in the timeseries, with the exception null values which may be used on any value.

Requirement

/req/xsd-timeseries-tvp/domain-time

The domain of the timeseries coverage shall consist only of a temporal component.

Requirement

/req/xsd-timeseries-tvp/default-point-metadata

If the element defaultPointMetadata is present, the specified metadata elements apply as default values to all subsequent point elements encoded in the timeseries. If a metadata element is specified for a point then it overrides the default value. For elements with multiple cardinality (e.g. qualifiers), defaults shall be overridden if a single element is defined in the metadata.

Requirement

/req/xsd-timeseries-tvp/equidistant-encoding

If the baseTime and spacing elements are defined, the time element shall not be encoded. The time instants shall be calculated according to the following:

time (n) = baseTime + (n * spacing)

n = zero-based point index.

e.g. baseTime= 2011-01-01T00:00:00, spacing=P15M

points:

[0] - 2011-01-01T00:00:00

[1] - 2011-01-01T00:15:00

[2] - 2011-01-01T00:30:00

[3] - 2011-01-01T00:45:00

[4] - 2011-01-01T01:00:00

Requirement

/req/xsd-timeseries-tvp/time-mandatory

If the baseTime and spacing elements are not present, the time element shall be encoded.

Requirement

/req/xsd-timeseries-tvp/null-value

To indicate a value is null, the xsi:nil attribute shall be set to ‘true’.

Requirement

/req/xsd-timeseries-tvp/null-point-reason

If a point is specified as null, a nilReason or censoredReason shall be provided.

Requirement

/req/xsd-timeseries-tvp/nil-reason-vocab

When specifying a null point reason (nilReason), one of the following URLs should be used:

·       Inapplicable (http://www.opengis.net/def/nil/OGC/0/inapplicable)

·       Missing (http://www.opengis.net/def/nil/OGC/0/missing)

·       Template (http://www.opengis.net/def/nil/OGC/0/template) - value will be available at later date.

·       Unknown (http://www.opengis.net/def/nil/OGC/0/unknown)

·       Withheld (http://www.opengis.net/def/nil/OGC/0/withheld.html)

6.11.1    Requirements class overview

The Time-Value Pair (TVP) Encoding schema contains types suitable for encoding TimeSeries (both Measurement and Categorical) in a sequence of time-value pairs.

Note that this time-value pair encoding of timeseries encoding takes the name ’TimeseriesTVP’.

The domain range encoding equivalent takes the name TimeseriesDomainRange.

TVPEncoding
Figure : TVPEncoding

The complete TVP encoding of timeseries, including associated metadata classes is shown in the figure above.

6.11.2    CategoricalTVP properties

CategoricalTVP is the encoding for time-value pairs where the value is a category.

Property Definition Data types and values Multiplicity
value

The categorical value of the data point (e.g. 'High')

Category

1..1

6.11.3    Measure properties

Measure is a measure implementation with an optional unit of measure (so that the unit of measure can be set to a default for the whole timeseries rather than repeating the unit for each data value).

Property Definition Data types and values Multiplicity
uom

Unit of measure

Uom

0..1

6.11.4    MeasurementTVP properties

MeasurementTVP is the encoding for time-value pairs where the value is a measure.

Property Definition Data types and values Multiplicity
Value

The measurement value for this data point (e.g. 5.3m)

Measure

1..1

6.11.5    TimeseriesTVP properties

The core class for the timeseries time-value pair encoding.

Property Definition Data types and values Multiplicity

point

Data points (time-value pairs) for the timeseries.

TimeValuePair

0..*

metadata

Metadata about the timeseries

TimeseriesMetadata

0..1

defaultPointMetadata

Default metadata for each point in the timeseries (can be over-ridden on a per-point basis).

PointMetadata

0..1

6.11.6    TimeValuePair properties

A base class for different time-value pair implementations.

Property Definition Data types and values Multiplicity

metadata

Point metadata for this point (over-rides any default point metadata for the timeseries).

PointMetadata

0..1

time

Time component of the time-value pair. (A point on the timeseries).

TM_Position

0..1

value

Value component of the time-value pair (a value result such as a measurement).

 

1..1

6.12    Requirements Class: Categorical (TVP) Timeseries

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-categorical-timeseries-tvp

Name

Categorical (TVP) Timeseries

Requirement

/req/xsd-categorical-timeseries-tvp/value-category

The type of the tsml:value XML element shall be a swe:Category.

6.12.1    Requirements class overview

This requirements class restricts the value type of each time-value pair to be a Category.   

6.13    Requirements Class: Measurement (TVP) Timeseries

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-measurement-timeseries-tvp

 Name

Measurement (TVP) Timeseriess

 Requirement

/req/xsd-measurement-timeseries-tvp/value-measure

The type of the tsml:value element shall be a tsml:Measure.

6.13.1    Requirements class overview

This requirements class restricts the value type of each time-value pair to be a Measure.   

6.14    Requirements Class: Timeseries encoded as Domain Range

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-timeseries-dr

Name

Timeseries encoded as Domain Range

Target Type

XML encoding

Dependency

http://www.opengis.net/doc/GML/GMLCOV/1.0.1#clause-6

Dependency

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-core

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-timeseries-domain-range

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-measurement-timeseries-domain-range

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-categorical-timeseries-domain-range

Requirement

/req/xsd-timeseries-dr/valid

 The content model of this XML element shall have a value that matches the content model defined by tsml:TimeseriesDomainRange.

Requirement

/req/xsd-timeseries-dr/time-increasing

The domain elements shall be ordered in increasing time.

Requirement

/req/xsd-timeseries-dr/record-homogenous

The type of each range element shall be the same for each point in the timeseries, with the exception null values which may be used on any value.

Requirement

/req/xsd-timeseries-dr/domain-time

The domain of the timeseries coverage shall consist only of a temporal component.

Requirement

/req/xsd-timeseries-dr/default-point-metadata

If the element defaultPointMetadata is present, the specified metadata elements apply as default values to all subsequent point elements encoded in the timeseries. If a metadata element is specified for a point then it overrides the default value. For elements with multiple cardinality (e.g. qualifiers), defaults shall be overridden if a single element is defined in the metadata.

6.14.1    Requirements class overview

The Domain Range Encoding schema contains types suitable for encoding TimeSeries (both Measurement and Categorical) in a domain (times), range (values) block. This schema extends the OGC GMLCov schema.

XML Schema Encoding of Timeseries Domain Range
Figure : XML Schema Encoding of Timeseries Domain Range

The TimeseriesDomainRange encoding extends the OGC Implementation Model for Coverages by adding bespoke metadata and annotation elements.

 

TimeSeries (Domain Range) Schema
Figure : TimeSeries (Domain Range) Schema

 

The class TimeseriesDomainRange is used for all domain range encodings. It extends the GMLCov DiscreteCoverage with a timeseries metadata extension.

6.14.2    TimeseriesMetadataExtension properties

TimeseriesMetadataExtension enables use of TimeseriesML metadata classes in GMLCov XML schema. The associated XML examples demonstrate how this is applied in practice.

Property Definition Data types and values Multiplicity

Annotation

An annotation coverage corresponding to points on the timeseries.

AnnotationCoverage

0..*

defaultPointMetadata

Default metadata for each point in the timeseries.

PointMetadata

0..1

timeseriesMetadata

Metadata applicable to the whole timeseries or individual regularly spaced segments of an irregularly spaced whole timeseries.

TimeseriesMetadata

0..*

6.14.3    AnnotationCoverage properties

An annotation coverage can be used to apply metadata to individual points in the timeseries.

Informative note: In the XML Schema the AnnotationCoverage is a specialization of the gmlcov:AbstractDiscreteGoverage XML Schema type. This standard is not otherwise prescriptive about the content of the AnnotationCoverage beyond that specified in the OGC Coverages Implementation Model, but it could be used to provide a value array or list of comments or other values as in the two examples below.


<tsml:AnnotationCoverage gml:id="quality_cov">
<gml:domainSet xlink:href="#temporal_domain"/>
<gml:rangeSet>
<gml:CategoryList codeSpace=“http://opengis.net/def/waterml/2.0/quality/”>good bad good missing good bad</gml:CategoryList>
</gml:rangeSet>
<gmlcov:rangeType/>
</tsml:AnnotationCoverage>
 
<tsml:AnnotationCoverage gml:id="comment_cov">
<gml:domainSet xlink:href="#temporal_domain"/>
<gml:rangeSet>
<gml:ValueArray gml:id="comment_array">
<gml:valueComponents>
<gml:Category>This is a free text comment</gml:Category>
<gml:Category xsi:nil=“true”/>
<gml:Category>Example comment</gml:Category>
<gml:Category>Another one</gml:Category>
<gml:Category>Has to be one for each point</gml:Category>
</gml:valueComponents>
</gml:ValueArray>
</gml:rangeSet>
<gmlcov:rangeType/>
</tsml:AnnotationCoverage>


6.14.4    TimeseriesDomainRange properties

The TimeseriesDomainRange element extends the OGC coverage model with metadata extensions for timeseries data. The metadata classes are the same as for the time-value pair encoding.

Property Definition Data types and values Multiplicity

metadata

Metadata extension to accommodate TimeseriesML 1.2 metadata classes.

TimeseriesMetadataExtension

0..*

type

If present, the sub-element 'type' shall indicate the class of timeseries. A register of type identifiers corresponding with the timeseries types in TimeseriesML 1.2, is provided by OGC at http://www.opengis.net/def/timeseriesType/timeseriesML/1.2/

Reference

0..1

6.15    Requirements Class: Collection

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-collection

Name

Collection

Target Type

XML encoding

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-collection

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-sampling-feature-collections

Dependency

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Requirement

/req/xsd-collection/valid

The content model of this element shall have a value that matches the content model defined by tsml:Collection.

Requirement

/req/xsd-collection/sampling-feature-single

Single sampling features shall be described using SF_SpatialSamplingFeature or a derivative thereof.

Requirement

/req/xsd-collection/sampling-feature-group

Groups of sampling points shall be described using SF_SamplingFeatureCollection feature type from ISO19156.

6.15.1    Requirements class overview

The Collection schema contains a collection element as well as other document specific types.

XML Implementation of Collection and associated classes
Figure : XML Implementation of Collection and associated classes

The XML Schema implementation of Collection maps closely to the conceptual model. The key implementation points to note are that all observationMembers are implemented by OM_Observation, and that ConformanceClass is implemented as a reference (xlink:href) from DocumentMetadata.

6.15.1.1    Collection properties

TimeseriesML defines a generic collection feature type, Collection, to allow the grouping of observations and/or sampling features with metadata to describe the nature of the collection. Such collections are required in a number of data exchange scenarios; whether the underlying transport technology is web services, FTP or other technologies.

Property Definition Data types and values Multiplicity

observationMember

One or more timeseries observations

OM_Observation

0..*

samplingFeatureMember

A sampling feature or group of sampling features.

SamplingFeatureMember

0..*

communityExtension

Use this extension point for community-agreed extensions to the schema.

Any

0..*

internalExtension

Use this extension point for internal extensions that have not been defined for external use.

Any

0..*

generationDate

The date this data was generated.

TM_DateAndTime

1..1

generationSystem

The system from which this data was generated.

CharacterString

0..1

Version

This version property is distinct from the version of the TimeseriesML schema. It is a version of the whole standards package: schema, vocabularies, used profiles etc. I.e., a version to allow specific versions associated with usage of a schema version with other components.

Reference

0..1

temporalExtent

Describes the temporal extent of the all the timeseries contained within the collection (if they exist).

TM_Period

0..1

localDictionary

A dictionary containing definitions of terms.

Dictionary

0..*

sourceDefinition

Provides a context for identification of particular data elements through use of MD_DataIdentification. These can be referenced from individual timeseries values.

MD_DataIdentification

0..*

Parameter

A soft-typed parameter for extra metadata properties.

NamedValue

0..*

Profile

Profile may be used to reference a definition of a conformance class that this document conforms to.

Reference

0..*

6.15.1.2    SamplingFeatureMember properties

A sampling feature member may be either a single sampling feature (e.g. MonitoringFeature) or a group of features (SF_SamplingFeatureCollection). This is a Union class.

Property Definition Data types and values Multiplicity

byGroup

A group of sampling features.

SF_SamplingFeatureCollection

0..1

byFeature

A sampling feature.

SF_SpatialSamplingFeature

0..1

6.16    Requirements Class: MonitoringFeature

Requirements Class

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-monitoring-feature

Name

MonitoringFeature

Target Type

XML encoding

Dependency

http://www.opengis.net/spec/timeseries/1.2/req/uml-monitoring-feature

Dependency

http://www.opengis.net/spec/timeseriesml/1.2/req/xsd-xml-rules

Requirement

/req/xsd-monitoring-feature/valid

The content model of this element shall have a value that matches the content model defined by tsml:MonitoringFeature.

6.16.1    Requirements class overview

The Monitoring Feature schema contains the definition of the Monitoring Feature type that is the (sampling) feature of interest of a TimeSeries observation.