All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2021-06-29
- New processes in proposal state
array_append
array_concat
array_create
array_create_labeled
array_find_label
array_interpolate_linear
#173array_modify
date_shift
is_infinite
nan
reduce_spatial
- Added return value details (property
returns
) for the schemas with the subtypeprocess-graph
. API#350 apply_neighborhood
: Clarify behavior for data cubes returned by the child processes and for that add the exceptionDataCubePropertiesImmutable
.- Added a guide for implementors that describes numerours implementation details for processes that could not be covered in the specifications itself, for example a recommended implementation for the
if
process. #246
- Added
proposals
folder for experimental processes. Experimental processes are not covered by the CHANGELOG and MAY include breaking changes! #196, #207, PSC#8- Moved the experimental process
run_udf_externally
to the proposals. - 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.
- Moved the experimental process
- Exception messages have been aligned always use ` instead of '. Tooling could render it with CommonMark.
load_collection
andmask_polygon
: Also support multi polygons instead of just polygons. #237run_udf
andrun_udf_externally
: Specify specific (extensible) protocols for UDF URIs.resample_cube_spatial
andresample_spatial
: Aligned with GDAL and addedrms
andsum
options to methods. Also added better descriptions.resample_cube_temporal
: Process has been simplified and only offers the nearest neighbor method now. Theprocess
parameter has been removed, thedimension
parameter was made less restrictive, the parametervalid_within
was added. #194
GeometryCollection
s are discouraged in all relevant processes.
- Removed the experimental processes
aggregate_spatial_binary
andreduce_dimension_binary
. #258
- Clarify that the user workspace is server-side. #225
- Clarify that the
condition
parameter forarray_filter
works also on indices and labels. - Clarify contradicting statements in
filter_temporal
for the default value of thedimension
parameter. By default all temporal dimensions are affected by the process. #203 - Clarify how the parameters passed to the overlap resolver correspond to the data cubes. #184
- Improve and clarify specifications for
is_nan
,is_nodata
,is_valid
. #189 - Improve and clarify specifications for
all
andany
. #189 array_element
: Clarify thatArrayNotLabeled
exception is thrown when parameterlabel
is specified and the given array is not labeled.array_apply
,array_element
,array_filter
: Added theminimum: 0
constraint to all schemas describing zero-based indices (parameterindex
).array_labels
: Clarified the accepted data type for array elements passed to the parameterdata
.merge_cubes
: Clarified the dimension label order after the merge. #212merge_cubes
: Clarified the fourth example. #266- Fixed typos, grammar issues and other spelling-related issues in many of the processes.
- Fixed the examples
array_contains_nodata
andarray_find_nodata
. - Fixed links to openEO glossary and added links to data cube introduction. #216
- Fixed description of
apply_dimension
with regards to reference systems. Made description easier to understand, too. #234 - Clarified disallowed characters in subtype
file-path
. - Clarified that UDF source code must contain a newline/line-break (affects
run_udf
). aggregate_spatial
,aggregate_spatial_binary
: Clarified that Features, Geometries and GeometryCollections are a single entity in computations. Only FeatureCollections are multiple entities. #252aggregate_spatial
: Clarified that the values have no predefined order and reducers such asfirst
andlast
return unpredictable results. #260load_collection
, parameterspatial_extent
: Clarified that all pixels that are inside the bounding box of the given polygons but do not intersect with any polygon have to be set to no-data (null
). #256load_collection
: Clarified that the parameters are recommended to be used in favor offilter_*
processes.aggregate_temporal
andaggregate_temporal_period
: Clarified that reducers are also executed for intervals/periods with no data. #263dimension_labels
: Clarified that the process fails with aDimensionNotAvailable
exception, if a dimension with the specified name does not exist.
1.0.0 - 2020-07-31
subtype-schemas.json
: A list of predefined subtypes is available as JSON Schema; Moved over from openeo-api.- Processes:
aggregate_temporal_period
anomaly
apply_neighborhood
climatological_normal
constant
- Process graphs added to:
mean
median
apply_kernel
: Added parametersborder
andreplace_invalid
#170- Folder with examples (
examples/
). #136
any
andall
: Renamed parametervalues
todata
. #147load_collection
: Parameterproperties
has subtypemetdata-filter
.- Examples adapted to latest API version for
aggregate_temporal
,array_contains
,array_find
,filter_labels
,load_collection
andrename_labels
. #136, API#285 - Some processes were assigned to different categories.
- Process graph examples from
arccos
,arcsin
,arctan
,arsinh
,artanh
,e
,ln
andpi
. API#285
apply_kernel
:load_collection
: Removed outdatedrequire
property fromvalue
callback parameter in process parameterproperties
.filter_bbox
,load_collection
,resample_spatial
: Fixed invalid EPSG code examples.aggregate_temporal
: Fixed outdated message for exceptionTooManyDimensions
.clip
: Fixed examples.linear_scale_range
: Clarify that the process implicitly clips the values. #159mean
: Clarify behavior for arrays withnull
-values only.mod
: Clarified behavior. #168resample_*
: Clarified behavior.first
,last
,max
,mean
,median
,min
,sd
,variance
: Clarify behavior for arrays withnull
-values only.- Clarified (and fixed if necessary) for all processes in the "cubes" category the descriptions for the returned data cube. #149
1.0.0-rc.1 - 2020-01-31
- Processes:
add
aggregate_spatial
aggregate_spatial_binary
all
any
array_apply
array_contains
array_filter
array_find
array_labels
dimension_labels
drop_dimension
filter_labels
filter_spatial
load_uploaded_files
mask_polygon
reduce_dimension
reduce_dimension_binary
rename_labels
- Support for labeled arrays. API#245
- Process graphs for processes that can be implemented using other pre-defined processes. #137
context
parameters to all processes which support passing process graphs (callbacks) as parameters. #25- Added further examples.
- The JSON Schema keyword
format
has been replaced with the custom keywordsubtype
. - Schema format/subtype
callback
has been renamed toprocess-graph
. - Default values are now specified on the parameter-level, not in the JSON schemas.
- Parameters are now required by default.
- Parameters are defined as array.
parameter_order
is therefore removed and the name is part of the parameter object. API#239 - Callback parameters have a new, more advanced schema, allowing to define more aspects of the callback parameters. API#239
- Processes supporting multiple data types in parameters or return values with
anyOf
are now listing the data types directly as array.anyOf
is discouraged. - Comparison processes
eq
,gt
,gte
,lt
,lte
,neq
andbetween
accept all data types as input for the operands. add_dimension
: Parametervalue
renamed tolabel
.aggregate_polygon
,aggregate_temporal
,apply_dimension
,array_element
andresample_cube_temporal
: Support labeled arrays. API#245aggregate_polygon
: The data cube implicitly gets restricted to the bounds of the polygons as iffilter_polygon
would have been used beforehand. #101aggregate_temporal
: Parameterlabels
is optional. #19apply_dimension
: Replaced with a completely new definition. #73apply_kernel
: Only supported 2D kernels on the horizontal spatial dimensions. #69clip
: Works on a single value instead on arrays (replaced parameterdata
withx
). #75count
: Renamed parameterexpression
tocondition
.debug
: Replaced with a completely new definition. #82, API#100, API#214filter_bands
: Merged parametersbands
andcommon_names
. #77if
:- Doesn't pass through
null
, but insteadnull
leads to rejecting the condition. - Parameter
expression
renamed tovalue
. - Parameter
accept
is required. - Parameter
reject
defaults tonull
.
- Doesn't pass through
load_collection
:- Parameter
bands
accepts common band names. #77 - Parameter
properties
: Callback parametervalue
renamed tox
.
- Parameter
mask
: Clarifies behavior for missing dimensions in the mask. #55merge_cubes
works with binary reduction operators instead of list-based reducers. #94ndvi
andnormalized_difference
: Rewrite of the processes with a completely new behavior. #60not
: Parameterexpression
renamed tox
.resample_spatial
: Default value of parameteralign
changed fromlower-left
toupper-left
. #61- The following operations work on two values instead on a sequence of values:
and
,divide
,multiply
,or
,subtract
,xor
. #85 product
works as before, but is not an alias ofmultiply
any longer. #85text_begins
,text_contains
,text_ends
:null
values are supported and get passed through.trim
: Renamed totrim_cube
.
filter_bbox
,load_collection
,resample_spatial
: PROJ definitions are deprecated in favor of EPSG codes and WKT2. #58
- The following processes don't support
ignore_nodata
any longer:and
,divide
,multiply
,or
,subtract
,xor
. #85 - The following processes don't support
binary
any longer:aggregate_temporal
,merge_cubes
,resample_cube_temporal
. #94 - Support for vector data cubes, except for the processes
aggregate_poylgon
andsave_result
. #68 filter_temporal
andload_collection
: Temporal extents don't support time-only intervals any longer. #88mask
: The mask parameter doesn't accept vectors (polygons) any longer. Use processmask_polygon
instead. #110- Processes:
aggregate_polygon
. Useaggregate_spatial
oraggregate_spatial_binary
instead. #62find_collections
: Useload_collection
and manual data discovery through the clients. API#52filter
: Usefilter_labels
instead.filter_polygon
. Usefilter_spatial
instead. #37output
: Usedebug
instead.property
#84reduce
: Usereduce_dimension
ordrop_dimension
instead.run_process_graph
: Use user-defined processes directly in the process graph instead.
- Several clarifications in written texts. #86
between
may return anull
value.filter_bbox
,load_collection
: The schema for the propertycrs
in the parametersextent
/spatial_extent
contained invalid JSON Schema.merge_cubes
: Clarified merging behavior with several examples.
0.4.2 - 2019-06-11
- Added examples.
- Fixed outdated process examples.
0.4.1 - 2019-05-29
- Added
band-name
format toload_collection
andfilter_bands
properties.
product
: Added exceptions and examples- Clarified error handling related to dimension parameters.
0.4.0 - 2019-03-07
First version which is separated from the openEO API. Complete rework of all processes.
Older versions of the processes were released as part of the openEO API, see the corresponding changelog for more information.