Skip to content

feat: Add adjacent_feature_filter to gpf_get_feature#166

Open
LionelZoubritzky-IGN wants to merge 8 commits into
mainfrom
53-adjacentfilter
Open

feat: Add adjacent_feature_filter to gpf_get_feature#166
LionelZoubritzky-IGN wants to merge 8 commits into
mainfrom
53-adjacentfilter

Conversation

@LionelZoubritzky-IGN

@LionelZoubritzky-IGN LionelZoubritzky-IGN commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

The problem of #53 was that calling gpf_get_features with typename==XXX and intersects_feature_filter.type==XXX could either mean that:

  • the MCP is trying to actually call gpf_get_feature_by_id, or
  • the MCP is trying to actually do this query, in order to retrieve the neighboring features.

This PR solves #53 by keeping the current error condition, but also introducing a new adjacent_feature_filter which enables the MCP to actually do the "neighboring features" query.

adjacent_feature_filter only accepts a feature_id and no typename to ensure that the MCP does not use it instead of intersects_feature_filter. It is implemented as a CQL filter with an INTERSECTS condition, doubled by a AND NOT INTERSECTS followed by an inner POINT of the initial geometry. If the initial geometry is made of multiple disjoint sub-geometries, the POINT is replaced by a MULTIPOINT, one per sub-geometry.

This comment was marked as outdated.

@LionelZoubritzky-IGN
LionelZoubritzky-IGN marked this pull request as ready for review July 2, 2026 13:05
@LionelZoubritzky-IGN
LionelZoubritzky-IGN requested a review from esgn July 2, 2026 13:05
Base automatically changed from 161-gpfcountfeatures to main July 3, 2026 14:49
@LionelZoubritzky-IGN
LionelZoubritzky-IGN changed the base branch from main to 160/stateless-proxy July 21, 2026 15:39
@LionelZoubritzky-IGN
LionelZoubritzky-IGN force-pushed the 53-adjacentfilter branch 3 times, most recently from b5422f6 to c11fd08 Compare July 22, 2026 14:52
Base automatically changed from 160/stateless-proxy to main July 24, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gpf_wfs_get_features => intersects_feature when typename === intersects_feature_typename

2 participants