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

Implement additional geo spatialRel query options #106

Open
mitchshepherd opened this issue Jan 19, 2023 · 0 comments
Open

Implement additional geo spatialRel query options #106

mitchshepherd opened this issue Jan 19, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@mitchshepherd
Copy link

Feature service spec: http://resources.arcgis.com/en/help/rest/apiref/index.html?featureserver.html

esriSpatialRelIntersects is currently supported but we should support the others.

spatialRel
Description: The spatial relationship to be applied on the input geometry while performing the query. The supported spatial relationships include intersects, contains, envelope intersects, within, etc. The default spatial relationship is intersects (esriSpatialRelIntersects).
Values: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin | esriSpatialRelRelation

relationParam
Description: The spatial relate function that can be applied while performing the query operation. An example for this spatial relate function is "FFFTTT***".
For more information on this spatial relate function please refer to the documentation for the spatial relate function.
http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/40de6491-9b2d-440d-848b-2609efcd46b1.htm#SpatialRelate

geometryPrecision
Description: This option can be used to specify the number of decimal places in the response geometries returned by the query operation.
This applies to X and Y values only (not m or z-values).
Example: geometryPrecision=3

Copied issue from koop-provider-marklogic by jkerr5 commented on Nov 22, 2017


Notes:

Spatial relations – Region queries in ML use the "DE9IM" definitions from the OGC simple feature access spec, part 1, ISO 19125-1. Do the extent ESRI's relations differ from the OGC ones?

Touches, crosses, and equals are supported starting in 9.0-2 as operations in region queries. So you could probably use touches and crosses for the corresponding esrispatialreltouches and esrispatialrelcrosses. Similarly for overlaps and esrispatialreloverlaps.
Note that contains/within do not include points on the boundaries, while covers/covered-by do include points on the boundaries. Depending on ESRI's definitions, you may want to map esrispatialrelcontains and esrispatialrelwithin to covers/covered-by instead of contains/within.
For esrispatialrelenvelopeintersects, you may be able to use a combination of the geo:boundingBox function with a region query. You would need to store the bounding box (envelope) in the document as well.
Esrispatialrelindexintersects, esrispatialrelrelation — seems like these don't apply in our situation.
For points, depending on the spatial relation you may want to run the point query with boundaries-included or boundaries-excluded.

Contains/within - boundaries-included.
Covers/covered-by – boundaries-excluded.
Overlaps, crosses – don't apply to points
Touches – should match if and only if the point is on the boundary of the region. Could use an and-not query (matches boundaries-included and does not match boundaries-excluded) or use a linestring to represent the boundary of the query polygon.

jkerr5 commented on Nov 22, 2017


Check on the status of this capability
jkerr5 commented 3 days ago

@mitchshepherd mitchshepherd added the enhancement New feature or request label Jan 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant