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

Part 1 ATS / ETS: Missing antimeridian test? #851

Open
jerstlouis opened this issue Aug 24, 2023 · 2 comments
Open

Part 1 ATS / ETS: Missing antimeridian test? #851

jerstlouis opened this issue Aug 24, 2023 · 2 comments
Labels
Part 1: Core Issue related to Part 1 - Core

Comments

@jerstlouis
Copy link
Member

jerstlouis commented Aug 24, 2023

While working on CQL2 Spatial Operators, I am realizing that /collections/cql2-test:ne_110m_admin_0_countries/items?bbox=150,-90,-150,90 should probably be returning more than only Antarctica.

It does not seem that CITE/TeamEngine test was able to detect that problem in our implementation.

Although the text immediately before Example 6 about New Zealand talks about the antimeridian bounding boxes, the
Requirement 23 /req/core/fc-bbox-response does not have any specific clauses about it.

The Abstract Test 19 in turn does not say anything about it, and this translates in the ETS not testing this properly.

Might be related to opengeospatial/ets-ogcapi-features10#187 that mentioned a test that used to be Abstract Test 13.

There were also other problems not detected, where more features than expected were being returned where the bounding box of the geometry would intersect, but not the actual geometry (the ATS / ETS could actually really check that all returned feature geometries do intersect the requested bounding box).

@cportele
Copy link
Member

Yes, there is more than Antarctica in that bbox. Here is what our server returns: https://cql2test.ldproxy.net/ne110m4cql2/collections/ne_110m_admin_0_countries/items?bbox=150,-90,-150,90.

Maybe we should add to /conf/core/fc-bbox-definition that there should also be a test with a bbox that crosses the anti-meridian. However, I do not see, how returning only Antarctica would be detected as an error, because for this the test would have to know the dataset.

The only way to test this would be with a test dataset like in CQL2. Then we could also make the requirement /req/core/fc-bbox-response, item A, more strict ("OnlyAll features that have a spatial geometry that intersects the bounding box SHALL be part of the result set, if the bbox parameter is provided").

There were also other problems not detected, where more features than expected were being returned where the bounding box of the geometry would intersect, but not the actual geometry (the ATS / ETS could actually really check that all returned feature geometries do intersect the requested bounding box).

The ATS does that already (see /conf/core/fc-bbox-response, item 1), but obviously the ETS does not.

@cportele cportele added the Part 1: Core Issue related to Part 1 - Core label Aug 25, 2023
@cportele cportele added this to Backlog in Part 1: Core via automation Aug 25, 2023
@jerstlouis
Copy link
Member Author

jerstlouis commented Aug 25, 2023

@cportele Thanks, I did fix that in our implementation (with some difficulties left with the paging):

https://maps.gnosis.earth/ogcapi/collections/cql2-test:ne_110m_admin_0_countries/items?bbox=150,-90,-150,90&limit=20

However, I do not see, how returning only Antarctica would be detected as an error, because for this the test would have to know the dataset.

I was just thinking of an easy way a moment ago.
We could compare the requests for ?bbox=90,-90,180,90 and ?bbox=-180,-90,-90,90, and make sure that all of those features are included in ?bbox=90,-90,-90,90. This should work assuming there are not way too many items compared to the limits.

Re: "Only/All features", is "All" really more strict than "Only"? Perhaps it should be both "Only" and "All"?

The ATS does that already (see /conf/core/fc-bbox-response, item 1), but obviously the ETS does not.

Right. (EDITED -- sorry I realized later you were talking about the spatial geometry here, not the antimeridian).
Maybe the ATS could explicitly clarify (not only its bounding box), that might better catch the attention of ETS developers.

Also realized that a basic LineString / BBOX intersection (rivers) was not working either (false negative when line fully within BBOX), so the ETS might possibly not be testing that well either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Part 1: Core Issue related to Part 1 - Core
Projects
Part 1: Core
  
Backlog
Development

No branches or pull requests

2 participants