Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release openEO processes v2.0.0-rc.1 #21

Closed
m-mohr opened this issue May 4, 2023 · 7 comments
Closed

Release openEO processes v2.0.0-rc.1 #21

m-mohr opened this issue May 4, 2023 · 7 comments
Assignees
Labels

Comments

@m-mohr
Copy link
Member

m-mohr commented May 4, 2023

Background

We've collected improvements and useful new features for two years now, especially in the context of the openEO Platform project. This publishes clarifications and improvements to the public so that we don't need to work on the draft for too long. The processes also incorporate the long-awaited changes for vector data cubes. Unfortunately, this involves some breaking changes (e.g. the new subtype) and thus we are moving from 1.0 to 2.0. Due to the amount of (breaking) changes, I'd like to release a RC1 first so that we can evaluate whether this all works as expected and then cut the final release once some implementations confirm that the changes work as planned. The breaking changes are all listed in the chapter "Changed", the most impactful breaking changes are marked in a bold font.

You can review the changes at Open-EO/openeo-processes#439.

The following changes have been made to the processes in detail:

Added

  • New processes in proposal state:
    • date_between
    • date_difference
    • filter_vector
    • flatten_dimensions
    • load_geojson
    • load_url
    • unflatten_dimension
    • vector_buffer
    • vector_reproject
    • vector_to_random_points
    • vector_to_regular_points
  • add_dimension: Added new dimension type geometry. #68

Changed

  • Moved from proposals to stable processes:
    • array_append
    • array_concat
    • array_create
    • array_interpolate_linear
    • resample_cube_temporal
  • Added better support for labeled arrays. Labels are not discarded in all cases anymore. Affected processes:
    • array_append
    • array_concat
    • array_modify
  • array_modify: Change the default value for length from 1 to 0. #312
  • Renamed text_merge to text_concat for better alignment with array_concat and existing implementations.
  • apply_neighborhood:
    • Allow null as default value for units.
    • Input and Output for the process can either be data cubes or arrays (if one-dimensional). #387
  • run_udf: Allow all data types instead of just objects in the context parameter. #376
  • load_collection and load_result/load_stac:
    • Require at least one band if not set to null. #372
    • Added a NoDataAvailable exception
  • aggregate_temporal, filter_temporal, load_collection and load_result/load_stac:
    • The temporal intervals must always be non-empty, i.e. the second instance in time must be after the first instance in time. #331
    • 24 as the hour is not allowed anymore. #331
  • inspect: The parameter message has been moved to be the second argument. #369
  • mask and merge_cubes: The spatial dimensions x and y can now be resampled implicitly instead of throwing an error. #402
  • save_result: Added a more concrete DataCubeEmpty exception.
  • New definition for aggregate_spatial:
    • Allows more than 3 input dimensions #126
    • Allow to not export statistics by changing the parameter target_dimension #366
    • Clarify how the resulting vector data cube looks like #356
  • Renamed create_raster_cube to create_data_cube. #68
  • Updated the processes based on the subtypes raster-cube or vector-cube to work with the subtype datacube instead. #68
  • sort and order: The ordering of ties is not defined anymore. #409
  • quantiles: Parameter probabilities provided as array must be in ascending order. #297
  • 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
  • climatological_normal: The climatology_period parameter accepts an array of integers instead of strings. #331

Deprecated

  • aggregate_spatial, filter_spatial, load_collection, mask_polygon: GeoJSON input is deprecated in favor of load_geojson. #346

Removed

  • The examples folder has been migrated to the openEO Community Examples repository.
  • between: Support for temporal comparison. Use date_between instead. #331
  • Deprecated GeometryCollections are not supported any longer. #389
  • Deprecated PROJ definitions for the CRS are not supported any longer.
  • load_result:
    • Renamed to load_stac
    • The subtype job-id was removed in favor of providing a URL. #322, #377, #384
    • GeoJSON input is not supported any longer. Use load_geojson instead. #346
  • The comparison processes eq, neq, lt, lte, gt, gte and array_contains:
    • Removed support for temporal comparison. Instead explicitly use date_difference.
    • Removed support for the input data types array and object. #208
  • sort and order: Removed support for time-only values. #331

Fixed

  • aggregate_spatial:
    • Clarified that feature properties are preserved for vector data cubes and all GeoJSON Features. #270
    • Clarified that a TargetDimensionExists exception is thrown if the target dimension exists.
  • apply and array_apply: Fixed broken references to the absolute process
  • apply_dimension: Clarify the behavior for when a dimension gets 'dropped'. #357
  • apply_neighborhood:
    • Parameter overlap was optional but had no default value and no schema for the default value defined.
    • Clarified that the overlap must be included in the returned data cube but value changes are ignored. #386
    • Removed a conflicting statement that dimension labels can be changed. #385
  • array_contains and array_find: Clarify that giving null as value always returns false or null respectively, also fixed the incorrect examples. #348
  • array_interpolate_linear: Return value was incorrectly specified as number or null. It must return an array instead. #333
  • is_nan: Fixed a wrong description of the return value and simplified/clarified the process descriptions overall. #360
  • is_nodata: Clarified that NaN can be considered as a no-data value only if it is explicitly specified as no-data value. #361
  • merge_cubes: Clarified descriptions to better describe when a merge is possible. #379
  • rename_labels: Clarified that the LabelsNotEnumerated exception is thrown if source is empty instead of if target is empty. #321
  • round: Clarify that the rounding for ties applies not only for integers. #326
  • save_result: Clarified that the process always returns true (and otherwise throws). #334
  • Handling of empty geometries is clarified throughout the processes. #404

Proposal

I'm proposing to release openEO processes 2.0.0-rc.1 in May 2023.
I'll inform you here if any additional changes come in until we approved the release here.

Additional context

Deadline: June 1, 2023

@mkadunc
Copy link
Member

mkadunc commented May 8, 2023

👍 lgtm

@jdries
Copy link
Contributor

jdries commented May 10, 2023

+1 from VITO, thanks to @soxofaan

@m-mohr
Copy link
Member Author

m-mohr commented May 15, 2023

I'm +1, of course :-)

@edzer @neteler @aljacob @bschumac Your votes would be appreciated.

@m-mohr
Copy link
Member Author

m-mohr commented May 24, 2023

@edzer @neteler @aljacob @bschumac Your votes would be appreciated. The vote has currently been accepted of no vetoes come in.

@aljacob
Copy link
Member

aljacob commented May 25, 2023

+1

@aljacob aljacob removed their assignment May 25, 2023
@neteler
Copy link
Member

neteler commented May 25, 2023

+1 from my side

@m-mohr
Copy link
Member Author

m-mohr commented May 25, 2023

@m-mohr m-mohr closed this as completed May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants