From ecf5a7dac2e4003e6a9f4f8d9180b49e8104b995 Mon Sep 17 00:00:00 2001 From: clausmichele Date: Mon, 2 Oct 2023 14:35:07 +0200 Subject: [PATCH 1/4] Move implemented processes --- proposals/load_stac.json => load_stac.json | 0 proposals/reduce_spatial.json => reduce_spatial.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename proposals/load_stac.json => load_stac.json (100%) rename proposals/reduce_spatial.json => reduce_spatial.json (100%) diff --git a/proposals/load_stac.json b/load_stac.json similarity index 100% rename from proposals/load_stac.json rename to load_stac.json diff --git a/proposals/reduce_spatial.json b/reduce_spatial.json similarity index 100% rename from proposals/reduce_spatial.json rename to reduce_spatial.json From 95170436ae258ccb29e74118f5a7aa9691299ccb Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Fri, 14 Jun 2024 13:19:38 +0000 Subject: [PATCH 2/4] clarify scale and offset --- load_stac.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/load_stac.json b/load_stac.json index c71d3a80..1ad7f8ce 100644 --- a/load_stac.json +++ b/load_stac.json @@ -1,7 +1,7 @@ { "id": "load_stac", "summary": "Loads data from STAC", - "description": "Loads data from a static STAC catalog or a STAC API Collection and returns the data as a processable data cube. A batch job result can be loaded by providing a reference to it.\n\nIf supported by the underlying metadata and file format, the data that is added to the data cube can be restricted with the parameters `spatial_extent`, `temporal_extent` and `bands`. If no data is available for the given extents, a `NoDataAvailable` exception is thrown.\n\n**Remarks:**\n\n* The bands (and all dimensions that specify nominal dimension labels) are expected to be ordered as specified in the metadata if the `bands` parameter is set to `null`.\n* If no additional parameter is specified this would imply that the whole data set is expected to be loaded. Due to the large size of many data sets, this is not recommended and may be optimized by back-ends to only load the data that is actually required after evaluating subsequent processes such as filters. This means that the values should be processed only after the data has been limited to the required extent and as a consequence also to a manageable size.", + "description": "Loads data from a static STAC catalog or a STAC API Collection and returns the data as a processable data cube. A batch job result can be loaded by providing a reference to it.\n\nIf supported by the underlying metadata and file format, the data that is added to the data cube can be restricted with the parameters `spatial_extent`, `temporal_extent` and `bands`. If no data is available for the given extents, a `NoDataAvailable` exception is thrown.\n\n**Remarks:**\n\n* The bands (and all dimensions that specify nominal dimension labels) are expected to be ordered as specified in the metadata if the `bands` parameter is set to `null`.\n* If no additional parameter is specified this would imply that the whole data set is expected to be loaded. Due to the large size of many data sets, this is not recommended and may be optimized by back-ends to only load the data that is actually required after evaluating subsequent processes such as filters. This means that the values should be processed only after the data has been limited to the required extent and as a consequence also to a manageable size. `scale` and `offset` parameters provided by the raster extension under raster:bands are not considered during the load of the data, i.e. scale and offset values are not automatically applied.", "categories": [ "cubes", "import" From 9a2ac2c13c17a784ca4324aeec8b41029b32079a Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Tue, 25 Jun 2024 15:14:36 +0000 Subject: [PATCH 3/4] moved back reduce_spatial --- proposals/reduce_spatial.json | 88 +++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 proposals/reduce_spatial.json diff --git a/proposals/reduce_spatial.json b/proposals/reduce_spatial.json new file mode 100644 index 00000000..d9233cf7 --- /dev/null +++ b/proposals/reduce_spatial.json @@ -0,0 +1,88 @@ +{ + "id": "reduce_spatial", + "summary": "Reduce spatial dimensions 'x' and 'y'", + "description": "Applies a reducer to a data cube by collapsing all the pixel values along the horizontal spatial dimensions (i.e. axes `x` and `y`) into an output value computed by the reducer. The horizontal spatial dimensions are dropped.\n\nAn aggregation over certain spatial areas can be computed with the process ``aggregate_spatial()``.\n\nThis process passes a list of values to the reducer. The list of values has an undefined order, therefore processes such as ``last()`` and ``first()`` that depend on the order of the values will lead to unpredictable results.", + "categories": [ + "aggregate", + "cubes", + "reducer" + ], + "experimental": true, + "parameters": [ + { + "name": "data", + "description": "A raster data cube.", + "schema": { + "type": "object", + "subtype": "datacube", + "dimensions": [ + { + "type": "spatial", + "axis": [ + "x", + "y" + ] + } + ] + } + }, + { + "name": "reducer", + "description": "A reducer to apply on the horizontal spatial dimensions. A reducer is a single process such as ``mean()`` or a set of processes, which computes a single value for a list of values, see the category 'reducer' for such processes.", + "schema": { + "type": "object", + "subtype": "process-graph", + "parameters": [ + { + "name": "data", + "description": "An array with elements of any type.", + "schema": { + "type": "array", + "items": { + "description": "Any data type." + } + } + }, + { + "name": "context", + "description": "Additional data passed by the user.", + "schema": { + "description": "Any data type." + }, + "optional": true, + "default": null + } + ], + "returns": { + "description": "The value to be set in the new data cube.", + "schema": { + "description": "Any data type." + } + } + } + }, + { + "name": "context", + "description": "Additional data to be passed to the reducer.", + "schema": { + "description": "Any data type." + }, + "optional": true, + "default": null + } + ], + "returns": { + "description": "A data cube with the newly computed values. It is missing the horizontal spatial dimensions, the number of dimensions decreases by two. The dimension properties (name, type, labels, reference system and resolution) for all other dimensions remain unchanged.", + "schema": { + "type": "object", + "subtype": "datacube" + } + }, + "links": [ + { + "href": "https://openeo.org/documentation/1.0/datacubes.html#reduce", + "rel": "about", + "title": "Reducers explained in the openEO documentation" + } + ] +} From 07a0caafcf836390e7d33934f17b9246f2da1701 Mon Sep 17 00:00:00 2001 From: Michele Claus Date: Tue, 25 Jun 2024 15:15:49 +0000 Subject: [PATCH 4/4] moved back reduce_spatial --- reduce_spatial.json | 88 --------------------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 reduce_spatial.json diff --git a/reduce_spatial.json b/reduce_spatial.json deleted file mode 100644 index d9233cf7..00000000 --- a/reduce_spatial.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "id": "reduce_spatial", - "summary": "Reduce spatial dimensions 'x' and 'y'", - "description": "Applies a reducer to a data cube by collapsing all the pixel values along the horizontal spatial dimensions (i.e. axes `x` and `y`) into an output value computed by the reducer. The horizontal spatial dimensions are dropped.\n\nAn aggregation over certain spatial areas can be computed with the process ``aggregate_spatial()``.\n\nThis process passes a list of values to the reducer. The list of values has an undefined order, therefore processes such as ``last()`` and ``first()`` that depend on the order of the values will lead to unpredictable results.", - "categories": [ - "aggregate", - "cubes", - "reducer" - ], - "experimental": true, - "parameters": [ - { - "name": "data", - "description": "A raster data cube.", - "schema": { - "type": "object", - "subtype": "datacube", - "dimensions": [ - { - "type": "spatial", - "axis": [ - "x", - "y" - ] - } - ] - } - }, - { - "name": "reducer", - "description": "A reducer to apply on the horizontal spatial dimensions. A reducer is a single process such as ``mean()`` or a set of processes, which computes a single value for a list of values, see the category 'reducer' for such processes.", - "schema": { - "type": "object", - "subtype": "process-graph", - "parameters": [ - { - "name": "data", - "description": "An array with elements of any type.", - "schema": { - "type": "array", - "items": { - "description": "Any data type." - } - } - }, - { - "name": "context", - "description": "Additional data passed by the user.", - "schema": { - "description": "Any data type." - }, - "optional": true, - "default": null - } - ], - "returns": { - "description": "The value to be set in the new data cube.", - "schema": { - "description": "Any data type." - } - } - } - }, - { - "name": "context", - "description": "Additional data to be passed to the reducer.", - "schema": { - "description": "Any data type." - }, - "optional": true, - "default": null - } - ], - "returns": { - "description": "A data cube with the newly computed values. It is missing the horizontal spatial dimensions, the number of dimensions decreases by two. The dimension properties (name, type, labels, reference system and resolution) for all other dimensions remain unchanged.", - "schema": { - "type": "object", - "subtype": "datacube" - } - }, - "links": [ - { - "href": "https://openeo.org/documentation/1.0/datacubes.html#reduce", - "rel": "about", - "title": "Reducers explained in the openEO documentation" - } - ] -}