Requirements for the GML encoding of the GroundWaterML2.0-Core Logical Model
A draft of the GroundwaterML2
.0-Core GML encoding requirements as specified using the OGC template is attached at: GroundWaterML2-Requirements.docx
These are summarised in the following UML diagram:
- 07 Jul 2014
Defining the Requirements Classes
The requirements classes
and corresponding conformance classes
need to be structured such that a conformant implementation need only implement those classes that are necessary. So for example a service implementation delivering a GW_ManagementArea feature will need to meet its requirement class in addition to those that that class is dependent on. This means it may not need to provide information on the GW_FluidBody (optional in the UML), but will need to provide, in-line or by reference, a GW_HydrogeoUnit (mandatory in the UML). The content of data types such as 'OM_Measurement' and 'MD_Metadata' may also be specified, either as Requirements or Recommendations.
Components that connect to the implementation therefore have a precise specification of the implementation and can develop their application to match.
What are Requirements vs Recommendations?
- The proposed pattern is:
- the use of Terms from a standard GWML2 vocabulary are "Recommendations";
- where the data type refers to an observation the "Requirement" is that the result will be one of either a swe:Quantity or a swe:QuantityRange;
- What are the requirements classes required "such that a conformant implementation need only implement those classes that are necessary"?
What are the Requirements Classes groupings?
The proposed Requirement Classes are to enable the following as independent implementations:
- For GWML2-Core, Requirement Classes are suggested to enable any of the following to be configured:
- Types of GW_HydrogeoUnit (GW_Basin, GW_AquiferSystem, GW_Aquifer, GW_ConfiningBed);
- GW_HydrogeoVoid (initial suggestion in Vienna was that this should be in-line with GW_HydrogeoUnit, but mandatory association with GW_FluidBody means that it must also be in-line with that, or have independent identity).
- GW_FluidBody, GW_Constituent, GW_BodySurface
- GW_Divide, GW_BodySurface, GW_FlowSystem, GW_Flow
- GW_ManagementArea, GW_HydrogeoUnit
- For GWML2-Constituent, Requirement Classes are suggested to enable any of the following to be configured:
- Types of GW_Constituent (GW_BiologicalConstituent, GW_MaterialConstituent, GW_ChemicalConstituent);
- For GWML2-Flow, Requirement Classes are suggested to enable any of the following to be configured:
- Types of GW_Flow (GW_InterFlow, GW_Discharge, GW_Recharge, GW_IntraFlow);
- For GWML2-Well, Requirement Classes are suggested to enable any of the following to be configured:
- GW_Well, Borehole, GW_HydrogeoUnit;
- GW_Spring, GW_HydrogeoUnit
- For GWML2-GeologyLog, Requirement Classes are suggested to enable any of the following to be configured:
- GW_GeologyLog, GeologicFeature,
- For GWML2-WellConstruction, Requirement Classes are suggested to enable any of the following to be configured:
- Borehole, BoreCollar
- Types of WellConstruction (Screen, Filtration, Casing, Sealing), types of ConstructionComponent (ScreenComponent, FiltrationComponent, CasingComponent, SealingComponent), Borehole, BoreCollar
- 07 Jul 2014
Do we want to specify that the OM_Measurement:result must be a swe:Quantity or swe:QuantityRange for every OM_Measurement property?
This will require over-riding the O&M requirement that specifies it must be a gml:MeasureType:
The XML element om:result SHALL have a value that matches the content model defined by gml:MeasureType.
If we use swe:Quantity and swe:QuantityRange, is it one or the other or both, and do we specifically preclude gml:MeasureType?
- 07 Jul 2014