OGC WaterML 2.0
OGC 10-126r4
Open Geospatial Consortium Approval Date: 2012-06-23 Publication Date: 2014-02-24 Reference number of this OGC® project document: OGC 10-126r4 OGC name of this OGC® project document: http://www.opengis.net/doc/IS/waterml/2.0.1
Version: 2.0.1 Category: OGC® Implementation Standard - Corrigendum Editor: Peter Taylor
OGC® WaterML 2.0: Part 1- Timeseries Copyright notice Copyright © 2012-2014 Open Geospatial Consortium To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
Notice This document is an OGC Member approved international standard. This document is available on a royalty free, non-discriminatory basis. Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
Document type: Document subtype: Document stage: Document language:
OGC® Implementation Standard - Corrigendum Encoding Approved for Public Release English
OGC 10-126r4
WaterML 2.0
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.
ii
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Contents i. Preface ......................................................................................................................... ix ii. Submitting Organizations.......................................................................................... ix iii. Submission Contact Points ........................................................................................ xi iv. Future Work ............................................................................................................... xi v. Changes to the OGC® Abstract Specification ......................................................... xii 1 Scope ............................................................................................................................ 3 2 Conformance ............................................................................................................... 4 3 Normative References ................................................................................................. 5 4 Terms and Definitions ................................................................................................ 6 5 Conventions ................................................................................................................. 8 5.1 Abbreviated terms ................................................................................................. 8 5.2 UML notation ........................................................................................................ 8 5.3 Finding requirements and recommendations ........................................................ 9 6 Overview of WaterML2.0 ........................................................................................ 10 7 Observations and Measurements overview ............................................................ 12 7.1 Sampling features ................................................................................................ 12 8 The nature of hydrological observations ................................................................ 13 8.1 Observations and forecasts .................................................................................. 15 9 UML Conceptual Models (normative) ..................................................................... 15 9.1 Structural overview of requirements classes ....................................................... 15 9.2 Package dependencies ......................................................................................... 17 9.3 Use of vocabularies ............................................................................................. 19 9.4 Requirements class: Timeseries Observation...................................................... 20 9.5 Time series observation specialisations .............................................................. 27 9.6 Requirements class – Timeseries (domain range) Observation .......................... 28 9.7 Requirements class – Measurement Timeseries (domain range) Observation ... 29 9.8 Requirements class – Categorical Timeseries (domain range) Observation ....... 30 9.9 Requirements class – Timeseries time-value pair (interleaved) Observation ..... 31 9.10 Requirements class – Measurement Timeseries time-value pair (interleaved) Observation ............................................................................... 31 Copyright © 2012-2014 Open Geospatial Consortium
iii
OGC 10-126r4
WaterML 2.0
9.11 Requirements class – Categorical Timeseries time-value pair (interleaved) Observation .................................................................................................... 32 9.12 Requirements class: Timeseries (Core) .............................................................. 33 9.13 Requirements class: Timeseries Domain-Range ................................................ 42 9.14 Requirements class: Timeseries Time-Value Pair (interleaved)......................... 43 9.15 Requirements class: Measurement Timeseries TVP (interleaved) ..................... 45 9.16 Requirements class: Categorical Timeseries TVP (interleaved) ........................ 56 9.17 Requirements class: Measurement Timeseries (Domain-Range) ....................... 57 9.18 Requirements class: Categorical Timeseries (Domain-Range) .......................... 58 9.19 Requirements class: Monitoring Points .............................................................. 59 9.20 Requirements class: Monitoring Point feature of interest .................................. 64 9.21 Requirements class: Sampling Feature Collections ............................................ 64 9.22 Requirements class: Observation process ........................................................... 65 9.23 Requirements Class: Collection .......................................................................... 68 10 XML Implementation (normative) ........................................................................... 72 10.1 Scope of XML implementation .......................................................................... 73 10.2 XML encoding principles ................................................................................... 75 10.3 Requirements Class: XML Rules ....................................................................... 75 10.4 Requirements Class: Timeseries Observation .................................................... 77 10.5 Requirements Class: Timeseries Time-Value Pair (interleaved) Observation ... 79 10.6 Requirements Class: Measurement time-value pair Timeseries (interleaved) Observation .................................................................................................... 80 10.7 Requirements Class: Categorical time-value pair Timeseries (interleaved) Observation .................................................................................................... 81 10.8 Requirements Class: Timeseries – time-value pair representation ..................... 81 10.9 Requirements Class: Measurement Timeseries – time-value pair representation ................................................................................................. 83 10.10 Requirements Class: Categorical Timeseries – time-value pair representation ................................................................................................. 87 10.11 Requirements Class: Monitoring point as feature of interest ............................. 88 10.12 Requirements Class: Observation Process.......................................................... 89 10.13 Requirements Class: Monitoring Point ............................................................... 90 10.14 Requirements Class: Collection .......................................................................... 91 A.1 Conformance classes - UML Package ................................................................ 92 A.1.1 Conformance Class: Timeseries Observation ..................................................... 92 A.1.2 Conformance Class: Domain Range Timeseries Observation............................ 94 iv
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
A.1.3 Conformance Class: Measurement (Domain Range) Timeseries Observation .................................................................................................... 94 A.1.4 Conformance Class: Categorical (Domain Range) Timeseries Observation...... 95 A.1.5 Conformance Class: TVP Timeseries Observation ............................................ 95 A.1.6 Conformance Class: Measurement TVP Timeseries Observation ..................... 96 A.1.7 Conformance Class: Categorical TVP Timeseries Observation ......................... 96 A.1.8 Conformance Class: Timeseries Core ................................................................ 97 A.1.9 Conformance Class: Timeseries Domain Range ................................................ 99 A.1.10 Conformance Class: Timeseries Time-Value Pair (interleaved) ..................... 99 A.1.11 Conformance Class: Measurement Timeseries TVP (Interleaved) ............... 100 A.1.12 Conformance Class: Categorical Timeseries TVP (Interleaved) ................... 101 A.1.13 Conformance Class: Measurement Timeseries (Domain Range) .................. 101 A.1.14 Conformance Class: Categorical Timeseries (Domain Range) ..................... 101 A.1.15 Conformance Class: Monitoring Point .......................................................... 102 A.1.16 Conformance Class: Monitoring Point feature of interest ............................. 102 A.1.17 Conformance Class: Sampling feature collections ........................................ 103 A.1.18 Conformance Class: Observation process ..................................................... 103 A.1.19 Conformance Class: Collection ..................................................................... 104 A.2 Conformance classes – XML Implementation ................................................. 105 A.2.1 Conformance Class: XML Rules ...................................................................... 105 A.2.2 Conformance Class: Timeseries Observation XML (abstract) ......................... 107 A.2.3 Conformance Class: TVP (Interleaved) Timeseries Observation XML........... 108 A.2.4 Conformance Class: Measurement TVP (Interleaved) Timeseries Observation XML ........................................................................................ 109 A.2.5 Conformance Class: Categorical TVP (Interleaved) Timeseries Observation XML ............................................................................................................. 109 A.2.6 Conformance Class: Timeseries (Core) ............................................................ 110 A.2.7 Conformance Class: Timeseries – TVP representation .................................... 111 A.2.8 Conformance Class: Measurement Timeseries – TVP representation ............. 113 A.2.9 Conformance Class: Categorical Timeseries – TVP representation................. 115 A.2.10 Conformance Class: Monitoring point feature of interest ............................. 115 A.2.11 Conformance Class: Observation Process ..................................................... 116 A.2.12 Conformance Class: Monitoring Point .......................................................... 116 A.2.13 Conformance Class: Collection ..................................................................... 117 C.1 Operational forecasting activity at hydrological forecasting service in support of flooding related emergencies ...................................................... 124 Copyright © 2012-2014 Open Geospatial Consortium
v
OGC 10-126r4
WaterML 2.0
C.2 Routine operational forecasting activity in support of infrastructure operation....................................................................................................... 125 C.3 Exchange of groundwater levels across international borders ......................... 126 C.4 Generic data exchange scenario between stakeholders .................................... 127 C.5 Retrieval for data by external users .................................................................. 129
vi
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Table of Figures Figure 1 - Observation as defined by O&M ..................................................................... 12 Figure 2 – The hydrologic cycle [4] ................................................................................. 13 Figure 3 – Internal package dependencies ........................................................................ 17 Figure 4 - External dependencies (timeseries observations)............................................. 18 Figure 5 - External dependencies (monitoring points) ..................................................... 18 Figure 6 - External dependencies (timeseries) .................................................................. 19 Figure 7 - Observation specialisation ............................................................................... 22 Figure 8 - Observation metadata ....................................................................................... 25 Figure 9 - Observation types as related to ISO19156 (green) and ISO19123 (red) ......... 27 Figure 10 - Relationship to CVT_TimeInstantCoverage (ISO19156 – Annex C, green) 28 Figure 11 - Measurement timeseries (domain range) observation.................................... 29 Figure 12 - categorical timeseries (domain range) observation ........................................ 30 Figure 13 - Timeseries (TVP) Observation ...................................................................... 31 Figure 14 - Measurement timeseries (TVP) Observation ................................................. 32 Figure 15 - Categorical timeseries (TVP) Observation .................................................... 33 Figure 16 - Timeseries base type and relationship to coverages ...................................... 35 Figure 18 - Timeseries as a coverage ................................................................................ 38 Figure 19 - Timeseries metadata ....................................................................................... 39 Figure 20 – Timeseries point metadata ............................................................................. 40 Figure 21 - Timeseries using domain-range view............................................................. 43 Figure 22 - Timeseries using time-value (interleaved) view ............................................ 44 Figure 23 - Measurement Timeseries (TVP) .................................................................... 46 Figure 24 - Anchor points ................................................................................................. 47 Figure 25 - Connecting two time series ............................................................................ 48 Figure 26 - A cumulative series ........................................................................................ 49 Figure 27 - Example accumulated series .......................................................................... 49 Figure 28 - Categorical timeseries (TVP) ......................................................................... 57 Figure 29 - Measurement timeseries (domain range) ....................................................... 58 Copyright © 2012-2014 Open Geospatial Consortium
vii
OGC 10-126r4
WaterML 2.0
Figure 30 - Categorical timeseries (domain range)........................................................... 59 Figure 31 - MonitoringPoint ............................................................................................. 62 Figure 32 - SF_SamplingFeatureCollection as defined by ISO19156.............................. 65 Figure 33 - Observation process feature type ................................................................... 66 Figure 34 - Collection ....................................................................................................... 69
viii
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
i. Abstract WaterML 2.0 is a standard information model for the representation of water observations data, with the intent of allowing the exchange of such data sets across information systems. Through the use of existing OGC standards, it aims at being an interoperable exchange format that may be re-used to address a range of exchange requirements, some of which are described later in this document.
ii. Preface The primary goal of this profile is to capture the semantics of hydrological observational data for data exchange. This will allow hydrological information systems to communicate data between systems and to end users. NOTE!! - Please note that 2.0.1 is a Corrigendum in which a number of errors have been corrected in the WaterML 2.0 schema. As such, please make sure that your application re-loads the schema from the OGC schema repository and that local copies are not being used.
iii. Submitting Organizations The following organizations submitted this Implementation Profile to the Open Geospatial Consortium Inc.: a) CSIRO b) San Diego Supercomputer Center c) Australian Bureau of Meteorology d) Geological Survey of Canada, Natural Resources Canada e) USGS f) KISTERS AG g) NOAA h) Deltares i) Federal Waterways Engineering and Research Institute j) disy Informationssysteme GmbH k) German Federal Institute of Hydrology Copyright © 2012-2014 Open Geospatial Consortium
ix
OGC 10-126r4
WaterML 2.0
l) International Office For Water - Sandre
x
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
iv. Submission Contact Points All questions regarding this submission should be directed to the editor or the submitters: Contact
Company
Peter Taylor
CSIRO
peter.taylor at csiro.au
David Valentine
CUAHSI
valentin at sdsc.edu
Gavin Walker
CSIRO
gavin.walker at csiro.au
I-Lin Kuo
USGS
ilinkuo at usgs.gov
Paul Sheahan
Australian Bureau Of Meteorology
p.sheahan at bom.gov.au
Eric Boisvert
Natural Resources Canada
eric.boisvert at RNCanNRCan.gc.ca
John Halquist
NOAA
john.halquist at noaa.gov
Peter Gijsbers
Deltares
peter.gijsbers at deltares-usa.us
Michael Natschke
KISTERS AG
michael.natschke at kisters.de
Michael Utech
KISTERS AG
michael.utech at kisters.de
Stefan Fuest
KISTERS AG
stefan.fuest at kisters.de
Touraj Farahmand
Aquatic Informatics
tourajf at aquaticinformatics.com
David Blodgett
USGS
dblodgett at usgs.gov
David Briar
USGS
dbriar at usgs.gov
Sylvain Grellet
International Office For Water - Sandre
s.grellet at oieau.fr
Carsten Heidmann
disy Informationssysteme GmbH
carsten.heidmann at disy.net
Irina Dornblut
GRDC
dornblut at bafg.de
Jens Wilhelmi
German Federal Institute of Hydrology
wilhelmi at bafg.de
Simon Cox
CSIRO
simon.cox at csiro.au
Doug Palmer
CSIRO
doug.palmer at csiro.au
Tim Whitaker
CUAHSI
twhit at mail.utexas.edu
v. Future Work -
Specification of an ex-situ (e.g. water quality) profile
-
Inclusion of further complex structures (e.g. rating curves, conversion tables etc.)
-
Harmonizing time series structures with other standards (GML values vs. SWE Common vs. coverage types) and profiles (CSML, netCDF, SWE Common Profiles etc.)
-
Harmonizing/adapting process model with SensorML and/or ISO19115
Copyright © 2012-2014 Open Geospatial Consortium
xi
OGC 10-126r4
WaterML 2.0
vi. Changes to the OGC® Abstract Specification The OGC® Abstract Specification requires changes to accommodate this OGC® Standard. 1. TimeSeries needs to be added to Topic 6 (aka ISO 19123), and it needs to be in a way that supports both TVP and DR forms 2. ObservationCollection needs to be added to Topic 20/ISO 19156 (O&M) 3. The target of OM_Observation::metadata needs to be relaxed from MD_Metadata
xii
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Foreword This work has, for the most part, been funded through a water information research and development alliance between CSIRO‘s Water for a Healthy Country Flagship and the Australian Bureau of Meteorology. The work has also been supported by The Consortium for the Advancement of Hydrological Sciences Inc. (CUAHSI). The work is operating under the joint World Meteorological Organisation (WMO) and Open Geospatial Consortium (OGC) Hydrology Domain Working Group [1]. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights. However, to date, no such rights have been claimed or identified. 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 specification set forth in this document, and to provide supporting documentation. This document formalises work discussed in the existing discussion documents OGC 09124r1 – Harmonising Standards for Water Observations Data and 07-041- WaterML.
Copyright © 2012-2014 Open Geospatial Consortium
xiii
OGC WaterML 2.0
OGC 10-126r4
Introduction Motivation The increasing global demand on fresh water supplies is putting increased pressure on the natural resource environment. This demand is leading nations to improve terrestrial water monitoring facilities to better understand the amount, and the quality, of fresh water resources. Traditional water monitoring networks consist of regional monitoring programs that help to address issues of direct significance, such as flood warnings, providing water management guidelines (applying restrictions, setting allocations etc.), drought management and so on. More recently, nations are moving towards more holistic structuring of monitoring systems in order to provide an integrated national view on the state of water resources. This has led to a requirement on monitoring programs to exchange their data with other organisations that may have an interest in the observational data collected. National monitoring programs that often aggregate smaller, locally maintained monitoring networks, are requesting data for the use in national reporting facilities. In addition to this is the increased need for the exchange of data to improve our understanding of complex environmental processes, such as climate change. Terrestrial water movement can play a significant influencing role in such processes; cross-domain scientific enquiry and modelling requires access to increasing set of observational data, including hydrological observations. A report from the Global Climate Observing System (GCOS) into data exchange problems in global hydrological and atmospheric networks identifies standards as a key challenge: “There are no established international standards on the acquisition of river data, the set of required metadata, data formats, and transmission modes." And “Common metadata standards are, even on national scales, the exception rather than the rule.” WaterML 2.0 is a standard information model for the representation of water observations data, with the intent of allowing the exchange of such data sets across information systems. Through the use of existing OGC standards, it aims at being an interoperable exchange format that may be re-used to address a range of exchange requirements, some of which are described later in this document. Historical background A previous report [2] investigated and compared existing standards and initiatives from various countries being used for the exchange of hydrological observations. The report also suggested an approach to developing an OGC compliant conceptual information model and encoding that harmonises existing definitions with OGC standards. This document specifies such a model and encoding. One of the existing standards that was investigated was WaterML1.0 (and 1.1), developed by CUAHSI for use in the U.S. As this was recognized in the community as a data exchange standard with significant traction, the name has been continued for use with the OGC standard Copyright © 2012-2014 Open Geospatial Consortium
1
version. OGC WaterML2.0 is, however, a harmonized information model between a number of standards from various countries with existing OGC standards. OGC WaterML2.0 is based on the OGC Observations and Measurements standard (ISO 19156), and therefore is significantly different from CUAHSI WaterML1.0.
2
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
WaterML2.0: part 1 - timeseries 1 Scope This document is an OpenGIS® Encoding Standard for the representation of hydrological observations data with a specific focus on time series structures. WaterML2.0 is implemented as an application schema of the Geography Markup Language version 3.2.1, making use of the OGC Observations & Measurements standards. WaterML2.0 is designed as an extensible schema to allow encoding of data to be used in a variety of exchange scenarios. Example areas of usage are: exchange of data for operational hydrological monitoring programs; supporting operation of infrastructure (e.g. dams, supply systems); crossborder 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 time series. Interpretation of time series relies on understanding the nature of the process that generated them. This standard provides the framework under which time series 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.
Copyright © 2012-2014 Open Geospatial Consortium
3
2 Conformance This standard has been written to be compliant with the OGC Specification Model – A Standard for Modular Specification (OGC 08-131r3). Extensions of this standard shall themselves be conformant to the OGC Modular Specification Policy. Conformance with this standard shall be checked using all the relevant tests specified in Annex A. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in ISO 19105: Geographic information — Conformance and Testing. In order to conform to this OGC® encoding standard, a standardization target shall implement the core conformance class, and choose to implement any one of the other conformance classes (i.e. extensions).
4
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
3 Normative References The following normative documents contain provisions which, through reference in this text, constitute provisions of document OGC 10-126. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. However, parties to agreements based on this document are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. 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 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 Observations and Measurements v2.0 OGC Document 10-004r1 http://www.opengis.net/doc/AS/Topic20 (also published as ISO/DIS 19156:2010, 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 Schematron: ISO/IEC 19757-3, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation — Schematron http://standards.iso.org/ittf/PubliclyAvailableStandards/c040833_ISO_IEC_197573_2006(E).zip The Specification Model — A Standard for Modular specifications OGC Document 08-131r3. http://www.opengis.net/doc/POL/SPEC 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
Copyright © 2012-2014 Open Geospatial Consortium
5
4 Terms and Definitions For the purpose of this document, the following terms and definitions apply: 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] Discharge In its simplest concept discharge means outflow; therefore, the use of this term is not restricted as to course or location, and it can be applied to describe the flow of water from a pipe or from a drainage basin. If the discharge occurs in some course or channel, it is correct to speak of the discharge of a canal or of a river. It is also correct to speak of the discharge of a canal or stream into a lake, a stream, or an ocean. [USGS, http://water.usgs.gov/wsc/glossary.html#Discharge] Domain feature Feature of a type defined within a particular application domain NOTE: This may be contrasted with observations and sampling features, which are features of types defined for cross-domain purposes. [ISO 19156, definition 4.4] Feature Abstraction of real-world phenomena [ISO 19101:2002, definition 4.11] Observation Act of observing a property [ISO19156, definition 4.10] Observation procedure Method, algorithm or instrument, or system of these which may be used in making an observation [ISO19156, definition 4.11] 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 Sampling feature
6
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature [ISO19156, definition 4.16] Sampling point A specialized Sampling Feature (ISO19156) where the geometry of the feature is a point. In the context of this profile this is the point at which a sample is made and is analogous to site, location, measuring point. See Monitoring Point definition for further information. 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.]
Copyright © 2012-2014 Open Geospatial Consortium
7
5 Conventions 5.1
Abbreviated terms In this document the following abbreviations and acronyms are used or introduced: API
Application Program Interface
CSIRO
Commonwealth Scientific and Industrial Research Organization
CSML
Climate Science Modelling Language
CSV
Comma Separated Values
CUAHSI
Consortium of Universities for Advancement of Hydrologic Science Incorporated
GWML
Groundwater Markup Language
ISO
International Organization for Standardization
O&M
Observations and Measurements
OGC
Open Geospatial Consortium
SensorML
Sensor Model Language
SI
Système International (International System of Units)
SOS
Sensor Observation Service
SWE
Sensor Web Enablement
TVP
Time-Value Pair
UML
Unified Modeling Language
USGS
United States Geological Survey
UTC
Coordinated Universal Time
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 color scheme is used to identify the package in which the class exists. This is just for informative purposes. Blue: Defined within this standard Green: ISO19156 – Observations & Measurements Red: Other (ISO or GML) 8
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 5.3
OGC 10-126r4
Finding requirements and recommendations This standard is identified as http://www.opengis.net/spec/waterml/2.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 URL of the requirement as the reference identifier. Recommendations are not tested but are assigned URLs and are identified using the ‘Recommendation’ label in the associated requirements table. 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.
Copyright © 2012-2014 Open Geospatial Consortium
9
6 Overview of WaterML2.0 WaterML2.0 is an open standard for encoding water observations data for exchange. It is based on the information model of Observations and Measurements version 2.0 (O&M) and implemented as an application schema according to the rules of Geography Markup Language version 3.2 (GML). GML is an extensible international standard for the exchange of spatial data. 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. Section 7 provides a brief overview of O&M. This profile restricts and extends the O&M conceptual model to define a conceptual model that is directly applicable to observations and derived data specific to the hydrology domain. This conceptual model is then used to define an XML schema that may be used for the exchange of hydrological observations, addressing needs previously identified [2]. This standard represents part 1 of WaterML2.0, with the focus on the description of time series resulting from direct observations and processed data, such as forecasts and derived results. Further parts will extend into other areas of hydrological data, such as the description of rating curves, gauging information, controlled vocabularies etc. This standard is broken up into the following parts: A conceptual UML model for observational data as a profile as ISO19156 – Observations & Measurements; An implementation of the model in XML Schema, specifically a GML 3.2 conformant XML Schema. This separation allows capturing the information model in an implementation-agnostic fashion, using UML, to allow multiple implementations to occur. In additional to GML, other implementations in future work may include JSON, NetCDF, non-GML conformant XML etc. WaterML2.0 defines five main components for describing water observations. Table 1 lists each component and its relationship with Observation and Measurements (ISO-19156). Collections are not defined within O&M and are thus an extension.
10
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Table 1 - WaterML 2.0 components and equivalent concepts in O&M 2.0
WaterML 2.0 components
O & M 2.0 concepts
Time series
Result
Observation specialisations
Observation
Procedures used in measurement/analysis/processing
Procedure
Observation metadata
Observation (metadata)
Location description
Sampling features
Collections
-
The general characteristics of WaterML2.0: 1. Communicates the semantics of hydrological time series data; 2. An explicit time series model that supports encoding of information crucial to correct interpretation of time series, such as properties describing the nature of individual data values and their relationships; 3. A flexible exchange schema that can be re-used in a number of scenarios. Includes concepts to deal with common complexities in cross-system data exchange, such as multiple identifiers and names; 4. The schema is reusable across different transport technologies, including FTP, and a variety of web services etc.; 5. Ability to extend through use of external schema and soft-typing; 6. Ability to capture information relating to the provenance of a time series (i.e. how the time series was created). Allows for interpretation of ‘data products’ such as statistical summaries;
Copyright © 2012-2014 Open Geospatial Consortium
11
7 Observations and Measurements overview ISO19156 – 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. «FeatureType» OM_Process
«metaclass» GF_FeatureType
1
+theGF_FeatureType
«FeatureTyp... GFI_Feature
+generatedObservation
1
+featureOfInterest
+metadata
0..*
+carrierOfCharacteristics 1
0..*
Phenomenon
+observedProperty {root}
Metadata 0..*
+ + + + +
phenomenonTime :TM_Object resultTime :TM_Instant validTime :TM_Period [0..1] resultQuality :DQ_Element [0..*] parameter :NamedValue [0..*]
constraints {observedProperty shall be a phenomenon associated with the feature of interest} {procedure shall be suitable for observedProperty} {result type shall be suitable for observedProperty} {a parameter.name shall not appear more than once} 0..* Range
+relatedObservation 0..*
+result
«DataType» NamedValue + +
0..1
«FeatureType» OM_Observ ation
Domain
+propertyValueProvider
«metaclass» GF_PropertyType
+procedure ProcessUsed
«instanceOf»
1
MD_Metadata
name :GenericName value :Any
«type» Any {root}
Observ ationContext +
role :GenericName
Figure 1 - Observation as defined by O&M
7.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;
12
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
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 the hydrology domain, thus the sampling features concept is used in this profile. Section 9.19 describes the use further.
8 The nature of hydrological observations “Water is found on Earth in significant amounts in all three of its physical phases: liquid, solid, and gaseous. It is also found in all three of Earth‘s major environments that are readily accessible to humans: the atmosphere, the seas and oceans, and the land masses. Because water can readily move from one environment to another and can change from one phase to another in response to its environment, it is a dynamic medium in both space and time.” [3].
Figure 2 – The hydrologic cycle [4]
The field of hydrology focuses on the water cycle as it interacts with land; hydrological observations are performed in order for us to increase our understanding of this interaction. Observations can occur at any point within the hydrologic cycle, employing different techniques, and estimating phenomena related to water quantity or quality. The types of observations made in hydrology differ not just in the phenomena monitored, but also in the observation method. The method or technique used has important implications affecting the frequency and location of observations. For example, water quality observations often require laboratory analysis in which a person may take a sample from a site and return it to a specialist for analysis; this implies a higher cost and will thus occur infrequently. Whereas a river level gauge connected to an automatic telemetry device can make measurements every 15 minutes and relay results
Copyright © 2012-2014 Open Geospatial Consortium
13
periodically to a central data repository. This provides greater temporal granularity but is restricted to a single location. For the purpose of this profile, five broad observation styles are defined, detailed in Table 2. Table 2 - Broad categories of water observations
#
Observation style
Description
1
In-situ, fixed observation style
Generally temporally dense, spatially sparse, small number of observed phenomena. Examples: river level or stage, river discharge, storage level, rainfall, pH, turbidity etc.
2
In-situ, manual observations
Temporally sparse (often associated with sites visits) but potentially spatially dense. E.g. groundwater observations made during pump tests at well sites.
3
Ex-situ, complex processing observations
Temporally sparse, spatially sparse, many observed phenomena. Examples: nutrients (nitrate, phosphorus etc.), pesticides (atrazine, glyphosate etc.), biologicals etc.
4
Remote-sensed observations
Observations that are collected by a sensor that is not in direct contact with the property being observed. These observations can be spatially and temporally dense.
5
Complex data products
These consist of processed or synthesised observational data, mainly created to provide estimation of not directly measurable phenomena or predictions of future values. Examples: outputs from models or algorithms, water storage estimates, calculation of complex physics-chemistry, biological indices etc.
These definitions are not clear-cut; it is possible to have water quality measurements that are made continuously by in-situ measurements (such as dissolved oxygen, turbidity etc.). Similarly, storage volume may be viewed as a complex data product as it often involves the integration of survey data and estimation algorithms. Exchange formats addressing category 1 may be capable of capturing data within category 3, but representation of the procedure used to generate the data set implies extra requirements on metadata (if it is to be supported through transfer). Generally, the more complex the process of making the measurement, the less likely it is to be available as a continuous observation. 14
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
This standard is capable of encoding data sets from the first and second categories from Table 2. Complex data products (category 5) can be accommodated, if they are structurally similar to insitu observations. Ex-situ (e.g. water quality) data will be handled in future work. 8.1
Observations and forecasts While Observations and Measurements (ISO19156) describes a conceptual information model for describing ‘observations’, this may include the description of outputs from simulations such as forecast models, where the ‘observations’ occur into the future, or within a simulated time period. Using the same base concepts for describing observations and simulations increases the ease of data integration.
9 UML Conceptual Models (normative) This standard defines the conceptual models for the description of water observations, making use of ISO19156 as the base conceptual model. The standardization target for the UML conformance classes are: Encoding models derived from the conceptual models of this standard. Software implementations seeking compliance to this standard. 9.1
Structural overview of requirements classes The requirements classes of the standard are structured as shown in Figure 3 (internal package dependencies). Below is a brief summary of the function of the requirements classes. Timeseries Observation (abstract) An abstract class that captures common restrictions of the ISO1956 OM_Observation class, for observations that have timeseries as their result. This class is not directly implemented but used as a basis to define the two types of timeseries observations. Timeseries Observation (domain range) An observation that returns a time series with the time and values represented separately. The two more specific classes (MeasurementTimeseriesDomainRangeObservation and CategoricalTimeseriesDomainRangeObservation) capture common specialized series types where the value-type is restricted. Timeseries Observation (interleaved) An observation that returns a timeseries with the time-value pair coupled (interleaved) representation. The two more specific classes (MeasurementTimeseriesTVPObservation and CategoricalTimeseriesTVPObservation) capture the specialized series types where the value-type is restricted. Timeseries (core)
Copyright © 2012-2014 Open Geospatial Consortium
15
An abstract class that captures the common characteristics of timeseries (the result of the above observation types). This provides the basis for more specialized timeseries types and forms the core requirements class of the standard. Timeseries (domain range) This requirements class describes the structure of timeseries when the time and value components are separated and not explicitly represented as pairs. The two more specific classes (MeasurementDomainRangeTimeseries and CategoricalDomainRangeTimeseries) capture two specific types of timeseries where the value-type is restricted. Timeseries (interleaved) This requirements class describes the structure of interleaved timeseries (time-value pairs) and associated metadata classes. The two more specific classes (MeasurementTimeseriesTVP and CategoricalTimeseriesTVP) capture two specific types of timeseries where the value-type is restricted. Monitoring Points Implement this requirements class to describe monitoring points using ISO19156 sampling features. The requirements class defines a single specialization of a point spatial sampling feature. Monitoring point feature of interest For timeseries observations using in-situ monitoring points this conformance class should be used. It captures one of the more common continuous timeseries observations that occur using a monitoring point. It is a separate conformance class in order to allow timeseries observations using different sampling features (e.g. groundwater wells) or features with more complex geometries such as lines and polygons. Collections Implement this requirements class to provide collections of sampling features, timeseries and inline vocabularies. Observation Process Implement this requirements class to described processes involved in the generation of timeseries.
16
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 9.2
OGC 10-126r4
Package dependencies Interleaved coverage (time-value pairs) req/uml-measurement-timeseries-tv p-observ ation +
req/uml-measurement-timeseries-tv p
result +
value-type
req/uml-categorical-timeseries-tv p-observ ation +
req/monitoringPoint + +
+
value-type
req/uml-timeseries-tv p-observ ation
shape-point (O&M) monitoringPoint-valid
+
result
req/um-timeseries-observ ation + + + + + +
req/collection
req/uml-categorical-timeseries-tv p
result
req/process
req/uml-timeseries-tv p
req/uml-timeseries-core
result featureOfInterest procedure metadata phenomenonTime resultQuality
+ + + + + +
+
domain-object time-increasing record-homogenous coverage-type quality interpolation-type
interleaved
req/uml-timeseries-domain-range +
domain-range-separate
req/uml-timeseries-domain-range-observ ation +
result
req/uml-measurement-timeseries-domain-range +
value-type
req/uml-monitoring-point-feature-of-interest +
req/uml-measurement-timeseries-domain-range-observ ation
foi
+
result req/uml-categorical-timeseries-domain-range +
value-type
req/uml-categorical-timeseries-domain-range-observ ation +
result
Domain-range coverage
Figure 3 – Internal package dependencies
Copyright © 2012-2014 Open Geospatial Consortium
17
ISO 19103:2005 Schema Language ISO 19115:2006 Metadata (Corrigendum) (from ISO 19103 Conceptual Schema Language)
«RequirementsClass» Procedures
«import»
«import»
(from ISO 19115-All Metadata)
«import»
«requirementsClass» observ ation
«import» «RequirementsClass» Timeseries Observ ation «RequirementsClass» Timeseries (Domain Range) Observ ation
«import»
«import»
(from Observation schema)
«import» «import»
ISO 19123:2005 Cov erages
«import»
(from ISO 19123 Coverage geometry «import» and functions)
«requirementsClass» cov erageObserv ation
«import» «import» «import»
(from Observation schema)
«import»
«import»
«requirementsClass» samplingFeature
«RequirementsClass» Timeseries (TVP) Observ ation
(from Sampling Features)
«import»
«RequirementsClass» Collection «import»
«RequirementsClass» Monitoring Point
Figure 4 - External dependencies (timeseries observations) «RequirementsClass» Monitoring Point «import»
«requirementsClass» samplingPoint
(from Sampling Features)
«requirementsClass» spatialSamplingFeature (from Sampling Features)
«import» ISO 19115:2006 Metadata (Corrigendum)
(from ISO 19115-All Metadata)
«RequirementsClass» MonitoringPointFeatureOfInterest
«import»
«requirementsClass» cov erageObserv ation
(from Observation schema)
«requirementsClass» samplingFeature (from Sampling Features)
«requirementsClass» observ ation (from Observation schema)
Figure 5 - External dependencies (monitoring points)
18
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
«RequirementsClass» Interleav ed (TVP) Timeseries «import»
«import» «RequirementsClass» Categorical (TVP) Timeseries
«RequirementsClass» Timeseries
«import»
«import»
«RequirementsClass» Timeseries (Domain Range)
«import»
«RequirementsClass» Measurement (TVP) Timeseries
«RequirementsClass» Categorical (Domain Range) Timeseries
«import» «RequirementsClass» Measurement (Domain Range) Timeseries
«import» «import» «import»
«Leaf» Simple Components
«import»
(from SWE Common Data Model 2.0)
ISO 19123:2005 Cov erages
«import»
ISO 19103:2005 Schema Language
(from ISO 19123 Coverage geometry and functions)
(from ISO 19103 Conceptual Schema Language)
Figure 6 - External dependencies (timeseries)
9.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). Part 1 of WaterML2.0 does not define a full set of vocabularies for data exchange; it does, however, define a number of vocabularies that were identified as providing a first step for data exchange of time series. This standard defines vocabularies for the following concepts: -
Quality assertions for data values of a broad, categorical type. See section 9.12.3.2.1. The medium that is being sampled as part of the observation process. See section 9.4.1.8.3. The general types of processes used in observation. See section 9.22.1. The interpolation type of the values of a time series. See section 9.15.3.2.
These vocabularies are defined within the OGC definition namespace (http://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 WaterML2.0 will be used alongside existing sets of vocabularies as agreed upon within communities. The parties involved in exchange will determine the vocabularies that are to be used in exchanged. Optimally a recognized body, such as WMO, would govern the vocabularies. Future work within the Hydrology Domain Working Group should address the area of controlled vocabularies for the hydrology domain. These vocabularies require a governance structure that allows changes to be made as definitions evolve.
Copyright © 2012-2014 Open Geospatial Consortium
19
9.4
Requirements class: Timeseries Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation Target Type Name
Encoding of the conceptual model Time series observation
Dependency
urn:iso:dis:iso:19156:clause:6.2.2
Dependency
urn:iso:dis:iso:19156:clause:7
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-observervation-process
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-ofinterest
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 Figure 16 and section 9.12 of 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
If the feature of interest of the observation is not a domain feature (e.g. river section, dam, lake) then the featureOfInterest shall be of type or subtype of SF_SpatialSamplingFeature, as defined by ISO19156, which includes MonitoringPoint defined in section 9.20 of this standard. Requirement
/req/uml-timeseries-observation/procedure
A TimeseriesObservation shall have a procedure property of type ObservationProcess, or a reference to such a type, as defined in section 9.22 of this standard. Requirement
/req/uml-timeseries-observation/metadata
A TimeseriesObservation shall have a metadata property of type ObservationMetadata, as defined in section 9.4.1.8 of this standard. Requirement
/req/uml-timeseries-observation/observedProperty
A TimeseriesObservation shall have an observedProperty of type
20
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
GFI_PropertyType, as described in ISO19156. Requirement
/req/uml-timeseries-observation/phenomenonTime
The OM_Observation:phenomenonTime property shall be used to define the period over which the time series result applies for the given observed property. 9.4.1
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 thus possible to define a time series observations two ways using this model: 1. A collection of OM_Observations. Each observation represents a single sensor data point; the collection makes up a time series. 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 series. WaterML 2.0 TimeseriesObservation takes the second view of OM_Observation and defines TimeseriesObservation, TimeseriesTVPObservation and a TimeseriesDomainRangeObservation as shown in Figure 9. The two subtypes of TimeseriesObservation offer two different structuring of 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 first style is most common within the hydrology domain; the second approach is common within communities that make use of coverages. The second approach will most often result in a more compact encoding due to a more efficient structuring. See section 9.12.2 for a detailed description of the relationship to coverages. The TimeseriesObservation may be viewed as the spatiotemporal interoperability context 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 time series). Traditional data exchange within the hydrology domain often occurs at the timeseries level, either with an explicit means to identify the monitoring site, sensor (procedure) and phenomenon or through use of internal identifiers where systems resolve the constituent parts internally. WaterML2.0 views the TimeseriesObservation as a type of interoperability contract that facilitates data exchange. 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 Timeseries class is available for Copyright © 2012-2014 Open Geospatial Consortium
21
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. +relatedObservation 0..* «FeatureTyp... General Feature Instance:: GFI_Feature
«FeatureType» observ ation::OM_Observ ation
+featureOfInterest Domain 1
0..*
+ 0..* +propertyValueProvider+ + + +
phenomenonTime :TM_Object resultTime :TM_Instant validTime :TM_Period [0..1] resultQuality :DQ_Element [0..*] parameter :NamedValue [0..*]
«metaclass» General Feature Model:: GF_PropertyType {root}
+observedProperty Phenomenon
1
+ +
memberName :LocalName definition :CharacterString
«FeatureType» cov erageObserv ation:: OM_DiscreteCov erageObserv ation
MD_Metadata «Type» Observ ationMetadata
+metadata
Range
«FeatureType» TimeseriesObserv ation
0..1
+result
+procedure 0..* +generatedObservation
«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation
1
«FeatureType» Timeseries::Timeseries
OM_Process «FeatureType» Procedures:: Observ ationProcess
«FeatureType» TimeseriesDomainRangeObserv ation
Figure 7 - Observation specialisation
The properties (attributes and associations) of the TimeseriesObservation are outlined in the following sections. This includes properties that are inherited from the base classes from O&M; the description of the use is adapted to the context of this profile, providing guidance on how they should be used in the context of hydrological observations. 9.4.1.1
observedProperty (OM_Observation)
This property is used to describe the phenomenon that is being observed, “…such as "temperature", "height", "colour", "material"” [ISO19156]. The definitions of such properties take the form of a controlled vocabulary, ontology or hierarchy of some form. Part 1 of WaterML2.0 does not define the available hydrological phenomena involved in exchange; it is envisaged that a governing body such as WMO or the OGC Hydro Domain Working Group will define and govern such vocabularies. This property should reference a code item that adequately describes the phenomenon. See the XML implementation for how this is done using XLink references. As a minimum the definition of a concept should contain a name and definition, ss shown in the GF_PropertyType in Figure 7. 22
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
It is recommended that the observed phenomena be separated from the physical medium that is being sampled – see the sampled medium property in section 9.4.1.8.3 – and the units used for measurement (see MeasurementTimeseries in section 9.15.3). 9.4.1.2
parameter (OM_Observation)
This allows for arbitrary named value pairs to be specified for the observation. This is an extensible mechanism for adding (typically event-specific) information that may not be captured directly in the schema. The use of this property is described in ISO19156. 9.4.1.3
phenomenonTime (OM_Observation)
This property describes the temporal extent of the time series that is result of this observation. A TM_Object allows for multiple temporal objects defined by GML. WaterML2.0 restricts this to be a time period, defining the start and end times of the time series. 9.4.1.4
resultTime (OM_Observation)
O&M defines result time as the “…the time when the result becomes available, typically when the procedure associated with the observation was completed.” With a time series result, this will depend on the procedure used for the observation. For automated sensors producing continuous measurements, this will most likely be the time of the end of last point in the time series. For algorithms, sensors and manual methods, this will be time when the result time series becomes available, for example, when an algorithm or model has completed. The resultTime should be associated with the procedure producing the time series rather than generation of the encoded document (e.g. generation through a web service). The generationDate (see section 9.23) of the holding collection document should be used in this case. 9.4.1.5
validTime (OM_Observation)
This describes the time period for which the results are intended to be used. This is important for simulations (especially forecasts) that may only be applicable within a given window of time (often a newer data product will be available that supersedes the ‘observation’). 9.4.1.6
resultQuality (OM_Observation)
This is used to describe the overall quality of a time series. Time series often require per point quality information, which is provided by the specific timeseries types that are used (defined in section 9.12). The resultQuality type is DQ_Element, which is defined by ISO19115 - Data quality information. This type allows for a detailed description of various qualitative aspects of data sets. It is possible to describe both the process used in determining the quality (DQ_Element) and the result of the process (i.e. the estimated quality – DQ_Result), which may be a quantitative result or a level of conformance.
Copyright © 2012-2014 Open Geospatial Consortium
23
9.4.1.7
featureOfInterest (OM_Observation)
The feature of interest describes the feature that is the target of the observation. ISO19156 makes the 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 hydrology sampling is the most common approach (e.g. making a measurement at a particular point on a river section to make inferences about the whole river). Example spatial sampling features within the hydrology domain are shown in Table 3 along with the associated type from ISO19156. All these sampling types exist for the purpose of making estimates of properties (phenomena) of a larger body. Table 3 - Mapping of hydrological sampling features
Hydrological term
ISO19156 – Observations & Measurements
Monitoring station, gauging station, site
SF_SamplingPoint
Borehole, observation well, river profile
SF_SamplingCurve
River cross-section
SF_SamplingSurface
This profile defines one specialised sampling feature, a MonitoringPoint, which describes the characteristics of an in-situ point of observation (e.g. a monitoring station). This feature is recommended when describing such observations but it is recognised that more sampling features exist, thus the restriction of this property only extends to SF_SpatialSamplingFeature. The core of WaterML2.0 does not restrict the feature of interest to be only point-based sampling features. It does, however, identify that this is a common pattern for in-situ monitoring and captures this in the “monitoring point feature of interest” requirements class. It is thus possible to use different sampling features as the target feature. For example, the timeseries observation may describe the average value of a polygon through time. A separate OGC Discussion paper (11-039r2 HY_Features a Common Hydrologic Feature Model) provides a model for hydrologic features of interest and domain features. If exchanging detailed information on hydrologic features is required, this provides a framework for exchanging hydrologic features. As most timeseries data sources utilize monitoring points, the addition of a simple monitoring point feature is suitable for data exchange of this style. 9.4.1.8
metadata (OM_Observation)
The metadata property is restricted to type of ObservationMetadata, described in UML in Figure 8. 24
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Metadata entity set information::MD_Metadata
«FeatureType» observ ation:: OM_Observ ation
0..* +relatedObservation 0..*
+ + + + Metadata+metadata + + 0..1 + + + + + +
fileIdentifier :CharacterString [0..1] language :CharacterString [0..1] characterSet :MD_CharacterSetCode [0..1] = "utf8" parentIdentifier :CharacterString [0..1] hierarchyLevel :MD_ScopeCode [0..*] = "dataset" hierarchyLevelName :CharacterString [0..*] contact :CI_ResponsibleParty [1..*] dateStamp :Date metadataStandardName :CharacterString [0..1] metadataStandardVersion :CharacterString [0..1] dataSet :CharacterString [0..1] locale :PT_Locale [0..*]
«Type» Observ ationMetadata
«CodeList» SampledMediumCode
«CodeList» StatusCode
+ + + + +
intendedObservationSpacing :TM_PeriodDuration [0..1] status :StatusCode [0..1] sampledMedium :SampledMediumCode [0..1] maximumGap :TM_PeriodDuration [0..1] parameter :NamedValue [0..*]
Figure 8 - Observation metadata
ObservationMetadata, defined as a specialisation of the ISO19115 MD_Metadata type, adds observation specific metadata; each property is described in the following sections. 9.4.1.8.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 time series, 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 there is also the spacing property for Timeseries that is a stricter definition, allowing regularly spaced (equidistant) time series to be encoded (see section 9.12.3.1.2 for a full description). 9.4.1.8.2
status
The status is used as a general categorisation of the state of an observation often relating to the level of validation that has occurred to the data. This property will most likely reference a term in code list (e.g. ‘Validated’, ‘Provisional’). WaterML2.0 does not currently define a code list for the list of potential statuses. This will be addressed in future vocabulary work.
Copyright © 2012-2014 Open Geospatial Consortium
25
9.4.1.8.3
sampledMedium
Describes the medium that was sampled in order to make the observation (e.g. water). Table 4 lists some of the commonly represented mediums in hydrological monitoring. Note: future work on vocabularies harmonisation will investigate hierarchical and mapping related vocabulary items (see section 9.3 for further discussion). The URIs listed provide an initial step towards interoperability of code items. Table 4 - Media for hydrological monitoring
Medium
OGC Name
Water
http://www.opengis.net/def/waterml/2.0/medium/Water
Ground Water
http://www.opengis.net/def/waterml/2.0/medium/GroundWater
Surface Water
http://www.opengis.net/def/waterml/2.0/medium/SurfaceWater
Sediment
http://www.opengis.net/def/waterml/2.0/medium/SedimentWater
Pore Water
http://www.opengis.net/def/waterml/2.0/medium/PoreWater
Pore Air
http://www.opengis.net/def/waterml/2.0/medium/PoreAir
Soil
http://www.opengis.net/def/waterml/2.0/medium/Soil
Soil Air
http://www.opengis.net/def/waterml/2.0/medium/SoilAir
Soil Water
http://www.opengis.net/def/waterml/2.0/medium/SoilWater
Atmosphere
http://www.opengis.net/def/waterml/2.0/medium/Atmosphere
Tissue
http://www.opengis.net/def/waterml/2.0/medium/Tissue
Ground snow
http://www.opengis.net/def/waterml/2.0/medium/GroundSnow
Unknown
http://www.opengs.net/def/nil/OGC/0/unknown
9.4.1.8.4
parameter
A soft-typed field for arbitrary name-value pairs, using the O&M NamedValue type. This may be used to extend the available metadata properties. The use is different than the OM_Observation:parameter property which contains observation-specific parameters. This property should be used where cataloguing of the ObservationMetadata element is expected and requires specific extension.
26
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 9.4.1.8.5
OGC 10-126r4
maximumGap
Maximum gap provides information on the joining of different observations into a larger series. See section 9.15.2.2 for more information. 9.5
Time series observation specialisations The core TimeseriesObservation is restricted in two specialised types that represent the two possible timeseries result structures: domain-range and time-value pairs. See section 9.12 for details on the definition of the timeseries types. Note: The TimeseriesObservation does not directly subclass the OM_TimeseriesObservation from ISO19156 as this type restricts the result to a CVT_DiscreteTimeInstantCoverage, which is a style of TVP timeseries and thus would not allow the domain-range style of timeseries. Future work will attempt to harmonise the definition of timeseries across the ISO/OGC standards. Figure 10 shows the relationship between the time-value pair structuring of timeseries with the CVT_DiscreteTimeInstantCoverage type. The WaterML2.0 TimeValuePair type makes the specialisation of the DomainObject (to a temporal component) explicit through the WML_DomainObject. The two types reflect different styles of representing timeseries observations. +relatedObservation 0..* 0..* «FeatureType» observ ation::OM_Observ ation
CV_Coverage «FeatureType» cov erageObserv ation:: OM_DiscreteCov erageObserv ation
«FeatureType» TimeseriesObserv ation
«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation
+result
Range
Range
+result
+result
«type» Discrete Coverages:: CV_DiscreteCoverage
«FeatureType» Timeseries::Timeseries
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
«FeatureType» TimeseriesDomainRangeObserv ation
+result
«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
Figure 9 - Observation types as related to ISO19156 (green) and ISO19123 (red)
Copyright © 2012-2014 Open Geospatial Consortium
27
CV_Coverage «type» Discrete Coverages::CV_DiscreteCoverage +
locate(DirectPosition*) :Set<CV_GeometryValuePair>
+collection 0..*
CoverageFunction
Cov erage Core:: CV_GeometryValuePair
+element 0..*
+ +
geometry :CV_DomainObject value :Record
«FeatureType» Timeseries::Timeseries Temporal Cov erage:: CVT_DiscreteTimeInstantCov erage +collection CoverageFunction
0..* «FeatureType» TimeseriesTVP
+element 0..*
«DataType» Temporal Cov erage:: CVT_TimeInstantValuePair +
geometry :TM_Instant
+collection 0..*
CoverageFunction +element
«DataType» TimeValuePair
0..* +
geometry :WML_DomainObject
Figure 10 - Relationship to CVT_TimeInstantCoverage (ISO19156 – Annex C, green)
9.6
Requirements class – Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range-observation Target Type Name
Encoding of the conceptual model Time series (domain range) observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range
Requirement
/req/uml-timeseries-domain-range-observation/result
A TimeseriesDomainRangeObservation shall have a result of type TimeseriesDomainRange, as defined in section 9.13 of this standard. This is represented in the UML in Figure 9. 9.6.1.1
result (OM_Observation)
The result of a TimeseriesDomainRangeObservation TimeseriesDomainRange as defined in section 9.13.
28
is
restricted
to
be
of
type
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 9.7
OGC 10-126r4
Requirements class – Measurement Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domain-rangeobservation Target Type Name
Encoding of the conceptual model Measurement timeseries (domain range) observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-rangeobservation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domainrange
Requirement
/req/uml-measurement-timeseries-domain-range-observation/result
A MeasurementTimeseriesDomainRangeObservation shall have a result of type MeasurementTimeseriesDomainRange, as defined in section 9.17 of this standard. This is represented in the UML in Figure 11. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
«FeatureType» Timeseries Observ ation:: TimeseriesDomainRangeObserv ation
«FeatureType» MeasurementTimeseriesDomainRangeObserv ation
+result
+result
Timeseries «FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
«FeatureType» Measurement (Domain Range) Timeseries:: MeasurementTimeseriesDomainRange
Figure 11 - Measurement timeseries (domain range) observation 9.7.1.1
result (OM_Observation)
The result of a MeasurementTimeseriesDomainRangeObservation is restricted to be of type MeasurementTimeseriesDomainRange as defined in section 9.17. Copyright © 2012-2014 Open Geospatial Consortium
29
9.8
Requirements class – Categorical Timeseries (domain range) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-rangeobservation Target Type Name
Encoding of the conceptual model Categorical timeseries (domain range) observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-rangeobservation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-range
Requirement
/req/uml-categorical-timeseries-domain-range-observation/result
A CategoricalTimeseriesDomainRangeObservation shall have a result of type CategoricalTimeseriesDomainRange, as defined in section 9.8 of this standard. This is represented in the UML in Figure 12 OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
«FeatureType» Timeseries Observ ation:: TimeseriesDomainRangeObserv ation
«FeatureType» CategoricalTimeseriesDomainRangeObserv ation
Timeseries
+result
«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
+result
«FeatureType» Categorical (Domain Range) Timeseries:: CategoricalTimeseriesDomainRange
Figure 12 - categorical timeseries (domain range) observation 9.8.1.1
result (OM_Observation)
The result of a CategoricalTimeseriesDomainRangeObservation is restricted to be of type CategoricalTimeseriesDomainRange as defined in section 9.18.
30
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 9.9
OGC 10-126r4
Requirements class – Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation Target Type Name
Encoding of the conceptual model TVP (interleaved) timeseries observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp
Requirement
/req/uml-timeseries-tvp-observation/result
A TimeseriesTVPObservation shall have a result of type TVPTimeseries, as defined in clause 9.14 of this standard. This is represented in the UML in Figure 13. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
«FeatureType» TimeseriesTVPObserv ation
Timeseries +result
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
Figure 13 - Timeseries (TVP) Observation 9.9.1.1
result (OM_Observation)
The result of a TVPTimeseriesObservation is restricted to be of type TVPTimeseries as defined in section 9.14. 9.10 Requirements class – Measurement Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp-observation Target Type
Encoding of the conceptual model
Copyright © 2012-2014 Open Geospatial Consortium
31
Name
Time-value pair (interleaved) timeseries observation - measurements
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp
Requirement
/req/uml-measurement-timeseries-tvp-observation/result
A MeasurementTimeseriesTVPObservation shall have a result of type MeasurementTimeseriesTVP, as defined in clause 9.15 of this standard. This is represented in the UML in Figure 14. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
Timeseries
«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation
+result
«FeatureType» MeasurementTimeseriesTVPObserv ation
+result
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
«Type» Measurement (TVP) Timeseries:: MeasurementTimeseriesTVP
Figure 14 - Measurement timeseries (TVP) Observation 9.10.1.1
result (OM_Observation)
The result of a MeasurementTimeseriesTVPObservation is restricted to be of type MeasurementTimeseriesTVP as defined in section 9.15. 9.11 Requirements class – Categorical Timeseries time-value pair (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp-observation 32
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 Target Type Name
OGC 10-126r4
Encoding of the conceptual model Time-value pair (interleaved) timeseries observation - categorical
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp
Requirement
/req/uml-categorical-timeseries-tvp-observation/result
A CategoricalTimeseriesTVPObservation shall have a result of type CategoricalTimeseriesTVP, as defined in clause 9.16 of this standard. This is represented in the UML in Figure 15. OM_DiscreteCoverageObservation «FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
«FeatureType» Timeseries (TVP) Observ ation:: TimeseriesTVPObserv ation
Timeseries +result
«FeatureType» CategoricalTimeseriesTVPObserv ation
+result
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
«Type» Categorical (TVP) Timeseries :: CategoricalTimeseriesTVP
Figure 15 - Categorical timeseries (TVP) Observation 9.11.1.1
result (OM_Observation)
The result of a CategoricalTVPTimeseriesObservation is restricted to be of type CategoricalTimeseriesTVP as defined in clause 9.16. 9.12 Requirements class: Timeseries (Core) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Copyright © 2012-2014 Open Geospatial Consortium
33
Target Type Name
Encoding of the conceptual model Timeseries
Dependency
urn:iso:dis:iso:19123:clause:5.3 (CV_Coverage)
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). This is shown in Figure 18. 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-homogenous
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 requirements class is abstract). Requirement
/req/uml-timeseries-core/quality
When specifying the quality of a data point using the quality property (section 9.12.3.2.1) an appropriate URI from Table 5 shall be used. Requirement
/req/uml-timeseries-core/timeseries-metadata
The timeseries shall support metadata for the series as shown in the UML in Figure 16 and Figure 19. Requirement
/req/uml-timeseries-core/point-metadata
The timeseries shall support point metadata for each value in the series as shown in the UML in Figure 20.
34
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
«type» Coverage Core::CV_Coverage
«type» +domainElement Cov erage Core:: Domain CV_DomainObj ect 1..*
+collection +collection
Range
«type» Discrete Coverages::CV_DiscreteCoverage +
locate(DirectPosition*) :Set<CV_GeometryValuePair>
«type» Cov erage Core:: 0..* CV_AttributeValues
+rangeElement
+
values :Record
+collection 0..*
CoverageFunction +element
Cov erage Core::CV_GeometryValuePair
0..*
«FeatureType» Timeseries
+ +
geometry :CV_DomainObject value :Record
«type» Records and Class Metadata::Record {root}
constraints {record-type homogenous}
+
locate(MemberName*) :Any
0..* Annotation +metadata
0..1
«DataType» TimeseriesMetadata + + + +
baseTime :TM_Instant [0..1] spacing :TM_PeriodDuration [0..1] temporalExtent :TM_Period [0..1] extension :NamedValue [0..*]
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
Figure 16 - Timeseries base type and relationship to coverages
Conceptually, WaterML2.0 captures the notion of timeseries as a low-level data management structure that contains an ordered set of related point observations. The point observations that make up a time series 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, store the individual observations, and will group them into time series 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 a 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 time series. Potential types for measurement include: Copyright © 2012-2014 Open Geospatial Consortium
35
Measures (3.2 m/s) Vectors (e.g. wind speed and direction: 3.2 m/s North) Categorical (e.g. ‘cloudy’, ‘windy’ etc.) Composite (combination of phenomena, e.g. Conductivity, Temperature, Dissolved oxygen) WaterML2.0 – part 1 focuses on timeseries with value types of measures and categories. These types capture the percentage of requirements for data exchange, while keeping a level of simplicity in the model and encodings, leading to simpler implementations. Composite timeseries (multiple phenomena) and other types will be addressed in future versions. Within the hydrology domain, downstream processes often annotate timeseries using both manual and automatic methods. An example is quality assurance and control where a timeseries may be marked up to give an indication of quality of data; this may be done, for example, by a person manually looking at a plot, or by algorithms checking for abnormal deviations or other indicators. Such annotations come in many different forms and are important to persist for data exchange purposes. 9.12.1 Relationship to timeseries concepts in other domains
Timeseries are not specific to the hydrology domain, but the observation processes and use of data form a specific view of timeseries that represent the particular domains requirements. Other domains have information models for timeseries that reflect the needs of their domain; for example, financial timeseries, other environmental sciences or science domains making use of continuous observation. This standard, with a focus on assisting interoperability and the growing need for cross-domain exchange, attempts to relate key concepts to those in related domains. The most closely related concept within the spatial and observation community is that of coverages. 9.12.2 Relationship to ISO19123 – Coverages
ISO19123 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.” A time series 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 timevalue pairs.
36
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
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.” Within hydrology this is often the case. 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.
Temporal axis (Domain)
Parameter Space (Range)
Figure 17 - Timeseries as a coverage
WaterML2.0 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. 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 16 and Figure 18.
Copyright © 2012-2014 Open Geospatial Consortium
37
«type» Coverage Core::CV_Coverage + + +
domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule
+ + + + +
evaluate(DirectPosition*, Sequence<CharacterString>*) :Record evaluateInverse(Record*) :Set<CV_DomainObject> find(DirectPosition*, Integer*) :Sequence<CV_GeometryValuePair> list() :Set<CV_GeometryValuePair> select(GM_Object*, TM_Period*) :Set<CV_GeometryValuePair>
+collection
Range +rangeElement
0..*
«type» Cov erage Core:: CV_AttributeValues +
+collection
values :Record
Domain +domainElement 1..* TM_Primitive Temporal Obj ects:: TM_GeometricPrimitiv e
+temporalElement
«type» Cov erage Core::CV_DomainObj ect
+temporalElement 0..*
+spatialElement SpatialComposition 0..*
TemporalComposition
«type» Geometry root:: GM_Object {root}
+spatialElement
1
TemporalComposition
«Type» WML_DomainObj ect
1
SpatialComposition
constraints {temporalElements shall be ordered in increasing time} {result domain = feature of interest + time series}
Figure 18 - Timeseries as a coverage
A timeseries may then be viewed in two ways from a coverage perspective: using the ‘domainrange’ view or the ‘geometry-value’ or interleaved view. Note that the term ‘geometry’ holds the domain object and is composed of varying spatial and temporal components (e.g. time instants). The two types are show in Figure 21 and Figure 22 respectively. The geometry-value view is consistent with the most common structuring in the hydrology domain: time and values are coupled together and represent discrete observations at time instants. The use of the term geometry is based on the coverage viewpoint; time-value will be used in place for clarity. 9.12.3 Timeseries and point metadata
Associating metadata with timeseries as a whole and at each individual point is a common requirement in hydrological 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. At a generic level it is possible to associate any metadata with timeseries and timeseries points, this is shown with Annotation associations in Figure 21 and Figure 22. Using a soft-typed approach, this is simply a collection of named value pairs. Whilst flexible, this approach doesn’t
38
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
capture semantics specific to the metadata elements. WaterML2.0 thus defines two specialisations for timeseries and point-based metadata as shown in Figure 19 and Figure 20. 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 ISO19123 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. The core elements of annotation for timeseries and timeseries points are shown in Figure 19 and Figure 20. These types are further extended for specific series types (e.g. measurement series.) Each of the metadata elements is described in the following sections. 9.12.3.1
Timeseries metadata «DataType» TimeseriesMetadata + + + +
baseTime :TM_Instant [0..1] spacing :TM_PeriodDuration [0..1] domainExtent :TM_Period [0..1] parameter :NamedValue [0..*]
Figure 19 - Timeseries metadata
The following sections define the available metadata properties for timeseries. 9.12.3.1.1 domainExtent
The domain extent is the temporal extent of the timeseries. The concept is inherited from the coverage model as shown in Figure 18. As the domain of the timeseries is temporal, the domainExtent 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. 9.12.3.1.2 Equidistant time series (baseTime and spacing)
Time series 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 time series 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. See requirement req/xsd-timeseries-tvp/equidistant-encoding in section 10.8 for details on how this is implemented in XML. If the spacing between the timeseries values differs then the time instants Copyright © 2012-2014 Open Geospatial Consortium
39
should be directly represented. For such cases (non-equidistant times), the intendedObservationSpacing (section 9.4.1.8.1) may be used to indicate the expected spacing. This allows for discovery based on the intended spacing, even there are some values that are note exactly equidistant (e.g. the frequency was increased through an important event). 9.12.3.1.3 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. 9.12.3.2
Point metadata «DataType» PointMetadata + + + + + + +
quality :DataQualityCode [0..1] nilReason :NilReason [0..1] comment :CharacterString [0..1] relatedObservation :OM_Observation [0..1] qualifier :Quality [0..*] processing :ProcessingCode [0..1] source :MD_DataIdentification [0..1]
«CodeList» ProcessingCode
«CodeList» DataQualityCode
«CodeList» basicTypes:: NilReasonEnumeration {root} + + + + +
inapplicable missing template unknown withheld
«Union» Simple Components::Quality «property» + byQuantity :Quantity + byQuantityRange :QuantityRange + byCategory :Category + byText :Text
Figure 20 – Timeseries point metadata 9.12.3.2.1 quality
This property is for specifying a quality assertion using the WaterML2.0 defined concepts of quality as described below. When a non-standard quality code is required the qualifier property shall be used as described in section 9.12.3.2.5. WaterML2.0 defines a set of high-level categories for quality to enhance interpretation and interoperability of data exchange, shown in Table 5. The categories defined in table allow for software and/or users to get an idea of the nature of a data series (or point). The URIs from this list shall be used for this property. 40
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 Table 5 - Quality categories
Quality
OGC Name
Description
Good
http://www.opengis.net/def/wat erml/2.0/quality/good
The data has been examined and represents a reliable measurement.
Suspect
http://www.opengis.net/def/wat erml/2.0/quality/suspect
The data should be treated as suspect.
Estimate
http://www.opengis.net/def/wat erml/2.0/quality/estimate
The data is an estimate only, not a direct measurement.
Poor
http://www.opengis.net/def/wat erml/2.0/quality/poor
The data should be considered as low quality and may have been rejected.
Unchecked
http://www.opengis.net/def/wat erml/2.0/quality/unchecked
The data has not been checked by any qualitative method.
Missing
http://www.opengs.net/def/nil/O The data is missing. GC/0/missing
9.12.3.2.2 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.). 9.12.3.2.3 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. 9.12.3.2.4 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. 9.12.3.2.5 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. Wide ranges of these are in use and harmonisation of the available types will be addressed in future work.
Copyright © 2012-2014 Open Geospatial Consortium
41
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 WaterML2.0 quality codes are not being used (see 9.12.3.2.1); for example, where an internal quality code needs to be preserved with the data. 9.12.3.2.6 processing
The processing property allows for the categorisation of the processing that has been performed on the time series. 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 time series, such as for a forecast time series. The XML encoding handles these cases with a defaulting mechanism described in section 10.8. 9.12.3.2.7 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 ISO19115) that provides context on where the data was sourced. This is useful derived time series 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. 9.13 Requirements class: Timeseries Domain-Range Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range Target Type Name
Encoding of the conceptual model Timeseries (Domain-Range)
Dependency
urn:iso:dis:iso:19123:clause:5.7 (CV_DiscreteCoverage)
Dependency
http://www.opengis.net/spec/waterml/2.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 as shown in Figure 21.
42
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
«type» Coverage Core::CV_Coverage + + +
domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule
+ + + + +
evaluate(DirectPosition*, Sequence<CharacterString>*) :Record evaluateInverse(Record*) :Set<CV_DomainObject> find(DirectPosition*, Integer*) :Sequence<CV_GeometryValuePair> list() :Set<CV_GeometryValuePair> select(GM_Object*, TM_Period*) :Set<CV_GeometryValuePair>
«type» Discrete Coverages::CV_DiscreteCoverage +
+collection Range
+collection +rangeElement 0..* «type» Cov erage Core:: CV_AttributeValues
locate(DirectPosition*) :Set<CV_GeometryValuePair> Domain +
values :Record
«FeatureType» Timeseries::Timeseries +domainElement 1..* «type» Cov erage Core::CV_DomainObj ect «FeatureType» TimeseriesDomainRange
Annotation +metadata «FeatureType» AnnotationCov erage
+collection
0..*
+domainElement
Domain +collection
Domain
«Type» Timeseries::WML_DomainObj ect
1..* constraints +domainElement {temporalElements shall be ordered in increasing time} {result domain = feature of interest + time series} 1..*
Figure 21 - Timeseries using domain-range view 9.13.1 Domain
Specifies the temporal domain of the coverage. This is the set of time elements that are mapped to the range set using a 1:1 mapping. 9.13.2 Range
Specifies the value set for the timeseries. This class keeps the value-type abstract and subclasses identify the common timeseries types, such as timeseries of measurements 9.14 Requirements class: Timeseries Time-Value Pair (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp
Copyright © 2012-2014 Open Geospatial Consortium
43
Target Type
Encoding of the conceptual model
Name
Timeseries (interleaved)
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core
Dependency
urn:iso:dis:iso:19123:clause:5.7 (CV_DiscreteCoverage)
Dependency
urn:iso:dis:iso:19123:clause:5.8 (CV_GeometryValuePair)
Requirement
/req/uml-timeseries-tvp/interleaved
The time (domain) and values (range) shall be provided using using time-value pair representation as shown in Figure 22. +rangeElement
«type» Coverage Core::CV_Coverage Domain
+collection
+domainElement 1..* «type» Cov erage Core:: CV_DomainObj ect
+ + +
+collection
domainExtent :EX_Extent [1..*] rangeType :RecordType commonPointRule :CV_CommonPointRule
«type» Discrete Coverages:: CV_DiscreteCoverage
Range
0..*
+
0..* + +
«FeatureType» Timeseries::Timeseries
geometry :CV_DomainObject value :Record
«DataType» TimeValuePair
«Type» Timeseries:: WML_DomainObj ect
+element +
geometry :WML_DomainObject
0..*
CoverageFunction +collection «FeatureType» TimeseriesTVP
values :Record
Cov erage Core:: CV_GeometryValuePair
+collection CoverageFunction +element 0..*
«type» Cov erage Core:: CV_AttributeValues
Annotation
0..*
+metadata
0..1
«DataType» Timeseries::PointMetadata + + + + + + + +
quality :DataQualityCode [0..1] nilReason :NilReason [0..1] comment :CharacterString [0..1] relatedObservation :OM_Observation [0..1] qualifier :Quality [0..*] processing :ProcessingCode [0..1] source :MD_DataIdentification [0..1] aggregationDuration :TM_PeriodDuration [0..1]
Figure 22 - Timeseries using time-value (interleaved) view 9.14.1 geometry
The ‘geometry’ property contains the temporal domain of the timeseries coverage (e.g. the time instant that a value is associated to.) 44
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
9.14.2 Value
The value is a Record (as defined by ISO19123) that indicates the value of the property of interest for the observation. This class keeps the value-type abstract and subclasses identify the common timeseries types, such as timeseries of measurements. 9.15 Requirements class: Measurement Timeseries TVP (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvp Target Type Name
Encoding of the conceptual model Measurement Timeseries (interleaved)
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp
Requirement
/req/uml-measurement-timeseries-tvp/value-type
All values of the time-value pairs of a MeasureTimeseries 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 (section 9.15.3.2) an appropriate URI from Table 6 shall be used.
Copyright © 2012-2014 Open Geospatial Consortium
45
«FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
+collection CoverageFunction +element 0..*
«Type» MeasurementTimeseriesTVP
«DataType» Interleav ed (TVP) Timeseries:: TimeValuePair
0..*
+
geometry :WML_DomainObject
«Type» MeasureTimeValuePair
+collection CoverageFunction +element 0..*
0..*
+
value :Measure
Annotation
Annotation +metadata
+metadata
PointMetadata
TimeseriesMetadata
«DataType» MeasurementPointMetadata
«DataType» MeasurementTimeseriesMetadata + + + + + +
cumulative :Boolean accumulationIntervalLength :TM_PeriodDuration [0..1] accumulationAnchorTime :TM_Period [0..1] startAnchorPoint :TM_Position [0..1] endAnchorPoint :TM_Position [0..1] maxGapPeriod :TM_PeriodDuration [0..1]
+ + + +
censoredReason :CensoredReasonCode [0..1] accuracy :Quantity [0..1] interpolationCode :InterpolationCode aggregationDuration :TM_PeriodDuration [0..1]
«CodeList» Timeseries::InterpolationCode
Units of Measure::Measure +measure UnitOfMeasure +uom {root} 0..* 1 + value :Number
Units of Measure:: UnitOfMeasure {root} +subunit 0..*0..1 SubUnitsPerUnit
Figure 23 - Measurement Timeseries (TVP) 9.15.1 Value
The Measurement type shown in Figure 23 is always associated to a unit of measure. Conceptually, all individual points have a unit of measure; it is common that for a timeseries the unit of measure will be the same – there are mechanisms for setting default properties in the XML encoding. The units of measure themselves are not defined by WaterML2.0 but referenced through appropriate identifiers.
46
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
9.15.2 Measurement Timeseries metadata 9.15.2.1
Anchor point
The startAnchorPoint and endAnchorPoint properties are used to extend a time series to include non-explicitly represented periods of time for which the observation is valid. Individual points, when associated with their interpolation type (section 9.15.3.2), 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 24, 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 how far back the value should be considered to hold. The anchor point time specifies a ‘ghost’ point to allow the value to be interpreted correctly.
Figure 24 - Anchor points 9.15.2.2
Joining separate observation series (max gap period)
When two non-overlapping time series have been separately collected they require ‘connection’ in order to make a single time series. For example, if the latest two months of river discharge 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 25 shows an example of this scenario.
Copyright © 2012-2014 Open Geospatial Consortium
47
Figure 25 - Connecting two time series
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. 9.15.2.3
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 26. Note: cumulative series should only be used for time series of the total data types: instantaneous total, preceding total, succeeding total as these represent total quantities.
48
Copyright © 2012-2014 Open Geospatial Consortium
OGC 10-126r4
Value
OGC WaterML 2.0
Time Figure 26 - 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 accumulationIntervalLength defines the duration of the period. For example, Figure 27 shows accumulated daily rainfall totals from 9am to 9am.
Figure 27 - Example accumulated series
Copyright © 2012-2014 Open Geospatial Consortium
49
9.15.3 Measurement Timeseries point metadata 9.15.3.1
censoredReason
This property allows specification of a reason for a value being censored. This is often used when the value of a measured property moves below or above the threshold of the measuring device. To specify a censor threshold (e.g. 0.02 mm), a point-level qualifier may be used (of type Quantity) as described in section 9.12.3.2.5. 9.15.3.2
accuracy
This property allows for a quantitative assertion of the estimated accuracy of the measurement value. 9.15.3.1
aggregationDuration
This property describes the time aggregation that has occurred to the value in the timeseries. 9.15.3.2
interpolationType
One of the core characteristics of measurement time series 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 time series values. For example, the value may represent an average across the time period since the last point (average in preceding interval). WaterML2.0 defines a number of types of time series, as shown in Table 6. The interpolation type is defined per point within the time series 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. Table 6 - Types of time series
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.1 Continuous/Instantaneous e/Continuous
50
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Value
A continuous time series 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.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.2 Discontinuous e/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. water
sample
Value
Example: Infrequent measuring pH.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.3 Instantaneous total e/InstantTotal
Copyright © 2012-2014 Open Geospatial Consortium
51
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.
Value
Example: An individual tip of a tipping bucket rain gauge.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.4 Average in preceding interval e/AveragePrec Value represents the average value over the preceding interval.
Value
Example: Daily mean discharge.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.5 Maximum in preceding interval e/MaxPrec
52
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 Value represents the maximum value that was measured during the preceding time interval.
Value
Example: Monthly maximum discharge
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.6 Minimum in preceding interval e/MinPrec Value represents the minimum value that was measured during the preceding time interval.
Value
Example: Daily minimum temperature.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.7 Preceding total e/TotalPrec
Copyright © 2012-2014 Open Geospatial Consortium
53
Value represents the total of measurements taken within the previous time interval.
Value
Example: Daily pan evaporation
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.8 Average in succeeding interval e/AverageSucc Value represents the average value over the following interval.
Value
Example: Daily mean discharge encoded as value representing beginning of interval (ODM style).
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.9 Succeeding total e/TotalSucc
54
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Value
Value represents the total of measurements taken within the following time interval.
Time
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.10 Minimum in succeeding e/MinSucc interval
Value represents the minimum value for the following interval.
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.11 Maximum in succeeding e/MaxSucc interval
Value represents the maximum value for the following interval.
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.12 Constant in preceding interval e/ConstPrec Value is constant in the preceding interval. Example: Alarm level
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.13 Constant in succeeding e/ConstSucc interval
Value is constant in the succeeding interval. Example: Alarm level
http://www.opengis.net/def/waterml/2.0/interpolationTyp 5.3.2.14 Statistical e/Statistical
Copyright © 2012-2014 Open Geospatial Consortium
55
Interpolation type is defined by a statistical method.
9.16 Requirements class: Categorical Timeseries TVP (interleaved) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp Target Type Name
Encoding of the conceptual model Categorical Timeseries (interleaved) TVP
Dependency
http://www.opengis.net/spec/waterml/2.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 as shown in the UML in Figure 28.
56
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Timeseries «FeatureType» Interleav ed (TVP) Timeseries:: TimeseriesTVP
+collection 0..*
CoverageFunction +element
«DataType» Interleav ed (TVP) Timeseries:: TimeValuePair
0..* +
geometry :WML_DomainObject
«Type» CategoricalTimeseriesTVP +collection 0..*
CoverageFunction +element
«Type» CategoryTimeValuePair
0..* +
value :Category
AbstractSimpleComponent «Type» Simple Components::Category
Figure 28 - Categorical timeseries (TVP)
9.17 Requirements class: Measurement Timeseries (Domain-Range) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-domain-range Target Type Name
Encoding of the conceptual model Timeseries (Domain-Range)
Dependency
http://www.opengis.net/spec/waterml/2.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.
Copyright © 2012-2014 Open Geospatial Consortium
57
«type» Coverage Core::CV_Coverage
+collection
Range +rangeElement
«type» Cov erage Core:: CV_AttributeValues
0..* +
values :Record
«type» Discrete Coverages:: CV_DiscreteCoverage
«FeatureType» Timeseries::Timeseries Units of Measure::Measure {root}
«DataType» CV_AttributeValuesMeasure +
«FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
values :Measure
+rangeElement
0..*
Range «FeatureType» +collection MeasurementTimeseriesDomainRange
Figure 29 - Measurement timeseries (domain range)
9.18 Requirements class: Categorical Timeseries (Domain-Range) Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-domain-range Target Type Name
Encoding of the conceptual model Categorical Timeseries (Domain-Range)
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range
Requirement
/req/uml-categorical-timeseries-domain-range-category/value-type
The type of all the range elements of a CategoricalTimeseriesDomainRange shall be of type Category as shown in the UML in Figure 30.
58
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
«type» Coverage Core::CV_Coverage
+collection
Range
+rangeElement 0..*
«type» Discrete Coverages::CV_DiscreteCoverage
«type» Cov erage Core:: CV_AttributeValues +
values :Record
«FeatureType» Timeseries::Timeseries AbstractSimpleComponent «Type» Simple Components::Category «FeatureType» Timeseries (Domain Range):: TimeseriesDomainRange
«FeatureType» CategoricalTimeseriesDomainRange
«DataType» WML_AttributeValuesMeasure +
values :Category
+rangeElement
+collection
0..*
Range
Figure 30 - Categorical timeseries (domain range)
9.19 Requirements class: Monitoring Points Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point Target Type Name
Encoding of the conceptual model Monitoring point
Dependency
urn:iso:dis:iso:19156:clause:9
Requirement
/req/uml-monitoring-point/valid
An encoding of MonitoringPoint shall represent the class(es) described in Figure 31 with all attributes and associations. Recommendation
/rec/uml-monitoring-point/time-zone-abbreviation
Copyright © 2012-2014 Open Geospatial Consortium
59
When using a time zone abbreviation, an abbreviation from the list supplied at http://www.timeanddate.com/library/abbreviations/timezones/ should be used. Monitoring points within the hydrological domain are often referred to as stations, sites or locations. These are sometimes equivalent, but the meaning can be subtly different across usages. The differences are often in how these terms relate to each other in groups or hierarchies, for example sometimes a station or a site may have many measuring locations. In WaterML2.0, in-situ monitoring points are described using the Sampling Features packages of the O&M model. As described in section 7.1, sampling features are used in the following 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) Case 1 here is typical of the majority of in-situ observations in hydrology, where a body is sampled to obtain an estimate of the whole. A domain feature is defined as a “feature of a type within a particular application domain”. Examples of domain features for hydrology include: Rivers Reservoirs Lakes Canals Glaciers Aquifers Such domain features almost always have properties whose value may be estimated by observation. Extending the example domain features from the above list, some example property types of interest for hydrology are shown in Table 7. Table 7 - Examples of property-types mapped to domain feature-types
Domain feature
Example property types
River
Stage (or level), temperature, velocity, turbidity, pH
60
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Reservoirs
Stage (or level), volume, temperature
Lakes
Stage (or level), volume, temperature
Snow drift
Depth, water equivalent
The estimation of such properties is performed by sampling the domain feature at a particular point, which is then used as an estimate of the larger domain body. For example, measuring the temperature at a point on a river gives an estimate of temperature at that exact point, whereas the temperature for the full body of water would be a spatially more complex result, changing in relation to its depth and position upstream or downstream (i.e. a type of spatial coverage). Whilst the distinction is subtle, since O&M is a cross-domain model with the intent of integrating data across different observation styles, it is an important one. This standard does not define the domain features specific to hydrology but it does allow for the relationship between the sampling feature (site, station, location) and the domain feature to be expressed. This is done using the ‘sampledFeature’ property that is defined in the O&M base type, ‘SF_SamplingFeature’. Properties (or attributes) of sampling points that are of interest within the hydrology domain include: Name, alternate names; Connection to a group of measuring sampling points; Identifiers (individual organisations may have separate identifiers); Responsible organisation; Classification of the sampling point; Operator; Time zone in which the sampling point is located; Spatial location, optionally including altitude; Links to hydrological hierarchies such as catchments, stream networks, regions etc. Comments containing extra descriptive information regarding the sampling point. NOTE: Separate sampling points should only be defined if the particular site is different; where there are multiple observed properties (e.g. multiple sensors being used at one site) should reference the same sampling point.
Copyright © 2012-2014 Open Geospatial Consortium
61
MonitoringPoint is defined as a specialisation of the O&M SF_SamplingPoint and thus also inherits the properties of this feature type. SF_SamplingPoint restricts the SF_SamplingFeature’s shape property to be a point. The UML for MonitoringPoint is shown in Figure 31.
+relatedSamplingFeature 0..*
0..* GFI_Feature
«FeatureType» SF_SamplingFeature
«CodeList» CI_RoleCode + + + + + + + + + + +
+ +
resourceProvider custodian owner user distributor originator pointOfContact principalInvestigator processor publisher author
parameter :NamedValue [0..*] lineage :LI_Lineage [0..1]
individualName :CharacterString [0..1] organisationName :CharacterString [0..1] positionName :CharacterString [0..1] contactInfo :CI_Contact [0..1] role :CI_RoleCode
«DataType» TimeZone
+ +
Intention «informative»
1..*
GFI_Feature «informative» GFI_DomainFeature
«FeatureType» SF_SpatialSamplingFeature
GM_Primitive Geometry +shape
«FeatureType» SF_SamplingPoint
«datatype» CI_ResponsibleParty + + + + +
+sampledFeature
+relatedParty
«type» GM_Point
«FeatureType» MonitoringPoint
0..* + + +
+timeZone
0..1 zoneAbbreviation :CharacterString [0..1] +daylightSavingsTimeZone zoneOffset :CharacterString 0..1
descriptionReference :GenericName [0..*] verticalDatum :CD_VerticalDatum [0..*] monitoringType :GenericName [0..*]
::SF_SpatialSamplingFeature + positionalAccuracy :DQ_PositionalAccuracy [0..2] ::SF_SamplingFeature + parameter :NamedValue [0..*] + lineage :LI_Lineage [0..1]
Figure 31 - MonitoringPoint
The properties of sampling points are described in the following sections. 9.19.1 shape (SF_SamplingFeature)
The shape property describes the geometry of the sampling feature. For a MonitoringPoint this is a point. 9.19.2 sampledFeature (SF_SamplingFeature)
This property provides a reference to the ultimate domain feature that is being observed. The type of this feature will depend on the type of sampling feature being used; some examples are shown in Table 7.
62
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
9.19.3 lineage (SF_SamplingFeature)
Used to describe the history of a sampling point. Examples include replacement of equipment, previous names etc. The lineage type (from ISO19115) allows for either simple statements of history, or the definition of chained sources and process steps that have occurred to the sampling feature. 9.19.4 parameter (SF_SamplingFeature)
A name-value parameter allowing soft-typed properties to be specified. This can be used to extend the set of existing properties. E.g. specifying geomorphic characteristics in the vicinity of a sampling point is a specialised requirement that does not exist in the current model but may be added through this property. 9.19.5 positionalAccuracy (SF_SpatialSamplingFeature)
Used to specify the accuracy of the positioning of the sampling point. This will be dependent upon the method used for calculating the coordinates of the point. E.g. differentially corrected GPS, resulting in accuracy of +/- 0.1 meter. 9.19.6 timeZone and daylightSavingsTimeZone
Specifies the time zone that the sampling point is located in. The zone offset must be specified (e.g. +10:00 GMT), with an optional zone abbreviation (e.g. AEST). The daylightSavingsTimeZone property can be used to specify the time zone for daylight time if applicable. 9.19.7 relatedParty
Describes parties –individuals or organisations – that are related to the monitoring point. Multiple related parties may be described using the role code list (from ISO 19115). The most common relationships within the context of this standard (and specifically, monitoring points) include: owner, originator, pointOfContact, principalInvestigator and distributor. 9.19.8 descriptionReference
A property meant to hold links to external descriptions of the monitoring station. For example, links to photos, html description pages etc. Note: gml:descriptionReference specifies it should link to a text description hence was not used. 9.19.9 monitoringType
This property categorises the style of monitoring that occurs at the station. This is often contains a number of categories. WMO [5] defines a set of community topics appropriate for this use (WMO_CommunityTopicCategoryCode), listed in Annex G. Note that sampling points may fall under multiple classifications, as sampling points are often multi-purpose.
Copyright © 2012-2014 Open Geospatial Consortium
63
9.19.10 verticalDatum
Specifies the elevation that is used as the zero point, or datum, for stage measurements. The datum is defined using a vertical datum, which may be defined using the ISO19111 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 gauge zero as a height above a reference datum. E.g. local gauge zero is 23m above the AHD. 9.20 Requirements class: Monitoring Point feature of interest Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-of-interest Target Type Name
Encoding of the conceptual model Monitoring point
Dependency
urn:iso:dis:iso:19156:clause:9
Requirement
/req/uml-monitoring-point-feature-of-interest/foi
The target of the featureOfInterest property of the TimeseriesObservation shall be a MonitoringPoint type or a reference to an object of this type. Most direct timeseries observations in hydrology use a monitoring point to sample a domain feature (e.g. edge of a river, on a point on a lake etc.). This requirements class describes this case. This restriction is not captured in the core timeseries observation requirements class, as it is common for derived observations to have a feature of interest as the domain feature (e.g. a derived storage volume measurement is a direct ‘observation’ of the storage’s volume property). 9.21 Requirements class: Sampling Feature Collections Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-feature-collections Target Type
Encoding of the conceptual model
Name
Sampling feature collections
Dependency
urn:iso:dis:iso:19156:clause:9
Requirement
/req/uml-sampling-feature-collections/groups
Groups of sampling points shall be described using SamplingFeatureCollection feature type from ISO19156.
64
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Defining groups of sampling points is often required, allowing multiple sampling points to be associated with a particular identifier or name. This is common in hydrology as organisations often have a number of sampling points (often closely located) that may be named for the purposes of site visits, maintenance or reporting. A SamplingFeatureCollection is how a group such as a “field site with many sampling locations” would be expressed. GFI_Feature «FeatureType» SF_SamplingFeature +member
1..*
Collection
«FeatureType» SF_SamplingFeatureCollection
Figure 32 - SF_SamplingFeatureCollection as defined by ISO19156
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 points in the group. It is possible to implement sampling groups in both directions: When defining the sampling point, include a relation to the sampling features in the group using the relatedSamplingFeature property. Define a SF_SamplingFeatureCollection that contains the sampling points. Note: this can be done by referencing already defined sampling points through an identifier or by defining the containing points directly inline. The two approaches are useful in different scenarios; guidance on their use is expanded in examples and future best practice guides. 9.22 Requirements class: Observation process Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process Target Type Name Dependency
Encoding of the conceptual model Observation process urn:iso:dis:iso:19156:clause:9
Copyright © 2012-2014 Open Geospatial Consortium
65
Requirement
/req/uml-observation-process/valid
The om:procedure property shall point to a feature type that represents the ObservationProcess class described in Figure 33 with attributes and associations. Requirement
/req/uml-observation-process/processType
The processType property of ObservationProcess shall use the appropriate type from Table 8. 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 to define process specific to hydrology, as shown in Figure 33. «FeatureType» observation:: OM_Process
+originatingProcess
«CodeList» ProcessTypeCode
0..1
«FeatureType» Observ ationProcess + + + + + + +
aggregationPeriod :TM_PeriodDuration [0..1] gaugeDatum :CD_VerticalDatum [0..1] input :GenericName [0..*] operatorComments :CharacterString [0..*] parameter :NamedValue [0..*] processReference :GenericName [0..1] processType :ProcessTypeCode
+operator
«datatype» Citation and responsible party information:: CI_ResponsibleParty
+ 0..1 + + + +
individualName :CharacterString [0..1] organisationName :CharacterString [0..1] positionName :CharacterString [0..1] contactInfo :CI_Contact [0..1] role :CI_RoleCode
Figure 33 - Observation process feature type
A large number of direct in-situ hydrological observations are performed by a sensor or sensor system. Common types of sensors include rain gauges, water level gauges, water quality sensors such as temperature, turbidity etc. Manual procedures may also be used to make measurements at a particular sampling point. These may be ad-hoc visits to a particular point, 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;
66
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
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. 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 observations 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.” WaterML2 defines an ObservationProcess feature type. This a generic class to describe processes related to the creation of hydrological results. Table 8 - available types of processes
Process type
OGC Name
Simulation
http://www.opengis.net/def/waterml/2.0/processType/Simulation
Manual Method
http://www.opengis.net/def/waterml/2.0/processType/ManualMethod
Sensor
http://www.opengis.net/def/waterml/2.0/processType/Sensor
Algorithm
http://www.opengis.net/def/waterml/2.0/processType/Algorithm
Unknown
http://www.opengs.net/def/nil/OGC/0/unknown
The following sections describe the properties available in ObservationProcess. 9.22.1 processType
Identifies the process type that was used to generate this observation. The available process types are listed in Table 8. Note that this should be the last process that operated on the observation. The original source of the data should be identified using the originalSource property. 9.22.2 processReference
A reference to an external process that was used. This could be the specification sheet for a sensor, a piece of code implementing an algorithm, or a reference to a methods repository, such as National Environmental Method Index (https://www.nemi.gov/).
Copyright © 2012-2014 Open Geospatial Consortium
67
9.22.3 verticalDatum
A datum reference is available here (a property also exists in the description of monitoring points, see section 9.19) for cases where the vertical datum used for level measurements differs from the datum associated with the monitoring point. The CD_VerticalDatum type allows specification of the local gauge zero as a height above a reference datum. E.g. local gauge zero is 23m above the AHD. 9.22.4 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. 9.22.5 parameter
A soft-typed parameter to allow arbitrary properties to be added to the description. This property uses the name-value type from ISO19156. 9.22.6 operator
Describes the party responsible for performing the process. E.g. the person performing the method or operating the sensor. 9.22.7 comment
Free text comments that may be inserted by the operator or the system performing the process 9.22.8 input
Provides a list of references to the inputs used in the simulation process. Note: The process model requires further harmonisation with SensorML and/or ISO19139 LI_Lineage. 9.23 Requirements Class: Collection Requirements Class http://www.opengis.net/spec/waterml/2.0/req/uml-collection Target Type Name
Encoding of the conceptual model Collection
Dependency
urn:iso:dis:iso:19156:clause:9
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point
68
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 Requirement
OGC 10-126r4
/req/uml-collection/valid
A collection shall have the ability to contain multiple sampling features or sampling feature collections; observations; and inline dictionaries as described by the UML in Figure 34. WaterML2.0 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 34. 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. «Union» SamplingFeatureMember + +
byGroup :SF_SamplingFeatureCollection [0..1] byFeature :SF_SpatialSamplingFeature [0..1]
+samplingFeatureMember
0..*
«FeatureType» Collection + + + + +
OM_DiscreteCoverageObservation
communityExtension :Any [0..*] internalExtension :Any [0..*] localDictionary :Dictionary [0..*] temporalExtent :TM_Period [0..1] parameter :NamedValue [0..*]
+metadata
+observationMember
1
«Type» DocumentMetadata + + +
0..*
«FeatureType» Timeseries Observ ation:: TimeseriesObserv ation
generationDate :TM_DateAndTime version :GenericName [0..1] generationSystem :CharacterString [0..1]
«Type» +profile ConformanceClass 0..*
Figure 34 - Collection
Copyright © 2012-2014 Open Geospatial Consortium
69
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. The contents of a collection will be determined by the scenario in which it is used; some examples include: Web service responses Transactional updates Groups of model outputs (ensemble models) 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. 9.23.1 metadata
Describes the metadata associated with the document. See section 9.23.8 for the definition of DocumentMetadata. 9.23.2 samplingFeatureMember
This property allows for multiple sampling features to be described within the document. The feature member may also be a sampling feature collection (SF_SamplingFeatureCollection). 9.23.3 observationMember
This property allows for multiple TimeseriesObservation members to be included in the collection document. 9.23.4 temporalExtent
Describes the temporal extent of the all the observation members that exist in the document. 9.23.5 parameter
A soft-typed parameter to allow arbitrary properties to be added to the collection. This property uses the name-value type from ISO19156. 9.23.6 Extension (community and internal)
The communityExtension and internalExtension properties provide a schema extension point that allows new schema types to be used if required. The Any type allows elements from other namespaces to be included. The community extension should be used to place extension types that have been agreed upon by a community (such as the Hydro Domain Working Group); the 70
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
internal extension allows organisations to use internal extensions without affecting agreed on extensions. 9.23.7 Local dictionaries
The localDictionary property allows code lists to be locally defined in a document. This is useful where external vocabularies may want to be stored alongside data to preserve its integrity or resolution to vocabulary services may not be available. These dictionaries may contain, for example, code lists for quality, qualifiers or other regularly referenced terms. In an XML encoding the dictionary allows code items to be encoded and then internally referenced using xlink:href to the gml:id of the required code. This helps to reduce redundancy if codes are used in multiple places. 9.23.8 Document metadata
The metadata property of the Collection class defines the metadata relating to the document. 9.23.9 generationDate
Specifies the date the document was generated. 9.23.10 version
This version property is distinct from the schema version. It indicates the package version that is being used where package is the combination of schema, vocabularies and any profiles used. This allows versions to be more specific based on their implemented usage of the schema. 9.23.11 generationSystem
A textual description of the system that generated the document. 9.23.12 profile
This property identifies the conformance classes that are being adhered to within the collection document. This allows the collection to explicitly identify the profile (which is a set of conformance classes) that is being used. Ultimately the conformance classes would be identified by their URL(s) within the implementation (e.g. as done in the XML implementation).
Copyright © 2012-2014 Open Geospatial Consortium
71
10 XML Implementation (normative) This standard defines a GML XML Schema implementation that is compliant to the UML conceptual models defined in Section 9. Preliminary XML schemas were auto generated from the models following the encoding rules Annex E of OGC Geography Markup Language v3.2 (ISO 19136:2007). These were then modified to meet the requirements outlined. Schematron patterns are also implemented for additional requirements where appropriate. Table 9 - Mapping of WaterML2.0 UML classes to XML elements WaterML 2.0 UML
WaterML 2.0 XML
MeasurementTimeseriesTVPObservation
om:OM_Observation*
CategoricalTimeseriesTVPObservation
om:OM_Observation*
ObservationProcess
wml2:ObservationProcess
MonitoringPoint
wml2:MonitoringPoint
TimeseriesTVP
wml2:Timeseries
MeasurementTimeseriesTVP
wml2:MeasurementTimeseries
CategoricalTimeseriesTVP
wml2:CategoricalTimeseries
TimeValuePair
wml2:TimeValuePair
MeasurementTimeValuePair
wml2:MeasurementTVP
CategoricalTimeValuePair
wml2:CategoricalTVP
TimeseriesMetadata
wml2:TimeseriesMetadata
MeasurementTimeseriesMetadata
wml2:MeasurementTimeseriesMetadata
PointMetadata
wml2:TVPMetadata
MeasurementPointMetadata
wml2:TVPMeasurementMetadata
ObservationMetadata
wml2:ObservationMetadata
Collection
wml2:Collection
* The specialisation of OM_Observation is provided through Schematron rather than a specialised XML type.
72
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 Table 10 - O&M URIs for observation specialisations
WaterML v2.0
OGC Name
Content of om:result in WaterML2 1 XML
MeasurementTimeseriesTVPObservation
http://www.opengis.net/def/observationType/water ml/2.0/MeasurementTimeseriesTVPObservation
type=’wml2:MeasurementTimeseries'
CategoricalTVPTimeseriesObservation
http://www.opengis.net/def/observationType/water ml/2.0/CategoricalTVPTimeseriesObservation
type=’wml2:CategoricalTimeseries’
10.1 Scope of XML implementation The normative part of this XML implementation does not target the domain-range style of timeseries encoding. This was not included, as the schema design has not progressed through the required analysis from the Standards Working Group. The domain-range XML encoding is provided as an informative schema, within its own namespace, allowing it to be used with the normative WaterML2.0 schema. The implementation is a conformant extension to the gmlcov schema (http://www.opengis.net/gmlcov/1.0), adding support for the WaterML2.0 types. Future work will ensure the schema design is consistent with stakeholder requirements. The major design issue relates to providing the value-level metadata that a timevalue pair encoding supports. The current approach uses supplementary coverages to describe time-varying metadata such as quality assertions. An example is provided in Annex B.
Table 11 - Mapping of UML to XML conformance classes WaterML v2.0 UML Conformance Class Timeseries Observation
WaterML2.0 XML Conformance Class
/conf/xsd-timeseries-observation
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation Monitoring point feature of interest http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-feature-of-interest Interleaved (TVP) style
Timeseries TVP (interleaved)
/conf/xsd-feature-of-interest-monitoring-point /conf/xsd-timeseries-tvp
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp Measurement Timeseries TVP (interleaved)
/conf/xsd-measurement-timeseries-tvp
http://www.opengis.net/spec/waterml/2.0/req/uml-measurementtimeseries-tvp Categorical Timeseries TVP (interleaved)
/conf/xsd-categorical-timeseries-tvp
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp Timeseries TVP (interleaved) Observation
/conf/xsd-timeseries-tvp-observation
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation Measurement Timeseries TVP (interleaved) Observation
/conf/xsd-measurement-timeseries-tvp-observation
http://www.opengis.net/spec/waterml/2.0/req/uml-measurementtimeseries-tvp-observation Categorical Timeseries TVP (interleaved) Observation
/conf/xsd-categorical-timeseries-tvp-observation
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp-observation Monitoring point exchange
/conf/xsd-monitoring-point
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-feature-collections Collection exchange
/conf/xsd-collection
http://www.opengis.net/spec/waterml/2.0/req/uml-collection Observation process exchange http://www.opengis.net/spec/waterml/2.0/req/uml-observervation-process
74
/conf/xsd-observation-process
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
10.2 XML encoding principles 10.2.1 Virtual typing
In accordance with OMXML, the specialisation of the OM_Observation result type is provided through schematron restriction. The om:type element may be used to specify the type of OM_Observation that is being encoded. This shall be done using the OGC Name URI for the corresponding type from Table 10. 10.2.2 Abstract requirements and conformances classes
As noted in the OGC Modular Specification section 6.2, the tests for abstract conformance classes may need to be described in the subclass classes if the base requirements class are ambiguous for the abstract class. This is the case for the two styles of timeseries conformance classes, domain-range and interleaved (time-value pair). Some requirements for these classes are re-specified in more concrete terms to allow more explicit testing. 10.2.3 XML Examples
Some of the requirements listed below have example XML snippets for informative purposes. A complete example is shown in Annex B. In all examples, the following namespaces are used: Table 12 - XML Example Code Namespaces Identifier
Namespace URL
xsi
http://www.w3.org/2001/XMLSchema-instance
gml
http://www.opengis.net/gml/3.2
om
http://www.opengis.net/om/2.0
xlink
http://www.w3.org/1999/xlink
wml2
http://www.opengis.net/waterml/2.0
gmd
http://www.isotc211.org/2005/gmd
gco
http://www.isotc211.org/2005/gco
sam
http://www.opengis.net/sampling/2.0
sams
http://www.opengis.net/samplingSpatial/2.0
10.3 Requirements Class: XML Rules Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules Target Type
Data instance
Copyright © 2012-2014 Open Geospatial Consortium
75
Name
Rules for encoding XML
Dependency
http://www.w3.org/TR/xmlschema-2
Dependency
http://www.opengis.net/doc/IS/GML/3.2/clause/2.4
Dependency
http://www.opengis.net/spec/SWE/2.0/req/xsd-simple-components
Dependency
urn:iso:dis:iso:8601:2004:clause:4
Requirement
/req/xsd-xml-rules/iso8601-time All date-time elements shall be encoded using ISO8601 extended time format.
Requirement
/req/xsd-xml-rules/time-zone The value of each time element (defined in the TimeValuePairType ‘time’ element) shall include a time zone definition using a signed 4 digit character or a ‘Z’ to represent Zulu or Greenwich Mean Time (GMT). This is defined by the following regular expression: (Z|[+-]HH:MM)
Requirement
/req/xsd-xml-rules/unit-of-measure All units of measure shall use the appropriate code from the The Unified Code for Units of Measure (UCUM) code system. The unit of measure shall be identified by encoding the UCUM code1 in the ‘code’ attribute of the wml2:uom elelement.
Requirement
/req/xsd-xml-rules/swe-types When using the SWE Common types, the following elements shall not be used: swe:quality (AbstractSimpleComponentType), swe:nilValues (AbstractSimpleComponentType), swe:constraint (QuantityType, QuantityRangeType, CategoryType). The attributes ‘optional’ and ‘updatable’ from the base type ‘AbstractDataComponent’ shall also not be used.
Recommendation
/rec/xsd-xml-rules/xlink-title
1 The UCUM base codes are available in XML form here: http://aurora.regenstrief.org/~ucum/ucum-essence.xml.
76
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 If an xlink:href is used to reference a controlled vocabulary item, the element should encode the xlink:title attribute with a text description of the referenced item.
Recommendation
/rec/xsd-xml-rules/vocabulary-references When specifying references to vocabulary (code) items using an xlink:href, a resolvable HTTP URL should be used which, when resolved, should provide suitable description of the concept being referenced.
This requirements class defines common rules and recommendations for all XML instances. 10.3.1 Use of vocabularies in XML
Within this GML application schema, code or vocabulary items are referenced using the xlink:href attribute which provides a reference to the appropriate code item. This follows existing best practices for referencing code items from XML documents, where the endpoint of the reference provides adequate description of the concept being referenced, possible relationships to other terms (hierarchical) and multi-lingual labels and descriptions. As discussed in section 9.3, WaterML2.0 defines a number of vocabularies that exist within the http://opengis.net namespace, according the OGC’s NA policies. It is possible to reference vocabularies from other namespaces within WaterML2.0 documents. It is recommended that such concepts have an available online definition and have been recognised by some level of authority. In the following example, the time of the time-value pair is encoded in the ISO8601 time format, using a time-zone offset. The quality is encoded as a reference to a controlled vocabulary, using xlink:href to refer to the term and xlink:title to provide a text description. <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value>2.0</wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:quality xlink:href="http://www.opengis.net/def/waterml/2.0/quality/suspect" xlink:title="suspect"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point>
XML Example 1 - XML rules example
10.4 Requirements Class: Timeseries Observation This requirements class restricts the content model for the XML element OM_Observation relating specifically to timeseries observations. The requirements classes that depend on this class describe specific result types of time series. The restrictions rules for OM_Observation are captured in the ‘timeseries-observation.sch’ Schematron file.
Copyright © 2012-2014 Open Geospatial Consortium
77
Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation Target Type Name
Data instance Timeseries observation
Dependency
http://www.opengis.net/spec/OMXML/2.0/req/observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Requirement
/req/xsd-timeseries-observation/procedure The xml element om:procedure shall contain a wml2:ObservationProcess element, a member of its substitution group or a reference to an external definition of the process using the xlink:href attribute.
Requirement
/req/xsd-timeseries-observation/metadata If present, the xml element om:metadata shall contain a wml2:ObservationMetadata element, a member of its substitution group or a reference to an external definition of the metadata using the xlink:href attribute.
Requirement
/req/xsd-timeseries-observation/result The xml element om:result shall contain a concrete subelement in the substitution group wml2:Timeseries.
Requirement
/req/xsd-timeseries-observation/phenomenonTime The om:phenomenonTime element shall contain a gml:TimePeriod element that represents the temporal extent of the timeseries result of the observation.
Recommenda /rec/xsd-timeseries-observation/resultQuality tion
The om:resultQuality should use an xlink:href to reference the qualitative tests that have been applied, according to the ISO19115 (encoded in ISO19139) information model.
10.4.1 observedProperty
As outlined in section 9.4.1.1, this standard does not define a list of controlled codes for the observed property. The om:observedProperty element is defined by O&M as a gml:ReferenceType, which uses xlink to reference a URI (URN or URL) that identifies the phenomenon being observed. It is desirable to have a URL that is resolvable to a resolvable description of the phenomenon where possible. There are best practices for management of vocabularies, but their deployment and use is out of scope for this standard.
78
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
An example vocabulary that defines a (small) set of observable properties in a hierarchical form is the SWEET ontology2. 10.4.2 resultQuality
It is recommended (as per /rec/xsd-timeseries-observation/resultQuality) that the resultQuality (of type DQ_Element) not be encoded directly in the XML document but through an xlink:href to the encoded XML. This allows references to be made to the XML description of these tests if they are available. More granular quality descriptions (and qualifiers) are supported at the timeseries level. 10.5 Requirements Class: Timeseries Time-Value Pair (interleaved) Observation This requirements class captures the core type of timeseries observation – one with a result of an interleaved time-value pair timeseries. This restriction is defined in the ‘timeseries-tvpobservation.sch’ Schematron file. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation Target Type Name
Data instance Time-value pair (interleaved) timeseries observation
Dependency
http://www.opengis.net/spec/OMXML/2.0/req/observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation
Requirement
/req/xsd-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:Timeseries.
2 http://sweet.jpl.nasa.gov/2.2/phenHydro.owl
Copyright © 2012-2014 Open Geospatial Consortium
79
10.6 Requirements Class: Measurement time-value pair Timeseries (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvpobservation Target Type Name
Data instance Measurement TVP (interleaved) timeseries observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseries-tvpobservation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvp
Requirement
/req/xsd-measurement-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:MeasurementTimeseries.
The example below shows a measurement timeseries observation with appropriate metadata, phenomenon time, procedure and result elements. The result uses an interleaved timeseries (time-value pair) encoding which references the example in listing XML Example 3 for brevity. <om:OM_Observation gml:id="xsd-timeseries-observation.example"> <om:metadata> <wml2:ObservationMetadata> <gmd:contact xlink:href="http://www.example.com" xlink:title="Example Pty Ltd"/> <gmd:dateStamp> <gco:DateTime>2011-11-21T12:30:00+10:00</gco:DateTime> </gmd:dateStamp> <gmd:identificationInfo xlink:href="http://www.example.com/observations/example" xlink:title="Example Observation"/> </wml2:ObservationMetadata> </om:metadata> <om:phenomenonTime> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:26:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:27:00+10:00</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> ... <om:procedure> <wml2:ObservationProcess gml:id="observation-process.1"> <wml2:processType xlink:href="http://www.opengis.net/def/waterml/2.0/processType/ManualMethod" xlink:title="Manual Collection"/> <wml2:processReference xlink:href="http://www.example.com/manual/1.0" xlink:title="Manual Sampling Regime 1.0"/> </wml2:ObservationProcess> </om:procedure> ... <om:result xlink:href=”#xsd-measurement-timeseries-tvp.example” /> </om:OM_Observation>
80
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
XML Example 2 - Measurement timeseries observation
10.7 Requirements Class: Categorical time-value pair Timeseries (interleaved) Observation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvpobservation Target Type Name
Data instance Categorical TVP (interleaved) timeseries observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvpobservation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp-observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp
Requirement
/req/xsd-categorical-timeseries-tvp-observation/result The xml element om:result shall have a value that matches the content model defined by wml2:CategoricalTimeseries.
10.8 Requirements Class: Timeseries – time-value pair representation This requirements class describes the structure of the interleaved timeseries. The structure supports time-value pair representation with the ability to associate metadata on a point-by-point basis. This class satisfies both the core timeseries requirements class and the time-value pair representation as described in sections 9.12 and 9.14 respectively. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp Target Type
Data instance
Name
TimeseriesTVP
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp
Requirement
/req/xsd-timeseries-tvp/valid The content model of this XML element shall have a value that matches the content model defined by wml2:Timeseries.
Copyright © 2012-2014 Open Geospatial Consortium
81
Requirement
/req/xsd-timeseries-tvp/time-increasing The domain elements (implemented as the wml2:point element) shall be ordered in increasing time.
Requirement
/req/xsd-timeseries-tvp/record-homogenous The type of the wml2:value element (range) shall be the same for each point in the timeseries, with the exception null values which may be used on any value.
Requirement
/req/xsd-timeseries-tvp/domain-time The domain of the timeseries coverage shall consist only of a temporal component.
Requirement
/req/xsd-timeseries-tvp/default-point-metadata If the element defaultPointMetadata is present, the specified metadata elements apply as default values to all subsequent point elements encoded in the timeseries. If a metadata element is specified for a point then it overrides the default value. For elements with multiple cardinality (e.g. qualifiers), all defaults shall be overridden if a single element is defined in the metadata.
Requirement
/req/xsd-timeseries-tvp/equidistant-encoding If the baseTime and spacing elements are defined, the time element shall not be encoded. The time instants shall be calculated according to the follow: time (n) = baseTime + (n * spacing) n = zero-based point index. e.g. baseTime= 2011-01-01T00:00:00, spacing=P15M points: [0] - 2011-01-01T00:00:00 [1] - 2011-01-01T00:15:00 [2] - 2011-01-01T00:30:00 [3] - 2011-01-01T00:45:00 [4] - 2011-01-01T01:00:00
Requirement
/req/xsd-timeseries-tvp/time-mandatory If the baseTime and spacing elements are not present, the time element shall be encoded.
Requirement
/req/xsd-timeseries-tvp/null-value To indicate a value is null, the xsi:nil attribute shall be set to ‘true’.
Requirement
/req/xsd-timeseries-tvp/null-point-reason If a point is specified as null, a nilReason or censoredReason shall be
82
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
provided.
Requirement
/req/xsd-timeseries-tvp/timeseries-metadata The type of the wml2:metadata element shall be wml2:TimeseriesMetadata or an element in the wml2:TimeseriesMetadata substitution group.
Recommenda /rec/xsd-timeseries-tvp/nil-reason-vocab tion
When specifying a null point reason (nilReason), one of the following URLs should be used: Inapplicable (http://www.opengis.net/def/nil/OGC/0/inapplicable) Missing (http://www.opengis.net/def/nil/OGC/0/missing) Template (http://www.opengis.net/def/nil/OGC/0/template) - value will be available at later date. Unknown (http://www.opengis.net/def/nil/OGC/0/unknown) Withheld (http://www.opengis.net/def/nil/OGC/0/withheld.html)
This requirements class implements the /req/uml-timeseries-core and /req/uml-timeseries-tvp requirements classes from the UML model. See the specialised timeseries requirements classes for specific examples. 10.8.1 Spatially varying timeseries
This implementation adds the simplifying requirement that the domain of the timeseries is fixed in space and only varies through time. Timeseries that vary in space for each value will be addressed in future work – this case is supported the conceptual UML model where the domain may encode varying spatial components. 10.8.2 Defaulting point-based metadata
This XML implementation provides a mechanism for defaulting point metadata for a whole series and overriding for individual points if required. This technique is optional (defaultPointMetadata has cardinality 0…1) and should be used where timeseries are largely homogenous in terms of the individual metadata elements, such as units of measure, quality, and so on. The behaviour for the defaulting is described by requirement /req/xsd-timeseries-tvp/defaultPointMetadata. An example is show in XML Example 3. 10.9 Requirements Class: Measurement Timeseries – time-value pair representation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseries-tvp Target Type Name Dependency
Data instance Measure Timeseries – time value pair http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-
Copyright © 2012-2014 Open Geospatial Consortium
83
timeseries-tvp
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp
Requirement
/req/xsd-measurement-timeseries-tvp/interpolation-type The interpolation type of each point shall be specified at each point using the interpolationType element or through the use of the defaultPointMetadata/interopolationType element.
Requirement
/req/xsd-measurement-timeseries-tvp/value-measure The type of the wml2:point element shall be wml2:MeasurementTVP.
Requirement
/req/xsd-measurement-timeseries-tvp/unit-of-measure Every value within the time series must have a unit of measure specified, either explicitly or from a specified default.
Requirement
/req/xsd-measurement-timeseries-tvp/timeseries-metadata The type of the wml2:metadata element shall be wml2:MeasurementTimeseriesMetadata.
Requirement
/req/xsd-measurement-timeseries-tvp/point-metadata The type of the wml2:point/wml2:MeasurementTVP/wml2:metadata element shall be wml2:TVPMeasurementMetadata.
The following timeseries shows an example of an equidistant coding of a time series, using default point-metadata and a nil value. The measurements occur at 12:27:00, 12:28:00 and 12:29:00. The measurement expected at 12:29:00 is missing. The temporal extent of the time series runs from 12:27:00 to 2:30:00. <wml2:MeasurementTimeseries gml:id="xsd-measurement-timeseries-tvp.example"> <gml:description>Example timeseries for XML encoding http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-time-value-pair</gml:description> <wml2:metadata> <wml2:MeasurementTimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:27:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:30:00+10:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:baseTime>2011-11-21T12:27:00+10:00</wml2:baseTime> <wml2:spacing>PT1M</wml2:spacing> </wml2:MeasurementTimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:uom code="m"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata>
84
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
<wml2:point> <wml2:MeasurementTVP> <wml2:value>3.0</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>3.2</wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:accuracy> <swe:Quantity> <swe:uom code="m"/> <swe:value>0.1</swe:value> </swe:Quantity> </wml2:accuracy> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"/> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:nilReason xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>3.63</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries>
XML Example 3 – Measurement timeseries (time-value pair)
Copyright © 2012-2014 Open Geospatial Consortium
85
This example shows the use of the qualifier element to provide extra point-based metadata. Here the qualifier is used to describe the lower threshold for a censored value. <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:qualifier> <swe:Quantity definition="http://www.example.com/sensors/lower_threshold"> <swe:description>Lower limit for sensor</swe:description> <swe:uom code="m"/> <swe:value>1.0</swe:value> </swe:Quantity> </wml2:qualifier> <wml2:censoredReason xlink:href="http://www.opengis.net/def/nil/OGC/0/BelowDetectionRange" xlink:title="Below threshold of sensor"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point>
XML Example 4 - Use of qualifiers
Notes on implementation of ISO19123 in XML-GML Schema: gmlcov does not contain an implementation of the geometry-value representation of ISO19123 coverage. The best practice at http://bp.schemas.opengis.net/06-188r2/cv/0.2.2_gml32/discreteCoverage.xsd contains an implementation of the geometry-value representation and restricts the geometry to gml:TimeInstantPropertyType (in the CV_TimeInstantValuePairType type). This is not a sub-type of the CV_DomainObject (which has a temporal and spatial element) and as such is not strictly a direct implementation (without a minor mapping rule). The CompactTimeValuePair also does not encode the CV_DomainObject directly, but collapses straight to the required temporal type (for the temporalElement). The timeseries implementation here uses the deviations described as follows: The ‘geometry’ element of the CV_GeometryValuePair that holds the CV_DomainObject has been renamed ‘time’ and is typed as a gml:TimePositionType which is an implementation of the model described in 9.12. This is consistent with the approach taken in 06-188r2. Future work should define a geometry-value GML encoding by aligning with GML Coverage (09-146r1). This was out of scope for the initial version of this standard. The type of the ‘value’ (range) element is restricted to be one of the supported timeseries types as defined in the requirement: http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseriestvp/record-homogenous. The domainExtent of a discrete time coverage describes the temporal bounds of the time series and was renamed temporalExtent to describe more closely its relation to the timeseries. The deviations allow for a schema that more closely reflects the needs of the community. A transformation may be used on instances conforming to this schema to derive a fully compliant instance if required. Future work should investigate harmonising the OGC definition of timeseries from the coverage, GML and SWE Common viewpoints.
86
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
10.10 Requirements Class: Categorical Timeseries – time-value pair representation Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp Target Type Name
Data instance Categorical Timeseries – time value pair
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseries-tvp
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp
Requirement
/req/xsd-categorical-timeseries-tvp/value-category The type of the wml2:point XML element shall be wml2:CategoricalTVP.
<wml2:CategoricalTimeseries gml:id="cat_ts_ex_2"> <gml:description>This is an example showing a categorical time series describing a series of manual weather observations. </gml:description> <wml2:temporalExtent> <gml:TimePeriod gml:id="tp_1"> <gml:beginPosition>2011-11-16T00:00:00+11:00</gml:beginPosition> <gml:endPosition>2011-11-18T00:00:00+11:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Fairly uniform precipitation composed exclusively of very small water droplets (less than 0.5 mm in diameter) very close to one another</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Drizzle</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-17T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Usually begin and end suddenly. Relatively short-lived, but may last half an hour. Fall from cumulus clouds, often separated by blue sky. Showers may fall in patches rather than across the whole forecast area. Range in intensity from light to very heavy</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Showers</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-18T00:00:00+11:00</wml2:time> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata>
Copyright © 2012-2014 Open Geospatial Consortium
87
<wml2:TVPMetadata> <wml2:nilReason xlink:href=“http://www.opengis.net/def/nil/OGC/0/missing”/> <wml2:comment>No observation performed.</wml2:comment> </wml2:TVPMetadata> </wml2:metadata> </wml2:CategoricalTVP> </wml2:point> </wml2:CategoricalTimeseries>
XML Example 5 - Categorical timeseries (time-value pair)
10.11
Requirements Class: Monitoring point as feature of interest
This requirements class captures the restriction of OM_Observation where the feature of interest is a monitoring point. This class is to be used for most in-situ style monitoring situations where the WaterML2.0 monitoring point is sufficient for representing the location metadata. This would not be used in cases where a specific community profile is being used to describe the sampling feature (e.g. a groundwater well) or the observation is made of a whole domain feature (e.g. a derived observation representing lake storage). Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-feature-of-interest-monitoringpoint Target Type Name
Data instance Monitoring point feature of interest
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Dependency
http://www.opengis.net/spec/OMXML/2.0/req/observation
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-timeseriesobservation
Requirement
/req/xsd-feature-of-interest-monitoring-point/featureOfInterest The featureOfInterest element of TimeseriesObservation shall have a value that matches the content model defined by wml2:MonitoringPoint.
Example This example uses xlink:href to refer to the same monitoring point as defined in section 10.13.
<om:featureOfInterest xlink:href=”#xsd-monitoring-point.example” xline:title=”Deddington”/>
88
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 10.12
OGC 10-126r4
Requirements Class: Observation Process
This requirements class is used to describe the process involved in making timeseries observation. The class is targeted at providing basic process description; full process languages such as SensorML may be used if more detailed information is required. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-observation-process Target Type Name
Data instance Observation process
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Requirement
/req/xsd-observation-process/valid The content model of this element shall have a value that matches the content model defined by wml2:ObservationProcess.
The following example shows an algorithmic process that takes data from another process (Observation 1.8) and applies a further process (min_daily_mean_monthly) to it. The process accepts as an input the water height from the source process and applies a bias parameter to it. <?xml version="1.0" encoding="UTF-8"?> <wml2:ObservationProcess gml:id="xsd-observation-process.example"> <wml2:processType xlink:href="http://www.opengis.net/def/waterml/2.0/processType/Algorithm" xlink:title="Algorithmic Process"/> <wml2:originatingProcess xlink:href="http://www.example.com/observations/1.8" xlink:title="Timeseries Observation 1.8"/> <wml2:aggregationDuration>P1D</wml2:aggregationDuration> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:processReference xlink:href="http://kisters.de/tsm_agent/min_daily_mean_monthly" xlink:title="Minimum Daily Mean Monthly"/> <wml2:input xlink:href="http://sweet.jpl.nasa.gov/2.3/propSpaceThickness.owl#WaterHeight" xlink:title="Water Height"/> <wml2:parameter> <om:NamedValue> <om:name xlink:href="http://sweet.jpl.nasa.gov/2.3/propDifference.owl#Bias" xlink:title="Bias"/> <om:value>-0.1</om:value> </om:NamedValue> </wml2:parameter> </wml2:ObservationProcess>
XML Example 6 - Observation process
Copyright © 2012-2014 Open Geospatial Consortium
89
10.13
Requirements Class: Monitoring Point
This requirements class is to be used to describe monitoring points (sampling points) that are described using a point-based geometry. WaterML2.0 extends the OMXML Sampling Point type to add metadata specific to hydrological monitoring. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point Target Type Name
Data instance Monitoring point
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Dependency
http://www.opengis.net/spec/OMXML/2.0/req/samplingPoint
Requirement
/req/xsd-monitoring-point/valid The content model of this element shall have a value that matches the content model defined by wml2:MonitoringPoint.
The Deddington monitoring point samples the Nile river. The monitoring point is at latitude 41.814935S and longitude 147.568517W and uses the Australian height datum as a reference datum. The monitoring point is in the Australian Easten Daylight Timezone, 11 hours ahead of UTC. <wml2:MonitoringPoint gml:id="xsd-monitoring-point.example"> <gml:description>Nile river at Deddington, South Esk catchment, Tasmania</gml:description> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/nile " xlink:title="Nile River" /> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum" /> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint>
XML Example 7 - Monitoring point
90
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 10.14
OGC 10-126r4
Requirements Class: Collection
This requirements class is to be used to describe collections of objects from WaterML2.0. This includes observations, sampling features, sampling feature groups and inline dictionaries. Requirements Class http://www.opengis.net/spec/waterml/2.0/req/xsd-collection Target Type
Data instance
Name
Collection
Dependency
http://www.opengis.net/spec/waterml/2.0/req/uml-collection
Dependency
http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules
Requirement
/req/xsd-collection/valid The content model of this element shall have a value that matches the content model defined by wml2:Collection.
See Annex B for an example collection.
10.14.1 Use of inline dictionaries
The localDictionary element allows dictionary/code items to be encoded within the collection. This allows local references to be made to the dictionary rather than external links via xlink. Examples of its use are provided in Annex B.
Copyright © 2012-2014 Open Geospatial Consortium
91
Annex A Abstract test suite (normative)
A.1
Conformance classes - UML Package
A.1.1 Conformance Class: Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation urn:iso:dis:iso:19156:clause:A.1.1 Dependency Test /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
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/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. Test type Test
Capability
/conf/uml-timeseries-observation/procedure
Requirement /req/uml-timeseries-observation/procedure Test purpose Verify that the procedure of the Observation is of a type ObservationProcess or a reference to an appropriate 92
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 definition of the process used in generating the timeseries.
Test
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/conf/uml-timeseries-observation/metadata
Requirement /req/uml-timeseries-observation/metadata Test purpose Verify that the metadata property of the Observation is of a type ObservationMetadata.
Test
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/conf/uml-timeseries-observation/observedProperty
Requirement /req/uml-timeseries-observation/observedProperty Test purpose This requirement reflects the requirement from ISO19156 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. Test type Test
Capability
/conf/uml-timeseries-observation/phenomenonTime
Requirement /req/uml-timeseries-observation/phenomenonTime Test purpose Verify that the OM_Observation:phenomenonTime property describes the temporal range of the timeseries result (OM_Observation:result). Test method Inspect the model or software implementation to verify the above requirement.
Copyright © 2012-2014 Open Geospatial Consortium
93
Test type
Capability
A.1.2 Conformance Class: Domain Range Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domain-range-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domainrange-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range Test /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.
Test type
Capability
A.1.3 Conformance Class: Measurement (Domain Range) Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-domain-rangeobservation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriesdomain-range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-measurementDependency timeseries-domain-range Test /conf/uml-measurement-timeseries-domain-range-observation/result
Requirement /req/uml-measurement-timeseries-domain-rangeobservation/result
Test purpose Verify that an observation result conforms to the structure of a MeasurementTimeseriesDomainRange.
94
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
A.1.4 Conformance Class: Categorical (Domain Range) Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-domain-rangeobservation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriesdomain-range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseriesDependency domain-range Test /conf/uml-categorical-timeseries-domain-range-observation/result
Requirement /req/uml-categorical-timeseries-domain-rangeobservation/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.
Test type
Capability
A.1.5 Conformance Class: TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvpobservation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /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.
Copyright © 2012-2014 Open Geospatial Consortium
95
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
A.1.6 Conformance Class: Measurement TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriestvp-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation http://www.opengis.net/spec/waterml/2.0/conf/uml-measurementDependency timeseries-tvp Test /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.
Test type
Capability
A.1.7 Conformance Class: Categorical TVP Timeseries Observation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-tvp-observation Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp-observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseriesDependency tvp Test /conf/uml-categorical-timeseries-tvp-observation/result
Requirement /req/uml-categorical-timeseries-tvp-observation/result
96
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
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.
Test type
Capability
A.1.8 Conformance Class: Timeseries Core Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Test /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. Test type Test
Capability
/conf/uml-timeseries-core/time-increasing
Requirement /req/uml-timeseries-core/time-increasing Test purpose Verify that the time elements of the time series are ordered in increasing time.
Test
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/conf/uml-timeseries-core/record-homogenous
Requirement /req/uml-timeseries-core/record-homogenous
Copyright © 2012-2014 Open Geospatial Consortium
97
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. Test type Test
Capability
/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 pair (interleaved) timeseries conformance class. Test method Inspect the model or software implementation to verify the above requirement. Test type Test
Capability
/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 data quality URIs defined in section 9.12.3.2.1. Test method Inspect the model or software implementation to verify the above requirement. Test type Test
Capability
/conf/uml-timeseries-core/metadata
Requirement /req/uml-timeseries-core/metadata Test purpose Verify that the metadata property is valid by implementing all the required properties and associations. Test method
98
Inspect the model or software implementation to verify the above requirement.
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 Test type Test
OGC 10-126r4 Capability
/conf/uml-timeseries-core/point-metadata
Requirement /req/uml-timeseries-core/point-metadata Test purpose Verify that the implementation supports point-based metadata with all the required properties and associations as described in the UML. Test method Inspect the model or software implementation to verify the above requirement. Test type
Capability
A.1.9 Conformance Class: Timeseries Domain Range Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domain-range Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-domain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Dependency Test /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.
Test type
Capability
A.1.10 Conformance Class: Timeseries Time-Value Pair (interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core Dependency Test /conf/uml-timeseries-tvp/interleaved
Copyright © 2012-2014 Open Geospatial Consortium
99
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.
Test type
Capability
A.1.11 Conformance Class: Measurement Timeseries TVP (Interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriestvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /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
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/conf/uml-measurement-timeseries-tvp/interpolation-type
Requirement /req/uml-timeseries-core/interpolation-type Test purpose Verify that the interpolation type used for the timeseries uses a URI from the interpolation type URIs defined in section 9.15.3.2. Test method Inspect the model or software implementation to verify the above requirement. Test type
100
Capability
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
A.1.12 Conformance Class: Categorical Timeseries TVP (Interleaved) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriestvp http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvp Dependency Test /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.
Test type
Capability
A.1.13 Conformance Class: Measurement Timeseries (Domain Range) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-measurement-timeseries-domain-range Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-measurement-timeseriesdomain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainDependency range Test /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.
Test type
Capability
A.1.14 Conformance Class: Categorical Timeseries (Domain Range) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-categorical-timeseries-domain-range
Copyright © 2012-2014 Open Geospatial Consortium
101
Requirements Dependency Test
http://www.opengis.net/spec/waterml/2.0/req/uml-categorical-timeseriesdomain-range http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-domainrange /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.
Test type
Capability
A.1.15 Conformance Class: Monitoring Point Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point
Requirements Dependency Test
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point urn:iso:dis:iso:19156:clause:A.2.4 /conf/uml-monitoring-point/valid
Requirement /req/uml-monitoring-point/valid Test purpose Verify the implementation represents all the required attributes and associations for a monitoring point. Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
A.1.16 Conformance Class: Monitoring Point feature of interest Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point-feature-of-interest
Requirements 102
http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point-
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
Dependency Test
OGC 10-126r4
feature-of-interest urn:iso:dis:iso:19156:clause:A.1.1 /conf/uml-monitoring-point-feature-of-interest/foi
Requirement /req/uml-monitoring-point-feature-of-interest/foi Test purpose Verify the featureOfInterest property of the OM_Observation object is of type MonitoringPoint (or a reference to such a type). Test method Inspect the model or software implementation to verify the above requirement. Test type
Capability
A.1.17 Conformance Class: Sampling feature collections Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-sampling-feature-collections
Requirements Dependency Test
http://www.opengis.net/spec/waterml/2.0/req/uml-sampling-featurecollections urn:iso:dis:iso:19156:clause:A.2.2 /conf/uml-sampling-feature-collections/groups
Requirement /req/uml-sampling-feature-collections/groups Test purpose Verify the collections of sampling features are represented using the SamplingFeatureCollection type specified in ISO19156. Test method Inspect the model or software implementation to verify the above requirement. Test type
Capability
A.1.18 Conformance Class: Observation process Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-observation-process
Copyright © 2012-2014 Open Geospatial Consortium
103
Requirements Dependency Test
http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process urn:iso:dis:iso:19156:clause:A.1.1 /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
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
/conf/uml-observation-process/processType
Requirement /req/uml-observation-process/processType Test purpose Verify the processType property of the ObservationType uses an appropriate URL as defined in section 9.22. Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
A.1.19 Conformance Class: Collection Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/uml-collecton
Requirements Dependency Dependency Dependency Test
http://www.opengis.net/spec/waterml/2.0/req/uml-collection urn:iso:dis:iso:19156:clause:A.2.2 http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-core http://www.opengis.net/spec/waterml/2.0/conf/uml-monitoring-point /conf/uml-collection/valid
Requirement /req/uml-collection/valid Test purpose Verify the model or implementation supports collections of sampling features or collections of sampling features,
104
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 observations and inline dictionaries as described by the UML in section 9.23.
A.2
Test method
Inspect the model or software implementation to verify the above requirement.
Test type
Capability
Conformance classes – XML Implementation
This is the core conformance class for XML implementation of WaterML 2.0. There is a dependency on the conformance class for GML documents, defined in clause 2.4 (with the test suite in A.3) of OGC Geography Markup Language v3.2. There is a dependency on the conformance class for Geographic Metadata XML encoding, described in Clause 2 and Annex A of Geographic information – metadata – XML implementation. There is a dependency on the conformance class for Observations and Measurements XML encoding, described Annex A of Observations and Measurements – XML implementation. A.2.1 Conformance Class: XML Rules Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-xml-rules http://www.opengis.net/spec/waterml/2.0/req/xsd-xml-rules Requirements http://www.opengis.net/spec/SWE/2.0/conf/xsd-simple-components Dependency http://www.w3.org/TR/xmlschema-2 Dependency http://www.opengis.net/doc/IS/GML/3.2/clause/2.4 Dependency urn:iso:dis:iso:8601:2004:clause:4 Dependency Test /conf/xsd-xml-rules/iso8601-time
Requirement /req/xsd-xml-rules/iso8601-time Test purpose Verify that all time instants are valid according to the XML Schema implementation of ISO8601. Test method
Test type
Validate the content of each time element against the XML Schema dateTime content type, available here http://www.w3.org/TR/xmlschema-2/#schema. Pass if no errors are reported. Fail otherwise. Capability
Copyright © 2012-2014 Open Geospatial Consortium
105
Test
/conf/xsd-xml-rules/time-zone
Requirement /req/xsd-xml-rules/time-zone Test purpose Verify that all time instants include a time zone specifier. Test method
Test type Test
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/xmlrules.sch. Pass if no errors are reported for the “time-zone” test. Fail otherwise Capability
/conf/xsd-xml-rules/unit-of-measure
Requirement /req/xsd-xml-rules/unit-of-measure Test purpose Verify that all time units are specified using the UCUM units system. Test method Test type Test
Inspect the XML document and ensure all units of measure are valid according to UCUM. Fail otherwise. (No automated check against UCUM currently available). Capability
/conf/xsd-xml-rules/swe-types
Requirement /req/xsd-xml-rules/swe-types Test purpose Ensure that only applicable SWE types are used. Some SWE types are related specifically to the SWE encoding style, which is not used. Test method Verify that following SWE elements are not used in the encoding: swe:quality(AbstractSimpleComponentType) swe:nilValues (AbstractSimpleComponentType) swe:constraint (QuantityType, QuantityRangeType, CategoryType) Verify the following SWE attributes are not used:
106
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 ‘optional’ and ‘updatable’ from the base type ‘AbstractDataComponent’
Test type
Capability
A.2.2 Conformance Class: Timeseries Observation XML (abstract) Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-observation Requirements http://www.opengis.net/spec/OMXML/2.0/conf/observation Dependency Test /conf/xsd-timeseries-observation/procedure
Requirement /req/xsd-timeseries-observation/procedure Test purpose Verify that the om:procedure element has a value that matches the content model defined by wml2: ObservationProcess or an appropriate reference is used. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch . Pass if no errors are reported for the “procedure” test. Fail otherwise. Test type Capability Test
/conf/xsd-timeseries-observation/metadata
Requirement /req/xsd-timeseries-observation/metadata Test purpose Verify that the om:metadata element has a value that matches the content model defined by wml2: ObservationMetadata or an appropriate reference is used. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the “metadata” test. Fail otherwise. Test type Capability
Copyright © 2012-2014 Open Geospatial Consortium
107
Test
/conf/xsd-timeseries-observation/result
Requirement /req/xsd-timeseries-observation/result Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:TimeseriesType or is in the substitution group wml2:Timeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. Test type Capability Test
/conf/xsd-timeseries-observation/phenomenonTime
Requirement /req/xsd-timeseries-observation/phenomenonTime Test purpose Verify that the phenomenon time describes the temporal extent of the observation result. Test method
Test type
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseriesobservation.sch. Pass if no errors are reported for the ‘phenomenonTime. Fail otherwise. Capability
A.2.3 Conformance Class: TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvpRequirements observation http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-tvpDependency observation Test /conf/xsd-timeseries-tvp-observation/result
Requirement /req/xsd-timeseries-tvp-observation/result
108
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:Timeseries. Test method
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries-tvpobservation.sch . Pass if no errors are reported for the “result” test. Fail otherwise.
A.2.4 Conformance Class: Measurement TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurement-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseriesRequirements tvp-observation http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvpDependency observation Test /conf/xsd-measurement-timeseries-tvp-observation/result
Requirement /req/xsd-measurement-timeseries-tvp-observation/result Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:MeasurementTimeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp-observation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. A.2.5 Conformance Class: Categorical TVP (Interleaved) Timeseries Observation XML Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-categorical-timeseries-tvp-observation http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseriesRequirements tvp-observation http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvpDependency observation Test /conf/xsd-categorical-timeseries-tvp-observation/result
Requirement /req/xsd-categorical-timeseries-tvp-observation/result
Copyright © 2012-2014 Open Geospatial Consortium
109
Test purpose Verify that the om:result element has a value that matches the content model defined by wml2:CategoricalTimeseries. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/categoricaltimeseries-tvp-observation.sch. Pass if no errors are reported for the “result” test. Fail otherwise. A.2.6 Conformance Class: Timeseries (Core)
Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-core http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-core Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-core Dependency Test /conf/xsd-timeseries-core/domain-object
Requirement /req/xsd-timeseries-core/domain-object Test purpose Verify that the XML instance is a valid coverage timeseries consisting of single temporal element. Test method Test
Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.
/conf/xsd-timeseries-core/time-increasing
Requirement /req/xsd-timeseries-core/time-increasing Test purpose Verify that each point in the timeseries is increasing in time. Test method Test
Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.
/conf/xsd-timeseries-core/record-homogenous
Requirement /req/xsd-timeseries-tvp/record-homogenous Test purpose Verify that the record type for each point in the series is the same. E.g. all of type Measurement or Categorical.
110
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0 Test method
Test
OGC 10-126r4 Inspect the value-type (range type) of the coverage and ensure that the record type is homogenous. Implementation specific tests exist for this conformance class in the concrete conformance classes, as described in section 10.2.2.
/conf/xsd-timeseries-core/time-mandatory
Requirement /req/xsd-timeseries-tvp/time-mandatory Test purpose Ensure that the time component of the timeseries coverage is sufficiently specified. Test method Test
Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.
/conf/xsd-timeseries-core/null-point-reason
Requirement /req/xsd-timeseries-tvp/null-point-reason Test purpose Ensure that a reason is specified for each point that is defined as null. Test method
Specific tests for this conformance class are defined in the dependent concrete conformance classes; see section 10.2.2 for details.
A.2.7 Conformance Class: Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-timeseries-tvp Requirements
Dependency Test
/conf/xsd-timeseries-tvp/valid
Requirement /req/xsd-timeseries-tvp/valid Test purpose Verify that the XML instance is a valid timeseries. Test method
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.
Copyright © 2012-2014 Open Geospatial Consortium
111
Test
/conf/xsd-timeseries-tvp/time-increasing
Requirement /req/xsd-timeseries-tvp/time-increasing Test purpose Verify that each point in the timeseries is increasing in time. Test method Test
Inspect the value of each wml2:time element in the series and ensure the time instant is after the previous wml2:time instant.
/conf/xsd-timeseries-tvp/record-homogenous
Requirement /req/xsd-timeseries-tvp/record-homogenous
Test
Test purpose Verify that the record type for each point in the series is the same. E.g. all of type MeasurementTVP or CategoricalTVP. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise. /conf/xsd-timeseries-tvp/default-point-metadata
Requirement /req/xsd-timeseries-tvp/default-point-metadata Test purpose Ensure the default metadata is applied to each point in the timeseries unless it has been overridden. Test method
Test
This requirement describes the logic for defaulting behavior. Conformance is to be tested when creating or parsing the instance document, rather than directly on an instance document.
/conf/xsd-timeseries-tvp/equidistant-encoding
Requirement /req/xsd-timeseries-tvp/equidistant-encoding Test purpose Ensure the equidistant timeseries metadata has been sufficiently defined. Test method
112
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘equidistant_series’ Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 test. Fail otherwise.
Test
/conf/xsd-timeseries-tvp/time-mandatory
Requirement /req/xsd-timeseries-tvp/time-mandatory
Test
Test purpose Ensure each point in the series has a time specified, either through definition of an equidistant series or explicitly for each point. Test method Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘time-mandatory’ test. Fail otherwise. /conf/xsd-timeseries-tvp/null-point-reason
Requirement /req/xsd-timeseries-tvp/null-point-reason Test purpose Ensure that a reason is specified for each point that is defined as null. Test method
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/timeseries.sch. Pass if no errors are reported for the ‘null-point-reason’ test. Fail otherwise.
A.2.8 Conformance Class: Measurement Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurement-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-measurement-timeseriesRequirements tvp http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp Dependency Test /conf/xsd-measurement-timeseries-tvp/interpolation-type
Requirement /req/xsd-measurement-timeseries-tvp/interpolation-type Test purpose Verify that each point within a timeseries has a defined interpolation type.
Copyright © 2012-2014 Open Geospatial Consortium
113
Test method
Test
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp.sch. Pass if no errors are reported for the ‘interpolation-type’ test. Fail otherwise.
/conf/xsd-measurement-timeseries-tvp/value-measure
Requirement /req/xsd-measurement-timeseries-tvp/value-measure Test purpose Verify that each point in the timeseries has a value-type of a measure. Test method
Test
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd.. Pass if no errors are reported. Fail otherwise.
/conf/xsd-measurement-timeseries-tvp/unit-of-measure
Requirement /req/xsd-measurement-timeseries-tvp/unit-of-measure Test purpose Verify that each value in the timeseries has a unit of measure specified. Test method
Test
Validate the XML document using the Schematron document http://schemas.opengis.net/waterml/2.0/measurementtimeseries-tvp.sch. Pass if no errors are reported for the ‘value-measure-unit-of-measure’ test. Fail otherwise.
/conf/xsd-measurement-timeseries-tvp/timeseries-metadata
Requirement /req/xsd-measurement-timeseries-tvp/timeseries-metadata Test purpose Verify that the type of the wml2:metadata element is wml2:MeasurementTimeseriesMetadata. Test method
Test
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.
/conf/xsd-measurement-timeseries-tvp/point-metadata
Requirement /req/xsd-measurement-timeseries-tvp/point-metadata
114
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Test purpose Verify that the type of the wml2:point/wml2:MeasurementTVP/wml2:metadata element is wml2:TVPMeasurementMetadata. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise. A.2.9 Conformance Class: Categorical Timeseries – TVP representation Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-categorical-timeseries-tvp http://www.opengis.net/spec/waterml/2.0/req/xsd-categorical-timeseries-tvp Requirements http://www.opengis.net/spec/waterml/2.0/conf/xsd-timeseries-tvp Dependency Test /conf/xsd-categorical-timeseries-tvp/value-category
Requirement /req/xsd-categorical-timeseries-tvp/value-category Test purpose Verify that each point in the timeseries has a value-type of a category. Test method
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/timeseries.xsd. Pass if no errors are reported. Fail otherwise.
A.2.10 Conformance Class: Monitoring point feature of interest Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-feature-of-interest-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/xsd-feature-of-interestRequirements monitoring-point http://www.opengis.net/spec/OMXML/2.0/conf/observation Dependency http://www.opengis.net/spec/waterml/2.0/conf/xsd-monitoring-point Dependency Test /conf/xsd-feature-of-interest-monitoring-point/featureOfInterest
Requirement /req/xsd-feature-of-interest-monitoringpoint/featureOfInterest
Test purpose Verify that the om:featureOfInterest element has a value that matches the content model defined by wml2:MonitoringPoint. Test method Validate the XML document using the Schematron document Copyright © 2012-2014 Open Geospatial Consortium
115
http://schemas.opengis.net/waterml/2.0/monitoring-pointfeature-of-interest.sch . Pass if no errors are reported. Fail otherwise. A.2.11 Conformance Class: Observation Process Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-observation-process http://www.opengis.net/spec/waterml/2.0/req/xsd-observation-process Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-observation-process Dependency Test /conf/xsd-observation-process/valid
Requirement /req/xsd-observation-process/valid Test purpose Verify that the OM_Observation defines a valid ObservationProcess type or contains a reference to its definition. Test method Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/observationProces s.xsd . Pass if no errors are reported. Fail otherwise. A.2.12 Conformance Class: Monitoring Point Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-monitoring-point http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-monitoring-point Dependency Test /conf/xsd-monitoring-point/valid
Requirement /req/xsd-monitoring-point/valid Test purpose Verify that the MonitoringPoint is a valid definition. Test method
116
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/monitoringPoint.x sd . Pass if no errors are reported. Fail otherwise.
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
A.2.13 Conformance Class: Collection Conformance Class http://www.opengis.net/spec/waterml/2.0/conf/xsd-collection http://www.opengis.net/spec/waterml/2.0/req/xsd-collection Requirements http://www.opengis.net/spec/waterml/2.0/req/uml-collection Dependency Test /conf/xsd-collection/valid
Requirement /req/xsd-collection/valid Test purpose Verify that the Collection is a valid definition. Test method
Validate the XML document using the XML Schema document http://schemas.opengis.net/waterml/2.0/collection.xsd. Pass if no errors are reported. Fail otherwise.
Copyright © 2012-2014 Open Geospatial Consortium
117
Annex B Example XML instances (informative) Examples are provided here for informative purposes, other examples are available with the normative schema. B.1 Full collection example The following example shows a complete collection. The temporal extent, a local dictionary of phenomenon descriptions and the sampling point for the observations are provided as common data for any observations in the collection. This example conforms to the following conformance classes: - /conf/xsd-xml-rules - /conf/xsd-collection - /conf/xsd-timeseries-observation - /conf/xsd-timeseries-tvp-observation - /conf/xsd-timeseries-tvp - /conf/xsd-feature-of-interest-monitoring-point - /conf/xsd-measurement-timeseries-tvp - /conf/xsd-observation-process <wml2:Collection gml:id="xsd-collection.example"> <gml:description>Example collection for XML encoding http://www.opengis.net/spec/waterml/2.0/req/xsd-collection. Time series observation of water temperature</gml:description>
<wml2:metadata> <wml2:DocumentMetadata gml:id="document-metadata.1"> <wml2:generationDate>2011-11-28T10:05:05+11:00</wml2:generationDate> <wml2:version xlink:href="http://www.opengis.net/waterml/2.0" xlink:title="WaterML 2.0"/> <wml2:generationSystem>Manual</wml2:generationSystem> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-xml-rules"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurementtimeseries-tvp-observation"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-measurementtimeseries-tvp"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-feature-ofinterest-monitoring-point"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-collection"/> <wml2:profile xlink:href="http://www.opengis.net/spec/waterml/2.0/conf/xsd-observationprocess"/> </wml2:DocumentMetadata> </wml2:metadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="time-period.1"> <gml:beginPosition>2011-11-21T12:27:00+10:00</gml:beginPosition> <gml:endPosition>2011-11-21T12:57:10+10:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:localDictionary> <gml:Dictionary gml:id="phenom_codes"> <gml:identifier codeSpace=" http://sweet.jpl.nasa.gov/2.3/">sweet_phenomenon</gml:identifier> <gml:dictionaryEntry> <gml:Definition gml:id="temperature">
118
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
<gml:identifier codeSpace="http://sweet.jpl.nasa.gov/2.3/propTemperature.owl">Temperature</gml:identifier> <gml:name codeSpace="http://sweet.jpl.nasa.gov/2.3/propTemperature.owl">Temperature</gml:name> <gml:remarks>NASA SWEET definition of temperature</gml:remarks> </gml:Definition> </gml:dictionaryEntry> </gml:Dictionary> </wml2:localDictionary> <wml2:samplingFeatureMember> <wml2:MonitoringPoint gml:id="monitoring-point.1"> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/south_esk/deddington" xlink:title="Deddington"/> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint> </wml2:samplingFeatureMember> <wml2:observationMember> <om:OM_Observation gml:id="observation.1"> <gml:identifier codeSpace="http://www.example.com/observations">EX.OB.B.1</gml:identifier> <om:metadata> <wml2:ObservationMetadata> <gmd:contact xlink:href="http://www.example.com" xlink:title="Example Pty Ltd"/> <gmd:dateStamp> <gco:DateTime>2011-11-28T10:01:00+10:00</gco:DateTime> </gmd:dateStamp> <gmd:identificationInfo xlink:href="http://www.example.com/observations/C.1" xlink:title="Observation C.1"/> <wml2:intendedObservationSpacing>PT15M</wml2:intendedObservationSpacing> <wml2:status xlink:href="http://water.usgs.gov/provisional.html" xlink:title="Provisional data"/> <wml2:sampledMedium xlink:href="http://www.opengis.net/def/waterml/2.0/medium/Water" xlink:title="Water"/> </wml2:ObservationMetadata> </om:metadata> <om:phenomenonTime xlink:href="#time-period.1" xlink:title="Temporal Extent"/> <om:resultTime> <gml:TimeInstant gml:id="time-instant.1"> <gml:timePosition>2011-11-21T13:05:00+10:00</gml:timePosition> </gml:TimeInstant> </om:resultTime> <om:procedure> <wml2:ObservationProcess gml:id="observation-process.1"> <wml2:processType xlink:href=" http://www.opengis.net/def/waterml/2.0/processType/Sensor" xlink:title="Sensor"/> <wml2:processReference xlink:href="http://www.example.com/sensor/1.0" xlink:title="Sensor Sampling Regime 1.0"/> </wml2:ObservationProcess> </om:procedure> <om:observedProperty xlink:href="#temperature" xlink:title="Temperature"/> <om:featureOfInterest xlink:href="#monitoring-point.1" xlink:title="Deddington"/> <om:result> <wml2:MeasurementTimeseries gml:id="timeseries.1">
Copyright © 2012-2014 Open Geospatial Consortium
119
<wml2:metadata> <wml2:TimeseriesMetadata> <wml2:temporalExtent xlink:href="#time-period.1"/> </wml2:TimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:uom code="Cel"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:27:00+10:00</wml2:time> <wml2:value>10.5</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:44:35+10:00</wml2:time> <wml2:value>10.5</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:time>2011-11-21T12:57:10+10:00</wml2:time> <wml2:value>10.4</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries> </om:result> </om:OM_Observation> </wml2:observationMember> </wml2:Collection>
B.2 Categorical timeseries example The following example shows an example categorical timeseries. This example demonstrates the following conformance classes: - /conf/xsd-xml-rules - /conf/xsd-timeseries-tvp-observation - /conf/xsd-categorical-timeseries-tvp <wml2:CategoricalTimeseries gml:id="ts_id33"> <gml:description>This is an example showing a categorical time series in waterml2.0. Describes a timeseries of manual weather observations. </gml:description> <wml2:metadata> <wml2:TimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="tp_1"> <gml:beginPosition>2011-11-16T00:00:00+11:00</gml:beginPosition> <gml:endPosition>2011-11-18T00:00:00+11:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> </wml2:TimeseriesMetadata> </wml2:metadata> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-16T00:00:00+11:00</wml2:time> <wml2:value>
120
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
<swe:Category> <swe:description>Fairly uniform precipitation composed exclusively of very small water droplets (less than 0.5 mm in diameter) very close to one another</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Drizzle</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-17T00:00:00+11:00</wml2:time> <wml2:value> <swe:Category> <swe:description>Usually begin and end suddenly. Relatively short-lived, but may last half an hour. Fall from cumulus clouds, often separated by blue sky. Showers may fall in patches rather than across the whole forecast area. Range in intensity from light to very heavy</swe:description> <swe:codeSpace xlink:href="http://www.bom.gov.au/info/wwords/"/> <swe:value>Showers</swe:value> </swe:Category> </wml2:value> </wml2:CategoricalTVP> </wml2:point> <wml2:point> <wml2:CategoricalTVP> <wml2:time>2011-11-18T00:00:00+11:00</wml2:time> <wml2:value xsi:nil="true"></wml2:value> <wml2:metadata> <wml2:TVPMetadata> <wml2:nilReason xlink:href=“http://www.opengis.net/def/nil/OGC/0/missing”/> <wml2:comment>No observation performed.</wml2:comment> </wml2:TVPMetadata> </wml2:metadata> </wml2:CategoricalTVP> </wml2:point> </wml2:CategoricalTimeseries>
B.3 Monitoring point example The following example shows an example monitoring point description, including a description of the station owner. <wml2:MonitoringPoint gml:id="xsd-monitoring-point.example" <gml:description>Example monitoring point for XML http://www.opengis.net/spec/waterml/2.0/req/xsd-monitoring-point. Nile river at Deddington, South Esk catchment, Tasmania</gml:description> <gml:name codeSpace="http://www.csiro.au/">Deddington</gml:name> <sam:sampledFeature xlink:href="http://csiro.au/features/rivers/nile" xlink:title="Nile river"/> <sams:shape> <gml:Point gml:id="location_deddington"> <gml:pos srsName="urn:ogc:def:crs:EPSG::4326">-41.814935 147.568517 </gml:pos> </gml:Point> </sams:shape> <wml2:relatedParty> <gmd:CI_ResponsibleParty> <gmd:organisationName> <gco:CharacterString>Department of Primary Industries, Parks, Water and Environment (DPIPWE)</gco:CharacterString> </gmd:organisationName>
Copyright © 2012-2014 Open Geospatial Consortium
121
<gmd:role> <gmd:CI_RoleCode codeList="http://asdd.ga.gov.au/asdd/profileinfo/gmxCodelists.xml#CI_RoleCode" codeListValue="CI_RoleCode_owner">Owner</gmd:CI_RoleCode> </gmd:role> </gmd:CI_ResponsibleParty> </wml2:relatedParty> <wml2:verticalDatum xlink:href="urn:ogc:def:crs:EPSG::5711" xlink:title="Australian height datum"/> <wml2:timeZone> <wml2:TimeZone> <wml2:zoneOffset>+11:00</wml2:zoneOffset> <wml2:zoneAbbreviation>AEDT</wml2:zoneAbbreviation> </wml2:TimeZone> </wml2:timeZone> </wml2:MonitoringPoint>
B.4 Forecasting example The following example shows an example forecast of river discharge, using a measurement timeseries. <wml2:Collection gml:id="deterministic_forecast_TAPM4_20100506T00Z"> <gml:description>Example of a Hydrologic Forecast timeseries </gml:description> <wml2:metadata> <wml2:DocumentMetadata gml:id="doc_d"> <wml2:generationDate>2011-09-21T16:46:00+10:00</wml2:generationDate> <wml2:version xlink:href="http://www.opengis.net/waterml/2.0"/> </wml2:DocumentMetadata> </wml2:metadata> <wml2:observationMember> <om:OM_Observation gml:id="series_one"> <om:phenomenonTime> <gml:TimePeriod gml:id="forecast_period"> <gml:beginPosition>2010-05-06T12:00:00Z</gml:beginPosition> <gml:endPosition>2010-05-16T12:00:00Z</gml:endPosition> </gml:TimePeriod> </om:phenomenonTime> <om:resultTime> <gml:TimeInstant gml:id="forecast_available"> <gml:timePosition>2010-05-06T05:00:00Z</gml:timePosition> </gml:TimeInstant> </om:resultTime> <om:validTime> <gml:TimePeriod gml:id="valid_period"> <gml:beginPosition>2010-05-06T05:00:00Z</gml:beginPosition> <gml:endPosition>2010-05-07T05:00:00Z</gml:endPosition> </gml:TimePeriod> </om:validTime> <om:procedure xlink:href="NCRFC:MinnesotaRiver_Forecast" xlink:title="NCRFC:MinnesotaRiver_Forecast" xlink:arcrole="http://www.opengis.net/def/waterml/2.0/processType/Simulation"/> <om:parameter> <om:NamedValue> <om:name xlink:title="T0 (Time of analysis)" xlink:role="analysisTime"/>
122
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
<om:value xsi:type="gml:TimePositionType">2010-05-06T00:00:00+00:00</om:value> </om:NamedValue> </om:parameter> <om:parameter> <om:NamedValue> <om:name xlink:title="Init time of model" xlink:role="initTime"/> <om:value xsi:type="gml:TimePositionType">2010-05-03T12:00:00+00:00</om:value> </om:NamedValue> </om:parameter> <om:observedProperty xlink:href="http://sweet.jpl.nasa.gov/2.3/phenHydro.owl#Discharge" xlink:title="streamflow"/> <om:featureOfInterest xlink:href="http://www.nws.noaa.gov/hb5id/TAPM4" xlink:title="Paradise 12W, MN"/> <om:result> <wml2:MeasurementTimeseries gml:id="ts_one"> <wml2:metadata> <wml2:MeasurementTimeseriesMetadata> <wml2:temporalExtent> <gml:TimePeriod gml:id="fc_1"> <gml:beginPosition>2010-05-06T00:00:00+00:00</gml:beginPosition> <gml:endPosition>2010-05-16T12:00:00+00:00</gml:endPosition> </gml:TimePeriod> </wml2:temporalExtent> <wml2:baseTime>2010-05-06T00:00:00+00:00</wml2:baseTime> <wml2:spacing>PT6H</wml2:spacing> </wml2:MeasurementTimeseriesMetadata> </wml2:metadata> <wml2:defaultPointMetadata> <wml2:DefaultTVPMeasurementMetadata> <wml2:qualifier xlink:href="http://www.example.com/hydro/forecasts/status/approved" xlink:title="Approved and issued"/> <wml2:uom code="m3/s"/> <wml2:interpolationType xlink:href="http://www.opengis.net/def/waterml/2.0/interpolationType/Continuous" xlink:title="Instantaneous"/> </wml2:DefaultTVPMeasurementMetadata> </wml2:defaultPointMetadata> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.7</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.7</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value xsi:nil="true"/> <wml2:metadata> <wml2:TVPMeasurementMetadata> <wml2:nilReason xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/> </wml2:TVPMeasurementMetadata> </wml2:metadata> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>21.8</wml2:value> </wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>22.0</wml2:value>
Copyright © 2012-2014 Open Geospatial Consortium
123
</wml2:MeasurementTVP> </wml2:point> <wml2:point> <wml2:MeasurementTVP> <wml2:value>22.6</wml2:value> </wml2:MeasurementTVP> </wml2:point> </wml2:MeasurementTimeseries> </om:result> </om:OM_Observation> </wml2:observationMember> </wml2:Collection>
Annex C Use cases and requirements (informative) C.1 Operational forecasting activity at hydrological forecasting service in support of flooding related emergencies Summary
Routine work at NMHSs in order to provide emergency agencies, decision makers and citizens with accurate assessment on hydrological hazards, observed or forecasted. This includes post-processing and visualization of observations and simulations results at designated forecast points addressing peak to flood, flood duration, flood extent.
Users/actors
Forecaster at operational Meteorological and Hydrological Services (NMHSs), emergency decision-makers, citizens.
Information types
In-situ observations at hydro stations (gages, reservoirs) and meteo stations; Forecast products (deterministic timeseries, ensembles) at forecast points, generated by simulations and statistical processing; Emergency agency-oriented alerts (of threshold exceedence) and reports.
Query types
For forecasters: Subscribe for data updates (including data quality or confidence) at known points (in-situ and forecast points) and incremental retrieval of spatio-temporal subset updates to be ingested for the forecasting process.
124
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 Retrieve availability of spatio-temporal subsets, Discover product and service metadata, Retrieve spatio-temporal subsets (including time series) to be visualized. For emergency agencies: Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized
C.2 Routine operational forecasting activity in support of infrastructure operation Summary
Routine work at NMHSs and infrastructure operators (reservoirs, water supply systems, polder systems) in order to exchange information on expected inflow (to reservoirs) or intakes (in water supply systems) and planned releases (of reservoirs) or discharges having an effect on downstream conditions.
Users/actors
Forecaster at operational Meteorological and Hydrological Services (NMHSs), infrastructure operators.
Information types
In-situ observations at hydro stations (gages, reservoirs) and meteo stations; Forecast products (deterministic timeseries, ensembles) at forecast points, generated by simulations and statistical processing; Time series of releases/discharge;
planned
intake
and
Operator-oriented alerts (of threshold exceedence) and report. Query types
For forecasters:
Copyright © 2012-2014 Open Geospatial Consortium
125
Subscribe for data updates (including data quality or confidence) at known points (in-situ, forecast points, infrastructure points) and incremental retrieval of spatio-temporal subset updates to be ingested for the forecasting process. Retrieve availability of spatio-temporal subsets, Discover product and service metadata, retrieve spatio-temporal subsets (including time series) to be visualized Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized For operators: Subscribe for data updates (including data quality or confidence) at known points (in-situ, forecast points, infrastructure points) and incremental retrieval of spatio-temporal subset updates to be ingested for the operation planning process. Subscribe to alerting service based on threshold exceedence. Retrieve data by geographic area, retrieve data for set of points, retrieve observations and forecast product (including confidence) to be visualized.
C.3 Exchange of groundwater levels across international borders Summary
Exchange of groundwater levels in wells across the USCanada border to allow enhanced understanding of crossborder aquifer issues.
User communities/actors
USGS, NRCan (Natural Resources Canada), Interested party
Information types
Well locations (sampling features) and description Observations of water level within wells (dynamic and static/archival)
126
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 Identify the process used in making the observation.
Query types
Retrieve all wells within a bounding box. Retrieve all level observations within a bounding box. Download observation data
C.4 Generic data exchange scenario between stakeholders Summary
User communities/actors
Generic exchange scenario describing the transfer of data from one stakeholder to another. Potential stakeholders: Public data consumer Professional data providers Community data providers Research data providers Research data users Water policy data users Mature data users with automated systems
Purpose of exchange
Forecast data delivery adhoc transfer of raw values adhoc transfer of aggregated values Archive synchronisation Incremental update Aggregated data / data product In order for correctly interpretable data to be exchanged, the exchange document must conform to the following requirements: Data content Data points in a transfer are considered to be chained, gaps in data should be clearly indicated. Total type data series need to have a anchor point before the first value A document may contain many parameters A document should describe how the contained data
Copyright © 2012-2014 Open Geospatial Consortium
127
set is connected to earlier data, if it is connected at all A document should contain data licensing text A document should describe the type of data contained Is it raw Is it data produced by some function A document should contain reference to a function that has been applied to the data A document should contain information about its creation Source system Creation data Source query parameters? A document should state the period for which the time series(s) contained apply A document should enable the removal of time series data in the destination system A document should enable the replacement of time series data in the destination system A document should enable the creation of time series data in the destination system A data chains period of application is the primary update key rather than the DT value of data points Document size A document should be able to transmit the full period of record for multiple parameters A document should be able to transmit a series fragment to be appended to an existing series A document should be able to transmit raw, as observed values A document should be able to transmit derived or modified values A document should be able to transmit multiple 128
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4 version of the same parameter, all uniquely identified Each version of the same parameter should have its own series description metadata
C.5 Retrieval for data by external users Summary
A data provider exposes services for consumption by outside users.
User communities/actors
CUAHSI
Information types
Observation Period of Record/Offering Site/Station location and description Timeseries observations of observed properties, such as Stream Discharge Identify the process used in making the observation, References to analytical sample information, if appropriate.
Query types
Discover stations for a specified observed property in a specified bounding box. Discover vocabularies and code lists for a data source/data provider. Retrieve observations for a specified observed property from a single station Retrieve all observations for a specified observed property for sites in a bounding box.
Copyright © 2012-2014 Open Geospatial Consortium
129
Annex D Relationships to other conceptual models (informative)
Annex D (Best practices in use of the observation and sampling models) of ISO19156 identifies the relationship between sampling observations that produce coverage results. [CSMLv3] also identifiers this relationship, extending the comparison to include Unidata netCDF Common Data Model and Climate Forecasts Point Observation Conventions. CSML categorises the core types as shown in Table 13. Table 13 - Climate Science Markup Language (CSML) spatialtemporal sampling categories
CSML Observation type
Observation ‘phenomenon time’
Observation ‘feature-ofinterest’
Description
Point
instant
sampling point
Single point Single raingauge measurement precipitation in time and measurement space
PointSeries
period
sampling point
Time-series of point measurements at a fixed location in space.
Time-series of daily raingauge precipitation measurements; river-flow timeseries
Profile
instant
sampling curve
Single instantaneous ‘profile’ of a property along a vertical line in space.
Expendable bathythermograph observation of seawater temperature
ProfileSeries
period
sampling curve
Time-series of Radar wind vertical profiler profiles at a measurement fixed horizontal location.
130
Example
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Grid
instant
sampling solid
A gridded field Midnight at a single time atmospheric instant. surface pressure field analysed on a grid
GridSeries
period
sampling solid
An evolving gridded field at a succession of time instants
of Time-series three-dimensional oceanic velocity field from a finite-difference general circulation model
Trajectory
period
sampling curve
Property varying along a meandering curve in time and space.
Pollutant concentration from mobile air quality sensor
Section
period
sampling surface
Series of profiles topologically offset from a trajectory
Vertical profiles of water current measurements taken by an acoustic doppler current profiler towed along a ship’s track
Swath
instant
sampling surface
TwoAVHRR satellite dimensional imagery surface grid along a satellite ground path
ScanningRadar
period
sampling surface
Profiles along Weather radar a radar look direction rotating in azimuth at fixed elevation.
Copyright © 2012-2014 Open Geospatial Consortium
131
A WaterML2.0 TimeseriesObservation is consistent with the PointSeries CSML Observation type with one variation: the feature of interest in a WaterML2.0 TimeseriesObservation does not restrict the feature of interest property to be a sampling feature. This was not done as timeseries observations may have a domain-level feature of interest such as a river section, dam, lake etc. Often such observations will be an aggregation of multiple sampling feature observations.
132
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Annex E Describing observed properties/phenomena (informative)
This profile does not define a list of observed phenomena for the hydrology domain. A number of existing initiatives exist that have started to harmonise on the potential set of hydrological observables. This set is most often dynamic, with new additions being required due to new sensing techniques or new properties being identified for measure (this is very typical in the water quality area). The observed phenomenon is specified through linking to a definition of the concept through an identifier (e.g. a URI). The identifier will link to a definition of the concept, preferably one maintained by a recognised standards group, such as WMO. ‘OGC 11-120 – Observable Property Specification’ is a draft submission to OGC describing a conceptual and XML implementation model for observed properties. This model has not been directly used in this standard, as it is work in progress; some initial background into its use is provided here for future consideration. <op:ComplexObservableProperty gml:id="daily_mean_water_temp"> <op:label>Daily mean water temperature</op:label> <op:basePhenomenon xlink:href="http://nwis.waterdata.usgs.gov/usa/nwis/pmcodes?pm_group=Physical& radio_pm_search=pm_search&pm_search=00010&casrn_search=&srsname_search=& format=html_table&show=parameter_group_nm&show=parameter_nm&show=casrn&show=srsname&show=parameter _units" xlink:title="Water temperature" /> <op:qualifier> <op:StatisticalQualifier gml:id="daily_mean"> <op:statisticalOperator xlink:href="http://www.uncertml.org/statistics/mean" /> <op:statisticalPeriod>P1D</op:statisticalPeriod> </op:StatisticalQualifier> </op:qualifier> </op:ComplexObservableProperty>
Code listing 1 - Example showing daily mean temperature <op:ComplexObservableProperty gml:id="daily_mean_water_temp_6ft"> <op:label>Daily mean water temperature - 6ft down</op:label> <op:basePhenomenon xlink:href="#daily_mean_water_temp" /> <op:constraint> <swe:Quantity definition="http://www.opengis.net/def/waterml/2.0/vertical_offset"> <swe:label>6ft depth</swe:label> <swe:uom xlink:href="ft" /> <swe:value>6</swe:value> </swe:Quantity> </op:constraint> </op:ComplexObservableProperty>
Code listing 2 - Example showing derived daily mean temperature
Copyright © 2012-2014 Open Geospatial Consortium
133
Annex F Use of SWE Common encoding (informative)
The use of the SWE Common 2.0 encoding techniques was investigated but given its tendency towards run-time definition of structure, the WaterML2 community decided to proceed with a traditional GML-XML style encoding to allow stricter definitions and re-use of XML tools. A SWE Common 2.0 profile will be investigated and continued, most likely through the SWE Common SWG. The group has been previously discussing setting up basic profiles in which common structures may be defined (such as timeseries). An example SWE data record structure is shown for informative purposes only. <swe:DataRecord> <!-- http://www.opengis.net/WaterML2.0/def/sweCommonProfile/ --> <swe:field name="waterML2_timeseries"> <swe:DataRecord> <swe:field name="period_of_record"> <swe:TimeRange definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/period_of_record"> <swe:uom xlink:href="urn:ogc:def:unit:ISO:8601"/> </swe:TimeRange> </swe:field> <!-- other time series level metadata if needed... --> <swe:field name="series"> <swe:DataArray> <swe:elementCount> <swe:Count definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/count"></swe:Count> </swe:elementCount> <swe:elementType name="point"> <swe:DataRecord> <!-- Time field --> <swe:field name="time"> <swe:Time definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/time"> <gml:name>Time instant</gml:name> <swe:uom xlink:href="urn:ogc:def:unit:ISO:8601"/> </swe:Time> </swe:field> <!-- The value of the observed property --> <swe:field name="value"> <swe:Quantity definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/value"> <gml:name>Value of observed property — observed property specified by O&M </gml:name> <!-- What to do here? --> <swe:uom xlink:href=""/> </swe:Quantity> </swe:field> <!-- The value of the uom property --> <swe:field name="uom"> <swe:Category definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/uom">
134
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
<gml:name>Specifies the UCUM code</gml:name> <swe:codeSpace xlink:href="http://unitsofmeasure.org/"/> </swe:Category> </swe:field> <!-- The interpolation type of the time series --> <swe:field name="datatype"> <swe:Category definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/datatype"> <gml:name>Specifies the data type of the time series</gml:name> <swe:codeSpace xlink:href="http://www.opengis.net/WaterML2.0/def/timeseriesType"/> </swe:Category> </swe:field> <!-- Free text comment field --> <swe:field name="comment"> <swe:Text definition="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/comment"> <gml:name>Free text comment associated with a data point</gml:name> </swe:Text> </swe:field> <!-- Code list qualifier --> <swe:field name="qualifier"> <swe:Category> <gml:name>A qualifier code for the point</gml:name> <swe:codeSpace xlink:href="http://www.opengis.net/WaterML2.0/def/sweCommonProfile/qualifier"/> </swe:Category> </swe:field> </swe:DataRecord> </swe:elementType> </swe:DataArray> </swe:field> </swe:DataRecord> </swe:field> </swe:DataRecord>
Annex G - WMO monitoring type categories (informative) WMO _CommunityTopicCategoryCode 001 weather observations 002 Weather forecasts 003 meteorology 004 hydrology 005 climatology 006 landMeteorologyClimate 007 synopticMeteorology 008 marineMeteorology
Copyright © 2012-2014 Open Geospatial Consortium
135
009 agriculturalMeteorology 010 Aerology 011 marineAerology 012 oceanography 013 landHydrology 014 rocketSounding 015 Pollution 016 waterPollution 017 landWaterPollution 018 seaPollution 019 landPollution 020 airPollution 021 glaciology 022 actinometry 023 satelliteObservation 024 airplaneObservation 025 observationPlatform
136
Copyright © 2012-2014 Open Geospatial Consortium
OGC WaterML 2.0
OGC 10-126r4
Bibliography
[1]
Hydrology Domain Working Group Charter, OGC document 08-095r5, 26th April 2008 updated 2 September 2009
[2]
OGC Document 09-124r2 - Harmonising Standards for Water Observation Data Discussion Paper
[3]
WMO-168: Guide to Hydrological Practices, Fifth edition, 1994.
[4]
State Energy Conservation Office, http://www.energyeducation.tx.gov/renewables
[5]
WMO code list accessible 1/WMOCodeLists_ver1_1.pdf
[6]
OGC Document 08-078 - OWS-5 ER GSIP Schema Processing
[7]
WaterOneFlow service, accessible at: http://waterservices.usgs.gov/NWISQuery/GetDV1?SiteNum=09429000&ParameterCode= 00065&StatisticCode=00003&AgencyCode=&StartDate=2000-11-16&EndDate=2000-1215&action=Submit. Accessed 24/05/2010.
at:
http://wis.wmo.int/2008/metadata/draft_version_1-
Copyright © 2012-2014 Open Geospatial Consortium
137