This document is an OGC Member approved international standard. This document is available on a royalty free, non-discriminatory basis. Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
Approved as official OGC standard
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.
The OGC Timeseries Profile of Observations and Measurements is a conceptual model for the representation of observations data as timeseries, with the intent of enabling the exchange of such data sets across information systems. This standard does not define an encoding for the conceptual model; however there is an accompanying OGC Standard which defines an XML encoding (OGC TimeseriesML 1.0 - XML Encoding of the Timeseries Profile of Observations and Measurements). Other encodings may be developed in future.
The following are keywords to be used by search engines and document catalogues.
This standard defines the semantics of observational data as timeseries for data exchange. It profiles the Observations and Measurements standard to define a result of type Timeseries. This allows observational information systems to communicate timeseries data between systems and to end users. This standard has been developed from work initially undertaken within OGC WaterML 2.0: Part 1 – Timeseries. Work has been done to remove the hydrology specific aspects of this work to produce a domain-neutral model for the representation and exchange of timeseries data.
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. Submitting Organizations
The following organizations submitted this document to the Open Geospatial Consortium Inc.
Australian Bureau of Meteorology
Australian Commonwealth Scientific and Industrial Research Organisation (CSIRO)
US National Weather Service
All questions regarding this submission should be directed to the editors or the submitters:
Australian Bureau of Meteorology
Australian Bureau of Meteorology
Australian Bureau of Meteorology
US National Weather Service
vi. Future Work
Future work will focus on increasing the flexibility of this standard in order to provide the widest practicable support for alternative types of timeseries. Some of the areas identified for exploration in future work include:
Enhanced multi-parameter support
Alternative encoding formats e.g. JSON, RDF etc.
Coverage timeseries harmonisation
Internet of Things harmonisation
This document is an OGC® Implementation Standard for the representation of observations data structured as a timeseries. The Timeseries Profile of Observations and Measurements builds upon the OGC Observations & Measurements standard (OGC Abstract Topic 20).
The profile is designed to be extensible to allow encoding of timeseries data 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 model is in the correct, precise description of timeseries. Interpretation of timeseries relies on understanding the nature of the process that generated them. This standard provides the framework under which timeseries can be exchanged with appropriate metadata to allow correct machine interpretation and thus correct use for further analysis. Existing systems should be able to use this model as a conceptual ‘bridge’ between existing schema or systems, allowing consistency of the data to maintained.
This standard does not mandate an encoding, only a conceptual model. Encodings are provided in separate standards documents. At the time of writing an XML encoding is available (OGC TimeseriesML 1.0).
This standard defines a set of implementation requirements for Timeseries Observations.
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.
In order to conform to this OGC® interface standard, a software implementation shall choose to implement:
a) Any one of the conformance classes specified in Annex A (normative).
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
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 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 Abstract Specification Topic 20 – Observations and Measurements (aka ISO 19156:2011)
OGC Abstract Specification Topic 2 – Spatial Referencing by Coordinates (aka ISO 19111:2007)
OGC Abstract Specification Topic 6 – Schema for Coverage geometry and functions (aka ISO 19123:2005)
OGC Abstract Specification Topic 11 – Geographic information — Metadata (aka ISO 19115:2003)
OGC 07-036 Geography Markup Language (aka ISO 19136:2007)
Unified Code for Units of Measure (UCUM) – Version 1.8, July 2009
Unified Modeling Language (UML). Version 2.3. May 2010.
Extensible Markup Language (XML) – Version 1.0 (Fourth Edition), August 2006
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:
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]
Abstraction of real-world phenomena
[ISO 19101:2002, definition 4.11]
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 colour red where “colour 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]
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.]
Sequence of data values which are ordered in time.
Note: 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.1 Abbreviated Terms
In this document the following abbreviations and acronyms are used or introduced:
FTP File Transfer Protocol
GIS Geographic Information System
ISO International Organization for Standardization
O&M Observations and Measurements
OGC Open Geospatial Consortium
SensorML Sensor Model Language
SWE Sensor Web Enablement
TVP Time-Value Pair
UML Unified Modeling Language
UTC Coordinated Universal Time
WMO World Meteorological Organisation
XML Extensible Markup Language
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 colour scheme is used to identify the package in which the class exists. This is just for informative purposes.
Blue: Defined within this standard (Timeseries Profile of O&M)
Green: ISO 19156 – Observations & Measurements
Red: Other (ISO or GML)
5.3 Finding Requirements and Recommendations
This standard is identified as http://www.opengis.net/spec/timeseries/1.0. 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 URI 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. Observations and Measurements - Overview
ISO 19156 – Observations and Measurements (O&M) is a generic information model for describing observations. It defines an observation as “…an act associated with a discrete time instant or period through which a number, term or other symbol is assigned to a phenomenon. It involves application of a specified procedure, such as a sensor, instrument, algorithm or process chain. The procedure may be applied in-situ, remotely, or ex-situ with respect to the sampling location. The result of an observation is an estimate of the value of a property of some feature.” This is described using UML in Figure 1.
The Timeseries Profile of Observations & Measurements builds upon the O&M model.
6.1 Sampling Features
O&M defines the concept of sampling features as a “feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature.”
Sampling features are used in two circumstances:
The observation does not obtain values for the whole of a domain feature;
The observation procedure obtains values for properties that are not characteristic of the type of the ultimate feature (e.g. measuring electrical conductivity as a proxy for salinity)
These concepts are common within a number of timeseries domains, thus the sampling features concept is used in this profile.
7. Timeseries Profile of Observations and Measurements - Overview
The Timeseries Profile of Observations and Measurements (abbreviated to Timeseries Profile) is an open standard for conceptualising observations data as a timeseries. It is based on the information model of Observations and Measurements version 2.0 (O&M). O&M is a conceptual model for describing observations and the relationships to various important aspects of the observation process. O&M provides a conceptual model, with an associated implementation as a GML Application Schema in XML schema, for describing a wide range of observations from multiple domains; from observations made by satellites and sensors to manual procedures performed in laboratories. It is a flexible model. Likewise, this standard is accompanied by a second standard defining a GML schema encoding using GML 3.3 encoding rules (see OGC TimeseriesML 1.0).
The Timeseries Profile restricts and extends the O&M conceptual model to define a conceptual model that is directly applicable to observations and derived data structured as a timeseries.
It is possible that other implementations of the Timeseries Profile can be derived from the conceptual model, for example JSON, NetCDF, non-GML conformant XML etc.
The Timeseries Profile defines five main components for describing observations timeseries. Table 1 lists each component and its relationship with Observation and Measurements (ISO 19156). Collections are not currently defined within O&M and are thus an extension.
Table Timeseries Profile components and equivalent concepts in O&M 2.0
Timeseries Profile components
O & M 2.0 concepts
metadata about timeseries
Procedures used in measurement/analysis/processing
The general characteristics of the Timeseries Profile are:
A detailed timeseries model that supports encoding of information crucial to correct interpretation of timeseries, such as properties describing the nature of individual data values and their relationships;
A model that is reusable across different systems and different transport technologies;
A model that can be extended through the use of external schema and soft-typing;
The ability to capture information relating to the provenance of a timeseries (i.e. how the timeseries was created).
7.2 Clarification of Terminology around Observations and Simulations
While Observations and Measurements (ISO 19156) describes a conceptual information model for describing ‘observations’ (OM_Observation), an observation in this context may be the description of outputs from simulations such as forecast models, where the ‘observations’ occur into the future, or within a simulated time period. Therefore the term ‘Observation’ or ‘observation’ in this standard should be considered to be equally applicable to actual observations and to simulations (which may be simulating the future or the past). Using the same base concepts for describing actual observations and simulations increases the ease of data integration.
7.3 Use of Vocabularies
Controlled vocabularies, also known as code-lists, are used in data exchange to identify particular concepts or terms, and sometimes relationships between them. For example, an organisation may define a controlled vocabulary for all observed phenomena that are to be exchanged between parties. Some of these definitions may be related in hierarchies or through other relationships such as equivalence (e.g. precipitation and rainfall refer to the same concept).
The Timeseries Profile does not define a full set of vocabularies for data exchange; it does, however define some vocabularies which also provide backward compatibility with vocabularies in WaterML2.0: Part 1 - Timeseries. Vocabularies are defined in the Timeseries Profile for the following concepts:
Quality assertions for data values of a broad, categorical type. See section 8.11.10
The interpolation type of the values of a timeseries. See section 8.11.11
The general types of processes used in observation. See section 8.11.12
These vocabularies are defined within the OGC definition namespace (http://www.opengis.net/def/), which is governed by the OGC Naming Authority (OGC-NA). The OGC-NA is responsible for processing requests to change or add new definitions to this namespace. The procedures for the OGC-NA are outlined in OGC document 09-046 (OGC-NA – Procedures) and the structure of URIs is outlined in OGC 09-048 (OGC-NA – Name type specification – definitions).
It is envisaged that the Timeseries Profile will be used alongside existing sets of vocabularies as agreed upon within communities (for example for describing the sampled medium). The parties involved in exchange will determine the vocabularies that are to be used in exchange. Optimally a recognised body, such as WMO, would govern the vocabularies. These vocabularies require a governance structure that allows changes to be made as definitions evolve.
7.4 Timeseries Observation as a specialised OM_Observation
O&M groups observations into two types based on the nature of the result: observations whose result is static (e.g. a single measurement) and observations where the result varies as some function. It is therefore possible to define an observations timeseries using this model in two ways:
A collection of OM_Observations. Each observation represents a single data point; the collection makes up a timeseries.
An OM_Observation whose result is a discrete coverage that varies in time (c.f. OM_DiscreteCoverageObservation). Here the OM_Observation feature type provides the spatio-temporal context for the whole timeseries.
TimeseriesObservation takes the second view of OM_Observation and defines TimeseriesObservation (base class), TimeseriesTVPObservation (where TVP means time-value pair) and a TimeseriesDomainRangeObservation as shown in Figure 2.
The TimeseriesObservation may be viewed as the contract that facilitates data exchange between parties through a common agreement (OM_Observation) of how observations may be conceptualised: i.e. the relationship between features, observed phenomena, procedure and the result generated (a timeseries).
The two subtypes of TimeseriesObservation offer two different structuring possibilities for the timeseries result: a time-value pair style structure where the time, value and associated metadata are encoded as coupled items (TimeseriesTVP), and a separated structure where the time and values are represented as separate collections with metadata described separately to the time and values (TimeseriesDomainRange). The second approach will most often result in a more compact encoding due to a more efficient structuring although the first encoding may be more intuitive for many users. See section 7.6.1 for a more detailed description of the relationship to coverages.
In the context of this profile, metadata at the Observation level is used as the carrier of first class elements required for data exchange and/or discovery (e.g. identifiers, spatiotemporal context, connections to features, procedures, phenomena and so on). Metadata at the Timeseries level is metadata that describes the structure and nature of the series, such as quality, interpolation types, whether the series is cumulative etc. Finally the Timeseries Profile also supports metadata at the individual data points in the timeseries for example to add quality metadata for individual values.
It should be noted that the Timeseries class and its derivatives are available for use without the TimeseriesObservation feature type; this would be useful, for example, where existing systems are communicating that have previously agreed upon identifiers and/or context that allows sufficient context for exchange to occur without providing the full TimeseriesObservation.
7.5 Feature of Interest and Spatial Sampling Features
In O&M, the feature of interest is the feature that is the target of the observation. O&M also makes a distinction between observations that make direct observations of feature properties and those that sample the feature and use the sample as a proxy for the value of a feature’s property (often this step involves process, e.g. using an aggregation or interpolation method). Within a number of domains sampling is a common approach (e.g. making a measurement at a particular point to make inferences about the whole feature).
This profile defines one specialised sampling feature, a MonitoringFeature,which can serve as the feature of interest for timeseries observations.
MonitoringFeature extends the O&M spatial sampling feature, SF_SpatialSamplingFeature.
It should be noted that a spatial sampling feature is normally a proxy feature for the ultimate feature of interest. For example the nominal temperature of a city may be determined by an observation at a single point (as opposed to measuring the temperature across the whole city). In this case the city is the ultimate feature of interest, but the feature of interest of the observation is the spatial sampling feature which is represented by a single point.
The bounding geometry of the MonitoringFeature (spatial sampling feature) is described by the ‘shape’ property from SF_SpatialSamplingFeature. For timeseries observations, the shape is frequently a point (e.g. corresponding to the location of a station or sensor) but it may be a polygon, line or other geometric object depending on the types of observations being made.
NB. Whilst this profile provides the MonitoringFeature as a candidate feature of interest for use with a timeseries observation it should be noted that any O&M Feature Type may be used.
7.6 Timeseries Concepts
Conceptually, the Timeseries Profile captures the notion of timeseries as a low-level data structure that contains an ordered set of related feature observations. The feature observations that make up a timeseries are often made by sensors, but may also be from manual observations, or a combination of both. For in-situ sensors, data loggers are often connected to sensors to store the individual observations, and will group them into timeseries for a particular phenomenon that is being measured. When data is processed from sensors and/or data loggers, particular metadata is associated with the collection of points that allow interpretation based on how the sensor is configured to measure (e.g. averaging periods, accumulation of values, value resets, etc.).
A timeseries may not be the result of direct measurements but also derived from combinations of other series, processing and/or calculations. From an O&M perspective, such timeseries are still observations but are results from a different process (e.g. a temporal aggregation process). This allows disambiguation of timeseries of directly sensed phenomena and those derived through other relationships e.g. direct measurements of discharge vs. level-to-discharge calculation using a rating curve or table.
The value type of the individual observations is another axis of categorisation for timeseries. Potential types for measurement include:
Measures (3.2 m/s)
Categorical (e.g. ‘cloudy’, ‘windy’, etc.)
Vectors (e.g. wind speed and direction: 3.2 m/s North)
Composite (combination of phenomena, e.g. Conductivity, Temperature, Dissolved oxygen)
The Timeseries Profile focuses on timeseries with value types of measures and categories. These types capture the majority of requirements for data exchange, while keeping a level of simplicity in the model and encodings, leading to simpler implementations.
Combined with the two subtypes of TimeseriesObservation identified in 7.4 these values create four possible observation subtypes with corresponding results as shown in Table 2.
Table TimeseriesObservation subtypes and result types
Composite timeseries (multiple phenomena) and other measurement types such as vectors may be addressed in future versions.
7.6.1 Relationship to ISO 19123 – Coverages
ISO 19123 defines a coverage as a:
“(a) feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain”
“…a coverage is a feature that has multiple values for each attribute type, where each direct position within the geometric representation of the feature has a single value for each attribute type.”
It is common in many domains, particularly in some Geographic Information System (GIS) communities, to primarily consider a coverage as akin to a two dimensional spatial layer with values of a property over the layer. However it should be noted that the ISO 19123 definition is broader than this and allows for coverages that (for example) vary in time and are at a single point in a spatial coordinate reference system. Given the ISO 19123 definition, a timeseries in the context of observational data can be seen as a discrete coverage, where the domain is a spatiotemporal axis and the range is all the possible values of the observed property. An instance of such a coverage would be a set of ordered time instances where each is associated with a single value from the attribute space. This association is often represented using time-value pairs.
The ISO coverages model describes two approaches to representing coverages: a ‘domain-range’ representation where the domain and range are encoded separately, with a mapping function that allows looking up of the range value for a given domain value; and a ‘geometry-value’, or interleaved, approach whereby the geometry and value are coupled together – the coupling explicitly represents the mapping. GML 3.2.1 notes that the geometry-value approach is
“… typically used during data collection where a set or properties relating to a single location are managed together, or update of a datastore where only a small number of features are manipulated at one time.”
And the domain-range approach is
‘…more suitable for analysis, where spatio-temporal patterns and anomalies within a specific property are of interest.”
For example, a grid showing the spatial distribution of rainfall is often generated from observations using interpolation techniques such as Kriging. The surface may be generated using point observations from in-situ sensors. The point observations are often represented using a geometry-value structure with the generated surface being represented using the domain-range approach, with a spatial grid (domain) mapped to its range values (representing total rainfall in the grid cell, for example). This provides a more efficient representation.
The Timeseries Profile defines a timeseries as a coverage whose domain consists of a collection of ordered temporal elements and the spatial component relates to the feature of interest of the observation. For in-situ timeseries the spatial element will be fixed and need not be directly represented in the timeseries domain. The core coverage elements and the relationship to timeseries are shown in Figure 4. The timeseries is a one-dimensional coverage where the varying dimension is time; time being a first class dimension equivalent to any of the spatial dimensions as supported by ISO 19123.
The TimeseriesTVP subtype of TimeseriesObservation within the Timeseries Profile 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 Coverage Implementation Schema 1.1 (CIS 1.1) candidate standard provides alternative representations of coverages, including an option for interleaving coverages, which can be useful for timeseries of more complex values.
7.7 Timeseries and Point metadata
Associating metadata with timeseries as a whole and at each individual data value (point) in the timeseries is a common requirement in observational data. Data is annotated with various types of qualifying information such as quality assertions, affecting environmental conditions, description of processing and so on. These annotations are important when processing and analysing timeseries to ensure correct interpretation.
The Timeseries Profile defines two core metadata classes; TimeseriesMetadata and PointMetadata. TimeseriesMetadata contains metadata that is applicable to the whole timeseries whereas PointMetadata is applicable to a particular data value in the timeseries. These classes are further specialised in the conceptual model for measurement and category based timeseries as shown in Figure 5.
Using the interleaved structuring, metadata is associated with a time-value pair explicitly, with the metadata directly associated with a pair.
Using the domain-range structuring, metadata is associated to the timeseries through an AnnotationCoverage. This is a coverage that describes the temporally ranging metadata for the series. The domain of the coverage is the time that the annotation is valid; the range captures the values of the annotation (e.g. a quality assertion). In ISO 19123 the values of range are described using a Record, which is a generic set of typed values. Each annotation that is required would need an associate record type. For example, quality may be a string record type that allows for simple categorical representations of quality.
(It is noted that the term ‘annotation coverage’ is commonly used in some domains to refer to a coverage containing labels or other cartographic text and that this usage is distinct from that purpose).
The Timeseries Profile provides the ability to specify a quality assertion using a default set of defined concepts of quality as described in the DataQualityCode code list defined in section 8.11.10. When a non-default quality code is required the qualifier property can be used. The qualifier property is used for qualifying information that is broader in nature than the quality property. These often include indicators or flags that provide further context for the value. Qualifiers allow for deeper interpretation and capture of useful information on a per value basis. The qualifier uses the SWE Common ‘Quality’ union that allows a qualifier to be specified using a Quantity, Quantity Range, Category or Text type.
7.9 Timeseries Spacing and Interpolation Types
This defines the expected duration between individual observations. It is common that observations will occur frequently (such as those performed by automated sensors or regular visits); this property allows specification of expected time between measurements. This is reflected in the individual points that make up the resulting timeseries, but there are cases where the observation interval does not match the intended observation interval. One example would be an increased observation interval intended to capture an event such as a peak in flood. Note the spacing property for Timeseries is a stricter definition, allowing regularly spaced (equidistant) timeseries to be encoded.
7.9.2 Equidistant timeseries (baseTime and spacing)
Ttimeseries that are regularly spaced, such as those that are generated from automatic sensors, can be represented without specifying the individual time instant for each point. The spacing property of the timeseries is used to specify the time between points. This is then used as the spacing for each point encountered, starting from the time set by baseTime. If the spacing between the timeseries values differs then the time instants should be directly represented; for such cases (non-equidistant times), the intendedObservationSpacing (section 8.10.7) may be used to indicate the expected spacing. This allows for discovery based on the intended spacing, even there are some values that are not exactly equidistant (e.g. the frequency was increased through an important event).
7.9.3 Anchor Point
The startAnchorPoint and endAnchorPoint properties are used to extend a timeseries to include non-explicitly represented periods of time for which the observation is valid. Individual points, when associated with their interpolation type (section 7.9.6), have a ‘direction’ in time: to correctly process such data it is required to understand where the boundaries of the values lie.
For example, in Figure 6, the first point of the series (position B) has a data type of average for the preceding interval. Here the value represents the average from the previous point up to this point. As there is no previous point (it is the first in the series), it is not possible to determine when the preceding interval began. The anchor point time specifies a ‘ghost’ point to allow the value to be interpreted correctly.
7.9.4 Joining Separate Observation Series (max gap period)
When two non-overlapping timeseries have been separately collected they require ‘connection’ in order to make a single timeseries. For example, if the latest two months of observational timeseries data is transferred from one system to a major archive, the series must be connected in order to make a full series over which reporting can be run (e.g. to calculate yearly summaries). Figure 7 shows an example of this scenario.
Observation set #2 is the latest 2 months of data coming into the archival set shown by observation set #1. The join period between the two series will be determined by the time period between the series where no existing points exist. When any analysis is run over this series it is important to know if it is possible to interpolate between point A and point B. The maxGapPeriod property defines this for an observation series – if the join period is greater than the maxGapPeriod then the series should not be interpolated between the adjoining points.
7.9.5 Cumulative timeseries
A series that is defined as cumulative (using the cumulative property of type boolean) is one where the values indicate a sequentially increasing series; i.e. each value is added to the last so the value represents the total of a value since accumulation began. An example is shown in Figure 8.
Note: cumulative series should only be used for timeseries of the total data types: instantaneous total, preceding total, succeeding total as these represent total quantities.
The accumulationAnchorTime is used to define the time at which accumulation begins. This is used for consistently accumulated values (such as rainfall) where the values are representing a continuous stream of totals across a certain period. The accumulationIntervalLengthdefines the duration of the period. For example, Figure 9 shows accumulated daily rainfall totals from 9am to 9am.
7.9.6 Interpolation Type
One of the core characteristics of measurement timeseries is the nature of the relationship between the time instant and the recorded value. This relationship is determined by the procedure that was used in making the estimate that the value represents. Representing this is crucial to correctly interpret the timeseries values. For example, the value may represent an average across the time period since the last point (average in preceding interval). The Timeseries Profile defines a number of types of timeseries, as shown in Table 3.
The interpolation type is defined per point within the timeseries as it is possible for this to change mid series.
Table Types of timeseries
A continuous timeseries indicates the observation result is
the value of a property at the indicated instant in time. The points are essentially
connected and interpolation may occur between points in order to estimate the
value of the property between points. The appropriate time spacing between
successive points to minimise interpolation errors is related to rate of
change (wrt time) of the property.
Within O&M, the ProcessUsed association links the observation to the OM_Process used to generate the result. OM_Process is abstract and does not define any attributes or associations. This standard specialises O&M as shown in Figure 10.
A large number of direct in-situ observations are performed by a sensor or sensor system. Manual procedures may also be used to make measurements at a particular sampling feature. These may be ad-hoc visits to a particular feature, or continued visits to a well identified sampling feature.
Procedures that generate derived or synthetic results also exist, such as those produced by algorithms or simulations. Algorithms are commonly implemented in software to process data sets for reporting or other purposes. Examples include:
Temporal interpolation or aggregation;
Quality assurance related tasks such as automatic spike removal or gap filling;
Derivation of new “observed phenomena”.
These operations are performed on raw observational data to create separate data products more appropriate for particular types of reporting, ingestion into models, or for archival purposes. Maintaining information on the procedure used in the creation of a new ‘observation’ is important for correct interpretation of an observation’s result. Note here that the data being described is not strictly an observation but the O&M model is appropriate for such description, and encourages such use:
“An instance of OM_Process is often an instrument or sensor, but may be a human observer, a simulator, or a process or algorithm applied to more primitive results used as inputs.”
Defining groups of sampling features is often required, allowing multiple sampling features to be associated with a particular identifier or name. A SamplingFeatureCollection is how a group such as a “field site with many sampling locations” would be expressed.
A sampling group may be defined by fully defining each of the sampling features contained in the group, or by referencing each of the sampling features in the group.
It is possible to implement sampling groups in both directions:
When defining the sampling feature, include a relation to the sampling features in the group using the relatedSamplingFeatureproperty.
Define a SF_SamplingFeatureCollection that contains the sampling features.
Note: this can be done by referencing already defined sampling features through an identifier or by defining the containing features directly inline.
The Timeseries Profile 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. Its UML is shown in Figure 12. Such collections are required in a number of data exchange scenarios; whether the underlying transport technology is web services, FTP or other technologies.
The grouping may indicate a relationship between the contained entities; however the relationship will depend on the individual use of the collection class. For example, a collection of observations may be all the observations within the last 24 hours for a particular measuring location, but this would be determined by the system creating or handling the documents.