Skip to content

Commit 965bbae

Browse files
authored
Merge pull request #439 from Open-EO/draft
Release v2.0.0-rc.1
2 parents 0dd3ab0 + 093723a commit 965bbae

File tree

107 files changed

+2726
-1947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+2726
-1947
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
[*.json]
4+
charset = utf-8
5+
end_of_line = crlf
6+
indent_style = spaces
7+
indent_size = 4
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true

.github/workflows/docs.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
steps:
1414
- name: Inject env variables
1515
uses: rlespinasse/[email protected]
16-
- uses: actions/setup-node@v1
16+
- uses: actions/setup-node@v3
1717
with:
18-
node-version: '16'
19-
- uses: actions/checkout@v2
18+
node-version: 'lts/*'
19+
- uses: actions/checkout@v3
2020
- run: |
2121
npm install
2222
npm run generate
@@ -26,7 +26,6 @@ jobs:
2626
run: |
2727
git clone --branch gh-pages https://github.com/Open-EO/openeo-processes.git gh-pages
2828
find gh-pages -maxdepth 1 -type f -delete
29-
rm -rf gh-pages/examples/
3029
rm -rf gh-pages/meta/
3130
rm -rf gh-pages/proposals/
3231
- name: create empty gh-pages folder
@@ -35,7 +34,7 @@ jobs:
3534
- run: |
3635
cp tests/docs.html index.html
3736
cp tests/processes.json processes.json
38-
rsync -vrm --include='*.json' --include='*.html' --include='examples/***' --include='meta/***' --include='proposals/***' --exclude='*' . gh-pages
37+
rsync -vrm --include='*.json' --include='*.html' --include='meta/***' --include='proposals/***' --exclude='*' . gh-pages
3938
- name: deploy to root (master)
4039
uses: peaceiris/actions-gh-pages@v3
4140
if: ${{ env.GITHUB_REF_SLUG == 'master' }}

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ jobs:
44
deploy:
55
runs-on: ubuntu-latest
66
steps:
7-
- uses: actions/setup-node@v1
7+
- uses: actions/setup-node@v3
88
with:
9-
node-version: '16'
10-
- uses: actions/checkout@v2
9+
node-version: 'lts/*'
10+
- uses: actions/checkout@v3
1111
- name: Run tests
1212
run: |
1313
npm install

CHANGELOG.md

Lines changed: 106 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,108 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## Unreleased / Draft
88

