From 7bfede4378315a4764cc4b76f07c438075bf42d0 Mon Sep 17 00:00:00 2001 From: Matthias Mohr Date: Tue, 22 Jul 2025 17:28:53 +0200 Subject: [PATCH 1/2] `load_geojson`: Several improvements, especially around empty properties parameter #448 Co-authored-by: Stefaan Lippens --- CHANGELOG.md | 1 + proposals/load_geojson.json | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c496a33e..5de8e2fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `apply_polygon`: Renamed `polygons` parameter to `geometries` for better alignment with other geometry handling processes. [#511](https://github.com/Open-EO/openeo-processes/issues/511) - `clip`: Throw an exception if min > max [#472](https://github.com/Open-EO/openeo-processes/issues/472) - `is_nan`: Return `false` instead of `true` for non-numerical data types. [#486](https://github.com/Open-EO/openeo-processes/issues/486) +- `load_geojson`: Specify behavior if `properties` parameter is empty [#448](https://github.com/Open-EO/openeo-processes/issues/448) - `save_results`: Returns the STAC resource instead of boolean `true` [API#376](https://github.com/Open-EO/openeo-api/issues/376) ### Fixed diff --git a/proposals/load_geojson.json b/proposals/load_geojson.json index 60b8bc72..e82c2ab1 100644 --- a/proposals/load_geojson.json +++ b/proposals/load_geojson.json @@ -1,7 +1,7 @@ { "id": "load_geojson", "summary": "Converts GeoJSON into a vector data cube", - "description": "Converts GeoJSON data as defined by [RFC 7946](https://www.rfc-editor.org/rfc/rfc7946.html) into a vector data cube. Feature properties are preserved.", + "description": "Converts GeoJSON data as defined by [RFC 7946](https://www.rfc-editor.org/rfc/rfc7946.html) into a vector data cube. The feature properties provided in the parameter `properties` are preserved.", "categories": [ "import", "vector" @@ -18,7 +18,7 @@ }, { "name": "properties", - "description": "A list of properties from the GeoJSON file to construct an additional dimension from. A new dimension with the name `properties` and type `other` is created if at least one property is provided. Only applies for GeoJSON Features and FeatureCollections. Missing values are generally set to the no-data value in the data cube.\n\nDepending on the number of properties provided, the process creates the dimension differently:\n\n- Single property with scalar values: A single dimension label with the name of the property and a single value per geometry.\n- Single property of type array: The dimension labels correspond to the array indices. There are as many values and labels per geometry as there are for the largest array.\n- Multiple properties with scalar values: The dimension labels correspond to the property names. There are as many values and labels per geometry as there are properties provided here.", + "description": "A list of properties from the GeoJSON data to construct an additional dimension from. A new dimension with the name `properties` and type `other` is created. Missing values are generally set to the no-data value of the data cube.\n\nDepending on the number of properties provided, the process creates the dimension differently:\n\n- Empty `properties` list: A single dimension label with value `id` is created and all values are set to the no-data value.\n\n- Single property with scalar values: A single dimension label with the name of the property and a single value per geometry.\n- Single property of type array: The dimension labels correspond to the array indices. There are as many values and labels per geometry as there are for the largest array.\n- Multiple properties with scalar values: The dimension labels correspond to the property names. There are as many values and labels per geometry as there are properties provided here.\n\nMissing values are generally set to the no-data value.\n\nAlthough mixing data types of values is generally allowed, certain combinations of data type may be unsupported by some implementations. It is recommended to keep the data types homogeneous.", "schema": { "type": "array", "uniqueItems": true, From 21a8486b43453f9bf31e0e164d4e2e271aa9f6e1 Mon Sep 17 00:00:00 2001 From: Matthias Mohr Date: Fri, 5 Dec 2025 15:46:51 +0100 Subject: [PATCH 2/2] Update proposals/load_geojson.json --- proposals/load_geojson.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/load_geojson.json b/proposals/load_geojson.json index e82c2ab1..f314c827 100644 --- a/proposals/load_geojson.json +++ b/proposals/load_geojson.json @@ -18,7 +18,7 @@ }, { "name": "properties", - "description": "A list of properties from the GeoJSON data to construct an additional dimension from. A new dimension with the name `properties` and type `other` is created. Missing values are generally set to the no-data value of the data cube.\n\nDepending on the number of properties provided, the process creates the dimension differently:\n\n- Empty `properties` list: A single dimension label with value `id` is created and all values are set to the no-data value.\n\n- Single property with scalar values: A single dimension label with the name of the property and a single value per geometry.\n- Single property of type array: The dimension labels correspond to the array indices. There are as many values and labels per geometry as there are for the largest array.\n- Multiple properties with scalar values: The dimension labels correspond to the property names. There are as many values and labels per geometry as there are properties provided here.\n\nMissing values are generally set to the no-data value.\n\nAlthough mixing data types of values is generally allowed, certain combinations of data type may be unsupported by some implementations. It is recommended to keep the data types homogeneous.", + "description": "A list of properties from the GeoJSON data to construct the vector data cube dimension `properties` from (of type `other`).\n\nDepending on the number of properties provided, the process creates the dimension differently:\n\n- Empty `properties` list: A single dimension label with value `id` is created and all values are set to the no-data value.\n- Single property with scalar values: A single dimension label with the name of the property and a single value per geometry.\n- Single property of type array: The dimension labels correspond to the array indices. There are as many values and labels per geometry as there are for the largest array.\n- Multiple properties with scalar values: The dimension labels correspond to the property names. There are as many values and labels per geometry as there are properties provided here.\n\nMissing values are generally set to the no-data value of the data cube.\n\nAlthough mixing data types of values is generally allowed, certain combinations of data type may be unsupported by some implementations. It is recommended to keep the data types homogeneous.", "schema": { "type": "array", "uniqueItems": true,