Closed KathiSchleidt closed 5 months ago
I suspect that these topological types are more useful than the result-type types that we had on the Observations side. These sampling strategies lend themselves to some common processing and visualization patterns, across application domains. This suite of types came out of met-ocean but also make sense in solid-earth and environmental applications.
The classification of the Samples was implemented using soft-typing based on the sampleType
attribute.
The geometry-based classification codelist for SpatialSamples SampleByGeometryType
was moved earlier from the informative Codelist realizations package into the Basic Samples package.
As per the resolution defined in https://github.com/opengeospatial/om-swg/issues/123#issuecomment-857534640 I have now made the following changes in the UML model considering the codelist related constraints:
Abstract Sample core: AbstractSample: added a new constraint "property values shall comply with the constraints defined in the class of the sampleType attribute value"
Basic Samples: SampleByGeometryType:
The following constraints shall be applied to the value of the shape attribute of the SpatialSample based on the codelist value used:
- If value "point" is used, the value of the shape shall be of type Point.
- If value "curve" is used, the value of the shape shall be of type Curve.
- If value "surface" is used, the value of the shape shall be of type Surface.
- If value "solid" is used, the value of the shape shall be of type Solid.
If the text above seems ok, I can copy it as the value of the new requirement /req/sam-basic/SampleByGeometryType-con
in the specification
Similar issue to #123, in /req/sam-core/AbstractSample/sampleType-sem we mandate the use of an abstract codelist, then cascade that up to basic!
Also causes an issue with the current constraint on AbstractSample: property values shall comply with the constraints defined in the class of the sampleType attribute value
Further issue (also applies to #123): we define constraints based on codelist values, but the codelist values are never defined (closest is the vocabulary tag that might one day be resolved by the OGC def-server)
I'm trying to understand the sense of the first constraint on SampleByGeometryType (in the UML, SampleTypeByGeometryType - need to decide, I'd go for "GeometryType"):
What does this constraint add? If we go this route, we'd need to add the like to ALL classes, e.g. the Observation type shall only be used to provide observations, the ObservedProperty only for obsProps... ;)
On the 2nd constraint, apart from my issues constraining things to codelist values based on empty codelists:
Add note on source of sampling geometries (19107)
@KathiSchleidt:
- added a new constraint "values of this codelist shall only be used for classifying SpatialSamples"
What does this constraint add? If we go this route, we'd need to add the like to ALL classes, e.g. the Observation type shall only be used to provide observations, the ObservedProperty only for obsProps... ;)
The reason I added this constraint was that to me it only makes sense to use the SampleByGeometryType codelist values for classifying SpatialSamples, since other Sample classes do not have a geometry attribute to constrain. I'm not strongly opposed to leaving it out, just thought it would clarify things since the Note of the 2nd constraint specifically refers the shape
attribute of the SpatialSample
, which is not available for the other Sample kinds we have.
The following constraints shall be applied to the geometry provided by the Sample based on the codelist value used:
NOTE: When using SpatialSample, the attribute shape provides the geometry
Constraint "this codelist shall only be used for classifying SpatialSamples" will be dropped
In O&M V2 there are 4 requirements classes for spatial sampling types as follows:
Do we wish to retain these as requirements classes, to enable SW to claim conformance to specific spatial sampling objects, or change this to soft typing in line with where we've taken Observation?