9+
## [2.0.0-rc.1] - 2023-05-25
10+
11+
### Added
12+
13+
- New processes in proposal state:
14+
- `date_between`
15+
- `date_difference`
16+
- `filter_vector`
17+
- `flatten_dimensions`
18+
- `load_geojson`
19+
- `load_url`
20+
- `unflatten_dimension`
21+
- `vector_buffer`
22+
- `vector_reproject`
23+
- `vector_to_random_points`
24+
- `vector_to_regular_points`
25+
- `add_dimension`: Added new dimension type `geometry`. [#68](https://github.com/Open-EO/openeo-processes/issues/68)
26+
27+
### Changed
28+
29+
- Moved from proposals to stable processes:
30+
- `array_append`
31+
- `array_concat`
32+
- `array_create`
33+
- `array_interpolate_linear`
34+
- `resample_cube_temporal`
35+
- Added better support for labeled arrays. Labels are not discarded in all cases anymore. Affected processes:
36+
- `array_append`
37+
- `array_concat`
38+
- `array_modify`
39+
- `array_modify`: Change the default value for `length` from `1` to `0`. [#312](https://github.com/Open-EO/openeo-processes/issues/312)
40+
- Renamed `text_merge` to `text_concat` for better alignment with `array_concat` and existing implementations.
41+
- `apply_neighborhood`:
42+
- Allow `null` as default value for units.
43+
- Input and Output for the `process` can either be data cubes or arrays (if one-dimensional). [#387](https://github.com/Open-EO/openeo-processes/issues/387)
44+
- `run_udf`: Allow all data types instead of just objects in the `context` parameter. [#376](https://github.com/Open-EO/openeo-processes/issues/376)
45+
- `load_collection` and `load_result`/`load_stac`:
46+
- Require at least one band if not set to `null`. [#372](https://github.com/Open-EO/openeo-processes/issues/372)
47+
- Added a `NoDataAvailable` exception
48+
- `aggregate_temporal`, `filter_temporal`, `load_collection` and `load_result`/`load_stac`:
49+
- The temporal intervals must always be non-empty, i.e. the second instance in time must be after the first instance in time. [#331](https://github.com/Open-EO/openeo-processes/issues/331)
50+
- `24` as the hour is not allowed anymore. [#331](https://github.com/Open-EO/openeo-processes/issues/331)
51+
- `inspect`: The parameter `message` has been moved to be the second argument. [#369](https://github.com/Open-EO/openeo-processes/issues/369)
52+
- `mask` and `merge_cubes`: The spatial dimensions `x` and `y` can now be resampled implicitly instead of throwing an error. [#402](https://github.com/Open-EO/openeo-processes/issues/402)
53+
- `save_result`: Added a more concrete `DataCubeEmpty` exception.
54+
- New definition for `aggregate_spatial`:
55+
- Allows more than 3 input dimensions [#126](https://github.com/Open-EO/openeo-processes/issues/126)
56+
- Allow to not export statistics by changing the parameter `target_dimension` [#366](https://github.com/Open-EO/openeo-processes/issues/366)
57+
- Clarify how the resulting vector data cube looks like [#356](https://github.com/Open-EO/openeo-processes/issues/356)
58+
- Renamed `create_raster_cube` to `create_data_cube`. [#68](https://github.com/Open-EO/openeo-processes/issues/68)
59+
- Updated the processes based on the subtypes `raster-cube` or `vector-cube` to work with the subtype `datacube` instead. [#68](https://github.com/Open-EO/openeo-processes/issues/68)
60+
- `sort` and `order`: The ordering of ties is not defined anymore. [#409](https://github.com/Open-EO/openeo-processes/issues/409)
61+
- `quantiles`: Parameter `probabilities` provided as array must be in ascending order. [#297](https://github.com/Open-EO/openeo-processes/pull/297)
62+
- `fit_curve` and `predict_curve`: Heavily modified specifications. `fit_curve` works on arrays instead of data cubes, `predict_curve` doesn't support gap filling anymore, clarify no-data handling, ... [#425](https://github.com/Open-EO/openeo-processes/issues/425)
63+
- `climatological_normal`: The `climatology_period` parameter accepts an array of integers instead of strings. [#331](https://github.com/Open-EO/openeo-processes/issues/331)
64+
65+
### Deprecated
66+
67+
- `aggregate_spatial`, `filter_spatial`, `load_collection`, `mask_polygon`: GeoJSON input is deprecated in favor of `load_geojson`. [#346](https://github.com/Open-EO/openeo-processes/issues/346)
68+
69+
### Removed
70+
71+
- The `examples` folder has been migrated to the [openEO Community Examples](https://github.com/Open-EO/openeo-community-examples/tree/main/processes) repository.
72+
- `between`: Support for temporal comparison. Use `date_between` instead. [#331](https://github.com/Open-EO/openeo-processes/issues/331)
73+
- Deprecated `GeometryCollections` are not supported any longer. [#389](https://github.com/Open-EO/openeo-processes/issues/389)
74+
- Deprecated PROJ definitions for the CRS are not supported any longer.
75+
- `load_result`:
76+
- Renamed to `load_stac`
77+
- The subtype `job-id` was removed in favor of providing a URL. [#322](https://github.com/Open-EO/openeo-processes/issues/322), [#377](https://github.com/Open-EO/openeo-processes/issues/377), [#384](https://github.com/Open-EO/openeo-processes/issues/384)
78+
- GeoJSON input is not supported any longer. Use `load_geojson` instead. [#346](https://github.com/Open-EO/openeo-processes/issues/346)
79+
- The comparison processes `eq`, `neq`, `lt`, `lte`, `gt`, `gte` and `array_contains`:
80+
- Removed support for temporal comparison. Instead explicitly use `date_difference`.
81+
- Removed support for the input data types array and object. [#208](https://github.com/Open-EO/openeo-processes/issues/208)
82+
- `sort` and `order`: Removed support for time-only values. [#331](https://github.com/Open-EO/openeo-processes/issues/331)
83+
84+
### Fixed
85+
86+
- `aggregate_spatial`:
87+
- Clarified that feature properties are preserved for vector data cubes and all GeoJSON Features. [#270](https://github.com/Open-EO/openeo-processes/issues/270)
88+
- Clarified that a `TargetDimensionExists` exception is thrown if the target dimension exists.
89+
- `apply` and `array_apply`: Fixed broken references to the `absolute` process
90+
- `apply_dimension`: Clarify the behavior for when a dimension gets 'dropped'. [#357](https://github.com/Open-EO/openeo-processes/issues/357)
91+
- `apply_neighborhood`:
92+
- Parameter `overlap` was optional but had no default value and no schema for the default value defined.
93+
- Clarified that the overlap must be included in the returned data cube but value changes are ignored. [#386](https://github.com/Open-EO/openeo-processes/issues/386)
94+
- Removed a conflicting statement that dimension labels can be changed. [#385](https://github.com/Open-EO/openeo-processes/issues/385)
95+
- `array_contains` and `array_find`: Clarify that giving `null` as `value` always returns `false` or `null` respectively, also fixed the incorrect examples. [#348](https://github.com/Open-EO/openeo-processes/issues/348)
96+
- `array_interpolate_linear`: Return value was incorrectly specified as `number` or `null`. It must return an array instead. [#333](https://github.com/Open-EO/openeo-processes/issues/333)
97+
- `is_nan`: Fixed a wrong description of the return value and simplified/clarified the process descriptions overall. [#360](https://github.com/Open-EO/openeo-processes/issues/360)
98+
- `is_nodata`: Clarified that `NaN` can be considered as a no-data value only if it is explicitly specified as no-data value. [#361](https://github.com/Open-EO/openeo-processes/issues/361)
99+
- `merge_cubes`: Clarified descriptions to better describe when a merge is possible. [#379](https://github.com/Open-EO/openeo-processes/issues/379)
100+
- `rename_labels`: Clarified that the `LabelsNotEnumerated` exception is thrown if `source` is empty instead of if `target` is empty. [#321](https://github.com/Open-EO/openeo-processes/issues/321)
101+
- `round`: Clarify that the rounding for ties applies not only for integers. [#326](https://github.com/Open-EO/openeo-processes/issues/326)
102+
- `save_result`: Clarified that the process always returns `true` (and otherwise throws). [#334](https://github.com/Open-EO/openeo-processes/issues/334)
103+
- Handling of empty geometries is clarified throughout the processes. [#404](https://github.com/Open-EO/openeo-processes/issues/404)
104+
9105
## [1.2.0] - 2021-12-13
10106

11107
### Added
12108

13109
- New processes in proposal state
110+
- `apply_polygon`
14111
- `fit_curve`
15112
- `predict_curve`
16113
- `ard_normalized_radar_backscatter` and `sar_backscatter`: Added `options` parameter
@@ -28,6 +125,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28125
- Renamed to `inspect`.
29126
- The log level `error` does not need to stop execution.
30127
- Added proposals for logging several data types to the implementation guide.
128+
- `quantiles`: The parameter `probabilities` also accepts an integer value to compute q-quantiles. [#293](https://github.com/Open-EO/openeo-processes/issues/293)
129+
130+
### Deprecated
131+
132+
- `quantiles`: The parameter `q` has been deprecated in favor of the extended parameter `probabilities`. [#293](https://github.com/Open-EO/openeo-processes/issues/293)
31133

32134
### Removed
33135

@@ -72,7 +174,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
72174
- Moved the experimental process `run_udf_externally` to the proposals.
73175
- Moved the rarely used and implemented processes `cummax`, `cummin`, `cumproduct`, `cumsum`, `debug`, `filter_labels`, `load_result`, `load_uploaded_files`, `resample_cube_temporal` to the proposals.
74176
- Exception messages have been aligned always use ` instead of '. Tooling could render it with CommonMark.
75-
- `load_collection` and `mask_polygon`: Also support multi polygons instead of just polygons. [#237](https://github.com/Open-EO/openeo-processes/issues/237)
177+
- `load_collection` and `mask_polygon`: Also support multi polygons instead of just polygons. [#237](https://github.com/Open-EO/openeo-processes/issues/237)
76178
- `run_udf` and `run_udf_externally`: Specify specific (extensible) protocols for UDF URIs.
77179
- `resample_cube_spatial` and `resample_spatial`: Aligned with GDAL and added `rms` and `sum` options to methods. Also added better descriptions.
78180
- `resample_cube_temporal`: Process has been simplified and only offers the nearest neighbor method now. The `process` parameter has been removed, the `dimension` parameter was made less restrictive, the parameter `valid_within` was added. [#194](https://github.com/Open-EO/openeo-processes/issues/194)
@@ -127,7 +229,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
127229

128230
### Changed
129231
- `any` and `all`: Renamed parameter `values` to `data`. [#147](https://github.com/Open-EO/openeo-processes/issues/147)
130-
- `load_collection`: Parameter `properties` has subtype `metdata-filter`.
232+
- `load_collection`: Parameter `properties` has subtype `metadata-filter`.
131233
- Examples adapted to latest API version for `aggregate_temporal`, `array_contains`, `array_find`, `filter_labels`, `load_collection` and `rename_labels`. [#136](https://github.com/Open-EO/openeo-processes/issues/136), [API#285](https://github.com/Open-EO/openeo-api/issues/285)
132234
- Some processes were assigned to different categories.
133235

@@ -263,7 +365,8 @@ First version which is separated from the openEO API. Complete rework of all pro
263365
Older versions of the processes were released as part of the openEO API, see the corresponding changelog for more information.
264366

265367

266-
[Unreleased]: <https://github.com/Open-EO/openeo-processes/compare/1.2.0...HEAD>
368+
[Unreleased]: <https://github.com/Open-EO/openeo-processes/compare/2.0.0-rc.1...HEAD>
369+
[2.0.0-rc.1]: <https://github.com/Open-EO/openeo-processes/compare/1.2.0...2.0.0-rc.1>
267370
[1.2.0]: <https://github.com/Open-EO/openeo-processes/compare/1.1.0...1.2.0>
268371
[1.1.0]: <https://github.com/Open-EO/openeo-processes/compare/1.0.0...1.1.0>
269372
[1.0.0]: <https://github.com/Open-EO/openeo-processes/compare/1.0.0-rc.1...1.0.0>

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ openEO develops interoperable processes for big Earth observation cloud processi
88

99
The [master branch](https://github.com/Open-EO/openeo-processes/tree/master) is the 'stable' version of the openEO processes specification. An exception is the [`proposals`](proposals/) folder, which provides experimental new processes currently under discussion. They may still change, but everyone is encouraged to implement them and give feedback.
1010

11-
The latest release is version **1.2.0**. The [draft branch](https://github.com/Open-EO/openeo-processes/tree/draft) is where active development takes place. PRs should be made against the draft branch.
11+
The latest release is version **2.0.0-rc.1**. The [draft branch](https://github.com/Open-EO/openeo-processes/tree/draft) is where active development takes place. PRs should be made against the draft branch.
1212

1313
| Version / Branch | Status | openEO API versions |
1414
| ------------------------------------------------------------ | ------------------------- | ------------------- |
1515
| [unreleased / draft](https://processes.openeo.org/draft) | in development | 1.x.x |
16-
| [**1.2.0** / master](https://processes.openeo.org/1.2.0/) | **latest stable version** | 1.x.x |
16+
| [**2.0.0 RC1** / master](https://processes.openeo.org/2.0.0-rc.1/) | **upcoming version (RC)** | 1.x.x |
17+
| [1.2.0](https://processes.openeo.org/1.2.0/) | **latest stable version** | 1.x.x |
1718
| [1.1.0](https://processes.openeo.org/1.1.0/) | legacy version | 1.x.x |
1819
| [1.0.0](https://processes.openeo.org/1.0.0/) | legacy version | 1.x.x |
1920
| [1.0.0 RC1](https://processes.openeo.org/1.0.0-rc.1/) | legacy version | 1.x.x |
@@ -29,11 +30,11 @@ See also the [changelog](CHANGELOG.md) for the changes between versions and the
2930

3031
This repository contains a set of files formally describing the openEO Processes:
3132

32-
* The `*.json` files provide stable process specifications as defined by openEO. Stable processes need at least two implementations and a use-case example added to the [`examples`](examples/) folder *or* consensus from the openEO PSC.
33+
* The `*.json` files provide stable process specifications as defined by openEO. Stable processes need at least two implementations and a use-case example added to the [openEO Community Examples](https://github.com/Open-EO/openeo-community-examples) repository *or* consensus from the openEO PSC.
3334
* The `*.json` files in the [`proposals`](proposals/) folder provide proposed new process specifications that are still experimental and subject to change, including breaking changes. Everyone is encouraged to base their work on the proposals and give feedback so that eventually the processes evolve into stable process specifications.
3435
* [implementation.md](meta/implementation.md) in the `meta` folder provide some additional implementation details for back-ends. For back-end implementors, it's highly recommended to read them.
3536
* [subtype-schemas.json](meta/subtype-schemas.json) in the `meta` folder defines common data types (`subtype`s) for JSON Schema used in openEO processes.
36-
* The [`examples`](examples/) folder contains some useful examples that the processes link to. All of these are non-binding additions.
37+
* Previously, an `examples` folder contained examples of user-defined processes. These have been migrated to the [openEO Community Examples](https://github.com/Open-EO/openeo-community-examples/tree/main/processes) repository.
3738
* The [`tests`](tests/) folder can be used to test the process specification for validity and consistent "style". It also allows rendering the processes in a web browser. Check the [tests documentation](tests/README.md) for details.
3839

3940
## Process

add_dimension.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"description": "A data cube to add the dimension to.",
1212
"schema": {
1313
"type": "object",
14-
"subtype": "raster-cube"
14+
"subtype": "datacube"
1515
}
1616
},
1717
{
@@ -39,9 +39,10 @@
3939
"schema": {
4040
"type": "string",
4141
"enum": [
42+
"bands",
43+
"geometry",
4244
"spatial",
4345
"temporal",
44-
"bands",
4546
"other"
4647
]
4748
},
@@ -53,12 +54,12 @@
5354
"description": "The data cube with a newly added dimension. The new dimension has exactly one dimension label. All other dimensions remain unchanged.",
5455
"schema": {
5556
"type": "object",
56-
"subtype": "raster-cube"
57+
"subtype": "datacube"
5758
}
5859
},
5960
"exceptions": {
6061
"DimensionExists": {
6162
"message": "A dimension with the specified name already exists."
6263
}
6364
}
64-
}
65+
}

0 commit comments

Comments
 (0)