Open-EO / openeo-processes

Interoperable processes for openEO's big Earth observation cloud processing.
https://processes.openeo.org
Apache License 2.0
48 stars 17 forks source link

Align point handling in `load_collection/spatial_extent` and `filter_spatial` #502

Open soxofaan opened 7 months ago

soxofaan commented 7 months ago

filter_spatial explicitly mentions support for points and lines (alongside polygons) in the provided geometry.

While spatial_extent in load_collection is most commonly used with a bounding box, it also can be GeoJSON/Vectorcube, and it looks the intention is to have equivalence between (pseudocode): load_collection(spatial_extent=geoms) and load_collection().filter_spatial(geoms).

However only Polygons are allowed in load_collection/spatial_extent (in single, multi-, feature or feature collection variants). Points nor Lines are explicitly mentioned and seem to be forbidden, which is a bit of alignment problem between load_collection and filter_spatial.

soxofaan commented 7 months ago

cc @VictorVerhaert @VincentVerelst

m-mohr commented 6 months ago

Why is it a problem? In principle we could allow all spatial types in load_collection, but as load_collection is already pretty complex, the intention was to keep things simpler for a process that everyone needs to implement.

soxofaan commented 5 months ago

It's just to make things more consistent and intuitive, for example to ensure full equivalence between load_collection(spatial_extent) and load_collection().filter_spatial(spatial_extent). If a backend supports points in the latter construct, I'd hope it's trivial to do that in the former too.