opengeospatial / om-swg

10 stars 6 forks source link

Maintain spatial sampling types? #56

Closed KathiSchleidt closed 5 months ago

KathiSchleidt commented 4 years ago

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?

dr-shorthair commented 4 years 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.

ilkkarinne commented 3 years ago

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:

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

KathiSchleidt commented 3 years ago

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

KathiSchleidt commented 3 years ago

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)

KathiSchleidt commented 3 years ago

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:

KathiSchleidt commented 3 years ago

Add note on source of sampling geometries (19107)

ilkkarinne commented 3 years ago

@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.

KathiSchleidt commented 3 years ago

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