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

Enhance bbox requests without geometry property to consider all geometry properties (3.6) #1732

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

lgoltz
Copy link
Contributor

@lgoltz lgoltz commented Aug 13, 2024

Backport #1730

@tfr42 tfr42 added the enhancement enhancement or improvement label Aug 14, 2024
@tfr42 tfr42 added this to the 3.6 milestone Aug 14, 2024
@copierrj
Copy link
Member

copierrj commented Oct 9, 2024

The TMC discussed this PR and we have a few concerns:

This PR changes the behavior of deegree in a non-obvious (= to the user) way and we're not sure if that's appropriate (especially in case of the 3.5 backport) without proper documentation or even making the new behavior opt-in.

We also discussed the use of ST_Union in the PostGIS dialect and we are very concerned that the proposed solution results in unexpected performance regressions. Calculating ST_Union can be very expensive on large complex geometries. There are many ways to preventing the use of this (potentially) expensive union, such as using ST_Collect instead, rewrite the query generator to compute extents for every column first and aggregate them later, etc.

Another thing that came up during the discussion was what happens when someone is mixing different coordinate systems and/or geometry columns that can contain null values..

@tfr42 tfr42 added the needs discussion requires discussion with contributor label Oct 9, 2024
@lgoltz lgoltz force-pushed the feature/multipleGeomProperties-9885-32-3.6 branch from 2384006 to e3cb97c Compare October 24, 2024 07:30
@lgoltz
Copy link
Contributor Author

lgoltz commented Oct 24, 2024

Force push was required to remove a commit from PR #1729 / #1731 from this PR!
The comment #1732 (comment) regarding ST_Union is relevant for #1729 / #1731.

@dstenger
Copy link
Contributor

dstenger commented Nov 6, 2024

We consider the approach that all geometries are used when no geometry property is defined by the request as more intuitive and user friendly.

Note: The OGC specifications seem not to be clear about this. E.g. the OGC OWS Common 1.1.0 spec (06-121r3) describes the use of Bounding Boxes in chap. 10.2.5 (which is referenced by OGC WFS 2.0 spec), where OGC API Features 1.0.1 spec (17-069r4) allows both behaviors (see Requirement 24 /req/core/fc-bbox-response section B).

These are our reasons:

  • There is no way for users to find out which geometry property is used if multiple geometries are provided. E.g. the capabilities provide no information about prioritization of geometry properties. So, the users can only guess how the service behaves. Thus, it is more intuitive and user friendly to consider all geometry properties.
  • INSPIRE schemas (e.g. Building 3D) define feature types with multiple geometries. As deegree claims to fully support INSPIRE, the handling of INSPIRE data shall be as hassle free as possible.

Note: This change of behavior will mainly effect GetFeature GET KVP requests as POST XML requests define the used properties. Thus, most requests will not be affected by this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement enhancement or improvement needs discussion requires discussion with contributor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants