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

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.

ii.    Keywords

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

Timeseries, Observations, Exchange, Interoperability, OGC

iii.  Preface

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
Met Office
Australian Commonwealth Scientific and Industrial Research Organisation (CSIRO)
Météo-France
KISTERS AG
Environment Canada
US National Weather Service
Landcare Research

v.     Submitters

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

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

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

1.    Scope

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).

2.    Conformance

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[1].

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.

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 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)
OGC WaterML2.0 part 1 – Timeseries. OGC 10-126r4. www.opengis.net/standards/waterml
OGC Observations and Measurements v2.0 OGC Document 10-004r1 http://www.opengis.net/doc/AS/Topic20 (also published as ISO 19156:2011, Geographic information— Observations and Measurements)
OGC SWE Common Data Model Encoding Standard v2.0 OGC Document 08-094r1 http://www.opengis.net/doc/IS/SWECommon/2.0
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:

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 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]

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

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.    Conventions

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.

 

Observation as defined by O&M
Figure: : Observation as defined by O&M

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:

  1. The observation does not obtain values for the whole of a domain feature;
  2. 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

7.1    Introduction

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

Timeseries and metadata about timeseries

Result

Observation specialisations

Observation

Procedures used in measurement/analysis/processing

Procedure

Monitoring Features

Sampling features

Collections

-

 

The general characteristics of the Timeseries Profile are:

 

  1. 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;
  2. A model that is reusable across different systems and different transport technologies;
  3. A model that can be extended through the use of external schema and soft-typing;
  4. 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:

  1. A collection of OM_Observations. Each observation represents a single data point; the collection makes up a timeseries.
  2. 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.

Observation types as related to ISO 19156 (green) and ISO 19123 (red)
Figure: : Observation types as related to ISO 19156 (green) and ISO 19123 (red)

 

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
Observation Subtype Result

MeasurementTimeseriesTVPObservation

MeasurementTimeseriesTVP

MeasurementTimeseriesDomainRangeObservation

MeasurementTimeseriesDomainRange

CategoricalTimeseriesTVPObservation

CategoricalTimeseriesTVP

CategoricalTimeseriesDomainRangeObservation

CategoricalTimeseriesDomainRange

 

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

Or,

…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.

Timeseries as a Coverage
Figure: : Timeseries as a Coverage

 

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[2] provides alternative representations of coverages, including an option for interleaving coverages, which can be useful for timeseries of more complex values.

 

Timeseries base type and relationship to coverages
Figure: : Timeseries base type and relationship to coverages

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.

Timeseries Metadata
Figure: : Timeseries Metadata

 

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).

7.8    Quality

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

7.9.1    intendedObservationSpacing

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.

Anchor points
Figure: : Anchor points

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.

Connecting two timeseries
Figure: : Connecting two timeseries

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.

A cumulative series
Figure: : A cumulative series

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.

Example accumulated series
Figure: : Example accumulated series

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

7.9.6.1 Continuous/Instantaneous

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.

http://www.opengis.net/def/timeseries/InterpolationCode/Continuous

7.9.6.2            Discontinuous

The sampling of the property occurs such that it is not possible to regard the series as continuous. The time between samples is too large to classify the measurements as continuous.

http://www.opengis.net/def/timeseries/InterpolationCode/Discontinuous

7.9.6.3            Instantaneous Total

Value represents a total attributed to a specific time instant. This is normally generated from an event based measuring device such as a tipping bucket rain gauge.

http://www.opengis.net/def/timeseries/InterpolationCode/InstantTotal

7.9.6.4            Average in preceding interval

Value represents the average value over the preceding interval.

http://www.opengis.net/def/timeseries/InterpolationCode/AveragePrec

7.9.6.5            Maximum in preceding interval

Value represents the maximum value that was measured during the preceding time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MaxPrec

7.9.6.6            Minimum in preceding interval

Value represents the minimum value that was measured during the preceding time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MinPrec

7.9.6.7            Preceding total

Value represents the total of measurements taken within the previous time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/TotalPrec

7.9.6.8            Average in succeeding interval

Value represents the average value over the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/AverageSucc

7.9.6.9            Succeeding total

Value represents the total of measurements taken within the following time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/TotalSucc

7.9.6.10         Minimum in succeeding interval

Value represents the minimum value for the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MinSucc

7.9.6.11         Maximum in succeeding interval

Value represents the maximum value for the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MaxSucc

7.9.6.12         Constant in preceding interval

Value is constant in the preceding interval.

http://www.opengis.net/def/timeseries/InterpolationCode/ConstPrec

7.9.6.13         Constant in succeeding interval

Value is constant in the succeeding interval.

http://www.opengis.net/def/timeseries/InterpolationCode/ConstSucc

7.9.6.14         Statistical

Interpolation type is defined by a statistical method.

http://www.opengis.net/def/timeseries/InterpolationCode/Statistical

7.10    Observation Process

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.

Observation process feature type
Figure: : Observation process feature type

 

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;
  • Spatial interpolation;
  • 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.”

A TimeseriesObservation shall have a procedure property of type or subtype of either OM_Process or SWE AbstractProcess, or a reference to one of these types. This includes ObservationProcess defined in this standard as a subtype of OM_Process.

7.11    Sampling Feature Collections

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.

 

SF_SamplingFeatureCollection as defined by ISO 19156
Figure: : SF_SamplingFeatureCollection as defined by ISO 19156

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.

7.12    Collections

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.

 

Collection
Figure: : Collection

 

The collection class also allows for local definitions of codes, such as quality codes and qualifiers. The local dictionaries are a convenience to allow elements that normally reside in code lists to be specified locally in the document. There are two benefits to this: it allows metadata to be provided alongside each code item; and it allows more compact encoding for code list items that need to be referenced regularly.

Finally the collection class allows for references to conformance classes (by conformance class identifier) to indicate which conformance classes are adhered to within the collection.

The contents of a collection will be determined by the scenario in which it is used; some examples include:

  • Web service responses;
  • Transactional updates;
  • Data from groups of sensors.

The collection class may be replaced by services that already define such collections – such as in the Sensor Observation Service – but the model may be used as a guide to the content of collections.

 

8.    The Timeseries Profile UML Conceptual Model - Requirements Classes

This section defines a set of Requirements Classes for a timeseries conceptualmodel. This is not an encoding but a set of concepts that could be implemented in numerous ways or technology. A normative XML Schema implementation is provided in OGC15-042 TimeseriesML 1.0 – XML Encoding.

8.1    Requirement Class Dependencies

Requirement Class Dependencies
Figure: : Requirement Class Dependencies

8.2    Requirements Class: Sampling Feature Collections

 

Requirements Class: UML Sampling Feature Collections

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

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

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

Requirement

/req/uml-sampling-feature-collections/groups

Groups of sampling features (such as Monitoring Features) shall be described using the SamplingFeatureCollection feature type from ISO 19156

8.2.1    Requirements class overview

Relationship between SF_SamplingFeatureCollection and MonitoringFeature
Figure: : Relationship between SF_SamplingFeatureCollection and MonitoringFeature

It is often necessary or useful to define groups of monitoring features, for example when there are several monitoring points at a particular site or station.

The ISO 19156 SF_SamplingFeatureCollectionprovides this grouping mechanism. A group can be defined in one of two ways:

·      By including a relationship from the sampling feature (MonitoringFeature) to the group using the relatedSamplingFeature property of the sampling feature.

·      By defining a SF_SamplingFeatureCollection that contains the sampling points. This can be done by defining the points inline of the collection or by referencing pre-defined sampling points using an identifier.

8.3    Requirements Class: Collection

 

Requirements Class: Collection

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19156/2011

Requirement

/req/uml-collection/valid

A collection shall have the ability to contain multiple sampling features or sampling feature collections; collection-level metadata; observations; and inline (local) dictionaries as described in this standard.

8.3.1    Requirements class overview

Collection
Figure: : Collection

8.3.2    Collection properties

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. 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

samplingFeatureMember

One or more sampling features, or groups of sampling features (SF_SamplingFeatureCollection)

SamplingFeatureMember

Zero to many (Optional)

profile

This may be used to reference a definition of a conformance class that members of the collection conform to.

ConformanceClass

Zero to many (Optional)

observationMember

One or more timeseries observations

TimeseriesObservation

Zero to many (Optional)

communityExtension

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

Any

Zero to many (Optional)

internalExtension

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

Any

Zero to many (Optional)

generationDate

The date this document was generated.

TM_DateAndTime

One (Mandatory)

generationSystem

The system (e.g. software or hardware) used to generate this document.

CharacterString

Zero or one (Optional)

version

This version property is distinct from the version of the Timeseries profile. 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 in a particular context.

This standard does not specify further how this version attribute should be used.

GenericName

Zero or one (Optional)

parameter

A soft-typed parameter for extra metadata properties.

NamedValue

Zero to many (Optional)

temporalExtent

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

TM_Period

Zero or one (Optional)

localDictionary

A dictionary containing definitions of terms.

Dictionary

Zero to many (Optional)

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

Zero to many (Optional)

8.3.3    SamplingFeatureMember properties

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

Property Definition Data types and values Multiplicity

byGroup

A grouped collection of MonitoringFeatures (SF_SamplingFeatureCollection).

SF_SamplingFeatureCollection

One (Mandatory)

byFeature

A monitoring feature.

SF_SpatialSamplingFeature

One (Mandatory)

8.4    Requirements Class: Timeseries Observation

 

Requirements Class: Timeseries Observation

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

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

Dependency

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

Dependency

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

Requirement

/req/uml-timeseries-observation/result

A TimeseriesObservation shall have a result that is conformant with the

 

Timeseries UML and Timeseries requirements class, as defined in this standard.

Requirement

/req/uml-timeseries-observation/resultDomain

The spatial domain of the timeseries result shall be consistent with the featureOfInterest of the observation.

Requirement

/req/uml-timeseries-observation/featureOfInterest

The featureOfInterest shall be of type or subtype of SF_SpatialSamplingFeature, as defined by ISO 19156, which includes MonitoringFeature as defined in clause 8.20 of this standard, or any other Feature Type (for non-spatial timeseries).

Requirement

/req/uml-timeseries-observation/procedure

A TimeseriesObservation shall have a procedure property of type or subtype of either OM_Process or SWE AbstractProcess, or a reference to one of these types. This includes ObservationProcess as defined in clause 8.22 of this standard as a subtype of OM_Process.

Requirement

/req/uml-timeseries-observation/observedProperty

A TimeseriesObservation shall have an observedProperty of type GFI_PropertyType, as described in ISO 19156.

8.4.1    Requirements class overview

Timeseries Observation
Figure: : Timeseries Observation

This standard defines TimeseriesObservation as a type of OM_Observation with particular requirements on the feature of interest, the result (must be a Timeseries), the procedure, and other aspects of the observation.

Two subtypes of TimeseriesObservationoffer two different encoding structures for the timeseries result: a time-value pair style structure where the time, value and associated metadata are encoded as coupled items (TimeseriesTVPObservation), and a separated structure where the time and values are represented as separate collections with metadata described separately to the time and values (TimeseriesDomainRangeObservation). The second approach will most often result in a more compact encoding due to a more efficient structuring and is consistent with the ISO 19123 Coverages model.

In this conceptual model TimeseriesTVPObservation and Timeseries are further sub-classed into: CategoricalTimeseriesTVPObservation, MeasurementTimeseriesTVPObservation, CategoricalTimeseriesDomainRangeObservationandMeasurementTimeseriesDomainRangeObservation.

8.4.2    TimeseriesObservation properties

A TimeseriesObservation is defined as a specialisation of the O&M OM_DiscreteCoverageObservation.

Property Definition Data types and values Multiplicity

Procedure

A TimeseriesObservation shall have a procedure property of type or subtype of either OM_Process or SWE AbstractProcess, or a reference to one of these types. This includes ObservationProcess defined in this standard as a subtype of OM_Process.

ObservationProcess

 

(Or any other valid derivation of OM_Process or SWE AbstractProcess)

One (Mandatory)

featureOfInterest

The feature of interest of a TimeseriesObservation is a MonitoringFeature, which is a specialisation of SF_SpatialSamplingFeature (O&M) or any other Feature Type (for non-spatial timeseries).

MonitoringFeature

One (Mandatory)

Result

The result of a TimeseriesObservation is a Timeseries.

Timeseries

One (Mandatory)

8.5    Requirements Class: Timeseries (TVP) Observation

 

Requirements Class: Timeseries (TVP) Observation

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-timeseries-tvp-observation/result

A TimeseriesTVPObservation shall have a result of type TVPTimeseries

8.5.1    Requirements class overview

Interleaved Timeseries Observation
Figure: : Interleaved Timeseries Observation

8.5.2    TimeseriesTVPObservation properties

TimeseriesTVPObservation is a TimeseriesObservation where the result is a time-value pair encoded timeseries.

Property Definition Data types and values Multiplicity

result

The result is a TimeseriesTVP

TimeseriesTVP

One (Mandatory)

8.6    Requirements Class: Measurement Timeseries (TVP) Observation

 

Requirements Class: Measurement Timeseries (TVP) Observation

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

Target Type

Encoding of the conceptual model

Dependency

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

Dependency

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

Requirement

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

A MeasurementTimeseriesTVPObservation shall have a result of type MeasurementTimeseriesTVP

8.6.1    Requirements class overview

Interleaved Measurement Timeseries Observation
Figure: : Interleaved Measurement Timeseries Observation

8.6.2    MeasurementTimeseriesTVPObservation properties

MeasurementTimeseriesTVPObservation is a TimeseriesObservation where the result is a time-value pair encoded timeseries.

Property Definition Data types and values Multiplicity

result

The result is a MeasurementTimeseriesTVP

MeasurementTimeseriesTVP

One (Mandatory)

8.7    Requirements Class: Categorical Timeseries (TVP) Observation

 

Requirements Class: Categorical Timeseries (TVP) Observation

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

Target Type

Encoding of the conceptual model

Dependency

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

Dependency

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

Requirement

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

A CategoricalTimeseriesTVPObservation shall have a result of type CategoricalTimeseriesTVP.

8.7.1    Requirements class overview

Interleaved Categorical Timeseries Observation
Figure: : Interleaved Categorical Timeseries Observation

8.7.2    CategoricalTimeseriesTVPObservation properties

CategoricalTimeseriesTVPObservation is a TimeseriesObservation where the result is a time-value pair encoded timeseries containing category type values (typically according to a defined classification scheme).

Property Definition Data types and values Multiplicity

result

The result is a CategoricalTimeseriesTVP

CategoricalTimeseriesTVP

One (Mandatory)

8.8    Requirements Class: Timeseries (Domain Range) Observation

 

Requirements Class: Timeseries (Domain Range) Observation

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

Target Type

Encoding of the conceptual model

Dependency

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

Dependency

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

Requirement

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

 A TimeseriesDomainRangeObservation shall have a result of type TimeseriesDomainRange.

8.8.1    Requirements class overview

Timeseries (Domain Range) Observation
Figure: : Timeseries (Domain Range) Observation

A TimeseriesDomainRangeObservation is a type of timeseries observation where the result is a domain range encoded timeseries.

In a domain range encoding, the coverage domain (points, in this case temporal points) are encoded separately from the coverage rangeset (i.e. the values e.g. measurements).

8.8.2    TimeseriesDomainRangeObservation properties

TimeseriesDomainRangeObservation is a TimeseriesObservation where the result is a domain-range encoded timeseries.

Property Definition Data types and values Multiplicity

result

The result is a TimeseriesDomainRange

TimeseriesDomainRange

One (Mandatory)

8.9    Requirements Class: Measurement Timeseries (Domain Range) Observation

 

Requirements Class: Measurement Timeseries (Domain Range) Observation

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

Target Type

 Encoding of the conceptual model

Dependency

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

Dependency

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

Requirement

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

 A MeasurementTimeseriesDomainRangeObservation shall have a result of type MeasurementTimeseriesDomainRange.

8.9.1    Requirements class overview

Measurement Timeseries Observation - Domain Range
Figure: : Measurement Timeseries Observation - Domain Range

8.9.2    MeasurementTimeseriesDomainRangeObservation properties

A MeasurementTimeseriesDomainRangeObservation is a TimeseriesObservation where the result is a domain range encoded timeseries with measurement values for the rangeset.

 

Property Definition Data types and values Multiplicity

result

The result is a MeasurementTimeseriesDomainRange

MeasurementTimeseriesDomainRange

One (Mandatory)

8.10    Requirements Class: Categorical Timeseries (Domain Range) Observation

 

Requirements Class: Categorical Timeseries (Domain Range) Observation

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

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

A CategoricalTimeseriesDomainRangeObservation shall have a result of type CategoricalTimeseriesDomainRange.

8.10.1    Requirements class overview

Categorical Timeseries Observation - Domain Range
Figure: : Categorical Timeseries Observation - Domain Range

8.10.2    CategoricalTimeseriesDomainRangeObservation properties

CategoricalTimeseriesDomainRangeObservation is a TimeseriesObservation where the result is a domain-range encoded timeseries containing category type values (typically according to a defined classification scheme).

 

Property Definition Data types and values Multiplicity

result

The result is a CategoricalTimeseriesDomainRange

CategoricalTimeseriesDomainRange

One (Mandatory)

8.11    Requirements Class: Timeseries (core)

 

Requirements Class: Timeseries (core)

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19123/2005

Requirement

/req/uml-timeseries-core/domain-object

A timeseries is a coverage whose domain shall consist of the temporal elements of the timeseries. If the series is spatially varying, the spatial elements shall describe each spatial element (empty for in-situ timeseries).

Requirement

/req/uml-timeseries-core/time-increasing

The time elements of the timeseries shall be ordered in increasing time.

Requirement

/req/uml-timeseries-core/record-homogeneous

The record-type for the values (range) of the timeseries shall be homogenous.

Requirement

/req/uml-timeseries-core/coverage-type

A timeseries shall implement the domain-range or geometry-value (time-value pairs) coverage type. (This requirement is abstract).

Requirement

/req/uml-timeseries-core/quality

When specifying the quality of a data point using the quality property an appropriate URI from the DataQualityCode list shall be used.

Requirement

/req/uml-timeseries-core/metadata

The timeseries shall support metadata for the series as described by the TimeseriesMetadata type

Requirement

/req/uml-timeseries-core/point-metadata

The timeseries shall support point metadata for each value in the series as described by the PointMetadata type.

8.11.1    Requirements class overview

Timeseries - core
Figure: : Timeseries - core

The core Timeseriesclass contains an ordered set of data. This data may be annotated with metadata about each particular data point (PointMetadata). It may also be annotated with metadata about the Timeseries as a whole (TimeseriesMetadata). There are several specializations of Timeseriesin this standard to accommodate different encodings (interleaved and domain-range) and different result types (measurement and categorical). The Timeseries(or it’s specializations) is the result of a TimeseriesObservation.

Codelists
Figure: : Codelists

Several codelists are used by the Timeseries Profile. Some of these are initially defined in this standard (but may be extended by the OGC without updating this standard), others are not explicitly defined in this standard at all and community codelists may be used.

Coverage Domain in a Timeseries
Figure: : Coverage Domain in a Timeseries

At a conceptual level the Timeseries Profile defines a timeseries as a coverage whose domain consists of collection of ordered temporal elements and the spatial component relates to the feature of interest of the observation.

 

8.11.2    Timeseries properties

Class described in the Timeseries requirements class. Base type for abstract timeseries of records.

 

Property Definition Data types and values Multiplicity

point

Each point of the timeseries is represented by a time-value pair.

AnnotatedTimeValuePair

Zero to many (Optional)

metadata

Metadata which applies to the timeseries as a whole.

TimeseriesMetadata

Zero or one (Optional)

8.11.3    AnnotatedTimeValuePair properties

The AnnotatedTimeValuePair is a datatype containing a simple time-value pair along with optional metadata about that data point.

Property Definition Data types and values Multiplicity

metadata

Metadata about this time-value data point

PointMetadata

Zero or one (Optional)

geometry

The geometry of the data point. In the case of AnnotatedTimeValuePair the geometry is a temporal geometry (TM_Position).

TM_Position

One (Mandatory)

value

The observed value of the data point (e.g. the measure or category)

Record

One (Mandatory)

8.11.4    CommentBlock properties

Comment blocks may be used to make comment about the timeseries. Each comment applies to a specified period of the timeseries (it could apply to the whole timeseries).

Property Definition Data types and values Multiplicity

applicablePeriod

The time period to which the comment applies.

TM_Period

One (Mandatory)

comment

Free text comment about some aspect of the timeseries.

CharacterString

One (Mandatory)

8.11.5    SampledMediumCode Codelist

The contents of this codelist are not defined in this standard. It is a stub for any community or vendor-specific codelist that defines codes for sampled media relevant to timeseries observations.

Code item Definition URL

8.11.6    StatusCode Codelist

The contents of this codelist is not defined in this standard. It is a stub for any community or vendor specific codelist that defines status codes relevant to timeseries observations (for example to indicate what verification checks have taken place).

Code item Definition URL

8.11.7    TimeseriesMetadata properties

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. It should be noted that the Timeseriesclass is available for use without the TimeseriesObservationfeature 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.

Property Definition Data types and values Multiplicity

commentBlock

Comments about the timeseries.

CommentBlock

Zero to many (Optional)

temporalExtent

The extent of the temporal domain of the timeseries. The concept is inherited from the coverage model. As the domain of the timeseries is temporal, the temporalExtent is a time period defining the start and end of its temporal domain (i.e. the start and end of the timeseries). Note that this often the same as the phenomenon time as specified in the OM_Observation; it is still useful here for timeseries that are described separately from an OM_Observation header.

TM_Period

Zero or one (Optional)

baseTime

Timeseries 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.

TM_Position

Zero or one (Optional)

spacing

The time between points in a regularly spaced timeseries.

TM_PeriodDuration

Zero or one (Optional)

status

Indicates the statues of the observation. E.g. unreleased, verified etc.

StatusCode

Zero or one (Optional)

sampledMedium

Indicates the medium that was sampled. E.g. water, air, etc.

SampledMediumCode

Zero or one (Optional)

intendedObservationSpacing

Defines the expected spacing between observations e.g. daily.

TM_PeriodDuration

Zero or one (Optional)

parameter

This is a named value extension point that allows extra metadata to be added at the timeseries level. The parameters here are soft-typed (i.e. this standard does not define the properties semantics). Commonly used parameters here would be future candidates for definition within later versions or community extensions.

NamedValue

Zero to many (Optional)

8.11.8    PointMetadata properties

The point metadata applies to an individual point. Although default values may be set depending on the encoding. In the XML encoding in this standard the concept of default point metadata is implemented.

Property Definition Data types and values Multiplicity

quality

This property is for specifying a quality assertion using the defined concepts of quality as described in the DataQualityCode list. When a non-standard quality code is required a SWE Qualifier property shall be used.

DataQualityCode

Zero or one (Optional)

nilReason

This property describes the reason that a point has been identified as null. This provides context for interpreting null points (e.g. missing, withheld etc.).

NilReason

Zero or one (Optional)

comment

Context information that does not fit into a controlled list of qualifiers, processing or quality information is often provided in free text per point. The comment property provides a placeholder for such textual information.

CharacterString

Zero or one (Optional)

relatedObservation

This property allows individual points to be associated with related observations. This is used when a timeseries consists of interleaved observations from different sources and understanding the relationship to existing observation(s) is important.

OM_Observation

Zero or one (Optional)

qualifier

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.

Quality information often aggregates these elements, but qualifiers allow for deeper interpretation and capture of useful information on a per point 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.

The qualifier type may also be used to specify a quality code where the Timeseries Profile quality codes are not being used or where an internal quality code needs to be preserved with the data.

Quality

Zero to many (Optional)

processing

The processing property allows for the categorisation of the processing that has been performed on the timeseries. This is closely related to the procedure information as defined at the observation level, but allows for more granular definition (i.e. on a per point basis). Often a default processing type will be set for a whole timeseries, such as a for a forecast timeseries. The XML encoding handles these cases with a defaulting mechanism.

ProcessingCode

Zero or one (Optional)

source

This property allows for granular definition of the source of a particular timeseries value. The property points to an object of MD_DataIdentification type (from ISO 19115) that provides context on where the data was sourced. This is useful derived timeseries where the values are aggregated from multiple sources. The property is by reference only meaning that the full MD_DataIdentification type would not be encoded directly but referenced. The XML implementation provides a means to do this.

MD_DataIdentification

Zero or one (Optional)

8.11.9    TSML_DomainObject properties

The TSML_DomainObject is abstract. It has no properties, but carries two constraints:

  • Temporal elements shall be ordered in increasing time
  • The domain of the result is defined by the feature of interest (the spatial location) and the temporal steps on the timeseries.

Property Definition Data types and values Multiplicity

spatialElement

Spatial element of coverage domain.

GM_Object

One (Mandatory)

temporalElement

Temporal element of coverage domain

TM_GeometricPrimitive

One (Mandatory)

8.11.10    DataQualityCode Codelist

Terms in this codelist are used to indicate the quality of individual data points. This codelist shall be managed by the OGC and is extensible outside of this standard at the discretion of the OGC.

The identifier for this codelist shall be:

http://www.opengis.net/def/timeseries/DataQualityCode

All items in this codelist shall have identifiers that follow the pattern:

http://www.opengis.net/def/timeseries/DataQualityCode/[itemlabel]

 

 

Code Label Definition

http://www.opengis.net/def/timeseries/DataQualityCode/Good

Good

 The data has been examined and represents a reliable measurement.

http://www.opengis.net/def/timeseries/DataQualityCode/Suspect

Suspect

The data should be treated as suspect.

http://www.opengis.net/def/timeseries/DataQualityCode/Estimate

Estimate

The data is an estimate only, not a direct measurement.

http://www.opengis.net/def/timeseries/DataQualityCode/Poor

Poor

 The data should be considered as low quality and may have been rejected.

http://www.opengis.net/def/timeseries/DataQualityCode/Unchecked

 Unchecked

The data has not been checked by any qualitative method.

http://www.opengis.net/def/timeseries/DataQualityCode/Missing

Missing

The data is missing.

8.11.11    InterpolationCode Codelist

Terms in this codelist are used to indicate how data should be interpolated between neigbouring points in a timeseries. This codelist shall be managed by the OGC and is extensible outside of this standard at the discretion of the OGC.

The identifier for this codelist shall be:

http://www.opengis.net/def/timeseries/InterpolationCode

All items in this codelist shall have identifiers that follow the pattern:

http://www.opengis.net/def/timeseries/InterpolationCode/[itemlabel]

 

Code Label Definition

http://www.opengis.net/def/timeseries/InterpolationCode/Continuous

Continuous

 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.

http://www.opengis.net/def/timeseries/InterpolationCode/Discontinuous

Discontinuous

 The sampling of the property occurs such that it is not possible to regard the series as continuous. The time between samples is too large to classify the measurements as continuous.

Example: An infrequent water sample measuring pH.

http://www.opengis.net/def/timeseries/InterpolationCode/InstantTotal

Instant Total

 Value represents a total attributed to a specific time instant. This is normally generated from an event based measuring device.

Example: An individual tip of a tipping bucket rain gauge.

http://www.opengis.net/def/timeseries/InterpolationCode/AveragePrec

Average Preceding

Value represents the average value over the preceding interval.   

http://www.opengis.net/def/timeseries/InterpolationCode/MaxPrec

Maximum Preceding

Value represents the maximum value that was measured during the preceding time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MinPrec

Minimum Preceding

Value represents the minimum value that was measured during the preceding time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/PrecTotal

Preceding Total

 Value represents the total of measurements taken within the previous time interval.

http://www.opengis.net/def/timeseries/InterpolationCode/AverageSucc

Average Succeeding   

Value represents the average value over the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/TotalSucc

Total Succeeding

Value represents the average value over the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MinSucc

Minimum Succeeding

Value represents the minimum value for the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/MaxSucc

Maximum Succeeding

Value represents the maximum value for the following interval.

http://www.opengis.net/def/timeseries/InterpolationCode/ConstPrec

Constant Preceding

Value is constant in the preceding interval.

http://www.opengis.net/def/timeseries/InterpolationCode/ConstSucc

Constant Succeeding

 Value is constant in the succeeding interval.

8.11.12    ProcessingCode Codelist

The contents of this codelist is not defined in this standard. It is a stub for any community or vendor specific codelist that defines processing codes relevant to timeseries observations (for example to indicate what processing level or step has been reached).

Code item Definition URL

8.12    Requirements Class: CategoricalMetadata

 

Requirements Class: CategoricalMetadata

http://www.opengis.net/spec/timeseries/1.0/req/uml-categorical-metadata

Requirement

/req/uml-categorical-metadata/valid-metadata

 Categorical Metadata shall be valid according to TimeseriesMetadata and PointMetadata defined in clauses 8.11.7 and 8.11.8 of this standard.

8.13    Requirements Class: MeasurementMetadata

 

Requirements Class: MeasurementMetadata

http://www.opengis.net/spec/timeseries/1.0/req/uml-measurement-metadata

 Requirement

