I. Abstract
This standard describes a conceptual and logical model for the exchange of groundwater data, as well as a GML/XML encoding with examples.
II. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, groundwater, hydrogeology, aquifer, water well, observation, well construction, groundwater flow, groundwater monitoring, UML, GML, GroundwaterML, GWML2
III. Preface
III.A. Motivation
A significant portion of the global water supply can be attributed to groundwater resources. Effective management of such resources requires the collection, management and delivery of related data, but these are impeded by issues related to data availability, distribution, fragmentation, and heterogeneity: collected data are not all readily available and accessible, available data is distributed across many agencies in different sectors, often thematically fragmented, and similar types of data are diversely structured by the various data providers. This situation holds both within and between political entities, such as countries or states, impairing groundwater management across all jurisdictions. Groundwater data networks are an emerging solution to this problem as they couple data providers through a unified data delivery vehicle, thus reducing or eliminating distribution, fragmentation, and heterogeneity through the incorporation of standards for data access and data content. The relative maturity of OGC data access standards, such as the Web Feature Service (WFS) and Sensor Observation Service (SOS), combined with the rise of water data networks, have created a need for GroundWaterML2 (GWML2), a common groundwater data standard.
III.B. Historical background
Several activities have influenced the development of GWML2.
-
GWML1: a GML application schema for groundwater data developed at Natural Resources Canada and used to exchange groundwater data within Canada, between Canada and the USA, and in some other international efforts (Boisvert & Brodaric, 2012).
-
GWIE1: an interoperability experiment within the OGC HDWG, in which groundwater data was shared across the USA-Canada border (Brodaric & Booth, 2011).
-
GW2IE: a second interoperability experiment within the OGC HDWG, that designed and tested a precursor of GroundWaterML2 (GWML2, version 2.1): a conceptual, logical, and encoding specification for the representation of core groundwater data (OGC, 2016).
-
INSPIRE Data Specification on Geology — hydrogeology package: a conceptual model and GML application schema for hydrogeology (INSPIRE, 2013), with regulatory force in the European Union and for which GWML2 is expected to be an encoding candidate.
-
BDLISA: the French Water Information System information models for water wells and hydrogeological features (BDLISA, 2013).
The primary goal of this standard is to capture the semantics, schema, and encoding syntax of key groundwater data, to enable information systems to interoperate with such data.
IV. Security Considerations
No security considerations have been made for this standard.
V. Submitting Organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
- Geological Survey of Canada (GSC), Canada
- U.S. Geological Survey (USGS), United States of America
- Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia
- Bureau of Meteorology (BOM), Australia
- Federation University Australia (FedUni), Australia
- Bureau de Recherches Géologiques et Minières (BRGM), France
- Salzburg University (U Salzburg), Austria
VI. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Table 1
Name | Affiliation |
---|---|
Boyan Brodaric | GSC |
Eric Boisvert | GSC |
Francois Létourneau | GSC |
Jessica Lucido | USGS |
Bruce Simons | CSIRO |
Peter Dahlhaus | FedUni |
Mickaël Beaufils | BRGM |
Sylvain Grellet | BRGM |
Laurence Chery | BRGM |
Alexander Kmoch | U Salzburg |
OGC WaterML 2: Part 4 - GroundWaterML 2 (GWML2)
1. Scope
This document is an OGC® conceptual, logical and encoding standard for GWML2, which represents key groundwater data. GWML2 is implemented as an application schema of the Geography Markup Language (GML) version 3.2.1, and re-uses entities from other GML application schema, most notably the OGC Observations & Measurements standard and the OGC/IUGS GeoSciML 4.0 (16-008) standard. GWML2 version 2.2 (this document) updates version 2.1, which was developed by the GW2IE (OGC, 2016), by importing GeoSciML 4.0 instead of GeoSciML 3.2.0, and by using TimeseriesML (15-042r3) instead of OGC WaterML2.0 part 1 — Timeseries.
GWML2 is designed to enable a variety of data exchange scenarios. These scenarios are captured by its five motivating use cases, including:
-
a commercial use-case focused on drilling water wells with knowledge of aquifers,
-
a policy use case concerned with the management of groundwater resources,
-
an environmental use-case that considers the role of groundwater in natural eco-systems,
-
a scientific use-case concerned with modeling groundwater systems, and
-
a technologic use-case concerned with interoperability between diverse information systems and associated data formats.
GWML2 is designed in three stages, each consisting of a schema that builds on the previous stages. The three schemas include:
-
Conceptual (UML): a technology-neutral schema denoting the semantics of the domain,
-
Logical (UML): a GML-specific schema that incorporates the OGC suite of standards,
-
XML schema (XSD): a GML syntactical encoding of the logical schema.
In addition, this standard describes general and XML-specific encoding requirements, general and XML-specific conformance tests, and XML encoding examples. The standard is designed for future extension into other non-XML encoding syntaxes, which would require each such encoding to describe the related schema, requirements and conformance classes, as well as provide examples.
The GWML2 Logical and XML schemas are organized into 6 modular packages:
-
GWML2-Main: core elements such as aquifers, their pores, and fluid bodies,
-
GWML2-Constituent: the biologic, chemical, and material constituents of a fluid body,
-
GWML2-Flow: groundwater flow within and between containers,
-
GWML2-Well: water wells, springs, and monitoring sites,
-
GWML2-WellConstruction: the components used to construct a well,
-
GWML2-AquiferTest: the elements comprising an aquifer test (e.g., a pumping test).
Altogether, the schemas and packages represent a machine-readable description of the key features associated with the groundwater domain, as well as their properties and relationships. This provides a semantics and syntax for the correct machine interpretation of the data, which promotes proper use of the data in further analysis. Existing systems can use GWML2 to ‘bridge’ between existing schema or systems, allowing consistency of the data to be maintained and enabling interoperability.
2. Conformance
This standard has been written to be compliant with the OGC Specification Model — A Standard for Modular Specification (08-131r3). Extensions of this standard shall themselves be conformant to the OGC Specification Model.
2.1. XML implementation
The XML implementation (encoding) of the conceptual and logical groundwater schemas is described using the XML Schema language and Schematron.
Requirements for one standardization target type are considered:
-
data instances.
i.e., XML documents that encode groundwater data. As data producing applications should generate conformant data instances, the requirements and tests described in this standard effectively also apply to that target.
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in 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).
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
2.2. 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 organization may define a controlled vocabulary for all observed phenomena, such as water quality parameters, that are to be exchanged between parties. Some of these definitions may be related by hierarchical relationships, such as specialization, or through other relationships such as equivalence.
GroundWaterML2.0 does not define a set of vocabularies for groundwater data exchange in this version. It is envisaged that specific communities will develop local vocabularies for data exchange within the community. Future work within the Hydrology Domain Working Group could address standardized controlled vocabularies for the groundwater domain. Such vocabularies require a governance structure that allows changes to be made as definitions evolve, possibly using the OGC definition namespace (http://www.opengis.net/def/gwml/2.2), 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). Any URIs for vocabulary items (e.g. identifiers for various property values, properties, roles or other fixed labels) in this specification are included as examples only, for illustration purposes, and will not resolve, because GWML2 vocabularies are not defined. However, some such URIs in various example encodings may resolve if data providers have defined and implemented vocabularies for particular services.
The following convention has been used throughout the document to identify attributes requiring controlled vocabularies:
-
In the conceptual model, such attributes are typed with a name ending by Type (ex: PorosityType); and
-
In the logical model this suffix becomes TypeTerm (ex: PorosityTypeTerm).
2.3. Groundwater data
Groundwater data conforming to this standard are encoded in GML-conformant XML documents, for this version of GWML2. It is anticipated that future versions or extensions will develop additional encodings such as JSON or RDF. The standard MIME-type and sub-type for GML data should be used to indicate the encoding choice as specified in MIME Media Types for GML, namely: application/gml+xml.
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site1.
In order to conform to this OGC™ interface standard, a software implementation shall choose to implement:
-
Any one of the conformance levels specified in Annex A (normative).
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
3. Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
James Tomkins , Dominic Lowe : OGC 15-043r3, Timeseries Profile of Observations and Measurements . Open Geospatial Consortium (2016). http://docs.opengeospatial.org/is/15-043r3/15-043r3.html
Policy SWG: OGC 08-131r3, The Specification Model — Standard for Modular specifications. Open Geospatial Consortium (2009). https://portal.opengeospatial.org/files/?artifact_id=34762&version=2
Peter Taylor: OGC 10-126r4, OGC® WaterML 2.0: Part 1- Timeseries. Open Geospatial Consortium (2014). https://portal.opengeospatial.org/files/?artifact_id=57222
James Tomkins and Dominic Lowe: OGC 15-042r3, TimeseriesML 1.0 – XML Encoding of the Timeseries Profile of Observations and Measurements. Open Geospatial Consortium (2016). http://docs.opengeospatial.org/is/15-042r3/15-042r3.html
Boyan Brodaric: OGC 15-082, OGC GroundWaterML 2 – GW2IE FINAL REPORT. Open Geospatial Consortium (2016). https://portal.opengeospatial.org/files/?artifact_id=64688
GeoSciML Modeling Team: OGC 16-008, OGC Geoscience Markup Language 4.1 (GeoSciML). Open Geospatial Consortium (2017). http://docs.opengeospatial.org/is/16-008/16-008.html
Arliss Whiteside Jim Greenwood : OGC 06-121r9, OGC Web Service Common Implementation Specification. Open Geospatial Consortium (2010). https://portal.opengeospatial.org/files/?artifact_id=38867
ISO: ISO/TS 19103:2005, Geographic information — Conceptual schema language. International Organization for Standardization, Geneva (2005). https://www.iso.org/standard/37800.html
ISO: ISO 19123:2005, Geographic information — Schema for coverage geometry and functions. International Organization for Standardization, Geneva (2005). https://www.iso.org/standard/40121.html
ISO: ISO/TS 19139:2007, Geographic information — Metadata — XML schema implementation. International Organization for Standardization, Geneva (2007). https://www.iso.org/standard/32557.html
ISO: ISO 19156:2011, Geographic information — Observations and measurements. International Organization for Standardization, Geneva (2011). https://www.iso.org/standard/32574.html
ISO: ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times. International Organization for Standardization, Geneva (2004). https://www.iso.org/standard/40874.html
Simon Cox: OGC 10-004r3, Topic 20: Observations and Measurements. Open Geospatial Consortium (2010). https://portal.opengeospatial.org/files/?artifact_id=41579
Roger Lott: OGC 08-015r2, Topic 2 — Spatial referencing by coordinates. Open Geospatial Consortium (2010). https://portal.opengeospatial.org/files/?artifact_id=39049
OGC: OGC 07-011, Topic 6 — Schema for coverage geometry and functions. Open Geospatial Consortium (2007). https://portal.opengeospatial.org/files/?artifact_id=19820
ISO: OGC 01-111, Topic 11 — Metadata. Open Geospatial Consortium (2001). http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=26020
Clemens Portele: OGC 07-036r1, OpenGIS Geography Markup Language (GML) Encoding Standard — with corrigendum. Open Geospatial Consortium (2018). https://portal.opengeospatial.org/files/?artifact_id=74183&version=2
ISO: ISO 19136:2007, Geographic information — Geography Markup Language (GML). International Organization for Standardization, Geneva (2007). https://www.iso.org/standard/32554.html
Simon Cox: OGC 10-025r1, Observations and Measurements — XML Implementation. Open Geospatial Consortium (2011). https://portal.opengeospatial.org/files/?artifact_id=41510
Alexandre Robin: OGC 08-094r1, OGC® SWE Common Data Model Encoding Standard. Open Geospatial Consortium (2011). https://portal.opengeospatial.org/files/?artifact_id=41157
Simon Cox: OGC 06-188r1, GML Encoding of Discrete Coverages (interleaved pattern). Open Geospatial Consortium (2007). https://portal.opengeospatial.org/files/?artifact_id=20794
ISO/IEC: ISO/IEC 19757-3:2006, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation — Schematron. International Organization for Standardization and International Electrotechnical Commission, Geneva (2006). https://www.iso.org/standard/40833.html
Mike Botts, Alexandre Robin, Eric Hirschorn: OGC 12-000r2, OGC SensorML: Model and XML Encoding Standard. Open Geospatial Consortium (2020). http://docs.ogc.org/is/12-000r2/12-000r2.html
Schadow, G and McDonald, C.: Unified Code for Units of Measure (UCUM) — Version 1.8 (2009)
OMG UML 2.3, Unified Modeling Language. (2010). https://www.omg.org/spec/UML/2.3/
Extensible Markup Language (XML) — Version 1.0 (Fourth Edition) (2006)
XML Schema — Version 1.0 (Second Edition) (2004)
4. Terms and definitions
For the purposes of this document, the following terms and definitions apply.
This document uses the terms defined in 06-121r9, Clause 5.3, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.
This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.
For the purposes of this document, the following additional terms and definitions apply.
4.1.
coverage
Feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain.
[SOURCE: ISO 19123:2005, Clause 4.17]
4.2.
domain feature
Feature of a type defined within a particular application domain.
Note 1 to entry: This may be contrasted with observations and sampling features, which are features of types defined for cross-domain purposes.
[SOURCE: ISO 19156:2011, Clause 4.4]
4.3.
element <XML>
Basic information item of an XML document containing child elements, attributes and character data.
Note 1 to entry: From the XML Information Set ― each XML document contains one or more elements, the boundaries of which are either delimited by start-tags and end-tags, or, for empty elements, by an empty-element tag. Each element has a type, identified by name, sometimes called its “generic identifier” (GI), and may have a set of attribute specifications. Each attribute specification has a name and a value.
[SOURCE: ISO 19136:2007]
4.4.
feature
Abstraction of a real-world phenomena.
[SOURCE: ISO 19101-1:2014, Clause 4.11]
4.5.
GML application schema
Application schema written in XML Schema in accordance with the rules specified in ISO 19136:2007.
[SOURCE: ISO 19136:2007]
4.6.
GML document
XML document with a root element that is one of the elements AbstractFeature, Dictionary or TopoComplex, specified in the GML schema or any element of a substitution group of any of these elements.
[SOURCE: ISO 19136:2007]
4.7.
GML schema
Schema components in the XML namespace http://www.opengis.net/gml/3.2 as specified in ISO 19136:2007.
[SOURCE: ISO 19136:2007]
4.8.
measurement
Set of operations having the objective of determining the value of a quantity.
[SOURCE: ISO 19101-2, Clause 4.20]
4.9.
observation
Act of observing a property.
Note 1 to entry: The goal of an observation may be to measure or otherwise determine the value of a property.
[SOURCE: ISO 19156:2011, Clause 4.10]
4.10.
observation procedure
Method, algorithm or instrument, or system which may be used in making an observation.
[SOURCE: ISO 19156:2011, Clause 4.11]
4.11.
observation result
Estimate of the value of a property determined through a known procedure.
[SOURCE: ISO 19156:2011]
4.12.
property <General Feature Model>
Facet or attribute of an object referenced by a name.
Example
Abby’s car has the colour red, where “colour red” is a property of the car instance.
4.13.
sampled feature
The real-world domain feature of interest, such as a groundwater body, aquifer, river, lake, or sea, which is observed.
[SOURCE: ISO 19156:2011]
4.14.
sampling feature
Feature, such as a station, transect, section or specimen, which is involved in making observations of a domain feature.
Note 1 to entry: A sampling feature is purely an artefact of the observational strategy, and has no significance independent of the observational campaign.
[SOURCE: ISO 19156:2011, Clause 4.16]
4.15.
schema <XML Schema>
XML document containing a collection of schema component definitions and declarations within the same target namespace.
Example Schema components of W3C XML Schema are types, elements, attributes, groups, etc.
Note 1 to entry: The W3C XML Schema provides an XML interchange format for schema information. A single schema document provides descriptions of components associated with a single XML namespace, but several documents may describe components in the same schema, i.e., the same target namespace.
[SOURCE: ISO 19136:2007]
4.16.
sensor
Type of observation procedure that provides the estimated value of an observed property at its output.
Note 1 to entry: 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.
5. Contributing organizations
The organizations that submitted this standard are listed in Section iv.
The following organizations contributed to the initiation or development of this standard:
-
Geological Survey of Canada (GSC), Canada
-
U.S. Geological Survey (USGS), United States of America
-
Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia
-
Federation University Australia (FedUni), Australia
-
Bureau of Meteorology (BOM), Australia
-
European Commission, Directorate General — Joint Research Centre (JRC), European Union
-
Polish Association for Spatial Information
-
Polish Geological Institute (PGI), Poland
-
Geological Surveys of Germany (GSG), Germany
-
Salzburg University (U Salzburg), Austria
-
Bureau de Recherches Géologiques et Minières (BRGM), France
-
British Geological Survey (BGS), U.K.
-
International Groundwater Resources Assessment Centre (IGRAC), UNESCO
6. Conventions
6.1. Requirements class
Each normative statement (requirement or recommendation) in this standard is a member of a requirements class. Each requirements class is described in a discrete clause or sub-clause, and summarized using the following template:
Table 2
Requirements Class: [label] | |
---|---|
/req/{classM} | |
Obligation | requirement |
Target type | [artefact or technology type] |
Dependency | [identifier for another requirements class] |
Requirement | /req/{classM}/{reqN} |
Recommendation | /req/{classM}/{recO} |
Requirement | /req/{classM}/{reqP} |
Requirement /Recommendation | [repeat as necessary] |
All requirements in a class must be satisfied. Hence, the requirements class is the unit of re-use and dependency, and the value of a dependency requirement is another requirements class. All requirements in a dependency must also be satisfied by a conforming implementation. A requirements class may consist only of dependencies and introduce no new requirements.
6.2. Requirement
All requirements are normative, and each is presented with the following template:
Table 3
Requirement [serial number]: |
---|
/req/[classM]/[reqN] |
[Normative statement] |
where /req/[classM]/[reqN] identifies the requirement or recommendation. The use of this layout convention allows the normative provisions of this standard to be easily located by implementers.
6.3. Conformance class
Conformance to this standard is possible at a number of levels, specified by conformance classes (Annex A). Each conformance class is summarized using the following template:
Table 4
Conformance class | /conf/{classM} |
---|---|
Dependency | [identifier for another conformance class] |
Requirements | /req/{classA} |
Tests | [reference to clause(s) containing tests] |
All tests in a class must be passed. Each conformance class tests conformance to a set of requirements packaged in a requirements class.
W3C Schema (XSD) and ISO Schematron (SCH) files are considered as part of this standard, although available online only, due to concerns about document size. Many requirements are expressed in a single XSD or SCH file although tests are listed individually in the conformance annex (one test for XSD and one test for SCH).
Schematron files explicitly specify which requirements are being tested in the title of the schematron pattern.
<pattern id="origin_elevation">
<title>Test requirement: /req/well-xsd/origin-elevation</title>
<rule context="gwml2w:GW_Well">
<assert test="count(gwml2w:gwWellReferenceElevation/gwml2w:Elevation[gwml2w:elevationType/@xlink:href='http://www.opengis.net/req/well/origin_elevation']) = 1">A GW_Well needs at least one origin Elevation</assert>
</rule>
</pattern>
6.4. Identifiers
Each requirements class, requirement and recommendation is identified by a URI. The identifier supports cross-referencing of class membership, dependencies, and links from each conformance test to the requirements tested. In this standard, identifiers are expressed as partial URIs or paths, which can be appended to a base URI that identifies the specification as a whole in order to construct a complete URI for identification in an external context.
The URI for each requirements class has the form:
http://www.opengis.net/spec/groundwaterml/2.2/req/[classM].
The URI for each requirement or recommendation has the form:
http://www.opengis.net/spec/groundwaterml/2.2/req/[classM]/[reqN].
The URI for each conformance class has the form:
http://www.opengis.net/spec/groundwaterml/2.2/conf/[classM].
The URI for each conformance test has the form:
http://www.opengis.net/spec/groundwaterml/2.2/conf/[classM]/[testN].
6.5. External package abbreviations
Concepts from schemas defined in some other International Standards are designated with names that start with alpha codes as follow:
Table 5
GF | ISO 19109:2005 General Feature Model |
GFI | ISO 19156:2011 General Feature Model Instances |
TM | ISO 19108:2002 Temporal Schema, Temporal Objects |
MD | ISO 19115 Metadata |
CV | ISO 19123:2005 Schema for Coverage Geometry and Functions |
OM | ISO 19156:2011 Observations and Measurements |
DQ | ISO 19157:201X Data Quality |
WML2 | OGC® WaterML 2.0: Part 1- Timeseries |
GW | GroundwaterML 2.0 |
TS | TimeseriesML |
6.6. Abbreviated terms
In this document the following abbreviations and acronyms are used or introduced:
Table 6
API | Application Program Interface |
GeoSciML 3.2 | GeoScience Mark-up Language version 3.2 |
GeoSciML 4.0 | GeoScience Mark-up Language version 4.0 |
GML | OGC Geography Mark-up Language |
GWML1 | Groundater Markup Language version 1.0 (Natural Resources Canada) |
GWML2 | Groundwater Markup Language version 2.0 (this standard) |
GWML2-Main | UML Logical Model of the primary GroundWaterML2 elements (namespace http://www.opengis.net/gwml-main/2.2) |
GWML2-Flow | UML Logical Model of the elements required to capture groundwater flow (namespace http://www.opengis.net/gwml-flow/2.2) |
GWML2-Constituent | UML Logical Model of the groundwater fluid body constituents and their relationships (namespace http://www.opengis.net/gwml-constituent/2.2) |
GWML2-Well | UML Logical Model of the features and properties associated with water well (namespace http://www.opengis.net/gwml-well/2.2) |
GWML2-WellConstruction | UML Logical Model of the well drilling and construction details (namespace http://www.opengis.net/gwml-wellconstruction/2.2) |
GWML2-AquiferTest | UML Logical Model of the features and properties associated with aquifer test (namespace http://www.opengis.net/gwml-aquifertest/2.2) |
INSPIRE | Infrastructure for Spatial Information in the European Community (Directive 2007/2/EC) |
ISO | International Organization for Standardization |
IUGS | International Union of Geological Sciences |
NACSN | North American Commission on Stratigraphic Nomenclature |
NADM | North American geological Data Model |
OGC | Open Geospatial Consortium |
O&M | OGC Observations and Measurements Conceptual Model |
OMXML | Observations and Measurements XML Implementation |
SensorML | Sensor Model Language |
SOS | Sensor Observation Service |
SWE | Sensor Web Enablement |
TSML | TimeseriesML |
UML | Unified Modeling Language |
UTC | Coordinated Universal Time |
URI | Universal Resource Identifier |
URL | Universal Resource Locator |
WML2 | WaterML 2.0 — Part 1 |
XML | Extensible Markup Language |
XSD | W3C XML Schema Definition Language |
6.7. UML notation
The diagrams that appear in this standard, including the GWML2 Conceptual and Logical schemas, are presented using the Unified Modeling Language (UML), in compliance with ISO/IEC 19505-2.
Note: Within the GWML2 conceptual and logical diagrams, the following color scheme is used to identify packages in some cases. This is just for information purposes.
Amber: GWML2 defined within this standard
Green and Purple: from GeoSciML 4.0
Blue: from O&M
6.8. Finding requirements and recommendations
This standard is identified as http://www.opengis.net/spec/groundwaterml/2.2. For clarity, each normative statement in this standard is in one and only one place, and defined within a requirements class table and identified with a URI, whose root is the standard 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, 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.
7. Background
7.1. Technical Basis
This standard builds on a number of standards for encoding XML data, including:
-
OMXML (10-025r1)
-
sweCommon (08-094r1)
-
GML ISO 19136:2007 (07-036r1)
-
ISO/TS 19139:2007 (Metadata)
-
W3C XSD
This standard also builds on existing schema, primarily Observations & Measurements (OMXML) and GeoSciML 4.0 (16-008). It accomplishes this by (a) extending these schemas with groundwater specializations, (b) referring to a class in these schema in order to type a named property, or © using a class from the schemas as one of the two participants in a binary relationship.
7.2. Overview of Observations & Measurements
ISO 19156:2011 — Observations and Measurements is a generic GML schema for observations. As shown in Figure 1, 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.“
7.2.1. Sampling features
Sampling features in O&M are defined as a “feature, such as a station, transect, section or specimen, which is involved in making observations concerning a domain feature.” Sampling features in the groundwater domain are features along which, or upon, observations are made. The most relevant are water wells and boreholes, which effectively host observations along staged intervals; a collection of these intervals and their observations constitutes a log.
Figure 1 — Observation in O&M (from ISO 19156:2011)
7.3. Overview of GeoSciML 4.0
GeoSciML 4.0 is a GML schema for core geological entities including geological units, structures, and earth materials. It is particularly relevant to GWML2 because bodies of rock serve as containers for subsurface water bodies. Such rock bodies possess variable hydrogeologic properties according to their material composition and topological organization. Thus, geological units and earth materials are the key GeoSciML 4.0 entities required by GWML2.
GeoSciML 4.0 defines a geological unit as “a body of material in the Earth whose complete and precise extent is inferred to exist (NADM GeologicUnit, Stratigraphic unit in sense of NACSN or International Stratigraphic Code), or a classifier used to characterize parts of the Earth (e.g., lithologic map unit like ‘granitic rock’ or ‘alluvial deposit’, surficial units like ’till’ or ‘old alluvium’).“
GeoSciML 4.0 defines an earth material as “naturally occurring substance in the Earth” and intuitively refers to various types of rocks such as sandstone, granite, and gneiss.
8. Conceptual Model
The GWML2 conceptual model is designed to be technology-neutral, and focused on the semantics of the groundwater domain. It consists of five components, as well as related properties and other entities: hydrogeological units, fluid bodies, voids, fluid flow, and wells. Conceptually, these entities form a simple template for a subsurface water container: the fluid container (a unit or its materials), the fluid itself (fluid body), the spaces in the container occupied by the fluid (void), the flow of fluid within and between containers and their spaces (flow), and the natural and artificial artifacts used to withdraw, inject, or monitor fluid with respect to a container (wells, springs, monitoring sites).
Well construction details are excluded from the conceptual model, but are included in the logical model for two reasons: (1) thematic, inasmuch as well construction was considered on the periphery of groundwater science, but important to resource management as well as important to significant data exchange scenarios, and (2) practical, as it is sufficiently modeled in GWML1 and could thus be directly imported with few changes. This eliminates the need for its re-conceptualization in the GWML2 conceptual model, keeping it tightly focused.
8.1. Hydrogeological Units
These are distinct volumes of earth material that serve as containers for subsurface fluids. The boundaries of a unit are typically discriminated from those of another unit using properties related to the potential or actual ability to contain or move water. The properties can be geological or hydraulic, and typically include influences from the surrounding hydrological environment. More specifically, the conceptual model delineates two types of hydrogeological units, with slightly different orientations: aquifer-related units have boundaries delimited by the hydrogeological properties of the rock body, while groundwater basins have boundaries delimited by distinct flow regimes. Aquifer-related units are subdivided into aquifer systems, which are collections of aquifers, confining beds, and other aquifer systems. Confining beds are units that impede water flow to surrounding units, and supersede notions such as aquitards, aquicludes, and aquifuges, which are not included herein, as it is difficult to differentiate these in practice.
Several significant properties are typically attributed to hydrogeological units, such as porosity, permeability, and conductivity, but these and others are modeled more accurately here as occurring necessarily concurrent with (dependent on) voids or fluid bodies. For example, porosity, in its various forms, requires both the presence of a unit (container) and its voids, as it is typically defined as the proportion of void volume to total unit volume (i.e., volume of solid material plus voids). Likewise, properties such as hydraulic conductivity and yield require the presence of units and fluid bodies, as they are concerned with the rate of movement of a fluid through a unit. Note that permeability and hydraulic conductivity are differentiated here: permeability refers to intrinsic permeability, which measures the ability of a unit to host fluid flow, independent of fluid properties and based solely on the connectivity and size of voids, whereas hydraulic conductivity additionally considers fluid properties.
Likewise, management areas are also relational entities in the sense that they are typically necessarily linked with a unit (or system) and possibly a fluid body. Management areas are earth bodies identified for groundwater management purposes and their boundaries can be delineated by social factors, such as policy or regulation, in addition to physical factors related to hydrogeology or hydrology.
8.2. Fluid Bodies
These are distinct bodies of fluid (liquid or gas) that fill the voids in hydrogeological units. Fluid bodies are made of biologic (e.g., organisms), chemical (e.g., solutes), or material constituents (e.g., sediment). While it is expected that the major constituent of a fluid body will be water, the conceptual model allows for other types of major constituents such as petroleum. Minor constituents are not necessarily fluids, but can be gases, liquids, or solids (including organisms), and are included in the fluid body in various forms of mixture, such as solution, suspension, emulsion, and precipitates. Fluid bodies can also have other fluid bodies as parts, such as plumes or gas bubbles. Surfaces can be identified on a fluid body, such as a water table, piezometric or potentiometric surface, and some such surfaces can contain divides, which are lines projected to the fluid surface denoting divergence in the direction of flow systems within the fluid.
8.3. Voids
Voids are the spaces inside a unit (e.g., aquifer) or its material (e.g., the sandstone material of an aquifer), and might contain fluid bodies. Voids are differentiated from porosity, in that porosity is a ratio of void volume to total volume of unit plus voids, while voids are the spaces themselves. It is important to conceptually differentiate voids from units and their containers, in order to represent, for example, the volume of fractures, caves, or pores in a particular unit or its portion.
8.4. Flow
Groundwater flow denotes the process by which a fluid enters or exits a container (unit) or its voids, or flows within them. Flow between one container or void and another is named InterFlow, and flow within a container or void is named IntraFlow. Recharge is the flow into a groundwater container or void, and discharge is flow out of a groundwater container or void. The reciprocal source or destination entity can be any appropriate container or void such as a river, lake, pipe, reservoir, canyon, flood plain, ground surface, etc. A flow system is then a collection of flows ordered in a sequence from recharge to discharge, such that the flow segments of the system make up a connected flow path from source to destination. A water budget is a measure of the balance of recharge and discharge valid for a specific time and relative to a specific groundwater feature, such as a basin, aquifer, management area, or well.
Many of these concepts are depicted in Figure 2. Shown is a flow system (A+B) and two subsystems (A, B) that are its parts. Each subsystem is composed of interior flows, indicated by the solid lines with arrows, as well as input and output flows indicated as recharge and discharge, respectively. These flow systems are contained by three distinct hydrogeologic unit bodies, with the middle body oriented at an angle and having a K (hydraulic conductivity) value of 10-5. Intraflow is exemplified by a flow line within the right hydrogeologic unit body, while Interflow is exemplified by the flow from right body (the source container) to middle body (the destination container). The boundary between the bodies serves as the interface through which the flow occurs. While not shown, the three hydrogeologic unit bodies contain a groundwater body (i.e., a fluid body) in their pores (i.e., voids), and it is this groundwater body that is flowing.
Figure 2 — Example flow system with two subsystems (after Freeze & Cherry, 1978, p. 204)
8.5. Wells
Well-related entities include water wells, springs, and monitoring sites. Water wells are man-made constructions for monitoring, withdrawing, or injecting water from/into a hydrogeological unit, while springs are features where water discharges to the surface naturally. Both wells and springs possess important links to the hydrogeological environment, including their host units and materials, as well as the intersecting fluid body. Monitoring sites are locations where devices are placed to measure various properties of significance to hydrogeology, such as water level, flow rate, water temperature, or chemical composition, or to take samples. As such, monitoring sites are roles played by other features, for example, water wells or springs.
8.6. Conceptual Model Specification
Figure 3 — GWML2 CM — Hydrogeological Unit
Figure 4 — GWML2 CM — Groundwater Properties
Figure 5 — GWML2 CM — Fluid Body
Figure 6 — GWML2 CM — Groundwater Flow
Figure 7 — GWML2 CM — Wells
8.6.1. DocumentCitation
The class DocumentCitation is abstract, and has no attributes, operations or associations. It serves as a placeholder for legislative and reference documentation for a management area. Legislative documentation refers to the legal instrument or document that required the establishment of the management area. Reference documentation might describe the environmental objectives and measures that are to be undertaken in the management area to protect the environment (a reference to a management or action plan), licensing information, and associated maps.
The ‘Legislation References’ and ‘DocumentCitation’ classes from the INSPIRE Generic Conceptual Model are possible candidates for DocumentCitation.
Table 7
Relation | Source | Target | Description |
Association | Entity: GW_ManagementArea Role: | Entity: DocumentCitation Role: documentation | Relates legislative and reference documentation to a management area. |
8.6.2. Elevation
Elevation of a feature in reference to a datum.
Table 8
Attribute | Type and Multiplicity | Definition |
elevation | Geometry | Numeric value and coordinate reference system (CRS), including the unit of measure (UoM) for the elevation. |
elevationAccuracy | PositionalAccuracyType | Description of the accuracy of the elevation measurement. |
elevationMeasurementMethod | ElevationMeasurementMethodType | Method used to measure the elevation, e.g., GPS, Survey, DEM, etc. |
elevationType | elevationTypeTerm | Type of reference elevation, defined as a feature, e.g., Top of Casing, Ground, etc. |
8.6.3. GL_EarthMaterial
From GeoSciML 4.0:
Earth materials are substances, e.g., sandstone or granite, that constitute physical bodies, e.g., hydrogeological units. This class enables various hydrogeological properties to be attributed to a specific occurrence of a material, e.g., the sandstone of a specific aquifer.
Table 9
Attribute | Type and Multiplicity | Definition |
gwVoidProperty | GW_UnitVoidProperty | The porosity or permeability of a particular earth material that hosts a void. |
gwFluidProperty | GW_UnitFluidProperty | The hydraulic conductivity, transmissivity, or storativity of an earth material. |
8.6.4. GL_GeologicUnit
From GeoSciML 4.0:
Conceptually, may represent a body of material in the Earth whose complete and precise extent is inferred to exist (NADM GeologicUnit, Stratigraphic unit in sense of NACSN or International Stratigraphic Code), or a classifier used to characterize parts of the Earth (e.g., lithologic map unit like ‘granitic rock’ or ‘alluvial deposit’, surficial units like ’till’ or ‘old alluvium’).
Table 10
Attribute | Type and Multiplicity | Definition |
gwUnitDescription | char [1..*] | Description of the unit. |
gwUnitMetadata | GW_Metadata [1..*] | Metadata for the unit . |
gwUnitName | char [1..*] | Name of the unit (common local name or formal name). |
gwUnitShape | Geometry | The geometry of the unit. |
gwUnitThickness | Measurement | Typical thickness of the unit. |
Table 11
Relation | Source | Target | Description |
Generalization | Entity: GW_HydrogeoUnit Role: | Entity: GL_GeologicUnit Role: | A hydrogeological unit is a type of geological unit. |
8.6.5. GW_Aquifer
A body of earth material that contains / potentially contains / potentially contained sufficient saturated permeable material to yield significant quantities of water to wells and springs (after Lohman, 1972).
Table 12
Attribute | Type and Multiplicity | Definition |
gwAquiferType | AquiferType | Several aquifer types can be distinguished: unconfined, confined, artesian, subartesian, or aquitard (after INSPIRE, 2013). |
gwAquiferIsExploited | boolean | Denotes whether groundwater from the hydrogeological unit is being exploited by wells or other intakes (after INSPIRE, 2013). |
gwAquiferIsMain | boolean | Denotes whether the unit is primary in an Aquifer System (after INSPIRE, 2013). |
Table 13
Relation | Source | Target | Description |
Association | Entity: GW_Aquifer Role: gwConfinedAquifer | Entity: GW_ConfiningBed Role: gwConfiningBed | Relates an aquifer and its confining beds. |
Generalization | Entity: GW_Aquifer Role: | Entity: GW_AquiferUnit Role: | An aquifer is a type of aquifer-related unit. |
8.6.6. GW_AquiferSystem
Aquifer system — a body of permeable and poorly permeable material that functions regionally as a water-yielding unit; it comprises two or more permeable beds separated at least locally by confining beds that impede groundwater movement but do not greatly affect the regional hydraulic continuity of the system; includes both saturated and unsaturated parts of permeable material (after ASCE, 1987).
Table 14
Attribute | Type and Multiplicity | Definition |
gwAquiferSystemIsLayered | boolean | True if this aquifer / system is a layered system. (after INSPIRE, 2013). |
Table 15
Relation | Source | Target | Description |
Generalization | Entity: GW_AquiferSystem Role: | Entity: GW_AquiferUnit Role: | An aquifer system is a type of aquifer-related unit. |
Association | Entity: GW_AquiferSystem Role: gwAquiferSystem | Entity: GW_AquiferUnit Role: gwAquiferSystemPart | Relates an aquifer system with its parts, which can be other systems, aquifers or confining beds. |
8.6.7. GW_AquiferUnit
Denotes aquifer-related hydrogeological units: aquifer systems, aquifers, or confining beds.
Table 16
Relation | Source | Target | Description |
Generalization | Entity: GW_AquiferUnit Role: | Entity: GW_HydrogeoUnit Role: | An aquifer unit is a type of hydrogeological unit. |
Generalization | Entity: GW_AquiferSystem Role: | Entity: GW_AquiferUnit Role: | An aquifer system is a type of aquifer-related unit. |
Association | Entity: GW_AquiferSystem Role: gwAquiferSystem | Entity: GW_AquiferUnit Role: gwAquiferSystemPart | Relates an aquifer system with its parts, which can be other systems, aquifers or confining beds. |
Generalization | Entity: GW_ConfiningBed Role: | Entity: GW_AquiferUnit Role: | A confining bed is a type of aquifer-related unit. |
Generalization | Entity: GW_Aquifer Role: | Entity: GW_AquiferUnit Role: | An aquifer is a type of aquifer-related unit. |
8.6.8. GW_Basin
A large hydrogeologically defined body of ground typically consisting of hydraulically connected hydrogeological units, whose waters are flowing to a common or multiple outlets, and which is delimited by a groundwater divide.
Table 17
Attribute | Type and Multiplicity | Definition |
gwDivide | GW_Divide [1..*] | “Line on a water table or piezometric surface on either side of which the groundwater flow diverges” (IGH0556). |
Table 18
Relation | Source | Target | Description |
Generalization | Entity: GW_Basin Role: | Entity: GW_HydrogeoUnit Role: | A basin is a type of hydrogeological unit. |
Aggregation | Entity: GW_Basin Role: | Entity: GW_HydrogeoUnit Role: gwBasinUnit | Relates hydrogeological units and the basins that contain them, in full or part. |
8.6.9. GW_BiologicConstituent
Characterisation of the biological composition of the fluid body, both natural and man-made.
Table 19
Attribute | Type and Multiplicity | Definition |
gwOrganism | OrganismType | Biological species. |
gwState | StateType solid | Organisms are always solids. |
Table 20
Relation | Source | Target | Description |
Generalization | Entity: GW_BiologicConstituent Role: | Entity: GW_Constituent Role: | A biologic constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g., arsenic), biologic (e.g., organisms), and material (e.g., sediment). |
8.6.10. GW_ChemicalConstituent
Characterisation of the chemical composition of the fluid body, both natural and man-made.
Table 21
Attribute | Type and Multiplicity | Definition |
gwChemical | ChemicalType | Chemical component type, e.g., arsenic. |
Table 22
Relation | Source | Target | Description |
Generalization | Entity: GW_ChemicalConstituent Role: | Entity: GW_Constituent Role: | A chemical constituent is a type of fluid body constituent. The 3 types of fluid body constituent are: chemical (e.g., arsenic), biologic ( e.g., organisms), and material (e.g., sediment). |
8.6.11. GW_ConfiningBed
A layer of rock having very low porosity and in consequence hydraulic conductivity that hampers the movement of water into and out of an aquifer (Heath, 1983).
Table 23
Attribute | Type and Multiplicity | Definition |
gwSpatialConfinement | SpatialConfinementType | Degree of spatial confinement (typically: “Unconfined-Confined”, “Partially Confined”). |
gwConductivityConfinement | ConductivityConfinementType | Degree of hydraulic confinement (e.g., aquiclude). |
Table 24
Relation | Source | Target | Description |
Association | Entity: GW_Aquifer Role: gwConfinedAquifer | Entity: GW_ConfiningBed Role: gwConfiningBed | Relates an aquifer and its confining beds. |
Generalization | Entity: GW_ConfiningBed Role: | Entity: GW_AquiferUnit Role: | A confining bed is a type of aquifer-related unit. |
8.6.12. GW_Constituent
General (abstract) entity denoting a material, chemical or biological constituent of a fluid body.
Table 25
Attribute | Type and Multiplicity | Definition |
gwConcentration | Measurement | The concentration of the constituent in the fluid body. |
gwState | StateType | The physical state of the constituent, i.e., solid, liquid, or gas. |
Table 26
Relation | Source | Target | Description |
Association | Entity: GW_FluidBody Role: | Entity: GW_Constituent Role: gwBackgroundConstituent | Relates a fluid body to typical background constituent values for that body. |
AssociationClass | Entity: GW_Constituent Role: gwConstituent | Entity: GW_Constituent Role: gwConstitutedOf | A general binary relation between constituents, in which the relation type can be specified in addition to the causal mechanism that caused the relationship. |
Generalization | Entity: GW_BiologicConstituent Role: | Entity: GW_Constituent Role: | A biologic constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g., arsenic), biologic (e.g., organisms), and material (e.g., sediment). |
Generalization | Entity: GW_ChemicalConstituent Role: | Entity: GW_Constituent Role: | A chemical constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g., arsenic), biologic (e.g., organisms), and material (e.g., sediment). |
Generalization | Entity: GW_MaterialConstituent Role: | Entity: GW_Constituent Role: | A material constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g., arsenic), biologic (e.g., organisms), and material (e.g., sediment). |
AssociationClass | Entity: GW_FluidBody Role: | Entity: GW_Constituent Role: gwBodyConstituent | Relates a fluid body to its chemical, biologic, or material constituents, and specifies the nature of the mixture of the constituent within the body, e.g., solution, suspension. |
8.6.13. GW_ConstituentRelation
Relation between fluid body components, typically caused by a specific mechanism, e.g., coating (from adsorption), constitution (from chemical bonding forming a new material), aggregation (from physical bonding, e.g., pressure), containment (from absorption, digestion).
Table 27
Attribute | Type and Multiplicity | Definition |
gwConstituentRelationType | ConstituentRelationType | Specific type of relation between fluid body components, e.g., coating, constitution, aggregation, containment. |
gwConstitutionRelationMechanism | MechanismType | Mechanisms by which materials (of various states) come into a relationship, e.g., sorption, precipitation, digestion, excretion, etc. |
8.6.14. GW_Discharge
An outflow of fluid from a container such as an aquifer, watershed, pipe.
Table 28
Relation | Source | Target | Description |
Generalization | Entity: GW_Discharge Role: | Entity: GW_InterFlow Role: | Discharge is a type of interflow in which fluid exits a feature. |
8.6.15. GW_Divide
“A line on a water table or piezometric surface, on either side of which the groundwater flow diverges” (IGH0556).
Table 29
Attribute | Type and Multiplicity | Definition |
gwDivideShape | Geometry | Shape / position of the divide (line, plane or point) intersecting a fluid body surface. |
gwDivideFlow | GW_FlowSystem [2..*] | Flow system on each side of the divide. |
Table 30
Relation | Source | Target | Description |
Association | Entity: GW_Divide Role: gwSurfaceDivide | Entity: GW_FluidBodySurface Role: gwDivideSurface | Relates a fluid body surface to a line on e.g., a water table or piezometric surface, on either side of which the groundwater flow diverges. |
8.6.16. GW_Flow
Process by which the fluid enters or exits a hydrogeological unit or a void, or flows within a unit or a void. Can flow from/to other natural or man-made features such as rivers, filtration stations, etc.
Table 31
Attribute | Type and Multiplicity | Definition |
gwFlowProcess | WaterFlowProcess | The process causing the flow, e.g., evapotranspiration, evaporation, transpiration, runoff, baseflow, pumping, infiltration, injection, etc. |
gwFlowTime | TemporalType | Refers to the duration, instant or interval of the flow (actual time, not observation time). E.g., “yearly”, “summer”, “2009” or “2009-2011”. |
gwFlowVelocity | Measurement | Measure of length traveled per time period. |
gwFlowVolumeRate | Measurement | Measure of water quantity per time period. |
gwFlowPersistence | FlowPersistenceType | The regularity of flow occurrence, e.g., ephemeral, intermittent, perennial, seasonal. After http://inspire.ec.europa.eu/codeList/WaterPersistenceValue/ (INSPIRE, 2013). |
Table 32
Relation | Source | Target | Description |
Generalization | Entity: GW_InterFlow Role: | Entity: GW_Flow Role: | An interflow is a type of directed flow between two features, e.g., flow between two units. |
Generalization | Entity: GW_IntraFlow Role: | Entity: GW_Flow Role: | An intraflow is a type of flow within a single feature, e.g., flow within a unit. |
Aggregation | Entity: GW_FlowSystem Role: | Entity: GW_Flow Role: gwFlow | Relates a flow system to the individual flows that comprise the system. Flows are atomic entities that cannot have parts, but which form parts of flow systems. |
8.6.17. GW_FlowSystem
Flow path from recharge to discharge location, through hydrogeological units. It is related to a fluid body, and consists of a collection or aggregation of at least two specific flows, as well as possibly other flow systems.
Table 33
Attribute | Type and Multiplicity | Definition |
gwFlowPath | Geometry [1..*] | The path of flow of a fluid through a container. |
Table 34
Relation | Source | Target | Description |
Association | Entity: GW_FlowSystem Role: gwFlowSystemPart | Entity: GW_FlowSystem Role: gwPartOfSystemFlow | Relates a flow system part to a flow system whole. |
Aggregation | Entity: GW_FlowSystem Role: | Entity: GW_Flow Role: gwFlow | Relates a flow system to the individual flows that comprise the system. Flows are atomic entities that cannot have parts, but which form parts of flow systems. |
8.6.18. GW_FluidBody
A distinct body of some fluid (liquid, gas) that fills the voids of a container such as an aquifer, system of aquifers, water well, etc. In hydrogeology this body is usually constituted by groundwater, but the model allows for other types of fillers e.g., petroleum.
Table 35
Attribute | Type and Multiplicity | Definition |
gwBodyDescription | char [1..*] | General description of the fluid body |
gwBodyFlow | GW_Flow [1..*] | Flows associated with the fluid body. |
gwBodyMetadata | GW_Metadata [1..*] | Metadata about the fluid body. |
gwBodyQuality | BodyQualityType [1..*] | Categorical assessment of quality of the fluid body as a whole: e.g., saline, brackish, fresh, turbide, sulfurous, mixed, … 1000-3000mg/l tds, etc. A normative quality description is an assesment based upon some guideline edited by a government or a quality standard. |
gwBodyShape | Geometry | Shape and position of the fluid body. |
gwBodyVolume | Measurement | Description of the volume/quantity of a fluid present in a container at a certain time. |
gwBodyVulnerability | GW_Vulnerability [0..*] | The susceptibility of the fluid body to specific threats such as surface contamination, etc. |
Table 36
Relation | Source | Target | Description |
Association | Entity: GW_HydrogeoVoid Role: gwFluidBodyVoid | Entity: GW_FluidBody Role: gwVoidFluidBody | Relates a void and a fluid body contained by the void. Each void contains at most one fluid body, which can have multiple parts that could be disconnected. Likewise, each fluid body is contained by a single void, which could be an aggregation of disconnected void parts. |
Association | Entity: GW_ManagementArea Role: | Entity: GW_FluidBody Role: gwAreaBody | Relates a management area to the fluid bodies contained within the area. As with units, the spatial boundaries of management areas do not necessarily coincide with the spatial boundaries of fluid bodies. |
Association | Entity: GW_FluidBodySurface Role: gwBodySurface | Entity: GW_FluidBody Role: gwSurfaceBody | Relates a fluid body to a surface hosted by the body, e.g., the top of the water table. |
Aggregation | Entity: GW_FluidBody Role: gwPartOfBody | Entity: GW_FluidBody Role: gwBodyPartOf | Relates a fluid body part to a fluid body whole. |
AssociationClass | Entity: GW_HydrogeoUnit Role: gwFluidBodyUnit | Entity: GW_FluidBody Role: gwUnitFluidBody | Relates hydrogeological units and the fluid bodies contained by the units. |
Association | Entity: GW_FluidBody Role: | Entity: GW_FluidBodyProperty Role: gwBodyProperty | Relates a fluid body to additional properties such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. |
Association | Entity: GW_FluidBody Role: | Entity: GW_Constituent Role: gwBackgroundConstituent | Relates a fluid body to typical background constituent values for that body. |
AssociationClass | Entity: GW_FluidBody Role: | Entity: GW_Constituent Role: gwBodyConstituent | Relates a fluid body to its chemical, biologic, or material constituents, and specifies the nature of the mixture of the constituent within the body, e.g., solution, suspension. |
8.6.19. GW_FluidBodyProperty
Additional properties that characterize a fluid body. Can include synoptic values for the whole body or location-specific observations such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc.
Table 37
Attribute | Type and Multiplicity | Definition |
gwBodyProperty | gwBodyPropertyType | Type of fluid body property, e.g., age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. |
gwBodyPropertyValue | Measurement | Value of the fluid body property (with uom). |
Table 38
Relation | Source | Target | Description |
Association | Entity: GW_FluidBody Role: | Entity: GW_FluidBodyProperty Role: gwBodyProperty | Relates a fluid body to additional properties such as age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. |
8.6.20. GW_FluidBodySurface
A surface on a fluid body within a local or regional area, e.g., piezometric, potentiometric, water table, salt wedge, etc.
Table 39
Attribute | Type and Multiplicity | Definition |
gwSurfaceShape | Surface | Geometry / position of the surface. |
gwSurfaceType | SurfaceType | Type of fluid body surface, e.g., piezometric, potentiometric, water table, salt wedge, etc. |
gwSurfaceMetadata | ObservationMetadata | Date, time, method, etc., of the observation or calculation of the surface. |
Table 40
Relation | Source | Target | Description |
Association | Entity: GW_Divide Role: gwSurfaceDivide | Entity: GW_FluidBodySurface Role: gwDivideSurface | Relates a fluid body surface to a line on e.g., a water table or piezometric surface, on either side of which the groundwater flow diverges. |
Association | Entity: GW_FluidBodySurface Role: gwBodySurface | Entity: GW_FluidBody Role: gwSurfaceBody | Relates a fluid body to a surface hosted by the body, e.g., the top of the water table. |
8.6.21. GW_HydrogeoUnit
Any soil or rock unit or zone that by virtue of its hydraulic properties has a distinct influence on the storage or movement of groundwater (after ANS, 1980).
Table 41
Attribute | Type and Multiplicity | Definition |
gwUnitMedia | PorosityType | Type of material or, by proximity, type of voids (e.g., granular, fracture, karstic, or mixed). |
gwUnitRecharge | GW_Recharge [1..*] | Volumetric flow rate of water that enters an hydrogeologic unit, at potentially multiple locations. |
gwUnitDischarge | GW_Discharge [1..*] | Volumetric flow rate of water that goes out of an hydrogeologic unit, at potentially multiple locations. |
gwUnitWaterBudget | GW_WaterBudget | Sum of water input and output of a hydrogeologic unit, at a particular point in time, with a description of inflows and outflows. |
gwUnitVulnerability | GW_Vulnerability [0..*] | The susceptibility of the aquifer to specific threats such as various physical events (earthquakes), human processes (depletion), etc. |
Table 42
Relation | Source | Target | Description |
Generalization | Entity: GW_Basin Role: | Entity: GW_HydrogeoUnit Role: | A basin is a type of hydrogeological unit. |
Generalization | Entity: GW_AquiferUnit Role: | Entity: GW_HydrogeoUnit Role: | An aquifer unit is a type of hydrogeological unit. |
Generalization | Entity: GW_HydrogeoUnit Role: | Entity: GL_GeologicUnit Role: | A hydrogeological unit is a type of geological unit. |
AssociationClass | Entity: GW_HydrogeoUnit Role: gwVoidUnit | Entity: GW_HydrogeoVoid Role: gwUnitVoid | Relates hydrogeological units with a void hosted by the units. A unit hosts one void, which can be an aggregation of multiple voids potentially spatially disconnected. Voids in turn can be hosted by many units, particularly when units are arranged in whole-part relations, such that a void hosted by a part is also hosted by any associated whole, e.g., a void is hosted by both an aquifer and a related aquifer system, or a member and a related formation. |
Association | Entity: GW_HydrogeoUnit Role: | Entity: GW_UnitProperties Role: gwUnitProperty | Relates a hydrogeological unit to possibly many additional properties. |
Aggregation | Entity: GW_Basin Role: | Entity: GW_HydrogeoUnit Role: gwBasinUnit | Relates hydrogeological units and the basins that contain them, in full or part. |
AssociationClass | Entity: GW_HydrogeoUnit Role: gwFluidBodyUnit | Entity: GW_FluidBody Role: gwUnitFluidBody | Relates hydrogeological units and the fluid bodies contained by the units. |
Association | Entity: GW_ManagementArea Role: gwManagementArea | Entity: GW_HydrogeoUnit Role: gwManagedUnit | Relates a management area to the hydrogeological units contained within it. Because the spatial boundaries of management areas can be determined by human concerns, e.g., regulatory, these boundaries do not necessarily align with the spatial boundaries of units, which are determined by physical criteria. |
8.6.22. GW_HydrogeoVoid
Voids represent the spaces inside (hosted by) a unit or its material. E.g., the pores in an aquifer, or in the sandstone of an aquifer. Voids can contain fluid bodies. Voids are differentiated from ‘porosity’ in that porosity is the proportion of void volume to total volume, while voids are the spaces themselves. Voids are required in GWML2, for example, to capture the volume of fractures in an aquifer.
Table 43
Attribute | Type and Multiplicity | Definition |
gwVoidDescription | char | General description of the void |
gwVoidHostMaterial | EarthMaterial [0..*] | The material that hosts the void, if specified. Note voids can be hosted by a unit (an aquifer) or its material (e.g., sandstone). |
gwVoidMetadata | GW_Metadata | Metadata for the void. |
gwVoidShape | Geometry | Shape and position of the void. |
gwVoidType | PorosityType | Type of void e.g., fractured, intergranular, etc. |
gwVoidVolume | Measurement | Volume of the void. |
Table 44
Relation | Source | Target | Description |
Association | Entity: GW_HydrogeoVoid Role: gwFluidBodyVoid | Entity: GW_FluidBody Role: gwVoidFluidBody | Relates a void and a fluid body contained by the void. Each void contains at most one fluid body, which can have multiple parts that could be disconnected. Likewise, each fluid body is contained by a single void, which could also be an aggregation of disconnected void parts. |
AssociationClass | Entity: GW_HydrogeoUnit Role: gwVoidUnit | Entity: GW_HydrogeoVoid Role: gwUnitVoid | Relates hydrogeological units with a void hosted by the units. A unit hosts one void, which can be an aggregation of multiple voids potentially spatially disconnected. Voids in turn can be hosted by many units, particularly when units are arranged in whole-part relations, such that a void hosted by a part is also hosted by any associated whole, e.g., a void is hosted by both an aquifer and a related aquifer system, or a member and a related formation. |
Aggregation | Entity: GW_HydrogeoVoid Role: gwPartOfVoid | Entity: GW_HydrogeoVoid Role: gwVoidPartOf | Relates a void part to a void whole. |
8.6.23. GW_InterFlow
Fluid flow between features through an interface, exiting one feature and entering another. Features into which fluid is flowing are usually units, voids, or fluid bodies, but can be natural surface water features such as rivers or lakes, or even man-made features such as dams or canals. Likewise for features where water is exiting.
Table 45
Attribute | Type and Multiplicity | Definition |
gwFlowLocation | Geometry [1..*] | The location at which water is being transferred from one feature into another. |
gwFlowSourceContainer | Feature | The feature from which water is flowing. |
gwFlowSourceBody | Feature | The fluid body from which water is flowing. |
gwFlowDestinationContainer | Feature | The feature into which water is flowing. |
gwFlowDestinationBody | Feature | The fluid body into which water is flowing. |
gwFlowInterfaceFeature | Feature [0..*] | The feature that denotes the interface between, for example, the groundwater and surface, such as a well, spring, seep, etc., or between two aquifers. |
Table 46
Relation | Source | Target | Description |
Generalization | Entity: GW_InterFlow Role: | Entity: GW_Flow Role: | An interflow is a type of directed flow between two features, e.g., flow between two units. |
Generalization | Entity: GW_Recharge Role: | Entity: GW_InterFlow Role: | Recharge is a type of interflow in which fluid enters a feature. |
Generalization | Entity: GW_Discharge Role: | Entity: GW_InterFlow Role: | Discharge is a type of interflow in which fluid exits a feature. |
8.6.24. GW_IntraFlow
Fluid flow within a feature such as a unit, void, gw body, or even a man-made feature such as a conduit of some kind.
Table 47
Attribute | Type and Multiplicity | Definition |
gwFlowLocation | Geometry | The location where a fluid is flowing within a feature. |
gwFlowContainer | Feature | The feature in which the fluid is flowing. Typically a unit, void, or gw body, but can also be a man made feature such as some conduit. |
gwFlowBody | Feature | The fluid body that is flowing. |
Table 48
Relation | Source | Target | Description |
Generalization | Entity: GW_IntraFlow Role: | Entity: GW_Flow Role: | An intraflow is a type of flow within a single feature, e.g., flow in a unit. |
8.6.25. GW_Licence
Licence relating to the drilling of a well, the extraction of groundwater, etc.
Table 49
Attribute | Type and Multiplicity | Definition |
gwLicenceID | CharacterString | Licence ID, e.g., a number. |
gwPurpose | CharacterString | Purpose of the licence. |
gwAssociatedGWVolume | QuantityRange | Fluid volume associated with the licence. |
gwTimePeriod | TimeRange | The period of time for which the licence is valid. |
8.6.26. GW_ManagementArea
The GW_ManagementArea represents an area of ground identified for management purposes. The area can be delineated by human factors such as policy or regulation concerns, as well as by domain concerns (in this case hydrogeological or hydrological). The spatial boundaries of a management area do not necessarily align exactly with associated hydrogeological feature boundaries. GW_ManagementArea has the potential to provide a pattern for a more generic OGC ‘trans-domain’ feature management class. GW_ManagementArea is equivalent to InspireAM:ManagementRestrictionOrRegulationZone.
Table 50
Attribute | Type and Multiplicity | Definition |
gwAreaName | char [1..*] | Name of the management area. |
gwAreaDescription | char [1.. *] | General description of the management area. |
gwAreaFeature | Feature [1..*] | Other features that are associated with the management area (watershed, ecological zones, etc) that are not hydrogeological units. |
gwAreaWaterBudget | GW_WaterBudget [1..*] | Water budget associated with the management area. |
gwAreaYield | GW_Yield | Yield associated with the management area. |
gwAreaShape | Geometry | Geometric shape and position of management area. |
gwAreaType | ManagementAreaType | General classification of the management area (e.g., restricted use zone, irrigation area, consumption area, etc.) |
gwAreaSpecialisedAreaType | SpecialisedZoneAreaTypeTerm | Additional classification value which further specialises the gwAreaType. |
gwAreaEnvironmentalDomain | EnvironmentalDomainTypeTerm | Classification of the environment domain(s) for which, through the establishment of the management area, certain environmental objectives are to be reached. |
gwAreaCompetentAuthority | CI_ResponsibleParty [0..*] | Description of the organization(s) responsible for managing, restricting or regulating measures or activities within the management area. |
gwAreaDesignationPeriod | TM_Period | Time period specifying when the management area was legally designated or became effective in the real world |
Table 51
Relation | Source | Target | Description |
Association | Entity: GW_ManagementArea Role: | Entity: DocumentCitation Role: documentation | Relates legislative and reference documentation to a management area. |
Association | Entity: GW_ManagementArea Role: | Entity: GW_FluidBody Role: gwAreaBody | Relates a management area to the fluid bodies contained within the area. As with units, the spatial boundaries of management areas do not necessarily coincide with the spatial boundaries of fluid bodies. |
Association | Entity: GW_ManagementArea Role: | Entity: GW_ManagementArea Role: relatedManagementArea | Relates a management area part to a management area whole. |
Association | Entity: GW_ManagementArea Role: gwManagementArea | Entity: GW_HydrogeoUnit Role: gwManagedUnit | Relates a management area to the hydrogeological units contained within it. Because the spatial boundaries of management areas can be determined by human concerns, e.g., regulatory, these boundaries do not necessarily align with the spatial boundaries of units, which are determined by physical criteria. |
8.6.27. GW_MaterialConstituent
Suspended or colloidal material in a fluid body, e.g sediment.
Table 52
Attribute | Type and Multiplicity | Definition |
gwMaterial | MaterialType | Name of the suspended or colloid material in the fluid body, e.g., a lithology or mineral name. |
Table 53
Relation | Source | Target | Description |
Generalization | Entity: GW_MaterialConstituent Role: | Entity: GW_Constituent Role: | A material constituent is a type of fluid body constituent. There are 3 types of fluid body constituents: chemical (e.g., arsenic), biologic (e.g., organisms), and material (e.g., sediment). |
8.6.28. GW_Mixture
The nature of the inclusion of the constituent in the fluid body, e.g., suspension, emulsion, etc.
Table 54
Attribute | Type and Multiplicity | Definition |
gwMixture | MixtureType | The manner in which a constituent is within a fluid body, e.g., solution, suspension, emulsion, precipitate, colloidal. |
8.6.29. GW_MonitoringSite
Site of observation related to groundwater.
Table 55
Attribute | Type and Multiplicity | Definition |
gwSiteName | char [0..*] | Name (or identifier) of the monitoring site. |
gwSiteLocation | Geometry | Spatial location of the site. |
gwSiteReferenceElevation | Elevation [1..*] | Reference elevation for all observations at the site, e.g., ground elevation, casing elevation. This can differ from the host feature elevation, or be more specific. |
gwSiteType | SiteType | Type of monitoring site, e.g., well, gauging station, etc. |
gwMonitoringHost | Feature | The feature hosting the site, e.g., a well, spring, lake or stream. |
8.6.30. GW_Porosity
Measure of the proportion of the volume occupied by voids over the total volume of material including the voids. Voids are differentiated from ‘porosity’ in that porosity is a proportion, while voids are the spaces themselves. Types of porosity include: primary, secondary, dual, specific, effective, granular, fractured, karstic, etc.
Table 56
Attribute | Type and Multiplicity | Definition |
gwPorosityType | PorosityType | Type of porosity (primary, secondary, dual, specific, effective, granular, fractured, karstic, etc.) |
gwPorosity | Measurement | Measure of the proportion of the volume occupied by specific voids over the total volume of material including the voids. |
Table 57
Relation | Source | Target | Description |
Association | Entity: GW_UnitVoidProperty Role: | Entity: GW_Porosity Role: gwPorosity | Relates possibly many types of porosity values to a unit and related void combination. |
8.6.31. GW_Recharge
Fluid added to an aquifer by various means such as precipitation, injection, etc.
Table 58
Relation | Source | Target | Description |
Generalization | Entity: GW_Recharge Role: | Entity: GW_InterFlow Role: | Recharge is a type of interflow in which fluid enters a feature. |
8.6.32. GW_Spring
Any natural feature where groundwater flows to the surface of the earth.
Table 59
Attribute | Type and Multiplicity | Definition |
gwSpringName | CharacterString [0..*] | Name or ID of the spring. |
gwSpringLocation | Geometry | Geometry / position of the spring. |
gwSpringReferenceElevation | Elevation [1..*] | Reference elevation for all observations at the site, e.g., ground elevation, casing elevation. |
gwSpringType | SpringType | Type of spring e.g., mineral, thermal, saline, etc. |
gwSpringCauseType | SpringCauseType | The cause of the spring e.g., artesian, geyser, perched, etc. |
gwSpringPersistence | SpringPersistenceType | The periodicity of the spring e.g., ephemeral, perennial, intermittent, seasonal, etc. |
gwSpringGeology | GL_Feature [0..*] | Related geology features. |
gwSpringUnit | GW_HydrogeoUnit [1..*] | The hydrogeological unit(s) hosting the spring. |
gwSpringBody | GW_FluidBody [0..*] | The fluid body being depleted by the spring. |
gwSpringConstruction | SpringConstruction [0..1] | Spring construction details |
gwSpringLicence | GW_Licence [0..*] | Any licence relating to the spring. |
8.6.33. GW_UnitFluidProperty
A measured or calculated physical or hydraulic property that can be inherent in either an aquifer or its material, and some fluid body, e.g., hydraulic conductivity, transmissivity, storativity, permeability, porosity.
Table 60
Attribute | Type and Multiplicity | Definition |
gwHydraulicConductivity | Measurement [1..*] | Hydraulic conductivity measures how easily a fluid can move through the voids in a material. |
gwTransmissivity | Measurement [1..*] | The rate of groundwater flow laterally through an aquifer, determined by hydraulic conductivity and container thickness. |
gwStorativity | Measurement [1..*] | Storativity is the volume of water released from storage per unit decline in hydraulic head in the aquifer, per unit area of the aquifer. |
Table 61
Relation | Source | Target | Description |
Association | Entity: GW_UnitFluidProperty Role: | Entity: GW_Yield Role: gwYield | Relates possibly many types of yield values to a unit and fluid body combination. |
8.6.34. GW_UnitProperties
Additional properties of an aquifer not included in the model.
Table 62
Attribute | Type and Multiplicity | Definition |
gwUnitProperty | gwUnitPropertyType | The type of hydrogeological unit property, e.g., average well depth. |
gwUnitPropertyValue | Any | The value of the hydrogeological unit property. |
Table 63
Relation | Source | Target | Description |
Association | Entity: GW_HydrogeoUnit Role: | Entity: GW_UnitProperties Role: gwUnitProperty | Relates a hydrogeological unit to possibly many additional properties. |
8.6.35. GW_UnitVoidProperty
Properties inherent in the relation between a hydrogeological unit and a void: includes the proportion of voids to the unit (porosity) or to the connectivity / size of void openings (intrinsic permeability).
Table 64
Attribute | Type and Multiplicity | Definition |
gwPermeability | Measurement [1..*] | Refers to intrinsic permeability: a measure of a material’s ability to allow fluid flow that is independent of fluid properties, and based on connectivity of pores and size of their openings. This is different from hydraulic conductivity. |
Table 65
Relation | Source | Target | Description |
Association | Entity: GW_UnitVoidProperty Role: | Entity: GW_Porosity Role: gwPorosity | Relates possibly many types of porosity values to a unit and related void combination. |
8.6.36. GW_Vulnerability
The susceptibility of a feature to specific threats such as various physical events (earthquakes), human processes (depletion), etc.
Table 66
Attribute | Type and Multiplicity | Definition |
gwVulnerabilityType | VulnerabilityType | The type of vulnerability. |
gwVulnerability | Measurement | A quantitative estimate of the susceptibility to contamination, e.g., a DRASTIC value. Should be accompanied by metadata about the method of calculation. |
8.6.37. GW_WaterBudget
An accounting of the water input and output of a hydrogeological unit, at a particular point in time or over a period of time, with a description of inflows and outflows.
Table 67
Attribute | Type and Multiplicity | Definition |
gwBudgetAmount | Measurement | Final quantity (sum) of the budget. If recharge = discharge, the sum is 0. |
gwBudgetValidTime | TemporalType | Valid time of this budget (e.g, 2010). |
gwBudgetRecharge | GW_Recharge [1..*] | Recharge (inflows) considered by the budget. |
gwBudgetDischarge | GW_Discharge [1..*] | Discharge (outflows) considered in the budget. |
8.6.38. GW_Well
A shaft or hole sunk, dug or drilled into the Earth to observe, extract or inject water (after IGH1397).
Table 68
Attribute | Type and Multiplicity | Definition |
gwWellName | char [0..*] | Name or ID of the well. |
gwWellLocation | Geometry | Surface location of the well. |
gwWellReferenceElevation | Elevation [1..*] | Reference elevation for all observations at the site, e.g., ground elevation, casing elevation. |
gwWellContributionZone | Geometry | The area or volume surrounding a pumping well or other discharge site that encompasses all areas and features that supply groundwater to the well or discharge site. |
gwWellGeology | GeologyLog [0..*] | Related borehole, including lithology log. |
gwWellUnit | GW_HydrogeoUnit [1..*] | The aquifers or confining beds intersecting the well. |
gwWellBody | GW_FluidBody [0..*] | The fluid body occupying the well. |
gwWellPurpose | WellPurposeType [1..*] | Purpose of well, e.g., extraction, injection, observation, dewatering, cathodic protection, decontamination, disposal, FlowingShot, Geotechnical, Mineral, MonitoringlevelHead, MonitoringQuality, Oil, OilExploratory, Seismic, WaterExploratory, etc. |
gwWellStatus | WellStatusType | Status of the well, Can be new, unfinished, reconditioned, deepened, not in use, standby, unknown, abandoned dry, abandoned insufficient, abandoned quality. (gwml1) |
gwWellWaterUse | WellWaterUseType [1..*] | E.g., Agricultural, Domestic, Industrial, Recreation. |
gwWellTotalLength | Measurement | Total length of the well from reference elevation. |
gwWellConstructedDepth | Measurement [0..1] | Constructed depth of the well. |
gwWellStaticWaterDepth | Measurement | Depth of the fluid body (e.g., piezometric level). |
gwWellYield | GW_Yield | Estimated or calculated yield from a well. |
gwWellConstruction | WellConstruction | Construction details for a well. |
gwWellLicence | GW_Licence [0..*] | Licence relating to the drilling of the well or to the extraction of groundwater. |
8.6.39. GW_Yield
Yield is the rate of fluid withdrawal associated with a unit, well, etc., expressed as m3. There are several types of yield, that can be considered: specific yield, sustainable yield, safe yield, aquifer yield, etc.
Table 69
Attribute | Type and Multiplicity | Definition |
gwYieldType | YieldType | Type of aquifer yields: e.g., specific yield, safe yield, etc. |
gwYield | Measurement | Measurement of the yield in units of volume per unit of time. |
Table 70
Relation | Source | Target | Description |
Association | Entity: GW_UnitFluidProperty Role: | Entity: GW_Yield Role: gwYield | Relates possibly many types of yield values to a unit and fluid body combination. |
8.7. Requirements
Requirement Class: GWML2 conceptual model | |
---|---|
/req/conceptual | |
Obligation | requirement |
Target Type | Logical Model |
Dependency | ISO19101:2002 Reference Model Clause 7 |
Dependency | ISO19103 2015 Conceptual Model Language |
Dependency | ISO19104:2008 |
Dependency | Unified Modeling Language (UML). Version 2.3. May 2010 |
Requirement 1: | /req/conceptual/similarity |
Target logical models that are compliant with the conceptual model shall implement components of the conceptual model respecting their semantics, i.e., their definition and intent. In other words, the logical model must be highly semantically similar to components of the conceptual model and must not specify any requirements that would contradict or result in non-conformance to the conceptual model. Semantic similarity can be tested in multiple ways, including but not limited to: (i) direct comparison of UML components, (ii) comparison after mapping components to a common expressive knowledge representation language, such as first order logic or common logic, or (iii) comparison after mapping components to a reference ontology. The target can reuse and adapt existing logical models.
Requirement 1: | |
---|---|
/req/conceptual/similarity | |
Target logical model when claiming compliance with this conceptual model SHALL implement its components (classes, attributes, relationships) respecting the conceptual model definitions and intent, such that high semantic similarity is obtained between the logical and conceptual model components, and the logical model must not specify any requirements that would contradict or result in non-conformance to the conceptual model. |
9. Logical Model
The logical model incorporates all concepts from the conceptual model, and maintains their general intent. It differs from the conceptual model in its introduction of technology-specific artifacts from the OGC General Reference Model and derived schemas. These include additions such as classes, relations, properties, constraints, and usage principles. Another difference is the incorporation of the well construction package from GWML1.
The logical model is not a syntactical encoding, but is an OGC-compliant schema that is syntax-neutral. Syntactical encodings are derived from the logical model, such as the reference GML encoding described herein.
The addition of OGC constructs to the conceptual model amounts to the integration of several OGC-compliant GML schemas, primarily GeoSciML 4.0 and Observations & Measurements, but also MD_Metadata and others. These are adapted using the following strategies.
-
HydrogeologicalUnit in GWML2 specializes GeologicUnit from GeoSciML 4.0, recognizing that in its most basic sense a hydrogeological unit is a body of rock (a geological unit) exhibiting some hydrogeological properties including possibly fluid storage and transfer.
-
Water wells and boreholes specialize O&M:SF_SamplingCurve, which allows them to have a shape described by 3D points at the start and end of each segment along the well or borehole. Wells and boreholes differ by purpose and use: boreholes are physical engineering artifacts consisting of a hole and potentially materials fitted inside the hole for some human use, and wells are constructions for the extraction or injection of water from/into the ground, and have specific hydrogeological properties such as water yield and intended use. As a consequence, well and associated borehole lengths can differ for the same well. A well can be seen as a specific role played by a borehole.
-
Property values are assigned datatypes from O&M: properties that can be numeric and/or categorical are assigned the OM_Observation datatype. Two factors compel this choice: method metadata can be added to each value to describe determination of the value, and each property can be further soft-typed for greater precision. An example of the latter is the porosity property, which in pratice could refer to any of a wide range of porosity types such as effective porosity, primary porosity, or secondary porosity.
-
Fluid body constituent values are modeled as observations: for example, a chemical analysis of a groundwater sample might be represented in the following way:
-
Each measured value is the result of an observation;
-
The observedProperty would be e.g., “As_Concentration;” and
-
The featureOfInterest would be an instance of e.g., GW_ChemicalConstituent with ChemicalTypeTerm = “As” and gwState = “solid.”
-
This approach is quite flexible: it allows for different mixture types (e.g., suspension, solution, emulsion), states (i.e., liquid, solid, gas), and measurement types (e.g., concentration) for a constituent type (e.g., “As”).
-
Aquifer Tests are completely modelled using O&M, except for the single signature class GW_AquiferTest. This class is a property-less extension of O&M Sampling Feature. The logical model for Aquifer Test is thus the O&M logical model, as illustrated further in Figure 17. Time series generated by aquifer tests are represented using TimeseriesML1.0 (15-042r3).
-
DocumentCitation is replaced by Any type (i.e., the ‘documentation’ role is assigned a datatype of Any), in order to satisfy the original intention of the DocumentCitation class of enabling re-use of relevant classes from other schemas. This allows, for example, use of classes such as GW_Licence, MD_Metadata, INSPIRE’s DocumentCitation or LegislativeReferences.
-
If an entity in the logical model is stereotyped as GMF_Feature (from the OGC General Feature Model), then any name, description and identifier attributes from the conceptual model are replaced by equivalents from GMF_Feature (e.g., GW_FluidBody::gwBodyDescription maps to AbstractFeature::description).
The logical model is organized into six application schema packages, as mentioned in Section 1.
-
GWML2-Main: core items, e.g., aquifers, their pores, fluid bodies, and management areas.
-
GWML2-Constituent: the biologic, chemical, and material elements of a fluid body.
-
GWML2-Flow: fluid flow within and between containers, and water budgets.
-
GWML2-Well: water wells, springs, and monitoring sites.
-
GWML2-WellConstruction: the components used to construct a borehole or well.
-
GWML2-AquiferTest: aspects associated with an aquifer test.
Because most of the differences between the logical and conceptual model can be inferred directly from the logical model UML diagrams, all diagrams are included below. Complete class descriptions are subsequently included only for additions or alterations to the conceptual model. Additions primarily include borehole construction elements and geology logs, while the alterations mainly consist of a cardinality revision: all attributes and relations are now optional, primarily to enable sparse encodings that avoid empty data fields if so desired.
9.1. Logical Model Specification
Figure 8 — GWML2 LM — Package Dependencies (Internal).
Figure 9 — GWML2 LM — Package Dependencies (External — indirect dependencies not shown).
Figure 10 — GWML2 LM — Hydrogeological Unit.
Figure 11 — GWML2 LM — Groundwater Properties.
Figure 12 — GWML2 LM — Fluid Body.
Figure 13 — GWML2 LM — GroundWaterML2-Constituent.
Figure 14 — GWML2 LM — Groundwater Flow.
Figure 15 — GWML2 LM — Well.
Figure 16 — GWML2 LM — WellConstruction.
Figure 17 — GWML2 LM — Aquifer Test.
9.1.1. BoreCollar
Topmost component of a borehole construction.
Table 71
Attribute | Type and Multiplicity | Definition |
collarElevation | DirectPosition [0..*] | The elevation of the bore collar with CRS including UOM. |
collarElevationType | CollarElevationTypeTerm [0..1] | Type of reference elevation, defined as a feature, e.g., Top of Casing, Ground, etc. |
collarHeadworkType | HeadworkTypeTerm [0..1] | Type of assembly bolted to the production casing to control the well, and to provide access and protection (e.g., from flooding, vandalism). Example: raised tube, covers, manhole, ‘Gattick Cover’ flush, concrete ring, etc. (after Fretwell, et al., 2006). |
collarLocation | GM_Point [0..1] | The geographical location of the collar. |
Table 72
Relation | Source | Target | Description |
Association | Entity: Borehole Role: bholeDetails | Entity: BoreCollar Role: bholeHeadworks | Relation between a borehole and its collar, which represents the top construction component of the borehole. |
Association | Entity: BoreCollar Role: | Entity: SealingComponent Role: collarSeal | Relation between a bore collar and its sealing parts. |
9.1.2. Borehole
General term for a hole drilled in the ground for various purposes such extraction of a core, release of fluid, etc.
Table 73
Attribute | Type and Multiplicity | Definition |
bholeMaterialCustodian | CI_ResponsibleParty [0..*] | The custodian of the drill core or samples recovered from the borehole. |
bholeCoreInterval | GM_Envelope [0..*] | The geometries for the intervals from which core is extracted along the borehole. |
bholeDateOfDrilling | TM_CalDate [0..1] | Date of drilling. |
bholeDriller | CI_ResponsibleParty [0..1] | The organisation responsible for drilling the borehole (as opposed to commissioning the borehole). |
bholeDrillingMethod | BoreholeDrillingMethodTerm [0..*] | Method of drilling. |
bholeInclinationType | BoreholeInclinationTerm [0..1] vertical | Type of borehole inclination, e.g., vertical or horizontal. |
bholeNominalDiameter | Quantity [0..1] | Diameter of the borehole. |
bholeOperator | CI_ResponsibleParty [0..1] | Organisation responsible for commissioning the borehole (as opposed to drilling the borehole). |
bholeStartPoint | BholeStartPointTypeTerm [0..1] | Describes the location of the start of the borehole, e.g., ground surface. |
Table 74
Relation | Source | Target | Description |
Association | Entity: Borehole Role: | Entity: Equipment Role: installedEquipment | Relation designating the equipment installed in a borehole. |
Association | Entity: Borehole Role: | Entity: WellConstruction Role: bholeConstruction | Relation between a borehole and its construction components. |
Association | Entity: Borehole Role: bholeDetails | Entity: BoreCollar Role: bholeHeadworks | Relation between a borehole and its collar, which represents the top construction component of the borehole. |
Generalization | Entity: Borehole Role: | Entity: SF_SamplingCurve Role: | A borehole is a type of Sampling Curve. |
9.1.3. Casing
Collection of linings of the borehole.
Table 75
Relation | Source | Target | Description |
Generalization | Entity: Casing Role: | Entity: WellConstruction Role: | A casing is a type of well construction entity. |
Association | Entity: Casing Role: | Entity: CasingComponent Role: casingElement | Relation between a casing and its parts. |
9.1.4. CasingComponent
A single part of a borehole casing.
Table 76
Attribute | Type and Multiplicity | Definition |
casingMaterial | CasingMaterialTerm [0..*] | Material in which the casing is made. E.g., metal, steel, iron, concrete, wood, brick, plastic, teflon, PVC, ABS, fibreglass, etc. |
casingCoating | CasingCoatingTerm [0..1] | Coating applied to the casing. E.g., galvanized, stainless, mild, low carbon, copper bearing, black, etc. |
casingForm | CasingFormTerm [0..1] | Form of material used in the casing. E.g., curbing, cribbing, corrugated, culvert, hose, etc. |
casingInternalDiameter | Quantity [0..1] | Internal diameter of the casing. |
casingExternalDiameter | Quantity [0..1] | External diameter of the casing. |
casingWallThickness | Quantity [0..1] | Thickness of the wall of the casing. |
Table 77
Relation | Source | Target | Description |
Generalization | Entity: CasingComponent Role: | Entity: ConstructionComponent Role: | A casing part is a type of construction component. |
Association | Entity: Sealing Role: | Entity: CasingComponent Role: casingSlit | Casing slit opposing water bearing zones before plugging. |
Association | Entity: Casing Role: | Entity: CasingComponent Role: casingElement | Relation between a casing and its parts. |
Association | Entity: Sealing Role: | Entity: CasingComponent Role: casingLeft | Casing left after plugging. |
9.1.5. ConstructionComponent
Elements used in borehole construction.
Table 78
Attribute | Type and Multiplicity | Definition |
from | Quantity [0..1] | Position of the top (nearest to the borehole start) of the component. |
to | Quantity [0..1] | Position of the bottom (farthest to the borehole start) of the component. |
Table 79
Relation | Source | Target | Description |
Generalization | Entity: CasingComponent Role: | Entity: ConstructionComponent Role: | A casing part is a type of construction component. |
Generalization | Entity: ScreenComponent Role: | Entity: ConstructionComponent Role: | A screen part is a type of construction component. |
Generalization | Entity: FiltrationComponent Role: | Entity: ConstructionComponent Role: | A filtration part is a type of construction component. |
Generalization | Entity: SealingComponent Role: | Entity: ConstructionComponent Role: | A seal part is a type of construction component. |
9.1.6. Equipment
Equipment installed in a borehole (like a pump or any other device).
Table 80
Attribute | Type and Multiplicity | Definition |
characteristics | NamedValue [0..*] | General characteristics of the equipment. |
equipmentType | EquimentTypeTerm | Type of equipment. |
installationDate | TM_Instant [0..1] | Date of installation of the equipment. |
Table 81
Relation | Source | Target | Description |
Association | Entity: Borehole Role: | Entity: Equipment Role: installedEquipment | Relation designating the equipment installed in a borehole. |
9.1.7. Filtration
Collection of filtration components used to filter a fluid body in a well.
Table 82
Relation | Source | Target | Description |
Association | Entity: Filtration Role: | Entity: FiltrationComponent Role: filterElement | Relation between a filtration device and its parts. |
Generalization | Entity: Filtration Role: | Entity: WellConstruction Role: | A filtration device is a type of well construction entity. |
9.1.8. FiltrationComponent
Material used to filter the fluid in a borehole or well.
Table 83
Attribute | Type and Multiplicity | Definition |
filterGrainSize | Quantity [0..1] | Size of the particles of the filtration material. |
filterMaterial | FiltrationMaterialTerm [0..1] | Material used in the filtration device. E.g., gravel, pit run, silica sand, washed sand, crushed rock, etc. |
Table 84
Relation | Source | Target | Description |
Association | Entity: Filtration Role: | Entity: FiltrationComponent Role: filterElement | Relation between a filtration device and its parts. |
Generalization | Entity: FiltrationComponent Role: | Entity: ConstructionComponent Role: | A filtration part is a type of construction component. |
9.1.9. GW_GeologyLog
Specialization of the OM_Observation containing the log start and end depth for coverages. GW_GeologyLog is a specialisation of OM_Observation and therefore inherits all its properties. A log is a complex collection of observations organised temporally or longitudinally along the borehole path. The entire log is bundled into the OM_Observation::result as a complex structure. This specification provides two possible data models using CV_DiscreteElementCoverage (Clause 10.8) and SWE DataArray (Clause 10.9).
Table 85
Attribute | Type and Multiplicity | Definition |
startDepth | Quantity [0..1] | The start of the log measured as a depth from the reference elevation. |
endDepth | Quantity [0..1] | The end of the log measured as a depth from the reference elevation. |
Table 86
Relation | Source | Target | Description |
Generalization | Entity: GW_GeologyLog Role: | Entity: OM_Observation Role: | A geology log is a type of observation. |
Association | Entity: GW_GeologyLog Role: | Entity: GW_GeologyLogCoverage Role: result | Relates a geology log with a particular coverage of values (the result) that represent the group of measurements taken in intervals along the length of the log. |
Association | Entity: GW_GeologyLog Role: | Entity: DataArray Role: result | Relates a geology log with a particular array of values (the result) that represent the group of measurements taken in intervals along the length of the log. |
Association | Entity: GW_Well Role: | Entity: GW_GeologyLog Role: gwWellGeology | Relates a GeologyLog with a well. |
9.1.10. GW_GeologyLogCoverage
A particular collection of values that represent the group of measurements taken in intervals along the length of the log. Overrides DiscreteElementCoverage to enable LogValues to be elements of the collection (GeologyLogCoverage).
Table 87
Relation | Source | Target | Description |
Realization | Entity: GW_GeologyLogCoverage Role: | Entity: CV_DiscreteElementCoverage Role: | A GeologyLogCoverage is a realization of a DiscreteElementCoverage. |
Association | Entity: GW_GeologyLogCoverage Role: collection | Entity: LogValue Role: element | Relates a collection with the values that are part of the collection and that represent the measurements taken in intervals along the length of the log. |
Association | Entity: GW_GeologyLog Role: | Entity: GW_GeologyLogCoverage Role: result | Relates a geology log with a particular collection of values (the result) that represent the group of measurements taken in intervals along the length of the log. |
9.1.11. LogValue
The value of the log property at a depth interval along the log.
Table 88
Attribute | Type and Multiplicity | Definition |
fromDepth | Quantity [0..1] | Start depth of the interval along a log. |
toDepth | Quantity [0..1] | End depth of the interval along a log. |
value | DataRecord [0..1] | Value of the log property. |
Table 89
Relation | Source | Target | Description |
Association | Entity: GW_GeologyLogCoverage Role: collection | Entity: LogValue Role: element | Relates a collection with the values that are part of the collection and that represent the measurements taken in intervals along the length of the log. |
Realization | Entity: LogValue Role: | Entity: CV_ElementValuePair Role: | A LogValue is a realization of a CV_ElementValuePair from O&M. |
9.1.12. Screen
Collection of components of the water pump screen.
Table 90
Relation | Source | Target | Description |
Generalization | Entity: Screen Role: | Entity: WellConstruction Role: | A screen is a type of well construction entity. |
Association | Entity: Screen Role: | Entity: ScreenComponent Role: screenElement | Relation between a screen and its parts. |
9.1.13. ScreenComponent
Component of the well lining where water enters the well.
Table 91
Attribute | Type and Multiplicity | Definition |
screenAttachmentMethod | AttachmentMethodTerm [0..1] | Screen attachment method. E.g., telescoped, on casing, on riser pipe, neoprene (K) packer, Lead packer, etc. |
screenCoating | ScreenCoatingTerm [0..1] | Thin outer layer applied to the screen. E.g., galvanized, stainless, copper bearing, low carbon, black, porous, etc. |
screenForm | ScreenFormTerm [0..1] | Form of the screen. E.g., slotted casing, perforated casing, bridge slot casing, wire wrap or continuous slot, wire mesh, shutter or louvered, well point, tube, etc. |
screenHoleWidth | Quantity [0..1] | Width of the slots or perforations of the screen. |
screenHoleLength | Quantity [0..1] | Length of the slots or perforations of the screen. |
screenMaterial | ScreenMaterialTerm [0..*] | Material that makes up the screen. E.g., metal, steel, iron, copper, brass, bronze, everdur, Armco metal, veriperm, stone, plastic, PVC, ABS, Fibreglass, etc. |
screenInternalDiameter | Quantity [0..1] | Internal screen diameter. |
screenExternalDiameter | Quantity [0..1] | External screen diameter. |
screenPerforationMethod | PerforationMethodTerm [0..1] | Method used for perforating the screen. E.g., drill, grinder, axe / chisel, machine, saw, torch, other, etc. |
screenFitting | ScreenFittingTerm [0..1] | The screen fitting (from the bottom). E.g., bail, open, plug, tail pipe, washdown, etc. |
screenMake | ScreenMakerTerm [0..1] | Make of the screen. |
screenModel | ScreenModelTerm [0..1] | Model of the screen |
screenNumber | ScreenNumberTerm [0..1] | Screen number corresponds to hole size and is given in 0.001 inch. The value is expressed as an alphanumeric code. |
screenPlacement | ScreenPlacementTerm [0..1] | Screen placement method. E.g., bail down, pull back, jetted, washed down, etc. |
screenWallThickness | Quantity [0..1] | Thickness of the screen wall. |
Table 92
Relation | Source | Target | Description |
Generalization | Entity: ScreenComponent Role: | Entity: ConstructionComponent Role: | A screen part is a type of construction component. |
Association | Entity: Screen Role: | Entity: ScreenComponent Role: screenElement | Relation between a screen and its parts. |
9.1.14. Sealing
Collection of materials that prevent undesirable elements from entering the borehole or well.
Table 93
Attribute | Type and Multiplicity | Definition |
sealingGroutingPlacementMethod | OM_Process [0..1] | Method of placing the sealing grouting. |
Table 94
Relation | Source | Target | Description |
Association | Entity: Sealing Role: | Entity: CasingComponent Role: casingSlit | Casing slit opposing water bearing zones before plugging. |
Generalization | Entity: Sealing Role: | Entity: WellConstruction Role: | A sealing is a type of well construction entity. |
Association | Entity: Sealing Role: | Entity: CasingComponent Role: casingLeft | Casing left after plugging. |
Association | Entity: Sealing Role: | Entity: SealingComponent Role: sealingElement | Relation between a seal and its parts. |
9.1.15. SealingComponent
A material used for sealing the construction of a borehole or well.
Table 95
Attribute | Type and Multiplicity | Definition |
sealingMaterial | SealingMaterialTerm [0..*] | Material used in the sealing component of a water well. E.g., formation packer, welded ring, shale trap, drive shoe, driven casing, etc. |
sealingType | SealingTypeTerm [0..1] | Type of sealing. E.g., annular sealing, plugging, etc. |
Table 96
Relation | Source | Target | Description |
Generalization | Entity: SealingComponent Role: | Entity: ConstructionComponent Role: | A seal part is a type of construction component. |
Association | Entity: BoreCollar Role: | Entity: SealingComponent Role: collarSeal | Relation between a bore collar and its sealing parts. |
Association | Entity: Sealing Role: | Entity: SealingComponent Role: sealingElement | Relation between a seal and its parts. |
9.1.16. WellConstruction
Construction components of the well. These are particularly important when assessing results of pump tests.
Table 97
Relation | Source | Target | Description |
Generalization | Entity: Casing Role: | Entity: WellConstruction Role: | A casing is a type of well construction entity. |
Association | Entity: Borehole Role: | Entity: WellConstruction Role: bholeConstruction | Relation between a borehole and its construction components. |
Generalization | Entity: Screen Role: | Entity: WellConstruction Role: | A screen is a type of well construction entity. |
Generalization | Entity: Filtration Role: | Entity: WellConstruction Role: | A filtration device is a type of well construction entity. |
Generalization | Entity: Sealing Role: | Entity: WellConstruction Role: | A sealing is a type of well construction entity. |
10. Requirements Classes (normative)
This section describes requirement classes for any target implementation conforming to GWML2. Target implementations must meet related conformance class tests for at least one concrete requirements class (in Clause 10.2 and greater). The core requirement class (Section Clause 10.1) is abstract, therefore solely meeting the core requirements is insufficient to claim compliance with GWML2. Note, this section documents only those requirements that cannot be read directly from the UML logical model—the logical model denotes the first suite of canonical requirements, which are supplemented by those below.
10.1. Abstract requirements classes: GWML2 core logical model
This core requirement class describes requirements that must be met by all target implementations that claim compliance with GWML2 (this standard). It also sets common requirements for all extensions of this standard. Since this requirement class is abstract, a conformant target implementation SHALL also implement at least one concrete requirements class from Clause 10.2 and greater.
Requirement Class: GWML2 core logical model | |
---|---|
/req/core | |
Obligation | requirement |
Target Type | Encoding of logical models |
Dependency | urn:iso:dis:iso:19156:clause:7.2.2 |
Dependency | urn:iso:dis:iso:19156:clause:8 |
Dependency | http://www.opengis.net/doc/IS/GML/3.2/clause/2.4 |
Dependency | O&M Abstract model, OGC 10-004r3, clause D.3.4 |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/core/core-concepts-used |
Requirement 2: | /req/core/encoding |
Requirement 3: | /req/core/quantities-uom |
Recommendation 1: | /req/core/codelist |
Requirement 4: | /req/core/codelistURI |
Requirement 5: | /req/core/identifier |
Requirement 6: | /req/core/feature |
The properties, constraints, cardinalities and associations documented in the UML will be honoured by all the target implementations.
Requirement 2: | |
---|---|
/req/core/encoding | |
All target implementations SHALL conform to the appropriate GroundWaterML2 Logical Model UML defined in Section 8. |
10.1.1. Quantities
The Quantities and Measurements units of measure shall be taken from a standard vocabulary governed by an appropriate community.
Requirement 3: | |
---|---|
/req/core/quantities-uom | |
Quantities and measurements SHALL have explicit units of measure specified using the URI for an individual from a class governed as an external ontology. |
10.1.2. Code lists
All properties that should use formal vocabularies are modelled in UML as classes having the stereotype Clause 10.1.2. The list of valid terms should be taken from a standard vocabulary governed by an appropriate community. Vocabulary term identifiers should be HTTP URI conformant to RFC 3986.
Recommendation 1: | |
---|---|
/req/core/codelist | |
Classes of stereotype Clause 10.1.2 SHOULD be encoded as externally governed vocabularies using HTTP URIs conformant to RFC 3986. |
10.1.3. Code list URIs
The URI used to identify vocabulary terms SHOULD be resolvable using Linked Data Principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content codings, MIME-type, and language negotiation mechanisms.
Requirement 4: | |
---|---|
/req/core/codelistURI | |
URI used for vocabulary terms SHOULD be resolvable using Linked Data principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content, MIME-type, and language negotiation mechanisms. |
10.1.4. Identifiers
Features that use an HTTP URI as their identifier SHALL be resolvable following Linked Data principles (the HTTP URI is a link to possibly multiple representations of the resource). It is expected that a HTTP URI that is a feature identifier can be used to extract one or more representations of that feature by deferencing that URI, because the URI represents both its online location and its identity.
Requirement 5: | |
---|---|
/req/core/identifier | |
HTTP URIs used as identifiers SHALL be resolvable following Linked Data principles, such that a URI identifier can resolve to multiple representations (or formats) for the term using HTTP content, MIME-type, and language negotiation mechanisms. |
10.1.5. Feature
A valid instance document SHALL contain at least one valid GWML 2.2 feature.
Requirement 6: | |
---|---|
/req/core/feature | |
A valid GWML 2.2 document SHALL contain at least one valid GWML 2.2 feature. |
10.2. Requirement class: GWML2-Main
Requirement Class: Main logical model | |
---|---|
/req/main | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/core |
Dependency | ISO-19115 |
Dependency | GeoSciML-Basic 4.0 |
Dependency | /req/flow-uml |
Dependency | /req/constituent-uml |
Requirement 7: | /req/main/observed-unit-fluid-property-foi |
Requirement 8: | /req/main/observed-unit-void-property-foi |
Requirement 9: | /req/main/managementArea |
10.2.1. Feature of interest for Association classes
OM_Observation is extensively used to represent property values wherever it is useful to include supporting metadata such as the methods used to obtain the values. As stated in ISO 19156:2011/10-004r3, the OM_Observation’s feature of interest should be the bearer of the observed property (10-004r3, Clause 7.2.2.7). All properties in GWML 2.2 that use OM_Observation in the model are carried by Features; the relationship between the observation and the bearer of properties is obvious, except for two cases: GW_UnitFluidProperty (Figure 18) and GW_UnitVoidProperty (Figure 19).
GW_FluidProperty is an association class linking a GW_HydroGeoUnit and a GW_FluidBody and carries properties that are inherently related to the association of a geological unit and the fluid occupying its voids. Not being a feature, this class cannot be the feature of interest of the properties it bears.
Figure 18 — Association class between a GW_HydrogeoUnit and GW_FluidBody.
Traditionally, those properties (gwHydraulicConductivity, gwStorativity, gwTransmissivity and gwYield) are assigned by convenience to the hydrogeological unit (GW_HydrogeoUnit), because the fluid is a body of groundwater (GW_FluidBody) that is rarely explicitly identified. Therefore, the feature of interest of all the values of GW_UnitFluidProperty SHALL be the GW_HydrogeoUnit instance at the gwFluidBodyUnit end of the GW_UnitFluidProperty association.
Requirement 7: | |
---|---|
/req/main/observed-unit-fluid-property-foi | |
The feature of interest of OM_Observation values for GW_UnitFluidProperty properties (gwHydraulicConductivity, gwStorativity, gwTransmissivity and gwYield) SHALL be the GW_HydrogeoUnit instance at the gwFluidBodyUnit end of the GW_UnitFluidProperty association. |
Similarly, GW_UnitVoidProperty is an association class linking a GW_HydroGeoUnit with a GW_HydrogeoVoid, and this association class also then cannot be the feature of interest for the properties it bears (Figure 19).
Figure 19 — Association class between a GW_HydrogeoUnit and GW_HydrogeoVoid.
As void properties are traditionally assigned to the hydrogeologic unit, the feature of interest of all property values of GW_UnitVoidProperty SHALL be the GW_HydrogeoUnit instance, which is located at the gwVoidUnit end of the GW_UnitVoidProperty association.
Requirement 8: | |
---|---|
/req/main/observed-unit-void-property-foi | |
The feature of interest of OM_Observation values for GW_UnitVoidProperty properties (gwPermeability and gwPorosity) SHALL be the GW_HydrogeoUnit instance at the gwVoidUnit end of the GW_UnitVoidProperty association. |
Requirement 9: | |
---|---|
/req/main/managementArea | |
GW_Management’s gwAreaFeature SHALL NOT be a subtype of GW_HydrogeoUnit. |
10.3. Requirement class: GWML2-Constituent
Requirement Class: Constituent logical model | |
---|---|
/req/constituent | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/core |
Dependency | ISO-19115 |
Recommendation 2: | /req/constituent/sampled-fluid-body |
Analytical results are modelled as OM_Observation having GW_Constituent as features of interest (see Figure 20). A typical analytical procedure involves a sampling feature (such as a SF_Specimen) and a series of OM_Observations reporting on some properties of the feature of interest.
Figure 20 — The pattern for analytical results.
By referring to the real world identifiable feature using the sampledFeature property, and using the observation’s featureOfInterest to refer to the constituent of the fluid body, this pattern permits a detailed description of the composition of various parts of the fluid body.
Recommendation 2: | |
---|---|
/req/constituent/sampled-fluid-body | |
Sampling feature SHOULD link to a real world identifiable feature through sampledFeature, while individual observations should refer to the constituent that has been measured. |
10.4. Requirement class: GWML2-Flow
Requirement Class: Flow logical model | |
---|---|
/req/flow | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/core |
Dependency | /req/constituent |
This requirements class does not contain any requirement. All the requirements are inherited from /req/core and /req/constituent.
10.5. Requirement class: GWML2-Well
This clause describes groundwater abstraction and monitoring through artificial features (water wells, monitoring stations) and natural features (springs). Artificial features are modelled as O&M sampling features (by the ISO 19156:2011 definition) as they are used as support for observations.
10.5.1. Water wells
Requirement Class: Water well logical model | |
---|---|
/req/well | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/main |
Dependency | /req/construction |
Requirement 10: | /req/well/waterwell-elevationCRS |
Requirement 11: | /req/well/waterwell-abs-shape-crs |
Requirement 12: | /req/well/waterwell-rel-shape-crs |
Requirement 13: | /req/well/waterwell-rel-shape-true-depth |
Requirement 14: | /req/well/waterwell-rel-shape-downward |
Requirement 15: | /req/well/waterwell-rel-shape-uom |
Recommendation 3: | /req/well/waterwell-location-3D |
Requirement 16: | /req/well/waterwell-depth-order |
Requirement 17: | /req/well/waterwell-depth-point |
Requirement 18: | /req/well/waterwell-observation-spatial-reference |
Requirement 19: | /req/well/waterwell-observation-fromparam |
Requirement 20: | /req/well/waterwell-observation-toparam |
Requirement 21: | /req/well/waterwell-sf-spatial-reference |
Requirement 22: | /req/well/waterwell-sf-fromparam |
Requirement 23: | /req/well/waterwell-sf-toparam |
Requirement 24: | /req/well/well-geology |
Requirement 25: | /req/well/log |
Requirement 26: | /req/well/monitoring-elevationCRS |
A significant portion of this requirement class and the following requirement classes addresses the problem of spatially organizing features around a well. The shape of the well is a 3D curve, either in “absolute” (relative to a earth based datum) or relative (to some feature of the well) coordinates that represents the path of the hole in the ground. It is common practice to position observations, construction artefacts, and properties of the surrounding materials along this 3D path using a 1D coordinate system (usually called “depth” as of ISO19107) relative to the beginning of the path.
The origin from which the depth is measured can be the ground surface, some construction element or any other arbitrary feature. To convert depths to elevations, it must be identified and positioned with reference to a known vertical datum. Several reference elevation can be defined to allow a user to convert from one origin to another (from ground to “Kelly bushing” for instance). To avoid complexity, all elements in a given well shall use the same vertical reference.
This specification provides mechanism to
-
report the location, the nature and the accuracy of the point of origin of depths
-
position observations and samples in terms of depths
-
report the geometry of the bore path in relative or absolute locations
Although water wells are often assumed to be straight vertical bores, this standard allows for the generic case, where the bore path is not a straight vertical line, and therefore positions must be calculated along an arbitrary complex curve. This specification provides a profile to handle the simpler case of vertical wells ( see 9.7).
The following set of requirements defines how to report these values:
The elevation CRS must be a relevant EPSG vertical (1 dimension) CRS. Example: EPSG:5100 (Mean Sea Level : http://www.opengis.net/def/datum/EPSG/0/5100).
Requirement 10: | |
---|---|
/req/well/waterwell-elevationCRS | |
GW_Well:gwWellReferenceElevation/Elevation:elevation CRS SHALL have a vertical datum. |
10.5.2. Well shape
The shape of the well can be defined in either “absolute” coordinated (using an earth based datum) or using relative coordinates.
Requirement 11: | |
---|---|
/req/well/waterwell-abs-shape-crs | |
An absolute GW_Well:shape SHALL be a 3D provide a valid 3D CRS |
A shape defined as a relative geometry is positioned relative to the well. The origin of that curve (0,0,0) coincides with the GW_Well:gwWellLocation geometry. The geometry does not report any CRS to signal it is relative.
Requirement 12: | |
---|---|
/req/well/waterwell-rel-shape-crs | |
A relative shape SHALL not report a CRS |
The shape of a well normally refers to the third dimension as ‘depth’. It is very important to not confuse “depth” — the distance along the length of the bore (measured depth) and true depth (depth from a vertical datum). While observations are often reported using measured depth, the shape of the bore SHALL use true depth. True depth is always ⇐ measure depth.
Requirement 13: | |
---|---|
/req/well/waterwell-rel-shape-true-depth | |
The z axis of a relative shape SHALL be true depth |
By convention, true depth are positive going downward (opposite direction from elevation).
Requirement 14: | |
---|---|
/req/well/waterwell-rel-shape-downward | |
The z axis SHALL a positive value going downward |
The unit of measure of the relative coordinates must be the same as the unit of measure used by the origin CRS.
Requirement 15: | |
---|---|
/req/well/waterwell-rel-shape-uom | |
Units of measure of relative coordinates SHALL be the same as GW_Well::gwWellLocation/gml:Point |
Ideally, the well location (GW_Well:gwWellLocation) should be a 3D point with a valid vertical CRS. But this information might be missing from old records. It is strongly recommended to data provider to assign an elevation, even if its approximate (and report this information in Elevation).
Recommendation 3: | |
---|---|
/req/well/waterwell-location-3D | |
Well location SHOULD be a 3D point with relevant 3D CRS |
Linear position on the bore path is expressed with the pair of properties “fromDepth” and “toDepth”, representing the distance from the origin. “fromDepth” is the value closest to the origin.
Requirement 16: | |
---|---|
/req/well/waterwell-depth-order | |
The fromDepth of a LogValue SHALL be the closest along the path to gw_WellReferenceElevation while the toDepth shall be the farthest. |
A “point” position is encoded with fromDepth and toDepth having the same value.
Requirement 17: | |
---|---|
/req/well/waterwell-depth-point | |
A position along a borehole SHALL be composed of mandatory fromDepth and toDepth. |
10.5.2.1. Observations
Any Observation that needs to be positioned along the well must provide a reference geometry (a GM_Curve) and a position along that curve. In a case where the path is the path of the well or a borehole, the reference geometry is expected to be the shape of that well or borehole, but it is not required. For instance, the relative location can be a “virtual path” somewhat related to a well or a group of wells.
Requirement 18: | |
---|---|
/req/well/waterwell-observation-spatial-reference | |
The reference geometry of an Observation SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type GM_Curve. |
The relative position shall be encoded in a specially named NamedValue.
Requirement 19: | |
---|---|
/req/well/waterwell-observation-fromparam | |
The boundary of the interval closest to the well path origin, the “from” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity |
Requirement 20: | |
---|---|
/req/well/waterwell-observation-toparam | |
The boundary of the interval farthest from the well path origin, the “to” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity |
10.5.3. Geology Log
GW_GeologyLog is an OM_Observation, with a start and end measured (along the borehole path) depth, that shall capture downhole geological observations (including geophysical and geochemical). Because GW_GeologyLog is a specialisation of OM_Observation, it can be use anywhere a OM_Observation is expected (unless explicitly forbidden) and therefore be a valid value for relatedObservation (inherited from OM_Observation). To avoid confusing semantic, this specification limits the use of GW_GeologyLog togwml:gwWellGeology property only.
Requirement 24: | |
---|---|
/req/well/well-geology | |
In a context of a GW_Well, instances of GW_GeologyLog SHALL only be used as values of GW_Well::gwWellGeology. |
The geologic log is encoded as a GW_GeologyLogCoverage (Clause 9.1.10) or as a DataArray (Clause 10.9).
Figure 21 — Alternative Log encodings
Requirement 25: | |
---|---|
/req/well/log | |
The value of om:result of GW_GeologyLog SHALL either be a GW_GeologyLogCoverage or swe:DataArray |
10.5.4. Monitoring Sites
Elevation CRS must be a relevant EPSG vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level: http://www.opengis.net/def/datum/EPSG/0/5100).
Requirement 26: | |
---|---|
/req/well/monitoring-elevationCRS | |
The elevation CRS SHALL be an appropriate vertical datum. |
10.6. Requirement class: GWML2-WellConstruction
Requirement Class: Construction logical model | |
---|---|
/req/construction | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/core |
Requirement 27: | /req/construction/collar-elevationCRS |
Requirement 28: | /req/construction/construction-origin-elevation |
Requirement 29: | /req/construction/borehole-shape |
Requirement 30: | /req/construction/log-depth |
Requirement 31: | /req/construction/log-depth-order |
Recommendation 4: | /req/construction/relatedWell |
10.6.1. Borehole
BoreCollar:collarElevation CRS must be a relevant vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level: http://www.opengis.net/def/datum/EPSG/0/5100).
Requirement 27: | |
---|---|
/req/construction/collar-elevationCRS | |
Borehole:bholeHeadworks/BoreCollar:collarElevation CRS SHALL be a relevant vertical datum. |
10.6.2. Construction
Borehole shall identify a BoreCollar that must be used as the reference location. The reference BoreCollar shall have a collarElevationType equal to http://resource.gwml.org/def/collarElevationType/originElevation .
Note that this BoreCollar need not be a physical feature, but would normally coincide with one. In a typical instance, we would find 2 or more collars, one or more real physical features, and another one as the reference collar that might or might not match one of the physical collars.
Requirement 28: | |
---|---|
/req/construction/construction-origin-elevation | |
Each Borehole SHALL have one bholeHeadworks/BoreCollar:collarElevationType @xlink:href = “http://resource.gwml.org/def/collarElevationType/originElevation” |
The Borehole shape SHALL be a 3D geometry that represents the complete well that includes any construction elements above the ground.
Requirement 29: | |
---|---|
/req/construction/borehole-shape | |
Borehole:shape SHALL be a 3D geometry that represents the complete borehole that includes any Construction Component above the ground. |
Depth shall be expressed as linear distance from the Borehole shape’s first vertex.
Requirement 30: | |
---|---|
/req/construction/log-depth | |
The “from” and “to” of a Construction Component SHALL be the linear distance along the shape of the borehole. |
The ‘from’ value must be closer to the Borehole origin than the ‘to’ value.
Requirement 31: | |
---|---|
/req/construction/log-depth-order | |
The ‘from’ value of a Construction Component SHALL be the closest along the path to first vertex of the Borehole shape while the ‘to’ value SHALL be the farthest. |
10.7. Requirement class: Vertical Well (profile)
Requirement Class: Vertical well logical model | |
---|---|
/req/vertical-well | |
Obligation | requirement |
Target Type | Model encoding |
Dependency | /req/well |
Requirement 32: | /req/vertical-well/waterwell-shape |
Requirement 33: | /req/vertical-well/end-vertex |
A vertical well is a special case where the shape of the well is a straight vertical line. The rationale to create a special profile is to inform the data consumer that calculation of relative position into absolute position is greatly simplified — or the well shape can be ignored since all the positional information can be inferred from the GW_Well::WellLocation, gwWellReferenceElevation and gw:WellTotalLength. This implies there is an alternative way to build “3D” query. Vertical wells are very common and several groundwater applications expect them to be vertical. GW_Well:shape shall have only 2 vertices.
Requirement 32: | |
---|---|
/req/vertical-well/waterwell-shape | |
GW_Well:shape SHALL have only 2 vertices |
The second vertex shall have the same x and y as the first vertex.
Requirement 33: | |
---|---|
/req/vertical-well/end-vertex | |
The planar position (x,y) of the second vertex SHALL be the same as the first vertex |
10.8. Requirement Class: GeologyLog (profile)
This requirement class describes a recommended pattern to encode a GeologyLog.
Requirement Class: Geologic Unit logs discrete coverage encoding | |
---|---|
/req/well-log-cov | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/well |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/uml-record-components |
Recommendation 5: | /req/well-log-cov/log-definition |
In this profile, geological logs are modelled as GML discrete coverages (CV_DiscreteElementCoverage, 06-188r1) of elements of type LogValue. Each Log Value is composed of a pair of properties to locate the element along the Well path (fromDepth and toDepth) and a SWE DataRecord that contains an arbitrary set of fields to report properties of interest along the path (see Figure 22). This approach is verbose and exposes explicitly fromDepth and toDepth, making it more suitable to a WFS environment. which uses XPath to target filter properties. It also allows heterogenous coverages, since nothing prevents a different DataRecord in each element. This might or might not be considered a positive aspect. A community can enforce DataRecord to remain the same in the coverage by defining their own profile.
Figure 22 — SWE Data Record
SWE (08-094r1, Clause 7.3) describes the requirements to encode a DataRecord. A community that defines a common Geologic Log encoding should agree on a definition and scoped name for the DataRecord, as well as on definitions of the individual fields composing the record.
For example, a community that wants to use some GeoSciML 4.0 vocabulary to encode a geology log can agree on a field type (eg: SWE Category) and a definition (a URI) to flag that field in the DataRecord as having controlled content. Another community might chose to constrain the complete DataRecord by agreeing on the scoped name of the DataRecord itself.
Recommendation 5: | |
---|---|
/req/well-log-cov/log-definition | |
The Log Value of a Geologic Log SHOULD use a community controlled definition for the DataRecord and / or the fields that compose it. |
10.9. Requirement class: DataArray
This requirement class describes the recommended compact pattern to encode a GeologyLog.
Requirement Class: Geologic Unit logs block encoding | |
---|---|
/req/well-log-array | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/well |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/uml-block-components |
Requirement 34: | /req/well-log-array/fromDepthId |
Requirement 35: | /req/well-log-array/toDepthId |
Recommendation 6: | /req/well-log-array/log-definition |
Block log encoding is an alternative to GeologicLogCoverage encoding (see clause Clause 10.8). Clause Clause 10.8 provides an explicit discrete coverage encoding that is rather verbose because of the nature of the combination of CV_DiscreteCoverage and DataRecord. Each member of the discrete coverage defines a new DataRecord, and describes the record structure. As logs usually describe the same variables along their length, this structure is extremely redundant.
The SWE::DataArray (08-094r1, Clause 7.5) encoding is more compact because it describes fields only once in a header section. DataArray also provides alternative value encoding (xml, text block or binary) and external references to encoded data files. Because this encoding does not impose an explicit “from” and “to” field, it can also accommodates non-spatial logs (such as time series). Note that users seeking water related time series should consider WaterML Part 1 (10-126r4). Note that swe:Matrix is a subtype of swe:DataArray, making swe:Matrix a valid substitute.
For client applications ingesting a DataArray, this specification defines explicit identifiers for fromDepth and toDepth. A client can then locate the position properties by scanning the component definitions.
Compact encoding is composed of a series fields from which 2 might designated as fromDepth and toDepth, representing a section along the log.
Requirement 34: | |
---|---|
/req/well-log-array/fromDepthId | |
The field that contains the location of the beginning of a segment along the borehole SHALL be identified with the URI http://www.opengis.net/def/gwml/2.2/observedProperty/fromDepth |
Requirement 35: | |
---|---|
/req/well-log-array/toDepthId | |
The field that contains the location of the end of a segment along the borehole SHALL be identified with the URI http://www.opengis.net/def/gwml/2.2/observedProperty/toDepth |
DataArray::elementType provides a description of each field composing the array, The data type is defined using a SWE DataComponent used as data description (08-094r1, Clause 7.3.1). Each DataComponent has a definition property containing to a unique URI representing a specific property (eg: SWE::Quantity for a Temperature). It is recommended that a standard list of definition URI is defined by a community to uniquely identified properties of interest.
Recommendation 6: | |
---|---|
/req/well-log-array/log-definition | |
Community should define a vocabulary of properties of interest |
10.10. Requirement class: Aquifer test (profile)
Requirement Class: Aquifer test | |
---|---|
/req/aquifertest | |
Obligation | requirement |
Target Type | Encoding of logical model |
Dependency | /req/core |
Dependency | Observations and Measurements |
Dependency | http://www.opengis.net/spec/waterml/2.0/req/uml-timeseries-observation |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/uml-record-components |
Requirement 36: | /req/aquifertest/sampledfeature |
Requirement 37: | /req/aquifertest/testfeature |
Requirement 38: | /req/aquifertest/observationfeature |
Recommendation 7: | /req/aquifertest/testparameter |
Recommendation 8: | /req/aquifertest/observation |
Requirement 39: | /req/aquifertest/observation-role |
Recommendation 9: | /req/aquifertest/observedProperty |
Requirement 40: | /req/aquifertest/timeseries |
Requirement 41: | /req/aquifertest/timeseries-datarecord |
Aquifer hydraulic parameters are routinely evaluated by a series of tests that involves pumping or injecting water at known rates and by observing the changes in the water table. Other tests might involve injecting a tracer (radio element or dye) at some location and follow its progression at observation points. From these observations, various methods have been developed to compute aquifer properties. To adequately report an aquifer test, the data about initial conditions, test parameters, sampling features, measured and calculated observation must be packaged and put into context.
Figure 17, above, shows the elements required to encode an aquifer test. An AquiferTest assesses an Aquifer using a method (eg: Packer test) that is encoded as an OM_Process. The test is performed at a test site (the GW_AquiferTest defines a geometry corresponding to the test location) and consists of sampling features (usually the GW_Well) that are associated to the GW_AquiferTest through relatedSamplingFeature. Each sampling feature has a role in the test (observation or test features). Some sampling features are sites where test activities are performed (referred to as “test feature”), such as pumping water out of a bore. Other features are sites where more passive observations are made, such as measuring the impact of pumping made at the test sampling feature on the water table. From this activity, a series of observation are made, typically time series along the timespan of the test. Then from these observations, a method is used to infer some aquifer properties (such as transmissivity, storativity or yield). The findings are then documented in a report that can be attached to GW_AquiferTest using generic metadata properties.
A typical AquiferTest might be sketched as follows in Figure 23:
Figure 23 — A typical pumping test.
10.10.1. Aquifer Test O&M mapping
Observation and Measurement (O&M 2.0 : OGC 10-004r3), along with its GWML extensions, contains all the elements needed to model an aquifer test. A complete aquifer test can be built around SF_SamplingFeature and OM_Observation, with the addition of GW_AquiferTest, a subtype of SF_SpatialSamplingFeature (Figure 24), to distinguish aquifer tests from other sampling features and to package observations and sampling features.
Figure 24 — GW_AquiferTest.
10.10.2. GW_AquiferTest (O&M profile)
GW_AquiferTest is a specialized sampling feature representing an aquifer test (or pump test). It packages all the sampling features and observations generated by the test and the computed results from those observations. The following section describes implementation of aquifer test in O&M.
10.10.3. SF_SamplingFeature properties
10.10.3.1. sampledFeature
In the context of an aquifer test, it links to the real world feature being assessed by the aquifer test (generally a GW_AquiferUnit). O&M does not constrain SF_SamplingFeature to any particular feature type, but this standard requires that the sampledFeature shall be a subtype of a GW_HydrogeoUnit.
Requirement 36: | |
---|---|
/req/aquifertest/sampledfeature | |
The sampledFeature of a GW_AquiferTest SHALL be an instance of (or a reference to) a subtype of GW_HydrogeoUnit. |
10.10.3.3. parameter
Test parameters, such as pumping rates during the test are not considered as being an observation, but as test parameters. To document test parameters, there are two options:
-
Using SF_SpatialSamplingFeature:hostedProcedure of type OM_Process that can encode all possible details of a test using SensorML (OGC 12-000), MD_Metadata (ISO-19115) or any other suitable model; or
-
Use parameter of type SF_SamplingFeature:parameter:NamedValue using agreed value types for well-known test parameters.
Although the formal mechanism to report test parameters is through OM_Process, this standard recommends reporting community defined values in simple parameter key-value pairs (KVP) using sf:NamedValue.
Recommendation 7: | |
---|---|
/req/aquifertest/testparameter | |
When present, SF_SamplingFeature:parameter:NamedValue SHALL be encoded using community defined values |
10.10.3.5. hostedProcedure
A hostedProcedure is used to document such things as methods to identify or localise the sampling feature, but its use is not constrained to anything specific. The hostedProcedure property, of type OM_Process, may be used to accommodate detailed aquifer test parameters if needed by the data provider.
The O&M standard does not prescribe any model to encode OM_Process, but suggests:
ISO 19115-2 provides MI_Instrument, LE_Processing and LE_Algorithm, which could all be modelled as specializations of OM_Process. OGC SensorML [16] provides a model which is suitable for many observation procedures
OGC 10-0043 / ISO 19156, clause 7.2.3, p. 14
For instance, a pump (used to pump water from the borehole) can be modelled as a SensorML sml:PhysicalSystem.
10.10.3.6. shape
SF_SpatialSamplingFeature does not constrain the geometry type (Point, Curve, Polygon, etc), therefore any geometry can represent a test. In most situations, the geometry of the test is the test area, the zone of influence around the pumping test or even the volume of rock affected or in scope for the test.
This standard also does not constrain the geometry type. Communities that wish to constrain the geometry type should create a profile of this standard.
10.10.4. OM_Observation
OM_Observations are used to represent values of properties observed or computed in the context of this test. There are at least two categories of observations generated through an aquifer test:
-
Raw observations, normally taken at the observationFeatures; and
-
Derived observations, calculated from the raw observations.
These two kinds of observations differ by their respective feature of interest. For the former (raw data) the feature of interest is the sampling feature from which observations are made (e.g., observation bore). In the latter case, the feature of interest is the GW_AquiferTest itself. Observations can be linked together using related observations (om:relatedObservation/om:ObservationContext), which provide a role (om:ObservationContext/om:role) for the targeted observation. Figure 26 shows an example of “raw” observations (Drawdown1 and Drawdown2) measured at two observation wells (obs1 and obs2). The same figure also shows a derived observation (transmissivity) having the aquifer test itself as its feature of interest. The derived observation provides a link back to the supporting observation used to compute the derived values.
Figure 26 — Relationships between observations and features of interest.
Observations made during the test and computed observations are modelled as OM_Observations.
10.10.4.1. phenomenonTime, resultTime and validTime
As specified in Observation and Measurement; phenomenonTime reflects the time that the result applies to the property; the resultTime is the time at which the value has been obtained or became available and validTime is the time during which the value is usable. Depending on the type of observation (raw or computed), those time might be different (see Table 99).
Table 99 — Types of observations and times.
Type of Observation | phenomenonTime | resultTime | validTime |
---|---|---|---|
Raw | Duration of the test | End of the test | Period during which the condition are the same, so the same test would produce the same values |
Derived | Duration of the test | When calculation are done (publication) | Depends on the parameters or test |
10.10.4.2. observedProperty
This property describes the phenomenon being observed (e.g., groundwater level). The observed property is normally a reference to a property inherent in the feature of interest (“`the real word feature is the subject of the observation and carries the observed property, clause=7.2.2.7). But because of subtle variations in the semantics of such properties (such as specific Yield versus maximum Yield versus sustainable Yield, etc.), the observedProperty meaning should be formally defined by a community. The value of observedProperty becomes a reference to that definition (expressed in SWE, SKOS or OWL for example).
ObservedProperty can also be a compound property (a collection of observedProperty). Again, because of the close tie to use cases, compound properties should be defined by a community.
Recommendation 9: | |
---|---|
/req/aquifertest/observedProperty | |
The observedProperty SHOULD be a reference to a community managed vocabulary. |
10.10.4.3. result
The result property reports the product of the observation process. In many cases, the aquifer test will produce a time series, such as drawdown data over time. When the result is a time series, it shall be modelled as a TimeSeriesML 1.0 (OGC 15-082r3).
Requirement 40: | |
---|---|
/req/aquifertest/timeseries | |
Observation producing time series SHALL be modelled as TimeSeriesML 1.0 (OGC 15-042r3) |
Derived (or computed) observations will often produce compound values. It is possible to report each result component as distinct observations, but GWML2 shall use the more efficient alternative of wrapping compound results into swe:DataRecord.
Requirement 41: | |
---|---|
/req/aquifertest/timeseries-datarecord | |
Derived or computed observations SHALL be encoded as swe:DataRecord |
10.10.5. Aquifer test overview
Figure 27 provides an example of the mapping of AquiferTest to O&M.
Figure 27 — Typical pump test instance: 1 sampling feature and 2 observation features.
11. XML Implementation (normative)
11.1. GWML2-XSD
Groundwater features and their properties will be encoded in XML using standard GML encoding rules (Annex E of OGC Geography Markup Language v3.2 (ISO 19136:2007).
In examples, HTTP URIs that are used as resolvable resources (e.g. for vocabularies) may be included as examples only, for illustration purposes, and may not resolve, because the vocabularies are not defined. However, some such URIs in various example encodings may resolve if data providers have defined and implemented vocabularies for particular services.
XML snippets will use the following prefixes:
Table 100
Requirement Class: GML/XML encoding | |
---|---|
/req/xsd-xml-rules | |
Obligation | requirement |
Target Type | XML data document |
Dependency | ISO-19118 |
Dependency | ISO/IEC 19757-3:2006 (Schematron) |
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 |
Dependency | req/core |
Dependency | http://www.ietf.org/rfc/rfc2616 |
Dependency | http://www.opengis.net/spec/GML/3.3/req/definitions |
Requirement 42: | /req/xsd-xml-rules/W3C_XSD |
Requirement 43: | /req/xsd-xml-rules/ISO-schematron |
Requirement 44: | /req/xsd-xml-rules/iso8601-time |
Requirement 45: | /req/xsd-xml-rules/time-zone |
Requirement 46: | /req/xsd-xml-rules/swe-types |
Requirement 47: | /req/xsd-xml-rules/identifier |
Recommendation 10: | /req/xsd-xml-rules/byrefproperty |
Requirement 48: | /req/xsd-xml-rules/xlink-title |
Recommendation 11: | /req/xsd-xml-rules/vocabulary-reference |
ISO-19136_2007 provides a mapping between UML classifiers and XSD entities. All XSD types and elements must be created following those mapping rules. This standard considers the XSD files (the schema files) to be normative (they contain the official interpretation of 19136 conversion of the UML classifiers into XML).
Requirement 42: | |
---|---|
/req/xsd-xml-rules/W3C_XSD | |
All elements and attributes in a namespace SHALL validate according to W3C XSD rules encoded in the xsd file associated with this namespace and its dependencies. |
Other rules, that can’t be expressed in XSD, are provided as schematron rules. As the XSD files, schematron rules files are considered normative.
Requirement 43: | |
---|---|
/req/xsd-xml-rules/ISO-schematron | |
All elements and attributes covered by this standard SHALL pass schematron validation rules in http://schemas.opengis.net/gwml/2.2/xml-rules.sch |
The date-time formats will conform to ISO standards. Although this is already a GML 3.2.1 encoding rule (clause 14.2.2.7), this format shall also be used in any string that is not normally checked for an occurrence of dates.
Requirement 44: | |
---|---|
/req/xsd-xml-rules/iso8601-time | |
All date-time elements or occurrences within strings SHALL be encoded using ISO8601 extended time format |
Note that this precludes the use of time-coordinate systems such as UNIX time. This is specified in order to be maximally consistent with WML2 requirements. The time zone will be included in the time element.
Requirement 45: | |
---|---|
/req/xsd-xml-rules/time-zone | |
The value of each 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) |
Greenwich Mean Time (GMT or Zulu)
<om:phenomenonTime>
<gml:TimeInstant gml:id="ab.ww.402557.wl.1.ti.1">
<gml:timePosition>1981-09-12T00:00:00Z</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
Time Zone (example is Newfoundland time zone -3:30)
<om:phenomenonTime>
<gml:TimeInstant gml:id="nf.ww.34212.wl.1.ti.1">
<gml:timePosition>1981-09-12T00:00:00-03:30</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
Some SWE Common types are restricted to avoid ambiguity.
Requirement 46: | |
---|---|
/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. |
11.1.1. Identifier
A feature that can be accessed through Linked Data using a resolvable HTTP URI must use this HTTP URI as its global unique identifier. In GML, this shall be encoded using gml:identifier and code space = “http://www.ietf.org/rfc/rfc2616”. In other words, the gml:identifier shall point to a representation of itself.
Requirement 47: | |
---|---|
/req/xsd-xml-rules/identifier | |
A resolvable resource SHALL expose its resolvable HTTP URI as a gml:identifier AND use http://www.ietf.org/rfc/rfc2616 for the codeSpace value. |
Example of a feature that exposes its resolvable HTTP URI as a globally unique identifier
(...)
<gwml2w:GW_Well gml:id="ca.ab.gov.wells.402557">
<gml:description>Water well from Alberta water well database</gml:description>
<gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://ngwd-bdnes.cits.nrcan.gc.ca/Reference/uri-cgi/feature/gsc/waterwell/ca.ab.gov.wells.402557</gml:identifier>
<gml:name codeSpace="urn:cgi:featureType:CA.AB:WaterWell">402557</gml:name>
<gml:name codeSpace="urn:x-gin">ca.ab.waterWell.402557</gml:name>
(...)
11.1.2. By-Reference properties
Properties can be constrained to be by-reference only, or either inline or by-reference. For a by-reference property that refers to an external feature, the reference shall be resolvable over the web. The reference shall be either a resolvable HTTP URI that might also match the feature’s globally unique identifier (see /req/core/identifier) or an HTTP request (for instance, a WFS GetFeature with the stored query urn:ogc:def:query:OGC-WFS::GetFeatureById) to the a representation of the feature in GML.
Recommendation 10: | |
---|---|
/req/xsd-xml-rules/byrefproperty | |
A reference to an external feature SHOULD be resolvable to a GML representation of the feature |
(...)
<gwml2:gwAquiferSystemPart xlink:href="http://environment.data.gov.au/groundwater/feature/hydrogeologicalunit/hgu.nsw.5" xlink:title="Stuarts Point - Lower Quaternary Sands"/>
(...)
Note that elements under GWML2 namespaces can be mixed with other namespaces. For example, this standard does not have a dependency to WFS, but GWML can be serialised in a WFS document, along with features from other domains. Failure to validate such a document does not necessarily mean that the GWML XML requirements are not met, as other external indirect instances might fail. Therefore, this requirement class only addresses instances of GWML in an XML document.
All property by reference using xlink:href should provide a human readable label in xlink:title.
Requirement 48: | |
---|---|
/req/xsd-xml-rules/xlink-title | |
If an xlink:href is used to reference a controlled vocabulary item, the xlink:title attribute SHOULD encode a text label of the referenced item. |
Example of a casing material showing the use of xlink:href (/req/xsd-xml-rules/vocabulary-references) and xlink:title (/req/xsd-xml-rules/xlink-title):
<gwml2wc:casingMaterial xlink:href="http://www.sandre.eaufrance.fr/?urn=urn:sandre:donnees:154::CdElement:5:::referentiel:3.1:xml" xlink:title="PVC"/>
Vocabulary references for all classes of stereotype Clause 10.1.2 are implemented as gml:Reference using xlink:href and ought to be a resolvable URI in the form of an HTTP URL.
Recommendation 11: | |
---|---|
/req/xsd-xml-rules/vocabulary-reference | |
A resolvable HTTP URL SHOULD be used in an xlink:href when specifying references to vocabulary (CodeList) items. |
11.2. Requirement class: GWML2-Main XML encoding
Requirement Class: Main xml encoding | |
---|---|
/req/main-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | GeoSciML/GeoSciML-Basic |
Dependency | ISO-19115 |
Dependency | /req/main-uml |
Requirement 49: | /req/main-xsd/xsd |
Requirement 50: | /req/main-xsd/observed-unit-fluid-property-foi |
Requirement 51: | /req/main-xsd/observed-unit-void-property-foi |
Requirement 52: | /req/main-xsd/managementArea |
All xml elements under namespace http://www.opengis.net/gwml-main/2.2 must validate against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd.
Requirement 49: | |
---|---|
/req/main-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-main/2.2 SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd |
OM_Observation values, used as property values in GW_UnitFluidProperty must identify the instance of GW_HydrogeoUnit at the gwFluidBodyUnit end of the association between this feature and the GW_FluidProperty.
Requirement 50: | |
---|---|
/req/main-xsd/observed-unit-fluid-property-foi | |
All OM_Observation:featureOfInterest for OM_Observation properties of one coherent GW_UnitFluidProperty instance SHALL reference the same feature as GW_UnitFluidProperty/gwFluidBodyUnit. |
<?xml version="1.0" encoding="UTF-8"?>
<gwml2:GW_Aquifer gml:id="aq.1">
<gsmlb:geologicUnitType xlink:href="http://www.opengis.net/def/gwml/2.2/geologicunitype/aquifer_unit" xlink:title="Aquifer" xsi:type="gwml2:AquiferPropertyType"/>
<!-- (...) -->
<gwml2:gwUnitFluidBody>
<gwml2:GW_UnitFluidProperty>
<gwml2:gwYield>
<om:OM_Observation gml:id="aq.1.fp.1">
<om:phenomenonTime>
<gml:TimeInstant gml:id="aq.1.fp.1.ti.1">
<gml:timePosition>2015/7/28T12:00:00Z</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
<!-- (...) -->
<om:featureOfInterest xlink:href="#aq.1" xlink:title="aquifer 1"/>
<!-- (...) -->
</om:OM_Observation>
</gwml2:gwYield>
<gwml2:gwUnitFluidBody xlink:href="http://resource.org/id/fluid-body/fb1" xlink:title="fluid body f1"/>
<gwml2:gwFluidBodyUnit xlink:href="#aq.1" xlink:title="aquifer 1"/>
</gwml2:GW_UnitFluidProperty>
</gwml2:gwUnitFluidBody>
</gwml2:GW_Aquifer>
OM_Observation values, used as property values in GW_UnitVoidProperty must identify the instance of GW_HydrogeoUnit at the gwVoidUnit end of the association between this feature and the GW_VoidProperty.
Requirement 51: | |
---|---|
/req/main-xsd/observed-unit-void-property-foi | |
All OM_Observation:featureOfInterest for OM_ Observation properties of one coherent GW_UnitVoidProperty instance SHALL reference the same feature as GW_UnitVoidProperty/gwVoidUnit. |
<?xml version="1.0" encoding="UTF-8"?>
<gwml2:GW_AquiferSystem gml:id="as.1">
<!-- (...) -->
<gwml2:gwUnitVoid>
<gwml2:GW_UnitVoidProperty gml:id="v1">
<gwml2:gwPorosity>
<om:OM_Observation gml:id="aq.1.fp.1">
<om:phenomenonTime>
<gml:TimeInstant gml:id="aq.1.fp.1.ti.1">
<gml:timePosition>2015/7/28T12:00:00Z</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
<!-- (...) -->
<om:featureOfInterest xlink:href="#as.1" xlink:title="Aquifer System 1"/>
<!-- (...) -->
</om:OM_Observation>
</gwml2:gwPorosity>
<gwml2:gwUnitVoid xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="Unknown"/>
<gwml2:gwUnitVoid xlink:href="#as.1" xlink:title="Aquifer System 1"/>
</gwml2:GW_UnitVoidProperty>
</gwml2:gwUnitVoid>
</gwml2:GW_AquiferSystem>
Requirement 52: | |
---|---|
/req/main-xsd/managementArea | |
GW_ManagementArea/gwAreaFeature SHALL NOT refer to features of type ‘GW_Aquifer’, ‘GW_AquiferSystem’, ‘GW_Basin’ or ‘GW_ConfiningBed’ |
11.3. Requirement class: GWML2-Constituent XML encoding
Requirement Class: Constituent xml encoding | |
---|---|
/req/constituent-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | /req/constituent |
Requirement 53: | /req/constituent-xsd/xsd |
All xml elements under namespace http://www.opengis.net/gwml-constituent/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd.
Requirement 53: | |
---|---|
/req/constituent-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-constituent/2.2 SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd |
11.4. Requirement class: GWML2-Flow XML encoding
Requirement Class: Constituent xml encoding | |
---|---|
/req/-flow-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | /req/flow |
Requirement 54: | /req/flow-xsd/xsd |
All xml elements under namespace http://www.opengis.net/gwml-flow/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd.
Requirement 54: | |
---|---|
/req/flow-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-flow/2.2 SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd |
11.5. Requirement class: GWML2-Well XML encoding
Requirement Class: Constituent xml encoding | |
---|---|
/req/well-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | /req/construction-xsd |
Dependency | /req/well |
Requirement 55: | /req/well-xsd/xsd |
Requirement 56: | /req/well-xsd/origin-elevation |
Requirement 57: | /req/well-xsd/waterwell-elevationCRS |
Requirement 58: | /req/well-xsd/obs-relative-pos-spatial-reference |
Requirement 59: | /req/well-xsd/waterwell-observation-fromparam |
Requirement 60: | /req/well-xsd/waterwell-observation-toparam |
Requirement 61: | /req/well-xsd/waterwell-sf-spatial-reference |
Requirement 62: | /req/well-xsd/waterwell-sf-fromparam |
Requirement 63: | /req/well-xsd/waterwell-sf-toparam |
Requirement 64: | /req/well-xsd/monitoring-elevationCRS |
Requirement 65: | /req/well-xsd/monitoring-elevation-uom |
All xml elements under namespace http://www.opengis.net/gwml-well/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd.
Requirement 55: | |
---|---|
/req/well-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-well/2.0 SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd |
Well shall provide an origin elevation as a reference for relative positions along the borehole path.
Requirement 56: | |
---|---|
/req/well-xsd/origin-elevation | |
There SHALL be a gwWellReferenceElevation:Elevation:elevationType with a xlink:href equal to http://resource.gwml.org/def/elevationType/originElevation |
Elevation geometries must have a relevant vertical 1D srsName.
Requirement 57: | |
---|---|
/req/well-xsd/waterwell-elevationCRS | |
gwWellReferenceElevation:Elevation:elevation @srsName SHALL contain a 1D vertical SRS |
Examples of reference elevations (measured using different methods); note, one of them is designated as the origin (‘reference’) elevation for relative positions:
<gwml2w:gwWellReferenceElevation>
<gwml2w:Elevation>
<gwml2w:elevation srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD">139.06</gwml2w:elevation>
<gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<gwml2w:elevationType xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-type/natural-ground-surface" xlink:title="natural ground surface"/>
<gwml2w:elevationMeasurementMethod xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-method/dem" xlink:title="Digital Elevation Model"/>
</gwml2w:Elevation>
</gwml2w:gwWellReferenceElevation>
<gwml2w:gwWellReferenceElevation>
<gwml2w:Elevation>
<gwml2w:elevation srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD">139.06</gwml2w:elevation>
<gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<gwml2w:elevationType xlink:href="http://resource.gwml.org/def/elevationType/originElevation" xlink:title="reference elevation"/>
<gwml2w:elevationMeasurementMethod xlink:href="http://www.bom.gov.au/water/groundwater/ngis/elevation-method/dem" xlink:title="Digital Elevation Model"/>
</gwml2w:Elevation>
</gwml2w:gwWellReferenceElevation>
11.5.1. Observations
Any observation that is positioned relative to a geometry, such as well or borehole path, SHALL identify the geometry as a spatial reference.
Requirement 58: | |
---|---|
/req/well-xsd/obs-relative-pos-spatial-reference | |
Any OM_Observation that is positioned relative to a GM_Curve SHALL provide this geometry using a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry and a value of type gml:GM_Curve |
The relative position of the observation must be encoded in the om:parameter using a specific encoding.
Requirement 59: | |
---|---|
/req/well-xsd/waterwell-observation-fromparam | |
The closest boundary of the interval, the “from” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/fromDistance and a value of type swe:Quantity |
Requirement 60: | |
---|---|
/req/well-xsd/waterwell-observation-toparam | |
The farthest boundary of the interval, the “to” distance, SHALL be encoded in a om:NamedValue with the name http://www.opengis.net/def/param-name/GWML/2.2/toDistance and a value of type swe:Quantity |
Example of Observation positioned along the path of a bore:
<om:OM_Observation gml:id="feduni.borehole.observation.51409.44574.32328">
<gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://groundwater.victoria.com.au/feature/observation/feduni.borehole.observation.51409.44574.32328</gml:identifier>
<om:phenomenonTime>
<gml:TimeInstant gml:id="feduni.borehole.observation.time.51409.44574">
<gml:timePosition>1997-07-14+12:00:00</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
<om:resultTime xlink:href="#feduni.borehole.observation.time.51409.44574"/>
<om:procedure xlink:title="PUM"/>
<om:parameter>
<om:NamedValue>
<om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/fromDistance " xlink:title="from"/>
<om:value xsi:type="swe:QuantityPropertyType">
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>10.5</swe:value>
</swe:Quantity>
</om:value>
</om:NamedValue>
</om:parameter>
<om:parameter>
<om:NamedValue>
<om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/toDistance " xlink:title="to"/>
<om:value xsi:type="swe:QuantityPropertyType">
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>10.6</swe:value>
</swe:Quantity>
</om:value>
</om:NamedValue>
</om:parameter>
<om:parameter>
<om:NamedValue>
<om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry " xlink:title="geometry"/>
<om:value xsi:type="gml:GeometryPropertyType" xlink:href="#feduni.borehole.51409.shape.1"/>
</om:NamedValue>
</om:parameter>
<om:observedProperty xlink:href="http://environment.data.gov.au/def/property/pH_water" xlink:title="pH"/>
<om:featureOfInterest xlink:href="#feduni.borehole.51409"/>
(...)
</om:OM_Observation>
11.5.3. Monitoring Sites
Monitoring site elevation geometry must have a relevant vertical 1D srsName.
Requirement 64: | |
---|---|
/req/well-xsd/monitoring-elevationCRS | |
GW_MonitoringSite:gwSiteReferenceElevation/Elevation:elevation @srsName SHALL contain a vertical SRS. |
Requirement 65: | |
---|---|
/req/well-xsd/monitoring-elevation-uom | |
GW_MonitoringSite:gwSiteReferenceElevation/Elevation:elevation @srsName datum units and coordinate system SHALL be the same as the /req/well-xsd/monitoring-elevationCRS units and coordinate system vertical axis |
<gwml2w:gwSiteReferenceElevation>
<gwml2w:Elevation>
<gwml2w:elevation srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="m AHD" srsDimension="1">523.27</gwml2w:elevation>
<gwml2w:elevationAccuracy xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<gwml2w:elevationType xlink:title="Relative Level Natural Surface"/>
<gwml2w:elevationMeasurementMethod xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" nilReason="unknown" xlink:title="unknown"/>
</gwml2w:Elevation>
</gwml2w:gwSiteReferenceElevation>
11.6. Geology Log (GW_GeologicLogCoverage)
Requirement Class: Constituent xml encoding | |
---|---|
/req/well-xsd-cov | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/well-xsd |
Dependency | /req/well |
Requirement 66: | /req/well-xsd-cov/well-geology |
Requirement 67: | /req/well-xsd-cov/log-coverage |
Requirement 68: | /req/well-xsd-cov/log-depth-order |
This standard forbids the use of relatedObservation to link a GW_Well to a GW_GeologyLog, the property gwWellGeology must be used.
Requirement 66: | |
---|---|
/req/well-xsd-cov/well-geology | |
GW_Well SHALL NOT be associated with GW_GeologyLog using om:relatedObservation |
The geologic log is encoded as a GW_GeologyLogCoverage.
Requirement 67: | |
---|---|
/req/well-xsd-cov/log-coverage | |
The XML element om:result of GW_GeologyLog SHALL have a data type GW_GeologyLogCoverage |
The fromDepth value must be less than or equal to the toDepth value.
Requirement 68: | |
---|---|
/req/well-xsd-cov/log-depth-order | |
For any given value where both fromDepth and toDepth are non-null, the value of gww:fromDepth/swe:Quantity/swe:Value SHALL be less than or equal to gww:toDepth/swe:Quantity/swe:Value |
<gwml2w:GW_GeologyLogCoverage gml:id="borehole.INDIANA.USGS.403836085374401.lithology.coverage">
<gwml2w:element>
<gwml2w:LogValue>
<gwml2w:fromDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit/FT" xlink:title="foot" code="ft"/>
<swe:value>0</swe:value>
</swe:Quantity>
</gwml2w:fromDepth>
<gwml2w:toDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit/FT" xlink:title="foot" code="ft"/>
<swe:value>9</swe:value>
</swe:Quantity>
</gwml2w:toDepth>
<gwml2w:value>
<swe:DataRecord definition="http://www.opengis.net/def/gwml/2.2/datarecord/earthMaterial">
<swe:field name="major_lithology">
<swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial">
<swe:identifier>http://cida.usgs.gov/groundwater/def/lithology/CLAY</swe:identifier>
<swe:value>CLAY</swe:value>
</swe:Category>
</swe:field>
<swe:field name="lithology-description">
<swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial">
<swe:value>BROWN</swe:value>
</swe:Category>
</swe:field>
</swe:DataRecord>
</gwml2w:value>
</gwml2w:LogValue>
</gwml2w:element>
</gwml2w:GW_GeologyLogCoverage>
11.7. GeologicLog (DataArray)
Requirement Class: Constituent xml encoding | |
---|---|
/req/well-xsd-array | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/well-xsd |
Dependency | /req/well |
Example of a DataArray Geologic Log encoding (XML encoding).
<om:result>
<swe:DataArray definition="http://www.opengis.net/def/gwml/2.0/coverage/geologyLog">
<swe:elementCount>
<swe:Count>
<swe:value>4</swe:value>
</swe:Count>
</swe:elementCount>
<swe:elementType name="LogValue">
<!-- row is the name of each row -->
<swe:DataRecord definition="http://www.opengis.net/def/gwml/2.0/datarecord/earthMaterial" id="le.1">
<swe:field name="from">
<!-- name of the column -->
<swe:Quantity definition="http://www.opengis.net/def/gwml/2.2/observedProperty/fromDepth">
<swe:uom xlink:href="http://qudt.org/vocab/unit/M" xlink:title="m"/>
</swe:Quantity>
</swe:field>
<swe:field name="to">
<swe:Quantity definition="http://www.opengis.net/def/gwml/2.2/observedProperty/toDepth">
<swe:uom xlink:href="http://qudt.org/vocab/unit/M" xlink:title="m"/>
</swe:Quantity>
</swe:field>
<swe:field name="lithology">
<swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial">
<swe:codeSpace xlink:href="http://resource.geosciml.org/classifierscheme/cgi/201211/simplelithology" xlink:title="Simple lithology"/>
</swe:Category>
</swe:field>
</swe:DataRecord>
</swe:elementType>
<swe:encoding>
<swe:XMLEncoding/>
</swe:encoding>
<swe:values xmlns:d="http://www.opengis.net/def/gwml/2.0/coverage/geologyLog">
<d:LogValue>
<d:from>0.0</d:from>
<d:to>0.30</d:to>
<d:lithology>Soil</d:lithology>
</d:LogValue>
<d:LogValue>
<d:from>0.30</d:from>
<d:to>4.27</d:to>
<d:lithology>Clay</d:lithology>
</d:LogValue>
<d:LogValue>
<d:from>4.27</d:from>
<d:to>9.14</d:to>
<d:lithology>Till</d:lithology>
</d:LogValue>
<d:LogValue>
<d:from>9.14</d:from>
<d:to>11.58</d:to>
<d:lithology>Gravel</d:lithology>
</d:LogValue>
</swe:values>
</swe:DataArray>
</om:result>
Alternative encoding using Text block encoding (instead of <swe:XMLEncoding/> above).
<swe:encoding>
<swe:TextEncoding blockSeparator=" " tokenSeparator="," />
</swe:encoding>
<swe:values xmlns:d="http://www.opengis.net/def/gwml/2.0/coverage/geologyLog">
0.0,0.30,Soil
0.30,4.27,Clay
4.27,9.14,Till
9.14,11.58,Gravel
</swe:values>
11.8. Requirement class: GWML2-WellConstruction XML encoding
Requirement Class: Constituent xml encoding | |
---|---|
/req/construction-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | /req/construction |
Requirement 69: | /req/construction-xsd/xsd |
Requirement 70: | /req/construction-xsd/collar-elevationCRS |
Requirement 71: | /req/construction-xsd/depth-order |
All xml elements under namespace http://www.opengis.net/gwml-construction/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd.
Requirement 69: | |
---|---|
/req/construction-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-construction/2.0 SHALL validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd |
BoreCollar:collarElevation must have a relevant vertical 1D srsName.
Requirement 70: | |
---|---|
/req/construction-xsd/collar-elevationCRS | |
BoreCollar:collarElevations SHALL have a relevant vertical srsName |
Requirement 71: | |
---|---|
/req/construction-xsd/depth-order | |
Each Borehole SHALL have one bholeHeadworks/BoreCollar:collarElevationType @xlink:href = “http://resource.gwml.org/def/collarElevationType/originElevation” |
Example Borehole BoreCollar and collarElevationType encodings:
</gwml2wc:Borehole>
<gwml2wc:bholeHeadworks>
<gwml2wc:BoreCollar gml:id="borehole.construction.nsw.10019168.collar">
<gwml2wc:collarElevation axisLabels="m AHD" srsDimension="1" srsName="http://www.opengis.net/def/crs/EPSG/0/5711" uomLabels="metre">139.06</gwml2wc:collarElevation>
<gwml2wc:collarElevationType xlink:href="http://resource.gwml.org/def/collarElevationType/originElevation"/>
<gwml2wc:collarHeadworkType xlink:href="http://www.opengis.net/def/nil/OGC/0/missing" xlink:title="missing"/>
<gwml2wc:collarLocation>
<gml:Point gml:id="borehole.construction.nsw.10019168.location" srsDimension="2" srsName="http://www.opengis.net/def/crs/EPSG/0/4283">
<gml:pos>-35.50485492957156 146.2265360498699</gml:pos>
</gml:Point>
</gwml2wc:collarLocation>
<gwml2wc:bholeDetails xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/nsw.10019168"/>
</gwml2wc:BoreCollar>
</gwml2wc:bholeHeadworks>
</gwml2wc:Borehole>
Construction element “from” value must be less than or equal to the “to” value.
Requirement 72: | |
---|---|
/req/gwml-construction-xsd/depth-order | |
For any given value where both “from” and “to” are non-null, the value of bh:from/swe:Quantity/swe:Value SHALL be less or equal to bh:to/swe:Quantity/swe:Value |
11.9. Requirement class: GWML2-Well-Vertical XML encoding (profile)
Requirement Class: Constituent xml encoding | |
---|---|
/req/vertical-well-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/gwml2well-xsd |
Dependency | /req/vertical-well |
Requirement 73: | /req/vertical-well-xsd/waterwell-shape |
Requirement 74: | /req/vertical-well-xsd/endvertex |
Vertical wells are represented as simple gml:Curve, made of a single Segment having only 2 coordinates.
Requirement 73: | |
---|---|
/req/vertical-well-xsd/waterwell-shape | |
The sams:shape value of a vertical GW_Well SHALL be of type gml:Curve, consisting of a single segment of type LineStringSegment, containing 2 3D vertices |
Example of a 3D vertical curve:
<sams:shape>
<gml:Curve gml:id="ab.ww.402557.shape.1" srsDimension="3" srsName="http://www.opengis.net/def/crs/EPSG/0/4955">
<gml:segments>
<gml:LineStringSegment>
<gml:posList>49.671622 -114.625045 0.00 49.671622 -114.625045 11.58</gml:posList>
</gml:LineStringSegment>
</gml:segments>
</gml:Curve>
</sams:shape>
The first vertex (v0) of the LineStringSegment must have the same planar coordinate as the last vertex (v1).
Requirement 74: | |
---|---|
/req/vertical-well-xsd/endvertex | |
The first vertex of the LineStringSegment SHALL have the same planar (x,y) coordinate as the last vertex. |
11.10. Requirement class: GeologicLog XML encoding
This requirement class specifies the requirements for encoding Geologic Logs.
Requirement Class: Constituent xml encoding | |
---|---|
/req/well-log-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/well-log-xsd |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components |
Recommendation 0-1: | /req/gwml2-well-log-xsd/log-definition |
Log values are encoded as swe:DataRecord, which is an encoding of ISO 11404 Record. It is a composite datatype made of 1 to many fields that are defined along with the instance (not by the XSD). DataRecord allows any collection of fields of any SWE AbstractDataComponent.
The DataRecord definition URI defines the structure of the data record and the semantics of the fields. This standard recommends that the definition be controlled by a community with specific use cases to address.
Requirement 75: | |
---|---|
/req/well-log-xsd/log-definition | |
The definition of a DataRecord and the fields that compose it SHOULD have a defining URI governed by an appropriate community |
Example of a complete gwWellGeology/GW_GeologyLog for geologic units illustrating how swe:DataRecord/definition specifies the field and DataRecord content for the log.
<gwml2w:gwWellGeology>
<gwml2w:GW_GeologyLog gml:id="borehole.qld.14483A.1.1.stratigraphy">
<gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://environment.data.gov.au/groundwater/feature/stratigraphy-log.qld.14483A.1.1</gml:identifier>
<om:phenomenonTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<om:resultTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<om:procedure xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<om:observedProperty xlink:href="http://resource.gwml.org/def/gwml/2.0/observedProperty/hydrostratigraphy" xlink:title="hydrostratigraphy"/>
<om:featureOfInterest xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/qld.14483A"/>
<om:result>
<gwml2w:GW_GeologyLogCoverage gml:id="borehole.qld.14483A.1.1.stratigraphy.coverage">
<gwml2w:element>
<gwml2w:LogValue>
<gwml2w:fromDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/>
<swe:value>0.00</swe:value>
</swe:Quantity>
</gwml2w:fromDepth>
<gwml2w:toDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/>
<swe:value>14.02</swe:value>
</swe:Quantity>
</gwml2w:toDepth>
<gwml2w:value>
<swe:DataRecord definition="http://resource.gwml.org/def/gwml/2.0/datarecord/geologicUnit">
<swe:field name="geologic unit">
<swe:Category definition="http://resource.gwml.org/def/gwml/2.0/observedProperty/hydrostratigraphy">
<swe:identifier>http://environment.data.gov.au/groundwater/feature/hydrogeologicunit/hgu.1079</swe:identifier>
<swe:description>Lockyer Creek alluvium</swe:description>
<swe:codeSpace xlink:href="http://www.bom.gov.au/water/groundwater/hydrogeologicunit"/>
<swe:value>Lockyer Creek alluvium</swe:value>
</swe:Category>
</swe:field>
</swe:DataRecord>
</gwml2w:value>
</gwml2w:LogValue>
</gwml2w:element>
<gwml2w:element>\{more gwml2w:elements here}</gwml2w:element>
</gwml2w:GW_GeologyLogCoverage>
</om:result>
<gwml2w:startDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/>
<swe:value>0</swe:value>
</swe:Quantity>
</gwml2w:startDepth>
<gwml2w:endDepth>
<swe:Quantity>
<swe:uom xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre" code="m"/>
<swe:value>57</swe:value>
</swe:Quantity>
</gwml2w:endDepth>
</gwml2w:GW_GeologyLog>
</gwml2w:gwWellGeology>
Example of a complete gwWellGeology/GW_GeologyLog for lithology illustrating how swe:DataRecord/definition specifies the field and DataRecord content for the log:
<gwml2w:gwWellGeology>
<gwml2w:GW_GeologyLog gml:id="borehole.nsw.10019168.1.lithology">
<gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616">http://environment.data.gov.au/groundwater/feature/lithology-log/borehole.nsw.10019168.1</gml:identifier>
<om:phenomenonTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<om:resultTime xlink:href="http://www.opengis.net/def/nil/OGC/0/unknown" xlink:title="unknown"/>
<om:procedure xlink:href="http://environment.data.gov.au/groundwater/def/procedure/drillers_log" xlink:title="drillers_log"/>
<om:observedProperty xlink:href="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial" xlink:title="lithology"/>
<om:featureOfInterest xlink:href="http://environment.data.gov.au/groundwater/feature/borehole/nsw.10019168"/><om:result>
<gwml2w:GW_GeologyLogCoverage gml:id="borehole.nsw.10019168.1.lithology.coverage">
<gwml2w:element>
<gwml2w:LogValue>
<gwml2w:fromDepth>
<swe:Quantity>
<swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>7.32</swe:value>
</swe:Quantity>
</gwml2w:fromDepth>
<gwml2w:toDepth>
<swe:Quantity>
<swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>28.35</swe:value>
</swe:Quantity>
</gwml2w:toDepth>
<gwml2w:value>
<swe:DataRecord definition="http://www.opengis.net/def/gwml/2.2/datarecord/earthMaterial">
<swe:field name="major_lithology">
<swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial">
<swe:identifier>http://environment.data.gov.au/groundwater/def/lithology/CLAY</swe:identifier>
<swe:value>CLAY</swe:value>
</swe:Category>
</swe:field>
<swe:field name="lithology-description">
<swe:Category definition="http://www.opengis.net/def/gwml/2.0/observedProperty/earthMaterial">
<swe:value>Clay white sandy</swe:value>
</swe:Category>
</swe:field>
</swe:DataRecord>
</gwml2w:value>
</gwml2w:LogValue>
</gwml2w:element>
<...> [more gwml2:element properties here]
</gwml2w:GW_GeologyLogCoverage>
</om:result>
<gwml2w:startDepth>
<swe:Quantity>
<swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>0.0</swe:value>
</swe:Quantity>
</gwml2w:startDepth>
<gwml2w:endDepth>
<swe:Quantity>
<swe:uom code="m" xlink:href="http://qudt.org/vocab/unit#Meter" xlink:title="metre"/>
<swe:value>91.44</swe:value>
</swe:Quantity>
</gwml2w:endDepth>
</gwml2w:GW_GeologyLog>
</gwml2w:gwWellGeology>
11.11. Requirement class: Aquifer test XML encoding
Requirement Class: Constituent XML encoding | |
---|---|
/req/aquifertest-xsd | |
Obligation | requirement |
Target Type | XML data document |
Dependency | /req/xsd-xml-rules |
Dependency | /req/gwml-aquifer-test |
Dependency | http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components |
Requirement 76: | /req/aquifertest-xsd/xsd |
Requirement 77: | /req/aquifertest-xsd/sampledfeature |
Requirement 78: | /req/aquifertest-xsd/testfeature |
Requirement 79: | /req/aquifertest-xsd/observationfeature |
Requirement 80: | /req/aquifertest-xsd/observation-role |
Requirement 81: | /req/aquifertest-xsd/timeseries |
Requirement 82: | /req/aquifertest-xsd/timeseries-datarecord |
All XML elements under namespace http://www.opengis.net/gwml-aquifertest/2.2 must validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd.
Requirement 76: | |
---|---|
/req/aquifertest-xsd/xsd | |
All the elements and types under namespace http://www.opengis.net/gwml-aquifertest/2.2 SHALL validate with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd |
XML encoding conforms to O&M XML encoding (10-025r1), sweCommon (08-094r1) and TimeSeriesML 1.0 (15-042r3) encoding. This extension introduces a single new class with no new property or association.
Note that, while O&M (10-004r3) proposes subtypes of (abstract) SF_SpatialSamplingFeature, based on their geometries (SF_SamplingPoint, SF_SamplingCurve, etc.), the XML encoding does not materialise any classes for these sub types, but maps (OGC 10-025r1) them all to a concrete SF_SpatialSamplingFeature. The sub types are “soft types” and reported using sam:type property. This property is an XML encoding artefact from 10-025r1 and is not described in the conceptual model (10-004r3).
<gwml2at:GW_AquiferTest xmlns:gwml2at="http://www.opengis.net/gwml-aquifertest/2.2" xmlns:sf="http://www.opengis.net/samplingSpatial/2.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:om="http://www.opengis.net/om/2.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:sam="http://www.opengis.net/sampling/2.0" gml:id="pump.wit.63" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/gwml-aquifertest/2.2 http://schemas.opengis.net/gwml/2.2/aquifertest.xsd http://www.opengis.net/samplingSpatial/2.0 http://schemas.opengis.net/samplingSpatial/2.0/spatialSamplingFeature.xsd">
<gml:description>Multiple well pumping test using Thiems's method. Data from The Netherland (from Kruseman & deRitter, 2000). Pumping test done in Oude Korendijk documented by Wit (1963).</gml:description>
<gml:identifier codeSpace=" http://www.ietf.org/rfc/rfc2616 ">http://opengis.org/example/pumpingTest/wit63</gml:identifier>
<gml:name codeSpace="urn:gwml2:example:name">wik63</gml:name>
<gml:location>
<gml:LocationString>Oude Korendijk</gml:LocationString>
</gml:location>
<sam:type xlink:href="http://www.opengis.net/def/samplingFeatureType/OGC-OM/2.0/SF_SamplingSurface"/>
<sam:sampledFeature xlink:href="http://opengis.org/example/aquifer/OudeKorendijk" xlink:title="Oude Korendijk aquifer"/>
(...)
</gwml2at:GW_AquiferTest>
GW_AquiferTest, as a subtype of SF_SpatialSamplingFeature, inherits sam:type property.
The sampled feature of GW_AquiferTest SHALL be a reference to an instance of a GW_HydrogeoUnit.
Requirement 77: | |
---|---|
/req/aquifertest-xsd/sampledfeature | |
The sam:sampledFeature SHALL have a xlink:href to an instance of GW_HydrogeoUnit. |
SF_SamplingFeatures that are test features, as defined in 9.10.3.2, shall be associated with the GW_AquiferTest using a SF_SamplingFeatureComplex, with the role’s xlink:href set to http://resource.gwml.org/def/role/testFeature
Requirement 78: | |
---|---|
/req/aquifertest-xsd/testfeature | |
SF_SamplingFeatureComplex roles that associates GW_AquiferTest with test features SHALL have it’s xlink:href set to http://resource.gwml.org/def/role/testFeature |
<sam:relatedSamplingFeature>
<sam:SamplingFeatureComplex>
<!-- this one is the pumping well -->
<sam:role xlink:href="http://resource.gwml.org/def/role/testFeature" xlink:title="Well that is being pumped"/>
<sam:relatedSamplingFeature xlink:href="http://example.gw.com/samplingFeature/WellWit63"/>
</sam:SamplingFeatureComplex>
</sam:relatedSamplingFeature>
SF_SamplingFeatures that are observation features, as defined in 9.10.3.2, shall be associated with the GW_AquiferTest using a SF_SamplingFeatureComplex, with the role’s xlink:href set to http://resource.gwml.org/def/role/observationFeature.
Requirement 79: | |
---|---|
/req/aquifertest-xsd/observationfeature | |
SF_SamplingFeatureComplex roles that associates GW_AquiferTest with test features SHALL have it’s xlink:href set to http://resource.gwml.org/def/role/observationFeature |
<sam:relatedSamplingFeature>
<sam:SamplingFeatureComplex>
<sam:role xlink:href="http://resource.gwml.org/def/role/observationFeature" xlink:title="Well at which the observation is made"/>
<sam:relatedSamplingFeature xlink:href="http://example.gw.com/samplingFeature/WellWit63h215"/>
</sam:SamplingFeatureComplex>
</sam:relatedSamplingFeature>
OM_Observations are linked together using ObservationComplex in the specific case when new observations are derived from support observations. This standard imposes URI for those specifics roles.
Requirement 80: | |
---|---|
/req/aquifertest-xsd/observation-role | |
Raw observations from the observation sampling feature SHALL be link to the test result observations using the roles defined in Table 98 |
<sam:relatedObservation>
<om:OM_Observation gml:id="obs.wik63.1">
<om:relatedObservation>
<om:ObservationContext>
<om:role xlink:href="http://resource.gwml.org/def/role/supportObservation" xlink:title="supporting Observation"/>
<!--LINK TO TRANSMISSIVITY IN GWML2 -->
<om:relatedObservation xlink:href="http://example.gw.com/observations/00001" xlink:title="Accepted Transmissivity for aquifer"/>
</om:ObservationContext>
</om:relatedObservation>
<om:phenomenonTime>
<gml:TimePeriod gml:id="tp.wik63.1">
<gml:beginPosition>1963-07-01T13:00:00Z</gml:beginPosition>
<gml:endPosition>1963-07-02T02:50:00Z</gml:endPosition>
</gml:TimePeriod>
</om:phenomenonTime>
<om:resultTime>
<gml:TimeInstant gml:id="ti.wik63.1">
<!-- result valid at the end of the test -->
<gml:timePosition>1963-07-02T02:50:00Z</gml:timePosition>
</gml:TimeInstant>
</om:resultTime>
<om:procedure xlink:href="http://resource.gwml.org/def/method/Thiem" xlink:title="Thiem method"/>
<!-- this is one option to pump test related properties, the other option is to have the procedure above to point to a full SensorML description of the test -->
<!-- links to a combo of typical pumptest results -->
<om:observedProperty xlink:href="http://resource.gwml.org/def/property/pumpTestProperties" xlink:title="Pump test results"/>
<om:featureOfInterest xlink:href="#pump.wit.63" xlink:title="Wit 63 Pump test"/>
<om:result>
<swe:DataRecord definition="http://resource.gwml.org/def/property/pumpTestProperties" id="le.1">
<!-- Since pump test can result in many parameters, they are grouped in a record -->
<swe:field name="transmissivity">
<swe:Quantity definition="http://resource.gwml.org/def/phenomenon/groundwaterTransmissivity">
<swe:uom code="m^2/d"/>
<swe:value>385</swe:value>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</om:result>
</om:OM_Observation>
</sam:relatedObservation>
Observation results that are time series must be encoded with TimeSeriesML 1.0 (OGC 15-042r3).
Requirement 81: | |
---|---|
/req/aquifertest-xsd/timeseries | |
OM_Observation results that are timeseries SHALL be encoded as tsml:TimeseriesObservation |
Derived (or computed) observation results SHALL be encoded using swe:DataRecord XML encoding.
Requirement 82: | |
---|---|
/req/aquifertest-xsd/timeseries-datarecord | |
Derived or computed observations SHALL be encoded as swe:DataRecord as defined in 08-094r1 (http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components) |
<om:result>
<swe:DataRecord definition="http://resource.gwml.org/def/property/pumpTestProperties" id="le.1">
<swe:field name="transmissivity">
<swe:Quantity definition="http://resource.gwml.org/def/phenomenon/groundwaterTransmissivity">
<swe:uom code="m^2/d"/>
<swe:value>385</swe:value>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</om:result>
Annex A
(normative)
Conformance Class Abstract Test Suite (Normative)
A.1. Introduction
This test suite contains 7 conformance classes, including one abstract conformance class. Each test relates to one or more specific requirements, which are explicitly indicated in the description of the test.
A.2. Conformance classes — Conceptual Model
Table A.1
Conformance Class | /conf/conceptual | |
---|---|---|
Requirements | /req/conceptual | |
Test | /conf/conceptual/similarity | |
Requirement | /req/conceptual/similarity | |
Test purpose | Ensure that the target logical model is compatible with the conceptual model. | |
Test method | Determine semantic similarity between the logical model and conceptual model using an established method such as : (i) visual comparison of the UML diagrams, (ii) comparison of logical and conceptual components expressed in a common knowledge representation language such as first order logic, or (iii) comparison after mapping to a reference ontology. | |
Test type | Capability |
A.3. Conformance classes — Logical Model
A.3.1. Conformance class: GWML 2.2 core logical model (Abstract)
Table A.2
Conformance Class | /conf/core | |
---|---|---|
Requirements | /req/core | |
Dependency | urn:iso:dis:iso:19156:clause:A.1.1 | |
Test | /conf/core/encoding | |
Requirement | /req/core/encoding | |
Test purpose | Ensure that all mandatory classes and properties are encoded | |
Test method | Verify that the target implementation has all mandatory classes and properties implemented. If mandatory class or property are missing, the test fails | |
Test type | Capability | |
Test | /conf/core/quantities-uom | |
Requirement | /req/core/quantities-uom | |
Test purpose | Ensure that all properties of type swe:Quantity or om:OM_ Observation contain an xlink:href with a URI to a valid unit of measurement | |
Test method | Visually inspect the target implementation and validate that all properties of type Quantity or Measurement report a unit of measurement | |
Test type | Capability | |
Test | /conf/core/identifier | |
Requirement | /req/core/identifier | |
Test purpose | Ensure that the HTTP URI used as a globally unique identifier actually resolves to an instance of the feature using Linked Open Data principles | |
Test method | For each feature that has a HTTP URI as a globally unique identifier, resolve the URI and inspect the result to see if it matches the same instance. Note, this conformance class does not imply any specific format, nor a single format | |
Test type | Capability | |
Test | /conf/core/feature | |
Requirement | /req/core/feature | |
Test purpose | Ensure that an instance of GWML 2.2 contains at least one valid GWML 2.2 element | |
Test method | Inspect the instance and check that a GWML 2.2 element is correctly encoded. | |
Test type | Capability |
A.3.2. Conformance class: GWML 2.2 main logical model
Table A.3
Conformance Class | /conf/main | |
---|---|---|
Requirements | /req/main | |
Dependency | /conf/core | |
Dependency | /conf/constituent | |
Dependency | /conf/flow | |
Test | /conf/main/observed-unit-fluid-property-foi | |
Requirement | /req/main/observed-unit-fluid-property-foi | |
Test purpose | Ensure that GW_UnitFluidProperty properties have featureOfInterest referring to the GW_HydrogeoUnit that owns the association with GW_FluidBody | |
Test method | Check that each OM_ Observation instance that uses a property value for gwHydraulicConductivity, gwStorativity, gwTransmissivity or gwYield has a featureOfInterest that matches the gwFluidBodyUnit property | |
Test type | Capability | |
Test | /conf/main/observed-unit-void-property-foi | |
Requirement | /req/main/observed-unit-void-property-foi | |
Test purpose | Ensure that GW_UnitVoidProperty properties have featureOfInterest referring to the GW_HydrogeoUnit that owns the association with GW_HydrogeoVoid | |
Test method | Check that each OM_ Observation instance that uses a property value for gwPermeability or gwPorosity has a featureOfInterest that matches the gwVoidUnit property | |
Test type | Capability | |
Test | /conf/main/managementArea | |
Requirement | /req/main/managementArea | |
Test purpose | Ensure that GW_ManagementArea::gwAreaFeauture is not a subtype of GW_HydrogeoUnit | |
Test method | Visual inspection of target and insure that gwAreaFeature is not a subtype of GW_HydrogeoUnit | |
Test type | Capability |
A.3.3. Conformance class: GWML 2.2 constituent logical model
Table A.4
Conformance Class | /conf/constituent |
---|---|
Requirements | /req/constituent |
Dependency | /conf/core |
A.3.4. Conformance class: GWML 2.2 flow logical model
Table A.5
Conformance Class | /conf/gwml2_flow |
---|---|
Requirements | /req/flow |
Dependency | /conf/core |
A.3.5. Conformance class: GWML 2.2 Well logical model
Table A.6
Conformance Class | /conf/well | |
---|---|---|
Requirements | /req/well | |
Dependency | /conf/main-uml | |
Test | /conf/well/waterwell-elevationCRS | |
Requirement | /req/well/waterwell-elevationCRS | |
Test purpose | Ensure that the all Elevation elevation geometry has a 1D CRS where the units and reference system matches vertical axis of the well shape’s CRS | |
Test method | Check, for each well, Elevation instance and check the elevation geometry CRS identifier. Check that this identifier is a valid EPSG code in the EPSG database (http://www.epsg-registry.org) | |
Test type | Capability | |
Test | /conf/well/waterwell-abs-shape-crs | |
Requirement | /req/well/waterwell-abs-shape-crs | |
Test purpose | Ensure that shape that is defined in absolute coordinates have a valid 3D CRS | |
Test method | Check that the shape geometry has 3 coordinates and that it has a valid 3D CRS | |
Test type | Capability | |
Test | /conf/well/waterwell-rel-shape-crs | |
Requirement | /req/well/waterwell-rel-shape-crs | |
Test purpose | Ensure that a well shape defined in relative coordinate does not have a CRS | |
Test method | Check that the shape geometry does not report any CRS | |
Test type | Capability | |
Test | /conf/well/waterwell-rel-shape-true-depth | |
Requirement | /req/well/waterwell-rel-shape-true-depth | |
Test purpose | Ensure that positions on z axis represents true depth | |
Test method | Check, deepest value is less or equals to largest position along depth used to position observations or samples or used in log values | |
Test type | Capability | |
Test | /conf/well/waterwell-rel-shape-downward | |
Requirement | /req/well/waterwell-rel-shape-downward | |
Test purpose | Ensure that values of depth are positive downward | |
Test method | Check that all values are >= 0 | |
Test type | Capability | |
Test | /conf/well/waterwell-rel-shape-shape-uom | |
Requirement | /req/well/waterwell-rel-shape-uom | |
Test purpose | Ensure that relative position values are in the same units as gwWellLocation CRS | |
Test method | Check that values are consistent with origin CRS (by comparing with original dataset for instance) | |
Test type | Capability | |
Test | /conf/well/waterwell-depth-order | |
Requirement | /req/well/waterwell-depth-order | |
Test purpose | Ensure that fromDepth and toDepth are reported in the right order | |
Test method | Check that fromDepth ⇐ toDepth | |
Test type | Capability | |
Test | /conf/well/waterwell-depth-point | |
Requirement | /req/well/waterwell-depth-point | |
Test purpose | Ensure that fromDepth and toDepth are both present | |
Test method | Check that fromDepth and toDepth are always reported | |
Test type | Capability | |
Test | /conf/well/waterwell-observation-spatial-reference | |
Requirement | /req/well/waterwell-observation-spatial-reference | |
Test purpose | Ensure that the reference geometry is encoded correctly in the NamedParameter of OM_Observation and is of the correct type | |
Test method | For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry” and the value type is GM_Curve | |
Test type | Capability | |
Test | /conf/well/waterwell-observation-fromparam | |
Requirement | /req/well/waterwell-observation-fromparam | |
Test purpose | Ensure that the “from” distance is encoded correctly in the NamedParameter of OM_Observation | |
Test method | For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/fromDistance” and the distance from the origin must be an instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom | |
Test type | Capability | |
Test | /conf/well/waterwell-observation-toparam | |
Requirement | /req/well/waterwell-observation-toparam | |
Test purpose | Ensure that the “to” distance is encoded correctly in the NamedParameter of OM_Observation | |
Test method | For each Observation that is positioned relative to the bore path, check that the value of om:parameter has an instance of om::NamedParameter with two components. the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/toDistance” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom | |
Test type | Capability | |
Test | /conf/well/waterwell-sf-spatial-reference | |
Requirement | /req/well/waterwell-sf-spatial-reference | |
Test purpose | Ensure that the reference geometry is encoded correctly in the NamedParameter of SF_SamplingFeature and is of type GM_Curve | |
Test method | For each SamplingFeature that is positioned relative to the bore path, check that the value of sams:parameter has an instance of sams::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry” and the value must be a GM_Curve | |
Test type | Capability | |
Test | /conf/well/waterwell-sf-fromparam | |
Requirement | /req/well/waterwell-sf-fromparam | |
Test purpose | Ensure that the “from” distance is encoded correctly in the NamedParameter of SF_SamplingFeature | |
Test method | For each SamplingFeature that is positioned relative to the bore path, check that the value of om:parameter has an instance of sams::NamedParameter with two components; the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/fromDistance” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom | |
Test type | Capability | |
Test | /conf/well/waterwell-sf-toparam | |
Requirement | /req/well/waterwell-sf-toparam | |
Test purpose | Ensure that the “to” distance is encoded correctly in the NamedParameter of SF_SamplingFeature | |
Test method | For each sampling feature that is positioned relative to the bore path, check that the value of om:parameter has an instance of sams:NamedParameter with two components. the name must be the string “http://www.opengis.net/def/param-name/GWML/2.2/toDistance” and the distance from the origin must a instance of swe:Quantity, properly encoded according to /conf/core/quantities-uom | |
Test type | Capability | |
Test | /conf/well/well-geology | |
Requirement | /req/well/well-geology | |
Test purpose | Ensure that an association between a GW_Well and a GW_GeologyLog is only made using a gwWellGeology. | |
Test method | Check that there are no occurrences of GW_Well/om:relatedObservation/GW_GeologyLog | |
Test type | Capability | |
Test | /conf/well/log | |
Requirement | /req/well/log | |
Test purpose | Ensure that the om:result of GeologyLog is an instance of GW_GeologyLogCoverage OR SWE::DataArray | |
Test method | Check the om:result of GeologyLog and check if it’s an instance of GW_GeologyLogCoverage or any of its subtypes or an instance of SWE::DataArray of any of its subtypes | |
Test type | Capability | |
Test | /conf/well/monitoring-elevationCRS | |
Requirement | /req/well/monitoring-elevationCRS | |
Test purpose | Ensure that elevation is an appropriate vertical datum. | |
Test method | Check elevation CRS definition for a the presence of an appropriate vertical datum | |
Test type | Capability |
A.3.6. Conformance class GWML 2.2 Construction logical model
Table A.7
Conformance Class | /conf/construction | |
---|---|---|
Requirements | /req/construction | |
Test | /conf/construction/collar-elevationCRS | |
Requirement | /req/construction/collar-elevationCRS | |
Test purpose | Ensure that the collar elevation geometry has a 1D CRS and its units and reference system matches the vertical axis of the borehole shape’s CRS. | |
Test method | Check in the EPSG database that CRS of collarElevation exists and is an elevation CRS. | |
Test type | Capability | |
Test | /conf/construction/construction-origin-elevation | |
Requirement | /req/construction/construction-origin-elevation | |
Test purpose | Ensure that the borehole has one bholeHeadworks/BoreholeCollar which collarElevationType equal to http://resource.gwml.org/def/collarElevationType/originElevation | |
Test method | Check target and check Borehole has at one BoreCollar which collarElevationType is of correct type. | |
Test type | Capability | |
Test | /conf/construction/borehole-shape | |
Requirement | /req/construction/borehole-shape | |
Test purpose | Ensure that the geometry that describes the borehole path represents the complete length of the bore in such as way that all construction elements (above in below the ground) can be located along the path. | |
Test method | Check that the starting point is prior or at the location of the topmost element and the end point is beyond or at the location of the bottommost element. | |
Test type | Capability | |
Test | /conf/construction/log-depth | |
Requirement | /req/construction/log-depth | |
Test purpose | Ensure that construction component are positioned linearly from the first vertex of the bore shape, along its path | |
Test method | Check that each construction components has a “from” and “to” value is between 0 (zero) and the length of Borehole::shape. If a value is unknown, a “nil” value can be used | |
Test type | Capability | |
Test | /conf/construction/log-depth-order | |
Requirement | /req/well/log-depth-order | |
Test purpose | Ensure that ConstructionComponent’s “from” value is always less (closer to origin) than “to” value | |
Test method | When both “from” and “to” are non nil, check that “from” is less than or equal to “to” value | |
Test type | Capability |
A.3.7. Conformance class : GWML 2.2 Vertical Well logical model
Table A.8
Conformance Class | /conf/vertical-well | |
---|---|---|
Requirements | /req/vertical-well | |
Dependency | /conf/well | |
Test | /conf/vertical-well/waterwell-shape | |
Requirement | /req/vertical-well/waterwell-shape | |
Test purpose | Ensure that the shape of a vertical well is made of only one segment (two vertices) | |
Test method | Check that GW_Well::shape geometry has 6 and only 6 coordinates | |
Test type | Capability | |
Test | /conf/vertical-well/endvertex | |
Requirement | /req/vertical-well/end-vertex | |
Test purpose | Ensure that the shape of the GW_Well is vertical | |
Test method | Considering that the GW_Well:shape is composed of two 3D points, [x0,y0,z0] and [x1,y1,z1]. Check coordinates x1 == x0 and y1 == y0 | |
Test type | Capability |
A.3.8. Conformance class: GWML 2.2 Geologic logs
Table A.9
Conformance Class | /conf/well-log |
---|---|
Requirements | /req/well-log |
Dependency | /conf/well |
A.3.9. Conformance class: GWML 2.2 Geologic logs Coverage
Table A.10
Conformance Class | /conf/well-log-cov |
---|---|
Requirements | /req/well-log-cov |
Dependency | /conf/well |
A.3.10. Conformance class: GWML 2.2 Geologic array
Table A.11
Conformance Class | /conf/well-log-array | |
---|---|---|
Requirements | /req/well-log-array | |
Dependency | /conf/well | |
Test | /conf/well-log-array/fromDepthId | |
Requirement | /req/well-log-array/fromDepthId | |
Test purpose | Ensure that fromDepth is reported using the correct identifier | |
Test method | Check in the DataArray/DataRecord that fromDepth values is identified using http://www.opengis.net/def/gwml/2.2/observedProperty/fromDepth | |
Test type | Capability | |
Test | /conf/well-log-array/toDepthId | |
Requirement | /req/well-log-array/toDepthId | |
Test purpose | Ensure that toDepth is reported using the correct identifier | |
Test method | Check in the DataArray/DataRecord that toDepth values is identified using http://www.opengis.net/def/gwml/2.2/observedProperty/toDepth | |
Test type | Capability |
A.3.11. Conformance class : GWML 2.2 Aquifer Test
Table A.12
Conformance Class | /conf/aquifertest | |
---|---|---|
Requirements | /req/aquifertest | |
Dependency | /conf/core | |
Dependency | http://www.opengis.net/spec/waterml/2.0/conf/uml-timeseries-observation | |
Dependency | http://www.opengis.net/spec/SWE/2.0/conf/uml-record-components | |
Test | /conf/aquifertest/sampledfeature | |
Requirement | /req/aquifertest/sampledfeature | |
Test purpose | Ensure that aquifer tests are about hydrogeological units | |
Test method | Check that the sampledFeaure of the test refers to an instance of GW_HydrogeoUnit. | |
Test type | Capability | |
Test | /conf/aquifertest/testfeature | |
Requirement | /req/aquifertest/testfeature | |
Test purpose | Ensure that the sampling features use to perform the test itself are correctly identified | |
Test method | Check that the role of the SF_SamplingFeatureComplex is “http://resource.gwml.org/def/role/testFeature” | |
Test type | Capability | |
Test | /conf/aquifertest/observationfeature | |
Requirement | /req/aquifertest/observationfeature | |
Test purpose | Ensure that the sampling features use to monitor the test itself are correctly identified | |
Test method | Check that the role of the SF_SamplingFeatureComplex is “http://resource.gwml.org/def/role/observationfeature” | |
Test type | Capability | |
Test | /conf/aquifertest/observation-role | |
Requirement | /req/aquifertest/observation-role | |
Test purpose | Ensure that observations gained from observation features are linked to derived observations | |
Test method | Check that the value type use the correct URI when any of the roles are listed in 9.10.3.3 | |
Test type | Capability | |
Test | /conf/aquifertest/timeseries | |
Requirement | /req/aquifertest/timeseries | |
Test purpose | Ensure that results that represent values taken over time are encoded using TimeSeriesML 1.0 (OGC 15-042r3) | |
Test method | Check the encoding of the result and check it fits conformance classes of TimeSeriesML 1.0 | |
Test type | Capability | |
Test | /conf/aquifertest/timeseries-datarecord | |
Requirement | /req/aquifertest/timeseries-daterecord | |
Test purpose | Ensure that derived observation results are encoded using a swe:DataRecord | |
Test method | Check the encoding of derived observation and check they comply to swe:DataRecord | |
Test type | Capability |
A.4. Conformance classes — XML encoding
A.4.1. Conformance class: xml-rules
Table A.13
Conformance Class | /conf/xsd-xml-rules | |
---|---|---|
Requirements | /req/xsd-xml-rules | |
Dependency | 08-131r3 Req 39 | |
Dependency | 08-131r3 Req 40 | |
Dependency | 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 | |
Test | /conf/xsd-xml-rules/W3C_XSD | |
Requirement | /req/xsd-xml-rules/W3C_XSD | |
Test purpose | Ensure that the xml element are valid with XSD | |
Test method | Use a XSD validation tool and check that validation does not return any error | |
Test type | Capability | |
Test | /conf/xsd-xml-rules/sch | |
Requirement | /req/xsd-xml-rules/ISO-schematron | |
Requirement | /req/xsd-xml-rules/swe-types | |
Requirement | /req/xsd-xml-rules/xlink-title | |
Test purpose | Validate the XML document using the schematron document http://schemas.opengis.net/gwml/2.2/xml-rules.sch. Passes if no errors are reported for ‘unit-of-measure’ test. Fails otherwise. | |
Test method | Use a schematron validation tool and check that validation does not return any error | |
Test type | Capability | |
Test | /conf/xsd-xml-rules/iso8601-time | |
Requirement | /req/xsd-xml-rules/iso8601-time | |
Test purpose | Ensure that all instance of date time, even in free text string, use the iso8601 encoding | |
Test method | Inspect instance where date-time instance appears and check if they are encoded as iso8601 | |
Test type | Capability | |
Test | /conf/xsd-xml-rules/time-zone | |
Requirement | /req/xsd-xml-rules/time-zone | |
Test purpose | Ensure that all time are flagged with time zone | |
Test method | Inspect occurrence of date-time and check if it has a 4 digit character or a Z (Zulu). If absent, test fails | |
Test type | Capability | |
Test | /conf/xsd-xml-rules/identifier | |
Requirement | /req/xsd-xml-rules/identifier | |
Test purpose | Ensure that gml:identifiers with codeSpace http://www.ietf.org/rfc/rfc2616 have a http URI that resolves | |
Test method | Check that HTTP URI, when invoked returns an HTTP code between 200 and 203, or 300 and 305 | |
Test type | Capability |
A.4.2. Conformance class: GWML2-Main xml encoding
Table A.14
Conformance Class | /conf/main-xsd | |
---|---|---|
Requirements | /req/main-xsd | |
Dependency | /conf/flow-xsd | |
Dependency | /conf/constituent-xsd | |
Dependency | http://www.opengis.net/spec/OMXML/2.0/conf/observation | |
Dependency | http://www.opengis.net/spec/OMXML/2.0/conf/sampling | |
Test | /conf/main-xsd/xsd | |
Requirement | /req/main-xsd/xsd | |
Test purpose | Ensure that all elements under the namespace http://www.opengis.net/gwml-main/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd | |
Test method | Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-main.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-main/2.2 or its dependencies. Pass if no errors reported. Fail otherwise | |
Test type | Capability | |
Test | /conf/main-xsd/sch | |
Requirement | /req/main-xsd | |
Requirement | /req/main-xsd/observed-unit-fluid-property-foi | |
Requirement | /req/main-xsd/observed-unit-void-property-foi | |
Requirement | /req/main-xsd/managementArea | |
Test purpose | Ensure that instance document validate agains schematron rules | |
Test method | Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-main.sch. The test fails if any schematron rules are broken | |
Test type | Capability |
A.4.3. Conformance class: GWML2-Constituent xml encoding
Table A.15
Conformance Class | /conf/gwml2-constituent-xsd | |
---|---|---|
Dependency | /conf/xsd-xml-rule | |
Requirements | /req/constituent-xsd | |
Test | /conf/constituent-xsd/xsd | |
Requirement | /req/constituent-xsd/xsd | |
Test purpose | Ensure that all element under the namespace http://www.opengis.net/gwml-constituent/2.2 validates with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd | |
Test method | Use a XSD validator to validate the XML instance against schema located at http://schemas.opengis.net/gwml/2.2/gwml2-constituent.xsd and check that no error are generate for elements under namespace http://www.opengis.net/gwml-constituent/2.2 or its dependencies. Pass if no errors reported. Fail otherwise | |
Test type | Capability |
A.4.4. Conformance class: GWML2-flow xml encoding
Table A.16
Conformance Class | /conf/gwml2-flow-xsd | |
---|---|---|
Dependency | /conf/xsd-xml-rule | |
Requirement | /req/flow-xsd | |
Test | /conf/flow-xsd/xsd | |
Requirement | /req/flow-xsd/xsd | |
Test purpose | Ensure that all element under the namespace http://www.opengis.net/gwml-flow/2.2 validates with schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd | |
Test method | Use a XSD validator to validate the XML instance against schema located at http://schemas.opengis.net/gwml/2.2/gwml2-flow.xsd and check that no error are generate for elements under namespace http://www.opengis.net/gwml-flow/2.2 or its dependencies. Pass if no errors reported. Fail otherwise | |
Test type | Capability |
A.4.5. Conformance class: GWML2-well xml encoding
Table A.17
Conformance Class | /conf/gwml2-well-xsd | |
---|---|---|
Dependency | /conf/xsd-xml-rule | |
Dependency | /conf/construction-xsd | |
Requirement | /req/well-xsd | |
Test | /conf/well-xsd/xsd/ | |
Requirement | /req/well-xsd/xsd | |
Test purpose | Ensure that the GW_Well instances conform to the rules expressed in the schema | |
Test method | Use a XSD validator to validate instances. If the validator reports an error on a GWML 2.2 element, then the test fails | |
Test type | Capability | |
Test | /conf/well-xsd/sch/ | |
Requirement | /req/well-xsd | |
Requirement | /req/well-xsd/obs-relative-pos-spatial-reference | |
Requirement | /req/well-xsd/waterwell-observation-fromparam | |
Requirement | /req/well-xsd/waterwell-observation-toparam | |
Requirement | /req/well-xsd/waterwell-sf-spatial-reference | |
Requirement | /req/well-xsd/waterwell-sf-fromparam | |
Requirement | /req/well-xsd/waterwell-sf-toparam | |
Requirement | /req/well-xsd/monitoring-elevation-uom | |
Test purpose | Ensure that instance document validates agains schematron rules | |
Test method | Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-well.sch. The test fails if any schematron rules are broken | |
Test type | Capability | |
Test | /conf/well-xsd/waterwell-elevationCRS | |
Requirement | /req/well-xsd/waterwell-elevationCRS | |
Test purpose | Ensure that all Elevations have a relevant 1D vertical srsName | |
Test method | Check the value of GW_Well/sam:gwWellReferenceElevation/Elevation/elevation/@srsName against the EPSG database or CRS specification to ensure it represents a 1D vertical SRS | |
Test type | Capability | |
Test | /conf/well-xsd/monitoring-elevationCRS | |
Requirement | /req/xsd-gwml-well/ monitoring-elevationCRS | |
Test purpose | Ensure that the monitoring site elevation has relevant 1D vertical CRS | |
Test method | Check the value of GW_Well/gwSiteReferenceElevation/Elevation/elevation/@srsName against EPSG database or CRS specification to ensure it represents a 1D vertical SRS | |
Test type | Capability |
A.4.6. Conformance class: GWML2-construction xml encoding
Table A.18
Conformance Class | /conf/construction-xsd | |
---|---|---|
Requirement | /req/construction-xsd | |
Dependency | /conf/xsd-xml-rule | |
Test | /conf/construction-xsd/xsd | |
Requirement | /req/construction-xsd | |
Test purpose | Ensure that all elements under the namespace http://www.opengis.net/gwml-construction/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-wellconstruction.xsd | |
Test method | Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-well.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-construction/2.2 or its dependencies. Pass if no errors reported. Fail otherwise. | |
Test type | Capability | |
Test | /conf/construction-xsd/sch | |
Requirement | /req/construction-sch | |
Test purpose | Ensure that instance document validate agains schematron rules | |
Test method | Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-construction.sch. The test fails if any schematron rules are broken | |
Test type | Capability | |
Test | /conf/construction-xsd/depth-order | |
Requirement | /req/construction/depth-order | |
Test purpose | Ensure that instance document validates with rules expressed in schematron file. | |
Test method | Validate the XML document using the Schematron document http://schemas.opengis.net/gwml/2.2/gwml2-construction.sch. Conformance passes if no error, fails otherwise. | |
Test type | Capability | |
Test | /conf/construction-xsd/collar-elevationCRS | |
Requirement | /req/construction/collar-elevationCRS | |
Test purpose | Ensure that collar elevation uses a relevant 1D vertical CRS | |
Test method | Check the values of BoreCollar/collarElevation/@srsName against EPSG database or CRS specification to Ensure it represents a 1D vertical SRS | |
Test type | Capability |
A.4.7. Conformance class: GWML2-vertical well xml encoding
Table A.19
Conformance Class | /conf/vertical-well-xsd | |
---|---|---|
Requirement | /req/vertical-well-xsd | |
Dependency | /conf/xsd-xml-rule | |
Dependency | /conf/well-xsdl | |
Test | /conf/vertical-well-xsd/waterwell-shape | |
Requirement | /req/vertical-well-xsd/waterwell-shape | |
Requirement | /req/vertical-well-xsd/endvertex | |
Test purpose | Ensure that instance document validate with rules expressed in schematron file. | |
Test method | Validate the XML document using the Schematron document http://schemas.opengis.net/gwml/2.2/gwml2-well-vertical.sch. Conformance passes if no error, fails otherwise. | |
Test type | Capability |
A.4.8. Conformance class: Geology-Log (GW_GeologicLogCoverage)
Table A.20
Conformance Class | /conf/well-xsd-cov | |
---|---|---|
Requirement | /req/well-xsd-cov | |
Dependency | /conf/well | |
Test | /conf/vertical-well-xsd/waterwell-shape | |
Requirement | /req/well-xsd-cov/well-geology | |
Requirement | /req/well-xsd-cov/log-coverage | |
Requirement | /req/well-xsd-cov/log-depth-order | |
Test purpose | Ensure that instance document validate with rules expressed in schematron file. | |
Test method | Validate the XML document using the Schematron document http://schemas.opengis.net/gwml/2.2/gwml2-well-cov.sch. Conformance passes if no error, fails otherwise. | |
Test type | Capability |
A.4.9. Conformance class: GWML2-Aquifertest xml encoding
Table A.21
Conformance Class | /conf/gwml2-aquifertest-xsd | |
---|---|---|
Dependency | /conf/xsd-xml-rule | |
Requirement | /req/aquifertest-xsd | |
Test | /conf/aquifertest-xsd/xsd | |
Requirement | /req/aquifertest-xsd/xsd | |
Test purpose | Ensure that all elements under the namespace http://www.opengis.net/gwml-aquifertestt/2.2 validate with the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd | |
Test method | Use an XSD validator to validate the XML instance against the schema located at http://schemas.opengis.net/gwml/2.2/gwml2-aquifertest.xsd and check that no errors are generated for elements under the namespace http://www.opengis.net/gwml-aquifertest/2.2 or its dependencies. Pass if no errors reported. Fail otherwise | |
Test type | Capability | |
Test | /conf/aquifertest-xsd/sampledfeature | |
Requirement | /req/aquifertest-xsd/sampledfeature | |
Test purpose | Ensure the instance document validates agains the schematron rules | |
Test method | Use a schematron validator and test the instance document against http://schemas.opengis.net/gwml/2.2/gwml2-main.sch. The test fails if any schematron rules are broken | |
Test type | Capability | |
Test | /conf/aquifertestxsd/testfeature | |
Requirement | /req/aquifertest-xsd/testfeature | |
Test purpose | Ensure that test features are associated with the aquifer test using the correct role | |
Test method | For all sampling features that are test features, check that the SF_SamplingFeatureComplex::role is set to http://resource.gwml.org/def/role/testFeature | |
Test type | Capability | |
Test | /conf/aquifertest-xsd/observationfeature | |
Requirement | /req/aquifertest-xsd/observationfeature | |
Test purpose | Ensure that observation features are associated with the aquifer test using the correct role | |
Test method | For all sampling features that are observation features, check that the SF_SamplingFeatureComplex role is set to http://resource.gwml.org/def/role/observationFeature | |
Test type | Capability | |
Test | /conf/aquifertestxsd/observation-role | |
Requirement | /req/aquifertest-xsd/observation-role | |
Test purpose | Ensure that the observations that are part of a chain, or support and derived observations, are linked together with OM_ObservationContext using the proper role | |
Test method | For all observations that are part of a chain of transformation, check that the OM_ObservationContext has it’s role xlink:href set to one of the values defined in Table 98 | |
Test type | Capability | |
Test | /conf/aquifertestxsd/timeseries | |
Requirement | /req/aquifertestxsd/timeseries | |
Test purpose | Ensure that Observation results that are time series are encoded in TimeSeriesML 1.0 (OGC 15-042r3) | |
Test method | Inspect instance documents and verify that any time series results are encoded in valid TimeSeriesML 1.0 (OGC 15-042r3) | |
Test type | Capability | |
Test | /conf/aquifertest-xsd/timeseries-datarecord | |
Requirement | /req/aquifertest-xsd/timeseries-datarecord | |
Test purpose | Ensure that the final aquifer test result, encoded as OM_Observation, delivers the result using a swe:DataRecord | |
Test method | Scan the document for Observations that are the final outcome of the test, and check that the results are encoded according to http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components | |
Test type | Capability |
Annex B
(normative)
Revision History
Table B.1
Date | Release | Editor | Primary clauses modified | Description |
---|---|---|---|---|
2016-01-29 | 0.1.0 | Bruce Simons | All | Initial internal version based on IE report |
2016-01-29 | 0.1.1 | Boyan Brodaric | All | Draft submission |
2016-03-03 | 0.1.2 | Bruce Simons | All | Version, namespaces, GeoSciML 4.0 |
2016-03-07 | 0.1.3 | Boyan Brodaric | All | Final edits |
2016-03-30 | 0.1.4 | Scott Simmons | All | Moved to current OGC standard template |
2016-05-02 | r1 | Boyan Brodaric | All | Changes as per OGC OAB review |
2016-05-18 | r1.1 | Eric Boisvert | All | Changes as per OGC-NA review Left justified XML snippets Moved Conceptual Conformance in Annex |
2018-03-26 | r.2.3 | Eric Boisvert | 9.6.3 | Added Borehole to GW_Well association pattern recommendation |
2018-05-15 | Eric Boisvert and Sylvain Grellet | 9.5, 9.8, 9.9 | Added a figure (9.5), modified some requirement classes. | |
2018-11-16 | Eric Boisvert | Figures 15 and 16. Significant changes in 9.x and 10.x. Annex A.3.5 to A.3.10 and A.4.5 to A.4.8 |
Reorganised and changed documentation to fit compact encoding and some cardinality changes | |
2020-05-08 | r.2.3 | Eric Boisvert, Bruce Simmons, Sylvain Grellet and Boyan Brodaric | 10.5, 10.6, A.4.5, A.4.8 | Fixed typos and omissions, broken URLs and missing artefacts, clarified version number vs schema version |
Bibliography
[1] American Nuclear Society, 1980. American national standard for evaluation of radionuclide transport in groundwater for nuclear power sites. ANSI/ANS-2.17-1980, American Nuclear Society, La Grange Park, Illinois.
[2] American Society of Civil Engineers, 1987. Ground water management. ASCE Manual and Reports on Engineering Practice No. 40, New York, 263 pp.
[3] BDLISA, 2013. Dictionnaire des données — Référentiel hydrogéologique (Version 2). Retrieved 13 July 2015, from: http://www.sandre.eaufrance.fr/urn.php?urn=urn:sandre:dictionnaire:SAQ:FRA:::ressource:2.0:::pdf
[4] Boisvert, B., Brodaric, B., 2012. GroundWater Markup Language (GWML) — Enabling Groundwater Data Interoperability in Spatial Data Infrastructures. Journal of Hydroinformatics, 14(1):93—107.
[5] Brodaric, B, Booth, N., 2011. Groundwater Interoperability Experiment, FINAL REPORT. OGC 10-194r3, Open Geospatial Consortium, 48 pp.
[6] Freeze, R.A., Cherry, J.A., 1979. Groundwater. Prentice Hall, Englewood Cliffs, NJ, 604 pp.
[7] Heath, R. C., 1983. Basic ground-water hydrology. Water-Supply Paper 2220, U.S. Geological Survey, 86 pp.
[8] INSPIRE, 2013. D2.8.II.4 Data Specification on Geology — Technical Guidelines. D2.8.II.4_v3.0. European Commission, Thematic Working Group Geology, 362 pp., http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_GE_v3.0.pdf
[9] Lohman, S.W., 1972. Definitions of selected ground-water terms, revisions and conceptual refinements. Water Supply Paper 1988, U.S. Geological Survey, 21 pp.
[10] WMO, UNESCO, 2012. Groundwater Divide. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Switzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF0556EN.HTM.
[11] WMO, UNESCO, 2012. Well. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Switzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF1397EN.HTM.
[12] ISO: ISO 19101-1:2014, Geographic information — Reference model — Part 1: Fundamentals. International Organization for Standardization, Geneva (2014). https://www.iso.org/standard/59164.html
[13] ISO: ISO 19101-2, Geographic information — Reference model — Part 2: Imagery. International Organization for Standardization, Genevahttps://www.iso.org/standard/69325.html