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
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.
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.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
iv. Submitting organizations
The following organizations submitted this Document to the Open Geospatial Consortium (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
- 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
The following organizations contributed to the initiation or development of this standard:
v. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name | Affiliation | OGC Member? |
---|---|---|
Boyan Brodaric |
GSC |
Yes |
Eric Boisvert |
GSC |
Yes |
Francois Letourneau |
GSC |
Yes |
Jessica Lucido |
USGS |
Yes |
Bruce Simons |
CSIRO |
Yes |
Peter Dahlhaus |
FedUni |
Yes |
Sylvain Grellet |
BRGM |
Yes |
Laurence Chery |
BRGM |
Yes |
Alexander Kmoch |
U Salzburg |
Yes |
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 (OGC 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 (OGC 15-042r2) 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 (OGC 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 OGCencoding 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).
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 site[1].
In order to conform to this OGC™interface standard, a software implementation shall choose to implement:
a) Any one of the conformance levels specified in Annex A (normative).
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
3. References
The following normative documents contain provisions that, through reference in this text, constitute provisions of this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
- OGC: OGC 15-043r3, Timeseries Profile of Observations and Measurements (2016)
- OGC: OGC 08-131r3, The Specification Model – A Standard for Modular Specification (2009)
- OGC: OGC 10-126r4, WaterML2.0 part 1 – Timeseries (2014)
- OGC: OGC 15-042r2, TimeseriesML 1.0 – XML Encoding of the Timeseries Profile of Observations and Measurements (2016)
- OGC: OGC 15-082, OGC GroundWaterML 2 – GW2IE Final Report (2016)
- OGC: OGC 16-008, OGC Geoscience Markup Language 4.0 (GeoSciML) (in publication)
- OGC: OGC 06-121r9, OGC Web Services Common Standard (2010)
- ISO / TC 211: ISO 19103:2005, Conceptual Schema Language (2005)
- ISO: ISO 8601:2004, Data elements and interchange formats – Information interchange – Representation of dates and times (2004)
- OGC: OGC 10-004r3, OGC Abstract Specification Topic 20 – Observations and Measurements (aka ISO 19156:2011) (2011)
- OGC: OGC 08-015r2, OGC Abstract Specification Topic 2 – Spatial Referencing by Coordinates (aka ISO 19111:2007) (2007)
- OGC: OGC 07-011, OGC Abstract Specification Topic 6 – Schema for Coverage geometry and functions (aka ISO 19123:2005) (2005)
- OGC: OGC 01-111, OGC Abstract Specification Topic 11 – Geographic information — Metadata (aka ISO 19115:2003) (2003)
- OGC: OGC 07-036, Geography Markup Language (aka ISO 19136:2007) (2007)
- OGC: OGC 10-004r1, Observations and Measurements v2.0 (also published as ISO/DIS 19156:2010, Geographic information — Observations and Measurements) (2010)
- OGC: OGC 10-025r1, Observations and Measurements - XML Implementation v2.0 (2011)
- OGC: OGC 08-094r1, SWE Common Data Model Encoding Standard v2.0 (2011)
- ISO/IEC: Schematron: ISO/IEC 19757-3:2006, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation — Schematron (2006) (see http://standards.iso.org/ittf/PubliclyAvailableStandards/c040833_ISO_IEC_19757-3_2006(E).zip)
- OGC: OGC 12-000, SensorML (2014)
- Schadow, G and McDonald, C.: Unified Code for Units of Measure (UCUM) – Version 1.8 (2009)
- OMG: Unified Modeling Language (UML). Version 2.3 (2010)
- W3C: Extensible Markup Language (XML) – Version 1.0 (Fourth Edition) (2006)
- W3C: XML Schema – Version 1.0 (Second Edition) (2004)
4. Terms and Definitions
This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.
For the 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.
[ISO 19123:2005, definition 4.17]
- 4.2 domain feature
Feature of a type defined within a particular application domain.
NOTE: This may be contrasted with observations and sampling features, which are features of types defined for cross-domain purposes.
[ISO 19156, definition 4.4]
- 4.3 element <XML>
Basic information item of an XML document containing child elements, attributes and character data.
NOTE: 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.
[ISO 19136:2007]
- 4.4 feature
Abstraction of a real-world phenomena.
[ISO 19101:2002, definition 4.11]
- 4.5 GML application schema
Application schema written in XML Schema in accordance with the rules specified in ISO 19136:2007.
[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.
[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.
[ISO 19136:2007]
- 4.8 measurement
Set of operations having the objective of determining the value of a quantity.
[ISO/TS 19101-2:2008, definition 4.20]
- 4.9 observation
Act of observing a property.
NOTE: The goal of an observation may be to measure or otherwise determine the value of a property.
[ISO 19156:2011 definition 4.10]
- 4.10 observation procedure
Method, algorithm or instrument, or system which may be used in making an observation.
[ISO19156, definition 4.11]
- 4.11 observation result
Estimate of the value of a property determined through a known procedure.
[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.
[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: A sampling feature is purely an artefact of the observational strategy, and has no significance independent of the observational campaign.
[ISO 19156:2011, definition 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: 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.
[ISO 19136:2007]
- 4.16 sensor
Type of observation procedure that provides the estimated value of an observed property at its output.
Note: A sensor uses a combination of physical, chemical or biological means in order to estimate the underlying observed property. At the end of the measuring chain electronic devices often produce signals to be processed.
[OGC SWE Common 2.0, definition 4.5.]
5. Conventions
5.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:
Requirements class |
/req/{classM} |
---|---|
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.
5.2 Requirement
All requirements are normative, and each is presented with the following template:
Requirement /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.
5.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:
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>
5.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].
5.5 External package abbreviations
Concepts from schemas defined in some other International Standards are designated with names that start with alpha codes as follow:
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
5.6 Abbreviated terms
In this document the following abbreviations and acronyms are used or introduced:
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
5.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
5.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.
6. Background
6.1 Technical Basis
This standard builds on a number of standards for encoding XML data, including:
- OMXML (OGC 10-025r1)
- sweCommon (OGC 08-094r1)
- GML ISO 19136:2007 (OGC 07-036)
- ISO 19139 (Metadata)
- W3C XSD
This standard also builds on existing schema, primarily Observations & Measurements (OMXML) and GeoSciML 4.0 (OGC 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 (c) using a class from the schemas as one of the two participants in a binary relationship.
6.2 Overview of Observations & Measurements
ISO19156 – 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.”
6.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.
6.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.
7. 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.
7.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.
7.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.
7.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.
7.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.
7.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.
7.6 Conceptual Model Specification
7.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.
Relation |
Source |
Target |
Description |
---|---|---|---|
Association |
Entity: GW_ManagementArea Role:
|
Entity: DocumentCitation Role: documentation
|
Relates legislative and reference documentation to a management area. |
7.6.2 Elevation
Elevation of a feature in reference to a datum.
Attribute | Type and Multiplicity | Definition |
---|---|---|
elevation |
Geometry |
Numeric value and coordinate reference system (CRS), including the unit of measure (UoM) for the elevation. |
PositionalAccuracyType |
Description of the accuracy of the elevation measurement. |
|
ElevationMeasurementMethodType |
Method used to measure the elevation, e.g. GPS, Survey, DEM, etc. |
|
elevationTypeTerm |
Type of reference elevation, defined as a feature, e.g. Top of Casing, Ground, etc. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwVoidProperty |
GW_UnitVoidProperty |
The porosity or permeability of a particular earth material that hosts a void. |
GW_UnitFluidProperty |
The hydraulic conductivity, transmissivity, or storativity of an earth material. |
7.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’).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwUnitDescription |
char [1..*] |
Description of the unit. |
GW_Metadata [1..*] |
Metadata for the unit . |
|
char [1..*] |
Name of the unit (common local name or formal name). |
|
Geometry |
The geometry of the unit. |
|
Measurement |
Typical thickness of the unit. |
Relation |
Source |
Target |
Description |
---|---|---|---|
Generalization |
Entity: GW_HydrogeoUnit Role: |
Entity: GL_GeologicUnit Role: |
A hydrogeological unit is a type of geological unit. |
7.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).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwAquiferType |
AquiferType |
Several aquifer types can be distinguished: unconfined, confined, artesian, subartesian, or aquitard (after INSPIRE, 2013). |
boolean |
Denotes whether groundwater from the hydrogeological unit is being exploited by wells or other intakes (after INSPIRE, 2013). |
|
boolean |
Denotes whether the unit is primary in an Aquifer System (after INSPIRE, 2013). |
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. |
7.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).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwAquiferSystemIsLayered |
boolean |
True if this aquifer / system is a layered system. (after INSPIRE, 2013). |
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. |
7.6.7 GW_AquiferUnit
Denotes aquifer-related hydrogeological units: aquifer systems, aquifers, or confining beds.
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. |
7.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.
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). |
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. |
7.6.9 GW_BiologicConstituent
Characterisation of the biological composition of the fluid body, both natural and man-made.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwOrganism |
OrganismType |
Biological species. |
StateType solid |
Organisms are always solids. |
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). |
7.6.10 GW_ChemicalConstituent
Characterisation of the chemical composition of the fluid body, both natural and man-made.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwChemical |
ChemicalType |
Chemical component type, e.g. arsenic. |
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). |
7.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).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwSpatialConfinement |
SpatialConfinementType |
Degree of spatial confinement (typically: "Unconfined-Confined", "Partially Confined"). |
ConductivityConfinementType |
Degree of hydraulic confinement (e.g. aquiclude). |
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. |
7.6.12 GW_Constituent
General (abstract) entity denoting a material, chemical or biological constituent of a fluid body.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwConcentration |
Measurement |
The concentration of the constituent in the fluid body. |
StateType |
The physical state of the constituent, i.e. solid, liquid, or gas. |
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. |
7.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).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwConstituentRelationType |
ConstituentRelationType |
Specific type of relation between fluid body components, e.g. coating, constitution, aggregation, containment. |
MechanismType |
Mechanisms by which materials (of various states) come into a relationship, e.g. sorption, precipitation, digestion, excretion, etc. |
7.6.14 GW_Discharge
An outflow of fluid from a container such as an aquifer, watershed, pipe.
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. |
7.6.15 GW_Divide
“A line on a water table or piezometric surface, on either side of which the groundwater flow diverges" (IGH0556).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwDivideShape |
Geometry |
Shape / position of the divide (line, plane or point) intersecting a fluid body surface. |
GW_FlowSystem [2..*] |
Flow system on each side of the divide. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwFlowProcess |
WaterFlowProcess |
The process causing the flow, e.g. evapotranspiration, evaporation, transpiration, runoff, baseflow, pumping, infiltration, injection, etc. |
TemporalType |
Refers to the duration, instant or interval of the flow (actual time, not observation time). E.g. "yearly", "summer", "2009" or "2009-2011". |
|
Measurement |
Measure of length traveled per time period. |
|
Measurement |
Measure of water quantity per time period. |
|
FlowPersistenceType |
The regularity of flow occurrence, e.g. ephemeral, intermittent, perennial, seasonal. After http://inspire.ec.europa.eu/codeList/WaterPersistenceValue/ (INSPIRE, 2013). |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwFlowPath |
Geometry [1..*] |
The path of flow of a fluid through a container. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwBodyDescription |
char [1..*] |
General description of the fluid body |
GW_Flow [1..*] |
Flows associated with the fluid body. |
|
GW_Metadata [1..*] |
Metadata about the fluid body. |
|
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. |
|
Geometry |
Shape and position of the fluid body. |
|
Measurement |
Description of the volume/quantity of a fluid present in a container at a certain time. |
|
GW_Vulnerability [0..*] |
The susceptibility of the fluid body to specific threats such as surface contamination, etc. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwBodyProperty |
gwBodyPropertyType |
Type of fluid body property, e.g. age, temperature, density, viscosity, turbidity, color, hardness, acidity, etc. |
Measurement |
Value of the fluid body property (with uom). |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwSurfaceShape |
Surface |
Geometry / position of the surface. |
SurfaceType |
Type of fluid body surface, e.g. piezometric, potentiometric, water table, salt wedge, etc. |
|
ObservationMetadata |
Date, time, method, etc., of the observation or calculation of the surface. |
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. |
7.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).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwUnitMedia |
PorosityType |
Type of material or, by proximity, type of voids (e.g. granular, fracture, karstic, or mixed). |
GW_Recharge [1..*] |
Volumetric flow rate of water that enters an hydrogeologic unit, at potentially multiple locations. |
|
GW_Discharge [1..*] |
Volumetric flow rate of water that goes out of an hydrogeologic unit, at potentially multiple locations. |
|
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. |
|
GW_Vulnerability [0..*] |
The susceptibility of the aquifer to specific threats such as various physical events (earthquakes), human processes (depletion), etc. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwVoidDescription |
char |
General description of the void |
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). |
|
GW_Metadata |
Metadata for the void. |
|
Geometry |
Shape and position of the void. |
|
PorosityType |
Type of void e.g. fractured, intergranular, etc. |
|
Measurement |
Volume of the void. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwFlowLocation |
Geometry [1..*] |
The location at which water is being transferred from one feature into another. |
Feature |
The feature from which water is flowing. |
|
Feature |
The fluid body from which water is flowing. |
|
Feature |
The feature into which water is flowing. |
|
Feature |
The fluid body into which water is flowing. |
|
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. |
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. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwFlowLocation |
Geometry |
The location where a fluid is flowing within a feature. |
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. |
|
Feature |
The fluid body that is flowing. |
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. |
7.6.25 GW_Licence
Licence relating to the drilling of a well, the extraction of groundwater, etc.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwLicenceID |
CharacterString |
Licence ID, e.g. a number. |
CharacterString |
Purpose of the licence. |
|
QuantityRange |
Fluid volume associated with the licence. |
|
TimeRange |
The period of time for which the licence is valid. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwAreaName |
char [1..*] |
Name of the management area. |
char [1.. *] |
General description of the management area. |
|
Feature [1..*] |
Other features that are associated with the management area (watershed, ecological zones, etc) that are not hydrogeological units. |
|
GW_WaterBudget [1..*] |
Water budget associated with the management area. |
|
GW_Yield |
Yield associated with the management area. |
|
Geometry |
Geometric shape and position of management area. |
|
ManagementAreaType |
General classification of the management area (e.g. restricted use zone, irrigation area, consumption area, etc.) |
|
SpecialisedZoneAreaTypeTerm |
Additional classification value which further specialises the gwAreaType. |
|
EnvironmentalDomainTypeTerm |
Classification of the environment domain(s) for which, through the establishment of the management area, certain environmental objectives are to be reached. |
|
CI_ResponsibleParty [0..*] |
Description of the organization(s) responsible for managing, restricting or regulating measures or activities within the management area. |
|
TM_Period |
Time period specifying when the management area was legally designated or became effective in the real world |
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. |
7.6.27 GW_MaterialConstituent
Suspended or colloidal material in a fluid body, e.g sediment.
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. |
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). |
7.6.28 GW_Mixture
The nature of the inclusion of the constituent in the fluid body, e.g. suspension, emulsion, etc.
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. |
7.6.29 GW_MonitoringSite
Site of observation related to groundwater.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwSiteName |
char [0..*] |
Name (or identifier) of the monitoring site. |
Geometry |
Spatial location of the site. |
|
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. |
|
SiteType |
Type of monitoring site, e.g. well, gauging station, etc. |
|
Feature |
The feature hosting the site, e.g. a well, spring, lake or stream. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwPorosityType |
PorosityType |
Type of porosity (primary, secondary, dual, specific, effective, granular, fractured, karstic, etc.) |
Measurement |
Measure of the proportion of the volume occupied by specific voids over the total volume of material including the voids. |
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. |
7.6.31 GW_Recharge
Fluid added to an aquifer by various means such as precipitation, injection, etc.
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. |
7.6.32 GW_Spring
Any natural feature where groundwater flows to the surface of the earth.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwSpringName |
CharacterString [0..*] |
Name or ID of the spring. |
Geometry |
Geometry / position of the spring. |
|
Elevation [1..*] |
Reference elevation for all observations at the site, e.g. ground elevation, casing elevation. |
|
SpringType |
Type of spring e.g. mineral, thermal, saline, etc. |
|
SpringCauseType |
The cause of the spring e.g. artesian, geyser, perched, etc. |
|
SpringPersistenceType |
The periodicity of the spring e.g. ephemeral, perennial, intermittent, seasonal, etc. |
|
GL_Feature [0..*] |
Related geology features. |
|
GW_HydrogeoUnit [1..*] |
The hydrogeological unit(s) hosting the spring. |
|
GW_FluidBody [0..*] |
The fluid body being depleted by the spring. |
|
SpringConstruction [0..1] |
Spring construction details |
|
GW_Licence [0..*] |
Any licence relating to the spring. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwHydraulicConductivity |
Measurement [1..*] |
Hydraulic conductivity measures how easily a fluid can move through the voids in a material. |
Measurement [1..*] |
The rate of groundwater flow laterally through an aquifer, determined by hydraulic conductivity and container thickness. |
|
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. |
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. |
7.6.34 GW_UnitProperties
Additional properties of an aquifer not included in the model.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwUnitProperty |
gwUnitPropertyType |
The type of hydrogeological unit property, e.g. average well depth. |
Any |
The value of the hydrogeological unit property. |
Relation |
Source |
Target |
Description |
---|---|---|---|
Association |
Entity: GW_HydrogeoUnit Role:
|
Entity: GW_UnitProperties Role: gwUnitProperty
|
Relates a hydrogeological unit to possibly many additional properties. |
7.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).
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. |
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. |
7.6.36 GW_Vulnerability
The susceptibility of a feature to specific threats such as various physical events (earthquakes), human processes (depletion), etc.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwVulnerabilityType |
VulnerabilityType |
The type of vulnerability. |
Measurement |
A quantitative estimate of the susceptibility to contamination, e.g. a DRASTIC value. Should be accompanied by metadata about the method of calculation. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwBudgetAmount |
Measurement |
Final quantity (sum) of the budget. If recharge = discharge, the sum is 0. |
TemporalType |
Valid time of this budget (e.g, 2010). |
|
GW_Recharge [1..*] |
Recharge (inflows) considered by the budget. |
|
GW_Discharge [1..*] |
Discharge (outflows) considered in the budget. |
7.6.38 GW_Well
A shaft or hole sunk, dug or drilled into the Earth to observe, extract or inject water (after IGH1397).
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwWellName |
char [0..*] |
Name or ID of the well. |
Geometry |
Surface location of the well. |
|
Elevation [1..*] |
Reference elevation for all observations at the site, e.g. ground elevation, casing elevation. |
|
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. |
|
GeologyLog [0..*] |
Related borehole, including lithology log. |
|
GW_HydrogeoUnit [1..*] |
The aquifers or confining beds intersecting the well. |
|
GW_FluidBody [0..*] |
The fluid body occupying the well. |
|
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. |
|
WellStatusType |
Status of the well, Can be new, unfinished, reconditioned, deepened, not in use, standby, unknown, abandoned dry, abandoned insufficient, abandoned quality. (gwml1) |
|
WellWaterUseType [1..*] |
E.g. Agricultural, Domestic, Industrial, Recreation. |
|
Measurement |
Total length of the well from reference elevation. |
|
Measurement [0..1] |
Constructed depth of the well. |
|
Measurement |
Depth of the fluid body (e.g. piezometric level). |
|
GW_Yield |
Estimated or calculated yield from a well. |
|
WellConstruction |
Construction details for a well. |
|
GW_Licence [0..*] |
Licence relating to the drilling of the well or to the extraction of groundwater. |
7.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.
Attribute | Type and Multiplicity | Definition |
---|---|---|
gwYieldType |
YieldType |
Type of aquifer yields: e.g. specific yield, safe yield, etc. |
Measurement |
Measurement of the yield in units of volume per unit of time. |
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. |
7.7 Requirements
Requirements class |
/req/conceptual |
---|---|
Target type |
Logical Model |
Name |
GWML2 conceptual 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 |
/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 /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. |
8. 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 (OGC 15-042r2).
- 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.
8.1 Logical Model Specification
8.1.1 BoreCollar
Topmost component of a borehole construction.
Attribute | Type and Multiplicity | Definition |
---|---|---|
collarElevation |
DirectPosition [0..*] |
The elevation of the bore collar with CRS including UOM. |
CollarElevationTypeTerm [0..1] |
Type of reference elevation, defined as a feature, e.g. Top of Casing, Ground, etc. |
|
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). |
|
GM_Point [0..1] |
The geographical location of the collar. |
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. |
8.1.2 Borehole
General term for a hole drilled in the ground for various purposes such extraction of a core, release of fluid, etc.
Attribute | Type and Multiplicity | Definition |
---|---|---|
bholeMaterialCustodian |
CI_ResponsibleParty [0..*] |
The custodian of the drill core or samples recovered from the borehole. |
GM_Envelope [0..*] |
The geometries for the intervals from which core is extracted along the borehole. |
|
TM_CalDate [0..1] |
Date of drilling. |
|
CI_ResponsibleParty [0..1] |
The organisation responsible for drilling the borehole (as opposed to commissioning the borehole). |
|
BoreholeDrillingMethodTerm [0..*] |
Method of drilling. |
|
BoreholeInclinationTerm [0..1] vertical |
Type of borehole inclination, e.g. vertical or horizontal. |
|
Quantity [0..1] |
Diameter of the borehole. |
|
CI_ResponsibleParty [0..1] |
Organisation responsible for commissioning the borehole (as opposed to drilling the borehole). |
|
BholeStartPointTypeTerm [0..1] |
Describes the location of the start of the borehole, e.g. ground surface. |
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. |
8.1.3 Casing
Collection of linings of the borehole.
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. |
8.1.4 CasingComponent
A single part of a borehole casing.
Attribute | Type and Multiplicity | Definition |
---|---|---|
casingMaterial |
CasingMaterialTerm [0..1] |
Material in which the casing is made. E.g. metal, steel, iron, concrete, wood, brick, plastic, teflon, PVC, ABS, fibreglass, etc. |
CasingCoatingTerm [0..1] |
Coating applied to the casing. E.g. galvanized, stainless, mild, low carbon, copper bearing, black, etc. |
|
CasingFormTerm [0..1] |
Form of material used in the casing. E.g. curbing, cribbing, corrugated, culvert, hose, etc. |
|
Quantity [0..1] |
Internal diameter of the casing. |
|
Quantity [0..1] |
External diameter of the casing. |
|
Quantity [0..1] |
Thickness of the wall of the casing. |
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. |
8.1.5 ConstructionComponent
Elements used in borehole construction.
Attribute | Type and Multiplicity | Definition |
---|---|---|
from |
Quantity [0..1] |
Position of the top (nearest to the borehole start) of the component. |
Quantity [0..1] |
Position of the bottom (farthest to the borehole start) of the component. |
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. |
8.1.6 Equipment
Equipment installed in a borehole (like a pump or any other device).
Attribute | Type and Multiplicity | Definition |
---|---|---|
characteristics |
NamedValue [0..*] |
General characteristics of the equipment. |
EquimentTypeTerm |
Type of equipment. |
|
TM_Instant [0..1] |
Date of installation of the equipment. |
Relation |
Source |
Target |
Description |
---|---|---|---|
Association |
Entity: Borehole Role:
|
Entity: Equipment Role: installedEquipment
|
Relation designating the equipment installed in a borehole. |
8.1.7 Filtration
Collection of filtration components used to filter a fluid body in a well.
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. |
8.1.8 FiltrationComponent
Material used to filter the fluid in a borehole or well.
Attribute | Type and Multiplicity | Definition |
---|---|---|
filterGrainSize |
Quantity [0..1] |
Size of the particles of the filtration material. |
FiltrationMaterialTerm [0..1] |
Material used in the filtration device. E.g. gravel, pit run, silica sand, washed sand, crushed rock, etc. |
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. |
8.1.9 GW_GeologyLog
Specialization of the OM_Observation containing the log start and end depth for coverages.
For Stratigraphic logs the observedProperty will be a GeoSciML 4.0:GeologicUnit/name.
For Lithologic logs the observedProperty will be a GeoSciML 4.0:GeologicUnit/composition/CompositionPart/material.
Attribute | Type and Multiplicity | Definition |
---|---|---|
startDepth |
Quantity [0..1] |
The start of the log measured as a depth from the reference elevation. |
Quantity [0..1] |
The end of the log measured as a depth from the reference elevation. |
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 collection 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. |
8.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).
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. |
8.1.11 LogValue
The value of the log property at a depth interval along the log.
Attribute | Type and Multiplicity | Definition |
---|---|---|
fromDepth |
Quantity [0..1] |
Start depth of the interval along a log. |
Quantity [0..1] |
End depth of the interval along a log. |
|
DataRecord [0..1] |
Value of the log property. |
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. |
8.1.12 Screen
Collection of components of the water pump screen.
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. |
8.1.13 ScreenComponent
Component of the well lining where water enters the well.
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. |
ScreenCoatingTerm [0..1] |
Thin outer layer applied to the screen. E.g. galvanized, stainless, copper bearing, low carbon, black, porous, etc. |
|
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. |
|
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. |
ScreenMaterialTerm [0..1] |
Material that makes up the screen. E.g. metal, steel, iron, copper, brass, bronze, everdur, Armco metal, veriperm, stone, plastic, PVC, ABS, Fibreglass, etc. |
|
Quantity [0..1] |
Internal screen diameter. |
|
Quantity [0..1] |
External screen diameter. |
|
PerforationMethodTerm [0..1] |
Method used for perforating the screen. E.g. drill, grinder, axe / chisel, machine, saw, torch, other, etc. |
|
ScreenFittingTerm [0..1] |
The screen fitting (from the bottom). E.g. bail, open, plug, tail pipe, washdown, etc. |
|
ScreenMakerTerm [0..1] |
Make of the screen. |
|
ScreenModelTerm [0..1] |
Model of the screen |
|
ScreenNumberTerm [0..1] |
Screen number corresponds to hole size and is given in 0.001 inch. The value is expressed as an alphanumeric code. |
|
ScreenPlacementTerm [0..1] |
Screen placement method. E.g. bail down, pull back, jetted, washed down, etc. |
|
Quantity [0..1] |
Thickness of the screen wall. |
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. |
8.1.14 Sealing
Collection of materials that prevent undesirable elements from entering the borehole or well.
Attribute | Type and Multiplicity | Definition |
---|---|---|
sealingGroutingPlacementMethod |
OM_Process [0..1] |
Method of placing the sealing grouting. |
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. |
8.1.15 SealingComponent
A material used for sealing the construction of a borehole or well.
Attribute | Type and Multiplicity | Definition |
---|---|---|
sealingMaterial |
SealingMaterialTerm [0..1] |
Material used in the sealing component of a water well. E.g. formation packer, welded ring, shale trap, drive shoe, driven casing, etc. |
SealingTypeTerm [0..1] |
Type of sealing. E.g. annular sealing, plugging, etc. |
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. |
8.1.16 WellConstruction
Construction components of the well. These are particularly important when assessing results of pump tests.
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. |
9. 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 Sections 9.2 and greater). The core requirement class (Section 9.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.
9.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 Sections 9.2 and greater.
Requirements class |
/req/core |
---|---|
Target type |
Encoding of logical models |
Name |
GWML2 core logical model |
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 |
/req/core/encoding |
Requirement |
/req/core/quantities-uom |
Recommendation |
/req/core/codelist |
Requirement |
/req/core/codelistURI |
Requirement |
/req/core/identifier |
Requirement |
/req/core/feature |
The properties, constraints, cardinalities and associations documented in the UML will be honoured by all the target implementations.
Requirement /req/core/encoding |
All target implementations SHALL conform to the appropriate GroundWaterML2 Logical Model UML defined in Section 8. |
9.1.1 Quantities
The Quantities and Measurements units of measure shall be taken from a standard vocabulary governed by an appropriate community.
Requirement /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. |
9.1.2 Code lists
All properties that should use formal vocabularies are modelled in UML as classes having the stereotype <<CodeList>>. 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.
Requirement /req/core/codelist |
Classes of stereotype <<CodeList>> SHOULD be encoded as externally governed vocabularies using HTTP URIs conformant to RFC 3986. |
9.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 /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. |
9.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 /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. |
9.1.5 Feature
A valid instance document SHALL contain at least one valid GWML 2.2 feature.
Requirement /req/core/feature |
A valid GWML 2.2 document SHALL contain at least one valid GWML 2.2 feature. |
9.2 Requirement class: GWML2-Main
Requirements class |
/req/main |
---|---|
Target type |
Encoding of logical model |
Name |
Main logical model |
Dependency |
/req/core |
Dependency |
ISO-19115 |
Dependency |
GeoSciML-Basic 4.0 |
Dependency |
/req/flow-uml |
Dependency |
/req/constituent-uml |
Requirement |
/req/main/observed-unit-fluid-property-foi |
Requirement |
/req/main/observed-unit-void-property-foi |
Requirement |
/req/main/managementArea |
9.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 ISO19156/OGC 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)andGW_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.
Traditionaly, 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 /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).
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 /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 /req/main/managementArea |
GW_Management’s gwAreaFeature SHALL NOT be a subtype of GW_HydrogeoUnit. |
9.3 Requirement class: GWML2-Constituent
Requirements class |
/req/constituent |
---|---|
Target type |
Encoding of logical model |
Name |
Constituent logical model |
Dependency |
/req/core |
Dependency |
ISO-19115 |
Recommendation |
/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.
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.
Requirement /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. |
9.4 Requirement class: GWML2-Flow
Requirements class |
/req/flow |
---|---|
Target type |
Encoding of logical model |
Name |
Flow 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.
9.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 definition) as they are used as support for observations.
9.5.1 Water wells
Requirements class |
/req/well |
---|---|
Target type |
Encoding of logical model |
Name |
Water well logical model |
Dependency |
/req/main |
Dependency |
/req/construction |
Requirement |
/req/well/waterwell-elevationCRS |
Requirement |
/req/well/waterwell-shape |
Requirement |
/req/well/waterwell-observation-spatial-reference |
Requirement |
/req/well/waterwell-observation-fromparam |
Requirement |
/req/well/waterwell-observation-toparam |
Requirement |
/req/well/waterwell-sf-spatial-reference |
Requirement |
/req/well/waterwell-sf-fromparam |
Requirement |
/req/well/waterwell-sf-toparam |
Requirement |
/req/well/well-geology |
Requirement |
/req/well/log-coverage |
Requirement |
/req/well/log-geometry-origin |
Requirement |
/req/well/log-depth |
Requirement |
/req/well/log-depth-order |
Requirement |
/req/well/monitoring-elevationCRS |
The shape of the well is a 3D curve, in absolute coordinates, that represents the path of the hole in the ground. However, it is common practice to position observations, construction artefacts, and properties of the surrounding materials along this 3D path using a 1D coordinate system relative to the beginning of the hole. Although most wells are often assumed to be straight vertical bores, this standard allows for the generic case, where the well path is not a straight line, and therefore any such property or element needs to refer to the well path to calculate its absolute position.
This standard also provides alternative representations for commonly used origin elevations, such as the location of the well on the surface of the earth, the location and elevation of the well collar, the reference elevation for down hole properties, etc. Note that the reference elevation and the well path are distinct reference elements but it is best practice to ensure that the reference elevation point intersect the path. Because of the variety of practices and because the reference elevation can actually change over time (replaced headwork, subsidence, etc.) it is not always possible to have a definitive reference elevation.
Several GW_Well features need to be located relative to the well path:
- GW_GeologyLog LogValue
- Construction elements
- Any related Observation
- Any related SamplingFeature
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://epsg.io/5100-datum).
Requirement /req/well/waterwell-elevationCRS |
GW_Well:gwWellReferenceElevation/Elevation:elevation CRS SHALL have a vertical datum. |
9.5.2 Well shape
Requirement /req/well/waterwell-shape |
GW_Well:shape SHALL be a 3D geometry that represents the complete well that includes any elements above the ground |
9.5.3 Relative position
The relative positions of all elements positioned relative to the 3D shape shall be calculated from the origin point of that shape, which is the first vertex of the shape.
The relative position is the linear distance along the bore path, expressed as a positive value, using the uom inferred from the CRS of the shape z axis (metres or feet in the vast majority of cases). Different GW_Well elements may have different ways to encode the relative positions.
9.5.3.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 the well or the 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 /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 /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 /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 |
9.5.3.2 Related SamplingFeature
Any sampling feature that must be positioned along the linear path shall encode the reference GM_Curve and the relative position using sams:parameter
Requirement /req/well/waterwell-sf-spatial-reference |
The reference geometry of an Observation SHALL be encoded in a sams: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 specially labelled NamedValue.
Requirement /req/well/waterwell-sf-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 /req/well/waterwell-sf-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 |
9.5.4 Geology Log
GW_GeologyLog is an OM_Observation, with a start and end depth, that shall capture downhole geological observations (including geophysical and geochemical) using the gwml:gwWellGeology property rather than other OM_Observation properties.
Requirement /req/well/well-geology |
gwWellGeology SHALL associate GW_Well and any GW_GeologyLog |
The geologic log is encoded as a GW_GeologyLogCoverage.
Requirement /req/well/log-coverage |
The value of om:result of GW_GeologyLog SHALL be a GW_GeologyLogCoverage |
The GW_GeologyLogCoverage/LogValue is positioned at the origin of the support feature, which is a SF_SamplingCurve.
Requirement /req/well/log-geometry-origin |
The origin of the GW_GeologyLogCoverage/LogValue location SHALL be the first vertex of the GW_Well shape |
Depth shall be expressed as linear distance from the first vertex of the GM_Curve. When the featureOfInterest is a GW_Well, the origin is implicitly gwWellLocation + gwWellReferenceElevation:elevation.
Requirement /req/well/log-depth |
The fromDepth and toDepth of a LogValue SHALL be the linear distance along the path from featureOfInterest’s linear geometry |
The fromDepth must be nearest the reference elevation.
Requirement /req/well/log-depth-order |
The fromDepth of a LogValue SHALL be the closest along the path to gw_WellReferenceElevation while the toDepth shall be the farthest. |
9.5.5 Monitoring Sites
Elevation CRS must be a relevant EPSG vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level : http://epsg.io/5100-datum).
Requirement /req/well/monitoring-elevationCRS |
The elevation CRS SHALL be an appropriate vertical datum. |
9.6 Requirement class: GWML2-WellConstruction
Requirements class |
/req/construction |
---|---|
Target type |
Encoding of logical model |
Name |
Construction logical model |
Dependency |
/req/core |
Requirement |
/req/construction/collar-elevationCRS |
Requirement |
/req/construction/construction-origin-elevation |
Requirement |
/req/construction/borehole-shape |
Requirement |
/req/construction/log-depth |
Requirement |
/req/construction/log-depth-order |
9.6.1 Borehole
BoreCollar:collarElevation CRS must be a relevant vertical (1 dimension) CRS. Example EPSG:5100 (Mean Sea Level : http://epsg.io/5100-datum).
Requirement /req/construction/collar-elevationCRS |
Borehole:bholeHeadworks/BoreCollar:collarElevation CRS SHALL be a relevant vertical datum. |
9.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 /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 /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 /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 /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. |
9.7 Requirement class: Vertical Well (profile)
Requirements class |
/req/vertical-well |
---|---|
Target type |
Model encoding |
Name |
Vertical well logical model |
Dependency |
/req/well |
Requirement |
/req/vertical-well/waterwell-shape |
Requirement |
/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. Vertical wells are very common and several groundwater applications expect them to be vertical.
GW_Well:shape shall have only 2 vertices.
Requirement /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 /req/vertical-well/end-vertex |
The planar position (x,y) of the second vertex SHALL be the same as the first vertex |
9.8 Requirement Class: GeologyLog (profile)
This requirement class describes the recommended pattern to encode a GeologyLog.
Requirements class |
/req/well-log |
---|---|
Target type |
Encoding of logical model |
Name |
Geologic Unit logs |
Dependency |
/req/well |
Dependency |
http://www.opengis.net/spec/SWE/2.0/req/uml-record-components |
Recommendation |
/req/well-log/log-definition |
Geological logs are modelled as GML discrete coverages (CV_DiscreteElementCoverage) 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 21).
SWE (Clause 7.3 of OGC 08-094r1) describes the requirements to encode a DataRecord. A community that defined a common Geologic Log encoding should agree on a definition and scoped name for the DataRecord, and definitions of the individual fields composing the record.
For example, a community that wants to use a 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.
Requirement /req/well-log/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. |
9.9 Requirement class: Aquifer test (profile)
Requirements class |
/req/aquifertest |
---|---|
Target type |
Encoding of logical model |
Name |
Aquifer test |
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 |
/req/aquifertest/sampledfeature |
Requirement |
/req/aquifertest/testfeature |
Requirement |
/req/aquifertest/observationfeature |
Recommendation |
/req/aquifertest/testparameter |
Recommendation |
/req/aquifertest/observation |
Requirement |
/req/aquifertest/observation-role |
Recommendation |
/req/aquifertest/observedProperty |
Requirement |
/req/aquifertest/timeseries |
Requirement |
/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 22:
9.9.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 23), to distinguish aquifer tests from other sampling features and to package observations and sampling features.
9.9.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.
9.9.3 SF_SamplingFeature properties
9.9.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 /req/aquifertest/sampledfeature |
The sampledFeature of a GW_AquiferTest SHALL be an instance of (or a reference to) a subtype of GW_HydrogeoUnit. |
9.9.3.2 relatedSamplingFeature
In the context of an aquifer test, the related sampling feature property identifies all the sampling features participating in the aquifer test. The role of each feature is assigned by the SF_SamplingFeatureComplex:role property. The role of the sampling feature is scoped by the test. Therefore the same sampling feature can have different roles in different tests, but also within the same test (by having multiple SF_SamplingFeatureComplex referring to the same SF_SamplingFeature). Single bore tests are examples where the observation bore and the test bore are the same feature. This standard proposes a list of core roles to identify the observation features and test features.
The test feature is the “active” sampling feature where the test is performed (e.g. the well that is pumped or injected).
Requirement /req/aquifertest/testfeature |
SF_SamplingFeatureComplex:role for the sampling feature where the test is performed SHALL have the value http://www.opengis.net/req/aquifertest/testfeature |
The observation feature is the “passive” feature where observations are made. It is the feature at which the effects of the test are measured.
Requirement /req/aquifertest/observationfeature |
SF_SampleFeatureComplex:role for the sampling feature where the observations are made SHALL have the value http://www.opengis.net/req/ gwml2-aquifer-test/observationfeature |
A single sampling feature can be the target of several SF_SamplingFeatureComplex. A data provider can add more than one SF_SamplingFeatureComplex to accommodate other roles (see Figure 24).
9.9.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.
· 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.
Requirement /req/aquifertest/testparameter |
When present, SF_SamplingFeature:parameter:NamedValue SHALL be encoded using community defined values |
9.9.3.4 relatedObservation
All related observations, including the observations made at the test feature sites and observation derived from those observations should be available as related observations (sf:relatedObservation).
Requirement /req/aquifertest/observation |
All observations relevant to an aquifer test SHOULD be available as relatedObservation |
From the raw observations measured during a test, new observations can be inferred or calculated. The raw observations (related from the observation Features) and the derived observations (the result of the test) SHALL be related to each other using om:ObservationContext. The role of the observation context defines which observation derives or supports the other one. ‘supportObservation’ and ‘derivedObservation’ roles can be considered complementary: if A is supportObservation of B, then B is the derivedObservation of A.
Requirement /req/aquifertest/observation-role |
Raw observations from the observation sampling feature SHALL be link to the test result observations using the roles defined in Table 1 |
Role | URI | Direction |
---|---|---|
Support observation |
http://resource.gwml.org /def/role/supportObservation |
Observation linking to other observation used to calculate, derive or infer a new values |
Derived observation |
http://resource.gwml.org /def/role/derivedObservation |
Observation linking to another observation that has calculated, inferred or derived values |
9.9.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.
9.9.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.
9.9.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 25 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.
Observations made during the test and computed observations are modelled as OM_Observations.
9.9.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 2).
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 |
9.9.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, OGC-10-004r3, 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.
Requirement /req/aquifertest/observedProperty |
The observedProperty SHOULD be a reference to a community managed vocabulary. |
9.9.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 /req/aquifertest/timeseries |
Observation producing time series SHALL be modelled as TimeSeriesML 1.0 (OGC 10-042r1) |
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 /req/aquifertest/timeseries-datarecord |
Derived or computed observations SHALL be encoded as swe:DataRecord |
9.9.5 Aquifer test overview
Figure 26 provides an example of the mapping of AquiferTest to O&M.
10. XML Implementation (normative)
10.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) are encoded using the DTD entity resource.gwml.org to avoid binding the examples to a specific URI. Full instance documents will have an entity declaration in the xml header in the form.
XML snippets will use the following prefixes:
Prefix | HTTP URI |
---|---|
gwml2 |
|
gwml2c |
|
gwml2f |
|
gwml2w |
|
gwml2at |
|
gwml2wc |
|
gml |
|
cv |
|
om |
|
sam |
|
sams |
|
spec |
|
swe |
|
gco |
|
gmd |
|
gsmlb |
http://xmlns.geosciml.org/GeoSciML-Basic/4.0 |
gsmlx |
http://xmlns.geosciml.org/GeoSciML-Extension/4.0 |
xlink |
|
wfs |
Requirements class |
/req/xsd-xml-rules |
---|---|
Target type |
XML data document |
Name |
GML/XML encoding |
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 |
/req/xsd-xml-rules/W3C_XSD |
Requirement |
/req/xsd-xml-rules/ISO-schematron |
Requirement |
/req/xsd-xml-rules/iso8601-time |
Requirement |
/req/xsd-xml-rules/time-zone |
Requirement |
/req/xsd-xml-rules/swe-types |
Requirement |
/req/xsd-xml-rules/identifier |
Recommendation |
/req/xsd-xml-rules/byrefproperty |
Recommendation |
/req/xsd-xml-rules/xlink-title |
Recommendation |
/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 /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 /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.0/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 /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 /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 /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. |
10.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 /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>
(…)
10.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.
Requirement /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 /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 «CodeList» are implemented as gml:Reference using xlink:href and ought to be a resolvable URI in the form of an HTTP URL.
Requirement /req/xsd-xml-rules/vocabulary-reference |
A resolvable HTTP URL SHOULD be used in an xlink:href when specifying references to vocabulary (CodeList) items. |
10.2 Requirement class: GWML2-Main XML encoding
Requirements class |
/req/main-xsd |
---|---|
Target type |
XML data document |
Name |
Main xml encoding |
Dependency |
/req/xsd-xml-rules |
Dependency |
GeoSciML/GeoSciML-Basic |
Dependency |
ISO-19115 |
Dependency |
/req/main-uml |
Requirement |
/req/main-xsd/xsd |
Requirement |
/req/main-xsd/observed-unit-fluid-property-foi |
Requirement |
/req/main-xsd/observed-unit-void-property-foi |
Requirement |
/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 /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 /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 /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 /req/main-xsd/managementArea |
GW_ManagementArea/gwAreaFeature SHALL NOT refer to features of type ‘GW_Aquifer’, ‘GW_AquiferSystem’, ‘GW_Basin’ or ‘GW_ConfiningBed’ |
10.3 Requirement class: GWML2-Constituent XML encoding
Requirements class |
/req/constituent-xsd |
---|---|
Target type |
XML data document |
Name |
Constituent xml encoding |
Dependency |
/req/xsd-xml-rules |
Dependency |
/req/constituent |
Requirement |
/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 /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 |
10.4 Requirement class: GWML2-Flow XML encoding
Requirements class |
/req/flow-xsd |
---|---|
Target type |
XML data document |
Dependency |
/req/xsd-xml-rules |
Dependency |
/req/flow |
Requirement |
/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 /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 |
10.5 Requirement class: GWML2-Well XML encoding
Requirements class |
/req/well-xsd |
---|---|
Target type |
XML data document |
Dependency |
/req/xsd-xml-rules |
Dependency |
/req/construction-xsd |
Dependency |
/req/well |
Requirement |
/req/well-xsd/xsd |
Requirement |
/req/well-xsd/origin-elevation |
Requirement |
/req/well-xsd/waterwell-elevationCRS |
Requirement |
/req/well-xsd/waterwell-CRS-uom |
Requirement |
/req/well-xsd/waterwell-shapeCRS |
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/well-geology |
Requirement |
/req/well-xsd/log-coverage |
Requirement |
/req/well-xsd/log-depth-order |
Requirement |
/req/well-xsd/monitoring-elevationCRS |
Requirement |
/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 /req/well-xsd/xsd |
All the elements and types under namespace “http://www.opengis.net/gwml-well/2.2” 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 /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 /req/well-xsd/waterwell-elevationCRS |
gwWellReferenceElevation:Elevation:elevation @srsName SHALL contain a 1D vertical SRS |
Requirement /req/well-xsd/waterwell-CRS-uom |
gwWellReferenceElevation:Elevation:elevation @srsName datum units and coordinate reference system SHALL be the same as the /req/xsd-gwml-well/waterwell-shapeCRS units and coordinate reference system of the vertical axis |
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>
10.5.1 Well shape
The CRS of the shape must be a 3D CRS that is coherent with the planar CRS of gwWellLocation and the elevation CRS of origin Elevation.
Requirement /req/well-xsd/waterwell-shapeCRS |
GW_Well:shape @srsName SHALL contain a 3D SRS. |
Example of a well shape represented as a vertical line, using a relevant srsName:
<sams:shape>
<gml:Curve gml:id="ab.ww.402557.shape.1"
srsDimension="3" srsName="urn:ogc:def:crs:EPSG: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>
10.5.1.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 /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 /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 /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>
10.5.1.2 Related Sampling Feature positioned along well path
Any sampling feature that is positioned along the well path shall encode a relative position in sams:parameters
Requirement /req/well-xsd/waterwell-sf-spatial-reference |
A SF_SamplingFeature that is positioned relative to a path SHALL provide the geometry in 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 |
If included, the relative positions along the GW_Well shall be encoded using NamedValue.
Requirement /req/well-xsd/waterwell-sf-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 /req/well-xsd/waterwell-sf-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 a related sampling feature (the parent feature is a GW_Well) :
<sam:relatedSamplingFeature>
<sam:SamplingFeatureComplex>
<sam:role xlink:href="http://resource.gwml.org/def/role/waterSample"
xlink:title="Water sample"/>
<sam:relatedSamplingFeature>
<spec:SF_Specimen gml:id="spc.1">
(…)
<sam: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://www.opengis.net/def/uom/UCUM/0/m" xlink:title=“metre” code=“m”/>
<swe:value>8.12</swe:value>
</swe:Quantity>
</om:value>
</om:NamedValue>
</sam:parameter>
<sam: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://www.opengis.net/def/uom/UCUM/0/m" xlink:title=“metre” code=“m”/>
<swe:value>8.4</swe:value>
</swe:Quantity>
</om:value>
</om:NamedValue>
</sam:parameter>
<sam:parameter>
<om:NamedValue>
<om:name xlink:href="http://www.opengis.net/def/param-name/GWML/2.2/referenceGeometry " xlink:title="to"/>
<om:value xsi:type="gml:GeometryPropertyType" xlink:href=“#well.path.1” />
</om:NamedValue>
</sam:parameter>
(…)
</spec:SF_Specimen>
</sam:relatedSamplingFeature>
</sam:SamplingFeatureComplex>
</sam:relatedSamplingFeature>
10.5.1.3 Geology Log
This standard forbids the use of relatedObservation to link a GW_Well to a GW_GeologyLog, the property gwWellGeology must be used.
Requirement /req/well-xsd/well-geology |
GW_Well SHALL NOT be associated with GW_GeologyLog using om:relatedObservation |
The geologic log is encoded as a GW_GeologyLogCoverage.
Requirement /req/well-xsd/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 /req/well-xsd/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#Foot"
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#Foot"
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>
10.5.2 Monitoring Sites
Monitoring site elevation geometry must have a relevant vertical 1D srsName.
Requirement /req/well-xsd/monitoring-elevationCRS |
GW_MonitoringSite:gwSiteReferenceElevation/Elevation:elevation @srsName SHALL contain a vertical SRS. |
Requirement /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>
10.6 Requirement class: GWML2-WellConstruction XML encoding
Requirements class |
/req/construction-xsd |
---|---|
Target type |
XML data document |
Dependency |
/req/xsd-xml-rules |
Dependency |
/req/construction |
Requirement |
/req/construction-xsd/xsd |
Requirement |
/req/construction-xsd/collar-elevationCRS |
Requirement |
/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 /req/construction-xsd/xsd |
All the elements and types under namespace “http://www.opengis.net/gwml-construction/2.2” 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 /req/construction-xsd/collar-elevationCRS |
BoreCollar:collarElevations SHALL have a relevant vertical srsName |
Requirement /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 /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 |
10.7 Requirement class: GWML2-Well-Vertical XML encoding (profile)
Requirements class |
/req/vertical-well-xsd |
---|---|
Target type |
XML data document |
Dependency |
/req/gwml2well-xsd |
Dependency |
/req/vertical-well |
Requirement |
/req/vertical-well-xsd/waterwell-shape |
Requirement |
/req/vertical-well-xsd/endvertex |
Vertical wells are represented as simple gml:Curve, made of a single Segment having only 2 coordinates.
Requirement /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 /req/vertical-well-xsd/endvertex |
The first vertex of the LineStringSegment SHALL have the same planar (x,y) coordinate as the last vertex. |
10.8 Requirement class: GeologicLog XML encoding
This requirement class specifies the requirements for encoding Geologic Logs
Requirements class |
/req/well-log-xsd |
---|---|
Target type |
XML data document |
Dependency |
/req/well-log-xsd |
Dependency |
http://www.opengis.net/spec/SWE/2.0/req/xsd-record-components |
Recommendation |
/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 /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>
10.9 Requirement class: Aquifer test XML encoding
Requirements class |
/req/aquifertest-xsd |
---|---|
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 |
/req/aquifertest-xsd/xsd |
Requirement |
/req/aquifertest-xsd/sampledfeature |
Requirement |
/req/aquifertest-xsd/testfeature |
Requirement |
/req/aquifertest-xsd/observationfeature |
Requirement |
/req/aquifertest-xsd/observation-role |
Requirement |
/req/aquifertest-xsd/timeseries |
Requirement |
/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 /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 (OGC 10-042r1) encoding. This extension introduces a single new class with no new property or association.
Note that, while O&M (OGC 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 /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.9.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 /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.9.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 /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 /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 9.9.3.4 |
<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 10-042r1).
Requirement /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 /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 : Conformance Class Abstract Test Suites (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
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.0 core logical model (Abstract)
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.0 main logical model
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.0 constituent logical model
Conformance Class |
/conf/constituent |
---|---|
Requirements |
/req/constituent |
Dependency |
/conf/core |
A.3.4 Conformance class: GWML 2.0 flow logical model
Conformance Class |
/conf/gwml2_flow |
---|---|
Requirements |
/req/flow |
Dependency |
/conf/core |
A.3.5 Conformance class: GWML 2.0 Well logical model
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://epsg.io) |
|
Test type |
Capability |
|
Test |
/conf/well/waterwell-shape |
|
Requirement |
/req/well/waterwell-shape |
|
Test purpose |
Ensure that the shape is a 3D GM_Curve |
|
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-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-coverage |
|
Requirement |
/req/well/log-coverage |
|
Test purpose |
Ensure that the om:result of GeologyLog is an instance of GW_GeologyLogCoverage |
|
Test method |
Check the om:result of GeologyLog and check if it’s an instance of GW_GeologyLogCoverage or any of its subtypes. |
|
Test type |
Capability |
|
Test |
/conf/well/geometry-origin |
|
Requirement |
/req/well/log-geometry-origin |
|
Test purpose |
Ensure the LogValue are positioned relative to the first vertex of the SF_SamplingCurve of the feature identified by the GW_GeologyLog’s feature if interest |
|
Test method |
Compare coherence with source data |
|
Test type |
Capability |
|
Test |
/conf/well/log-depth |
|
Requirement |
/req/well/log-depth |
|
Test purpose |
Ensure the LogValue depth (fromDepth or toDepth) is the linear distance from the origin of the GM_Curve |
|
Test method |
Compare with the source data that the distance is correctly calculated |
|
Test type |
Capability |
|
Test |
/conf/well/log-depth-order |
|
Requirement |
/req/well/log-depth-order |
|
Test purpose |
Ensure the fromDepth and toDepth are ordered correctly |
|
Test method |
Check for each LogValue, where both fromDepth and toDepth are not nil, that the fromDepth is less or equal to toDepth. |
|
Test type |
Capability |
|
Test |
/conf/well/monitoring-elevationCRS |
|
Requirement |
/req/well/monitoring-elevationCRS |
|
Test purpose |
Ensure the reference elevation geometries have a 1D CRS and its units and CRS match the vertical axis of the shape of the site |
|
Test method |
Check in the EPSG database that CRS of Elevation::elevation exists and is an elevation CRS. |
|
Test type |
Capability |
A.3.6 Conformance class GWML 2.0 Construction logical model
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/borehole-shape |
|
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.0 Vertical Well logical model
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.0 Geologic logs
Conformance Class |
/conf/well-log |
---|---|
Requirements |
/req/well-log |
Dependency |
/conf/well |
A.3.9 Conformance class : GWML 2.2 Aquifer Test
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.9.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 10-042r1) |
|
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 classes : xml-rules
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 |
||
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 classes: GWML2-Main xml encoding
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. |
|
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 classes : GWML2-Constituent xml encoding
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.1 or
its dependencies. |
|
Test type |
Capability |
A.4.4 Conformance classes : GWML2-flow xml encoding
Conformance Class |
/conf/gwml2-flow-xsd |
|
---|---|---|
Dependency |
/conf/xsd-xml-rule |
|
Requirements |
/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.1 or its dependencies. |
|
Test type |
Capability |
A.4.5 Conformance classes: GWML2-well xml encoding
Conformance Class |
/conf/gwml2-well-xsd |
|
---|---|---|
Dependency |
/conf/xsd-xml-rule |
|
Dependency |
/conf/construction-xsd |
|
Requirements |
/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.1 element, then the test fails |
|
Test type |
Capability |
|
Test |
/conf/well-xsd/sch/ |
|
|
Requirement |
/req/well-xsd |
Requirement |
/req/well-xsd/origin-elevation |
|
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/well-geology |
|
Requirement |
/req/well-xsd/log-coverage |
|
Requirement |
/req/well-xsd/log-depth-order |
|
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/xsd-gwml-well/waterwell-elevationCRS-uom |
|
Requirement |
/req/xsd-gwml-well/waterwell-shape-CRS-uom |
|
Test purpose |
Ensure that the elevation is expressed using the same units of measure and coordinate system as the geometry |
|
Test method |
Check the CRS of the elevation and compare the uom and coordinate systems. If they are not compatible, the test fails. |
|
Test type |
Capability |
|
Test |
/conf/well-xsd/waterwell-elevationCRS |
|
Requirement |
/req/well-xsd/waterwell-shape-CRS |
|
Test purpose |
Ensure that the shape’s coordinate system is sharing the same elevation CRS than the than the original Elevation |
|
Test method |
Check the value of GW_Well/sam:shape/*/@srsName against EPSG database or CRS specification to ensure that it’s elevation reference system (z) matches the CRS used in the Elevations used in Elevation |
|
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 classes : GWML2-construction xml encoding
Conformance Class |
/conf/construction-xsd |
|
---|---|---|
Requirements |
/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://schema.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 classes: GWML2-vertical well xml encoding
Conformance Class |
/conf/vertical-well-xsd |
|
---|---|---|
Requirements |
/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://schema.opengis.net/gwml/2.2/gwml2-well-vertical.sch. Conformance passes if no error, fails otherwise. |
|
Test type |
Capability |
|
|
|
A.4.8 Conformance classes: GWML2-Aquifertest xml encoding
Conformance Class |
/conf/gwml2-aquifertest-xsd |
|
---|---|---|
Dependency |
/conf/xsd-xml-rule |
|
Requirements |
/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.1 or
its dependencies. |
|
Test type |
Capability |
|
Test |
/conf/aquifertest-xsd/sch |
|
Requirement |
/req/aquifertest-xsd |
|
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-aquifertest.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 9.9.3.4 |
|
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 10-042r1) |
|
Test method |
Inspect instance documents and verify that any time series results are encoded in valid TimeSeriesML 1.0 (OGC 10-042r1) |
|
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 : Revision history (informative)
Date |
Release |
Author |
Paragraph 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 |
Annex : Bibliography (informative)
- (ANS, 1980) 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.
- (ASCE, 1987) American Society of Civil Engineers, 1987. Ground water management. ASCE Manual and Reports on Engineering Practice No. 40, New York, 263 pp.
- (BDLISA, 2013) 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
- (OGC 2016)Brodaric, B.,(Ed), 2016. OGC GroundWaterML2 – GW2IE Final Report. Open Geospatial Consortium Engineering Report 15-082, v2.1, 175 pp., http://www.opengis.net/doc/groundwaterml/2.1.
- (Boisvert & Brodaric, 2012) Boisvert, B., Brodaric, B., 2012. GroundWater Markup Language (GWML) – Enabling Groundwater Data Interoperability in Spatial Data Infrastructures. Journal of Hydroinformatics, 14(1):93–107.
- (Brodaric & Booth, 2011) Brodaric, B, Booth, N., 2011. Groundwater Interoperability Experiment, FINAL REPORT. OGC 10-194r3, Open Geospatial Consortium, 48 pp.
- (Freeze & Cherry, 1979) Freeze, R.A., Cherry, J.A., 1979. Groundwater. Prentice Hall, Englewood Cliffs, NJ, 604 pp.
- (Heath, 1983) Heath, R. C., 1983. Basic ground-water hydrology. Water-Supply Paper 2220, U.S. Geological Survey, 86 pp.
- (INSPIRE, 2013) 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
- (Lohman, 1972) Lohman, S.W., 1972. Definitions of selected grpound-water terms, revisions and conceptual refinemets. Water Supply Paper 1988, U.S. Geological Survey, 21 pp.
- (IGH0556) WMO, UNESCO, 2012. Groundwater Divide. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Swittzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF0556EN.HTM.
- (IGH1397) WMO, UNESCO, 2012. Well. In: International Glossary of Hydrology, WMO-No. 385. Geneva, Swittzerland, 471 pp. http://webworld.unesco.org/water/ihp/db/glossary/glu/EN/GF1397EN.HTM.