/req/uml-measurement-metadata/valid-metadata

 Measurement metadata shall be valid according to TimeseriesMetadata and PointMetadata defined in clauses 8.11.7 and 8.11.8 of this standard and according to the definitions of MeasurementTimeseriesMetadata and MeasurementPointMetadata in Figure 26 and clauses 8.13.2 and 8.13.3.

8.13.1    Requirements class overview

Measurement Metadata
Figure: : Measurement Metadata

8.13.2    MeasurementTimeseriesMetadata properties

Metadata specific to measurement timeseries.

Property Definition Data types and values Multiplicity

cumulative

This boolean property indicates whether the series is sequentially increasing and accumulates over time; i.e. each value is added to the last so the value represents the total of a value since accumulation began.

Boolean

Zero or one (Optional)

accumulationIntervalLength

Defines the length of time over which accumulation is recorded e.g. 24 hours

TM_PeriodDuration

Zero or one (Optional)

accumulationAnchorTime

Defines the time at which accumulation begins e.g. 9am.

TM_Position

Zero or one (Optional)

startAnchorPoint

StartAnchorPoint specifies a ‘ghost’ point to allow the first value of the timeseries to be interpolated correctly.

TM_Position

Zero or one (Optional)

endAnchorPoint

EndAnchorPoint specifies a ‘ghost’ point to allow the last value of the timeseries to be interpolated correctly.

TM_Position

Zero or one (Optional)

maxGapPeriod

When any analysis is run over a timeseries it is important to know if it is possible to interpolate between any two adjoining points. If the join period between two adjoining points is greater than the maxGapPeriod then the series should not be interpolated between these adjoining points.

TM_PeriodDuration

Zero or one (Optional)

8.13.3    MeasurementPointMetadata properties

Metadata about a time-value data point for a measurement timeseries.

Property Definition Data types and values Multiplicity

censoredReason

Used to indicate the reason the value has been censored (e.g. below a threshold).

CensoredReasonCode

Zero or one (Optional)

uncertainty

This property allows for a quantitative assertion of the estimated uncertainty of the measurement value. The term uncertainty is used here in line with 'measurement uncertainty' as defined in the International Vocabulary of Metrology (VIM3, http://www.bipm.org/en/publications/guides/vim.html), however it is acknowledged that it is still quite common practice (e.g. in instrument specifications) for the word accuracy to be used in place of uncertainty.

Quantity

Zero or one (Optional)

interpolationType

Defines the nature of the relationship between the time instant and the recorded value. For example, the value may represent an average across the time period since the last point (average in preceding interval). This value should be taken from the InterpolationCode list.

The interpolation type is defined per point within the timeseries as it is possible for this to change mid series. Within the XML encoding it is possible to set a default interpolation for the series.

InterpolationCode

Zero or one (Optional)

aggregationDuration

Describes the temporal aggregation that has occurred to the value.

TM_PeriodDuration

Zero or one (Optional)

8.14    Requirements Class: Interleaved (TVP) Timeseries

 

Requirements Class: Interleaved (TVP) Timeseriew

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

 /req/uml-timeseries-tvp/interleaved

The time (domain) and values (range) shall be provided using time-value pair representation.

8.14.1    Requirements class overview

Timeseries-interleaved
Figure: : Timeseries-interleaved

Relationship to Coverages
Figure: : Relationship to Coverages

8.14.2    TimeseriesTVP properties

The TimeseriesTVP is a timeseries encoding following a time-value pair interleaved pattern. It is made up of a set of individual time-value pairs (elements).

Property Definition Data types and values Multiplicity

element

A set of elements describing each time-value pair.

TimeValuePair

Zero to many (Optional)

8.14.3    TimeValuePair properties

A single point in time and associated value (e.g. measurement).

Property Definition Data types and values Multiplicity

metadata

Metadata about this time-value pair

PointMetadata

Zero or one (Optional)

geometry

The temporal 'geometry' of the point (i.e. the time).

TSML_DomainObject

One (Mandatory)

8.15    Requirements Class: Measurement (TVP) Timeseries

 

Requirements Class: Measurement (TVP Timeseries

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-measurement-timeseries-tvp/value-type

All values of the time-value pairs of a MeasurementTimeseriesTVP shall be of type Measure.

Requirement

/req/uml-measurement-timeseries-tvp/interpolation-type

When specifying the interpolation type of a data point using the interpolation property an appropriate URI from the InterpolationCode list shall be used.

8.15.1    Requirements class overview

Measurement (TVP) Timeseries
Figure: : Measurement (TVP) Timeseries

The MeasurementTimeseriesTVP is a timeseries encoding following time-value pair interleaved pattern where the values of the range are measures.

8.15.2    MeasurementTimeseriesTVP properties

The MeasurementTimeseriesTVP is a timeseries encoding following a time-value pair interleaved pattern where the value is a measurement. It is made up of a set of individual time-value pairs (elements).

Property Definition Data types and values Multiplicity

metadata

Metadata about this timeseries

MeasurementTimeseriesMetadata

Zero or one (Optional)

element

A set of elements describing each time-value pair.

MeasureTimeValuePair

Zero to many (Optional)

8.15.3    MeasureTimeValuePair properties

A time-value pair encoding where the value is a measure.

Property Definition Data types and values Multiplicity

metadata

Metadata about this time-value pair

MeasurementPointMetadata

Zero or one (Optional)

value

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

Measure

One (Mandatory)

8.16    Requirements Class: Categorical (TVP) Timeseries

 

Requirements Class: Categorical (TVP) Timeseries

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-categorical-timeseries-tvp/value-type

All values of the time-value pairs of a CategoricalTimeseriesTVP shall be of type Category.

8.16.1    Requirements class overview

Categorical Timeseries Interleaved
Figure: : Categorical Timeseries Interleaved

8.16.2    CategoricalTimeseriesTVP properties

The CategoricalTimeseriesTVP is a timeseries encoding following a time-value pair interleaved pattern where the value is a category. It is made up of a set of individual time-value pairs (elements).

Property Definition Data types and values Multiplicity

element

A set of elements describing each time-value pair.

CategoryTimeValuePair

Zero to many (Optional)

metadata

Metadata about this timeseries

CategoricalTimeserieslMetadata

Zero or one (Optional)

8.16.3    CategoryTimeValuePair properties

A time-value pair encoding where the value is a categorisation.

Property Definition Data types and values Multiplicity

metadata

Metadata about this time-value pair

CategoricalPointMetadata

Zero or one (Optional)

value

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

Category

One (Mandatory)

8.17    Requirements Class: Timeseries (Domain Range)

 

Requirements Class: Timeseries (Domain Range)

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-timeseries-domain-range/domain-range-separate

The time (domain) and values (range) shall be directly represented separately with a 1:1 relationship between each time instant and value in the range.

8.17.1    Requirements class overview

Timeseries-domain-range
Figure: : Timeseries-domain-range

The TimeseriesDomainRange is a timeseries encoding following the coverage domain-range pattern.

8.18    Requirements Class: Measurement (Domain Range) Timeseries

 

Requirements Class: Measurement (Domain Range) Timeseries

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-measurement-timeseries-domain-range/value-type

The type of all the range elements of a MeasurementTimeseriesDomainRange shall be of type Measure.

8.18.1    Requirements class overview

Measurement (Domain Range) Timeseries
Figure: : Measurement (Domain Range) Timeseries

The MeasurementTimeseriesDomainRange is a timeseries encoding following the coverage domain-range pattern where each range element is a Measure.

8.19    Requirements Class: Categorical (Domain Range) Timeseries

 

Requirements Class: Categorical (Domain Range) Timeseries

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

Target Type

Encoding of the conceptual model

Dependency

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

Requirement

/req/uml-categorical-timeseries-domain-range/value-type

The type of all the range elements of a CategoricalTimeseriesDomainRange shall be of type Category.

8.19.1    Requirements class overview

Categorical (Domain Range) Timeseries
Figure: : Categorical (Domain Range) Timeseries

The CategoricalTimeseriesDomainRange is a timeseries encoding following the coverage domain-range pattern where each range element is a value from a category. 

8.20    Requirements Class: Monitoring Feature

 

Requirements Class: Monitoring Feature

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19156/2011   

Requirement

/req/uml-monitoring-feature/valid

An encoding of MonitoringFeature shall be according to this standard with all attributes and associations.

Requirement

/req/uml-monitoring-feature/time-zone-abbreviation

When using a time zone abbreviation, an abbreviation from the list supplied at http://www.timeanddate.com/library/abbreviations/timezones/ should be used.

8.20.1    Requirements class overview

Monitoring Feature
Figure: : Monitoring Feature

The MonitoringFeature serves as the feature of interest for timeseries observations. It extends SF_SpatialSamplingFeature. The geometry of the MonitoringFeature is described by the ‘shape’ property. For timeseries observations the shape is frequently a point but may be an area polygon or other geometric object.

8.20.2    MonitoringFeature properties

A feature where observations are taken such as a sensor, gauge or monitoring site.

Property Definition Data types and values Multiplicity

timeZone

The timezone that the MonitoringFeature is located in.

TimeZone

Zero or one (Optional)

daylightSavingsTimeZone

The timezone that the MonitoringFeature is located in when daylight savings applies.

TimeZone

Zero or one (Optional)

relatedParty

The details of a party related to this MonitoringFeature.  Multiple related parties may be described using the role codelist (from ISO 19115). The most common relationships are likely to be: owner, originator, pointOfContact, principalInvestigator and distributor.

CI_ResponsibleParty

Zero to many (Optional)

representativePoint

A point location that is representative of the monitoring feature's location. Typically this is used when the shape of the monitoring feature is an area or other non-point geometry. It may also be used to provide an approximate point location in sensitive observation scenarios.

GM_Point

Zero or one (Optional)

descriptionReference

Provide extra descriptive information about a monitoring feature. This could be a link to an HTML page describing the location, photos of a monitoring feature, history records etc.

GenericName

Zero to many (Optional)

verticalDatum

Specifies the elevation that is used as the zero point, or datum, for height-related measurements. The datum is defined using a vertical datum, which may be defined using the ISO 19111 type CD_VerticalDatum, or an agreed upon datum may be reference by its identifier. E.g. the Australian Height Datum (AHD), Tasmania = “EPSG::5112”.

The CD_VerticalDatum type allows specification of the local vertical datum as a height above another reference datum. E.g. local vertical datum is 23m above the AHD.

CD_VerticalDatum

Zero to many (Optional)

monitoringType

A thematic characterisation of the type of monitoring feature. E.g. meteorological, surface water, groundwater, water quality etc.

GenericName

Zero to many (Optional)

8.20.3    TimeZone properties

The TimeZone class captures information about a timezone.

Property Definition Data types and values Multiplicity

zoneAbbreviation

Abbreviation for a timezone e.g. AEST.

CharacterString

Zero or one (Optional)

zoneOffset

Time zone offset e.g. +10:00 GMT

CharacterString

One (Mandatory)

8.21    Requirements Class: MonitoringFeature FeatureOfInterest

 

Requirements Class: MonitoringFeature FeatureOfInterest

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

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

Requirement

/req/uml-monitoring-feature-foi/foi

The target of the featureOfInterest property of the TimeseriesObservation shall be a MonitoringFeature type or a reference to an object of this type.

8.21.1    Requirements class overview

Monitoring Feature as Feature Of Interest
Figure: : Monitoring Feature as Feature Of Interest

8.22    Requirements Class: Procedures

 

Requirements Class: Procedures

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

Target Type

Encoding of the conceptual model

Dependency

http://standards.iso.org/iso/19156/2011

Requirement

/req/uml-observation-process/valid

The om:procedure property shall point to a feature type that represents the ObservationProcess class according to this standard.

Requirement

/req/uml-observation-process/processType

The processType property of ObservationProcess shall use the appropriate type from the ProcessTypeCode list.

8.22.1    Requirements class overview

Observation Process
Figure: : Observation Process

8.22.2    ObservationProcess properties

A large number of direct in-situ observations are performed by a sensor or sensor system. Common types of sensors include rain gauges, level gauges, quality sensors such as temperature, turbidity etc.

Manual procedures may be also used to make measurements at a particular sampling point. These may be ad-hoc visits to particular point that may be of interest, or continued visits to a well identified sampling point.

Procedures that generate derived or synthetic results also exist, such as those produced by algorithms or simulations. Algorithms are commonly implemented in hydrological software to process data sets for reporting or other purposes. Examples include:

  • Temporal interpolation or aggregation;
  • Spatial interpolation;
  • Quality assurance related tasks such as automatic spike removal or gap filling;
  • Derivation of new observed phenomena such as calculation of volume from stage, discharge (flow) from stage etc.

Property Definition Data types and values Multiplicity

operator

Describes the party responsible for performing the process. E.g. the person performing the method or operating the sensor. 

CI_ResponsibleParty

Zero or one (Optional)

originatingProcess

Used to identify a process that is a source to this process. For example an earlier processing step.

OM_Process

Zero or one (Optional)

aggregationDuration

If the process involves temporal aggregation of a result set, the time duration over which data has been aggregated should be expressed here. E.g. hourly, daily aggregates.

TM_PeriodDuration

Zero or one (Optional)

verticalDatum

Specifies the datum that is used as the zero point for height-related measurements.

CD_VerticalDatum

Zero or one (Optional)

input

A list of the inputs used in the process. This may be a list of references to the data sets used (e.g. model input series) or a input array to an algorithm.

GenericName

Zero to many (Optional)

comment

Comments specific to the process from the operator.

CharacterString

Zero to many (Optional)

parameter

A defintion of the type of process used in the observation. This may be a Sensor, ManualMethod, Algorithm or Simulation (including models).

NamedValue

Zero to many (Optional)

processReference

Reference to an external process definition.

GenericName

Zero or one (Optional)

processType

A defintion of the type of process used in the observation. This may be a Sensor, ManualMethod, Algorithm or Simulation (including models).

ProcessTypeCode

One (Mandatory)

8.22.3    ProcessTypeCode Codelist

Terms from this codelist are used to indicate the type of process that was used in an observation. This codelist shall be managed by the OGC and is extensible outside of this standard at the discretion of the OGC.

The identifier for this codelist shall be:

http://www.opengis.net/def/timeseries/ProcessTypeCode

All items in this codelist shall have identifiers that follow the pattern:

http://www.opengis.net/def/timeseries/ProcessTypeCode/[itemlabel]

 

Code Label Definition

http://www.opengis.net/def/timeseries/ProcessTypeCode/Algorithm

Algorithm

Timeseries data is generated by applying an algorithm to input data

http://www.opengis.net/def/timeseries/ProcessTypeCode/ManualMethod

Manual Method

Timeseries data is collected manually

http://www.opengis.net/def/timeseries/ProcessTypeCode/Sensor

Sensor

Timeseries data is collected from an automated sensor

http://www.opengis.net/def/timeseries/ProcessTypeCode/Simulation

Simulation

Timeseries is generated from a simulation

http://www.opengis.net/def/timeseries/ProcessTypeCode/Unknown

Unknown

Timeseries is collected or generated by an unknown process

 

 


 

Annex A
(Normative)

Abstract Test Suites

 

A.1 Conformance class: Sampling Feature Collections

http://www.opengis.net/spec/timeseries/1.0/conf/uml-sampling-feature-collections

/req/uml-sampling-feature-collections/groups

Groups of sampling features (such as Monitoring Features) shall be described using the SamplingFeatureCollection feature type from ISO 19156

Dependency

http://standards.iso.org/iso/19156/2011

 

/conf/uml-sampling-feature-collections/groups

 

Requirement

/req/uml-sampling-feature-collections/groups

 

Test Purpose

Verify that groups of sampling features are described using the SamplingFeatureCollection feature type from ISO 19156.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.2     Conformance class: Collection

http://www.opengis.net/spec/timeseries/1.0/conf/uml-collection

Dependency

http://standards.iso.org/iso/19156/2011

 

/conf/uml-collection/valid

 

Requirement

/req/uml-collection/valid

 

Test Purpose

Verify the model or implementation supports collections of sampling features or sampling feature collections; collection-level metadata; observations; and inline dictionaries as described in this standard.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.3     Conformance class: Timeseries Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-observation

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

http://standards.iso.org/iso/19156/2011

Dependency

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

Dependency

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

Dependency

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

 

/conf/uml-timeseries-observation/result

 

Requirement

/req/uml-timeseries-observation/result

 

Test Purpose

Verify that an observation produces a result that is a Timeseries.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-observation/resultDomain

 

Requirement

/req/uml-timeseries-observation/resultDomain

 

Test Purpose

Verify that the spatial domain of the timeseries result is consistent with that of the featureOfInterest of the observation.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-observation/featureOfInterest

 

Requirement

/req/uml-timeseries-observation/featureOfInterest

 

Test Purpose

Verify that if featureOfInterest of the observation is not a domain feature then the featureOfInterest property shall be SF_SpatialSamplingFeature or a subtype of this class.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-observation/procedure

 

Requirement

/req/uml-timeseries-observation/procedure

 

Test Purpose

Verify that the procedure of the Observation is an instance of, or reference to, a type of ObservationProcess or SWE AbstractProcess that defines the process used in generating the timeseries.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-observation/metadata

 

Requirement

/req/uml-timeseries-observation/metadata

 

Test Purpose

Verify that the metadata property of the Observation is of type ObservationMetadata.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-observation/observedProperty

 

Requirement

/req/uml-timeseries-observation/observedProperty

 

Test Purpose

This requirement reflects the requirement from ISO 19156 that an observation must specify the observed property of the observation. Verify that the observedProperty property of the OM_Observation has been implemented.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.4     Conformance class: Timeseries (TVP) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-tvp-observation

 

/conf/uml-timeseries-tvp-observation/result

 

Requirement

/req/uml-timeseries-tvp-observation/result

 

Test Purpose

Verify that an observation result is a Timeseries using the interleaved (time-value pair) structure.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.5     Conformance class: Measurement Timeseries (TVP) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-measurement-timeseries-tvp-observation

Dependency

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

Dependency

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

 

/conf/uml-measurement-timeseries-tvp-observation/result

 

Requirement

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

 

Test Purpose

Verify that an observation result conforms to the structure of a MeasurementTimeseriesTVP.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.6     Conformance class: Categorical Timeseries (TVP) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-categorical-timeseries-tvp-observation

Dependency

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

Dependency

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

 

/conf/uml-categorical-timeseries-tvp-observation/result

 

Requirement

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

 

Test Purpose

Verify that an observation result conforms to the structure of a CategoricalTimeseriesTVP.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.7     Conformance class: Timeseries (Domain Range) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-domain-range-observation

Dependency

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

Dependency

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

 

/conf/uml-timeseries-domain-range-observation/result

 

Requirement

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

 

Test Purpose

Verify that an observation result is a Timeseries using the domain range structure.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.8     Conformance class: Measurement Timeseries (Domain Range) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-measurement-timeseries-domain-range-observation

Dependency

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

Dependency

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

 

/conf/uml-measurement-timeseries-domain-range-observation/result

 

Requirement

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

 

Test Purpose

Verify that an observation result conforms to the structure of a MeasurementTimeseriesDomainRange.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.9     Conformance class: Categorical Timeseries (Domain Range) Observation

http://www.opengis.net/spec/timeseries/1.0/conf/uml-categorical-timeseries-domain-range-observation

Dependency

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

 

/conf/uml-categorical-timeseries-domain-range-observation/result

 

Requirement

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

 

Test Purpose

Verify that an observation result conforms to the structure of a CategoricalTimeseriesDomainRange.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.10  Conformance class: Timeseries (core)

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-core

Dependency

http://standards.iso.org/iso/19123/2005

 

/conf/uml-timeseries-core/domain-object

 

Requirement

/req/uml-timeseries-core/domain-object

 

Test Purpose

Verify that the Timeseries is a coverage with domain consisting of a single temporal element and no spatial element.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/time-increasing

 

Requirement

/req/uml-timeseries-core/time-increasing

 

Test Purpose

Verify that the time elements of the timeseries are ordered in increasing time.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/record-homogeneous

 

Requirement

/req/uml-timeseries-core/record-homogeneous

 

Test Purpose

Verify that the record-type for each value (range element) of the timeseries is all the same for the whole series (coverage).

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/coverage-type

 

Requirement

/req/uml-timeseries-core/coverage-type

 

Test Purpose

Verify that the structure of the timeseries (coverage) is defined according to the domain-range timeseries conformance class OR the time-value timeseries conformance class.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/quality

 

Requirement

/req/uml-timeseries-core/quality

 

Test Purpose

Verify that the quality assertions used for the timeseries use a URI from the DataQualityCode list.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/metadata

 

Requirement

/req/uml-timeseries-core/metadata

 

Test Purpose

Verify that the metadata property of the timeseries is of type TimeseriesMetadata.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-timeseries-core/point-metadata

 

Requirement

/req/uml-timeseries-core/point-metadata

 

Test Purpose

Verify that the implementation supports point-based metadata using the type TimeseriesMetadata.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.11  Conformance class: CategoricalMetadata

http://www.opengis.net/spec/timeseries/1.0/conf/uml-categorical-metadata

 

/conf/uml-categorical-metadata/valid-metadata

 

Requirement

/req/uml-categorical-metadata/valid-metadata

 

Test Purpose

Verify the implementation represents all the required attributes and associations to provide metadata for a categorical point or timeseries.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.12  Conformance class: MeasurementMetadata

http://www.opengis.net/spec/timeseries/1.0/conf/uml-measurement-metadata

 

/conf/uml-measurement-metadata/valid-metadata

 

Requirement

/req/uml-measurement-metadata/valid-metadata

 

Test Purpose

Verify the implementation represents all the required attributes and associations to provide metadata for a measurement point or timeseries.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.13  Conformance class: Interleaved (TVP) Timeseries

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-tvp

Dependency

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

 

/conf/uml-timeseries-tvp/interleaved

 

Requirement

/req/uml-timeseries-tvp/interleaved

 

Test Purpose

Verify the timeseries is structured using time-value pairs as defined by the TimeValuePair class.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.14  Conformance class: Measurement (TVP) Timeseries

http://www.opengis.net/spec/timeseries/1.0/conf/uml-measurement-timeseries-tvp

Dependency

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

 

/conf/uml-measurement-timeseries-tvp/value-type

 

Requirement

/req/uml-measurement-timeseries-tvp/value-type

 

Test Purpose

Verify the values (range elements) of the timeseries are of type Measure.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-measurement-timeseries-tvp/interpolation-type

 

Requirement

/req/uml-measurement-timeseries-tvp/interpolation-type

 

Test Purpose

Verify that the interpolation type used for the timeseries uses a URI from the InterpolationCode list.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.15  Conformance class: Categorical (TVP) Timeseries

http://www.opengis.net/spec/timeseries/1.0/conf/uml-categorical-timeseries-tvp

 

/conf/uml-categorical-timeseries-tvp/value-type

 

Requirement

/req/uml-categorical-timeseries-tvp/value-type

 

Test Purpose

Verify the values (range elements) of the timeseries are of type Category.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.16  Conformance class: Timeseries (Domain Range)

http://www.opengis.net/spec/timeseries/1.0/conf/uml-timeseries-domain-range

Dependency

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

 

/conf/uml-timeseries-domain-range/domain-range-separate

 

Requirement

/req/uml-timeseries-domain-range/domain-range-separate

 

Test Purpose

Verify the domain (time) and range (value) parts of the timeseries are represented as separate data items.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.17  Conformance class: Measurement (Domain Range) Timeseries

http://www.opengis.net/spec/timeseries/1.0/conf/uml-measurement-timeseries-domain-range

Dependency

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

 

/conf/uml-measurement-timeseries-domain-range/value-type

 

Requirement

/req/uml-measurement-timeseries-domain-range/value-type

 

Test Purpose

Verify the values (range elements) of the timeseries are of type Measure.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.18  Conformance class: Categorical (Domain Range) Timeseries

http://www.opengis.net/spec/timeseries/1.0/conf/uml-categorical-timeseries-domain-range

Dependency

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

 

/conf/uml-categorical-timeseries-domain-range/value-type

 

Requirement

/req/uml-categorical-timeseries-domain-range/value-type

 

Test Purpose

Verify the values (range elements) of the timeseries are of type Category.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.19  Conformance class: Monitoring Feature

http://www.opengis.net/spec/timeseries/1.0/conf/uml-monitoring-feature

Dependency

 http://standards.iso.org/iso/19156/2011

 

/conf/uml-monitoring-feature/valid

 

Requirement

/req/uml-monitoring-feature/valid

 

Test Purpose

Verify the implementation represents all the required attributes and associations for a MonitoringFeature.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-monitoring-feature/time-zone-abbreviation

 

Requirement

/req/uml-monitoring-feature/time-zone-abbreviation

 

Test Purpose

Ensure that time zone abbreviations use an abbreviation from the list supplied at http://www.timeanddate.com/library/abbreviations/timezones/

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.20  Conformance class: MonitoringFeature FeatureOfInterest

http://www.opengis.net/spec/timeseries/1.0/conf/uml-monitoring-feature-foi

Dependency

http://standards.iso.org/iso/19156/2011

 

/conf/uml-monitoring-feature-foi/foi

 

Requirement

/req/uml-monitoring-feature-foi/foi

 

Test Purpose

Verify the featureOfInterest property of the TimeseriesObservation object is of type MonitoringFeature (or a reference to such a type).

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

A.21  Conformance class: Procedures

http://www.opengis.net/spec/timeseries/1.0/conf/uml-observation-process

 Dependency

http://standards.iso.org/iso/19156/2011

 

/conf/uml-observation-process/valid

 

Requirement

/req/uml-observation-process/valid

 

Test Purpose

Verify the procedure property uses the ObservationProcess type or a reference to such a type.

 

Test Method

Inspect the model or software implementation to verify the above requirement.

 

/conf/uml-observation-process/processType

 

Requirement

/req/uml-observation-process/processType

 

Test Purpose

Verify the processType property of the ObservationType uses an appropriate URI from the ProcessTypeCode list.

 


 

Annex B
(Normative)

Mapping between Timeseries Profile of O&M and the WaterML2.0 Conceptual Model

This annex contains a mapping of the WaterML2.0 conceptual model to the Timeseries conceptual model. The two models are closely aligned.

WaterML2.0 Part 1

UML Feature/Data Type

Timeseries Profile of O&M UML Feature/Data Type

Notes

Collection

Collection

 

DocumentMetadata

none

DocumentMetadata has been removed as a separate type. Properties of the DocumentMetadata class have been included in the Collection.

ConformanceClass

ConformanceClass

 

SamplingFeatureMember

SamplingFeatureMember

 

ObservationMetadata

none

ObservationMetadata has been removed as a separate type. Properties of the ObservationMetadata class have been included in TimeseriesMetadata.

TimeseriesObservation

TimeseriesObservation

 

TimeseriesDomainRangeObservation

TimeseriesDomainRangeObservation

 

CategoricalTimeseriesDomainRangeObservation

CategoricalTimeseriesDomainRangeObservation

 

MeasurementTimeseriesDomainRangeObservation

MeasurementTimeseriesDomainRangeObservation

 

TimeseriesTVPObservation

TimeseriesTVPObservation

 

CategoricalTimeseriesTVPObservation

CategoricalTimeseriesTVPObservation

 

MeasurementTimeseriesTVPObservation

MeasurementTimeseriesTVPObservation

 

AnnotatedTimeValuePair

AnnotatedTimeValuePair

 

CommentBlock

CommentBlock

 

CommentBlockMetadata

none

Deemed to be unnecessary

PointMetadata

PointMetadata

 

TVPCategoricalMetadata

CategoricalPointMetadata

Renamed so it isn’t specific to the time value pair encoding.

Timeseries

Timeseries

 

TimeseriesMetadata

TimeseriesMetadata

 

WML_DomainObject

TS_DomainObject

 

AnnotationCoverage

AnnotationCoverage

 

TimeseriesDomainRange

TimeseriesDomainRange

 

CV_AttributeValuesMeasure

CV_AttributeValuesMeasure

 

MeasurementTimeseriesDomainRange

MeasurementTimeseriesDomainRange

 

CategoricalTimeseriesDomainRange

CategoricalTimeseriesDomainRange

 

WML_AttributeValuesMeasure

none

Removed as it didn’t add significantly to the conceptual model.

TimeValuePair

TimeValuePair

 

TimeseriesTVP

TimeseriesTVP

 

MeasureTimeValuePair

MeasureTimeValuePair

 

MeasurementPointMetadata

MeasurementPointMetadata

 

MeasurementTimeseriesMetadata

MeasurementTimeseriesMetadata

 

MeasurementTimeseriesTVP

MeasurementTimeseriesTVP

 

CategoricalTimeseriesTVP

CategoricalTimeseriesTVP

 

CategoryTimeValuePair

CategoryTimeValuePair

 

MonitoringPoint

MonitoringFeature

 

TimeZone

TimeZone

 

ObservationProcess

ObservationProcess

 

none

CategoricalTimeseriesMetadata

Absent from WaterML2 conceptual model. Added for consistency with MeasurementTimeseriesMetadata.

 

 

 

 



[1] www.opengeospatial.org/cite

[2] https://portal.opengeospatial.org/files/64632