Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are s_Covers and s_CoveredBy really standard spatial relations? #39

Open
nicolas-heigvd opened this issue Mar 10, 2023 · 4 comments
Open
Labels
question Further information is requested

Comments

@nicolas-heigvd
Copy link

Hello,

As stated in your draft, are s_Covers and s_CoveredBy really standard spatial relations?

SpatialRelationFunctions : s_covers(Geometry a, Geometry b) bool
SpatialRelationFunctions : s_coveredBy(Geometry a, Geometry b) bool

If yes, where are they defined?

Because the OGC SFA only specify the following:

image

So maybe it's worth discussing an update to the OGC SFA before integrating them here?
Who is in charge for such updates, if needed?

Thanks for your answer.
Warm Regards.

@maxcollombin maxcollombin added question Further information is requested and removed Use Case labels Mar 10, 2023
@ebocher
Copy link
Collaborator

ebocher commented Mar 10, 2023

Good catch @nicolas-heigvd . s_Covers and s_CoveredBy are not defined.
Thanks.

@jerstlouis
Copy link
Member

jerstlouis commented Mar 10, 2023

@ebocher @nicolas-heigvd

covers() and coveredBy() are not defined in Simple Features Access, but they are part of the Dimensionally Extended 9-Intersection Model (DE-9IM).

As noted on that Wikipedia page:

The mask T*****FF* occurs in the definition of both Contains and Covers. Covers is a more inclusive relation. In particular, unlike Contains it does not distinguish between points in the boundary and in the interior of geometries. For most situations, Covers should be used in preference to Contains.
Similarly, the mask T*F**F*** occurs in the definition of both Within and CoveredBy. For most situations, CoveredBy should be used in preference to Within.

We should indeed file a change request to have them added to SFA.
I believe most spatial libraries implement them.

We had a similar discussion in CQL2, but decided to not add them yet.
For Styles & Symbology, potentially we could leave them in the model for awareness and including a note about their status, without requiring them for conformance until they are added to SFA.

@ghobona Where should we file a change request for SFA?

@chris-little
Copy link

Maybe there should be a Cross-SWG discussion of full vs partial implementations, and non-canonical ("unnormalised") versions of the Allen Agebra, 4-Intersections and DE-9IM?

The W3C Time Ontology has the full set of Allen relationships (13) , in one dimension, but there were practical real-world needs to augment them with easy-to-use (non-canonical) combinations.

@jerstlouis
Copy link
Member

If I understand correctly, one can easily implement Covers() and ContainsBy() using the Relate() method already defined in Simple Features Access as follows:

Covers(a, b) =
   Relate(a, b, T*****FF*) OR Relate(a, b, *T****FF*) OR Relate(a, b, ***T**FF*) OR Relate(a, b, ****T*FF*)

CoveredBy(a, b) =
   Relate(a, b, T*F**F***) OR Relate(a, b, *TF**F***) OR Relate(a, b, **FT*F***) OR Relate(a, b, **F*TF***)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants