A Machine Learning API for Earth Observation Data Cubes Based on openEO
Authors: Brian Pondi, Jonas Hurst, Rolf Simoes, Jonas Starke, Marius Appel, Edzer Pebesma
Organizations: Institute for Geoinformatics, University of Münster, Heisenbergstr. 2, Münster, 48149, North-Rhine Westphalia, Germany. · FGV Agro - Center for Agribusiness Studies, Fundação Getulio Vargas, Av. Paulista, 542, São Paulo, 01310-000, São Paulo, Brazil. · Bochum University of Applied Sciences, Am Hochschulcampus 1, Bochum, 44801, North-Rhine Westphalia, Germany.
Earth Observation (EO) data are increasingly organized as spatio-temporal data cubes, while machine learning (ML) methods operate on tabular feature matrices or structured tensor inputs. This mismatch forces platform-specific transformations that are difficult to reproduce or transfer across cloud infrastructures. The openEO specification provides a unified interface for EO data access and processing across heterogeneous backends, but lacks a standardized approach for ML integration. We propose a process-level ML specification for openEO structured into three stages: model initialization, model actions (training, tuning, inference, validation), and model management. It supports classical algorithms such as Random Forest and SVM, as well as deep learning architectures for time-series and spatial patch-based modeling, including TempCNN, Temporal Attention Encoders, and foundation model inference. Three prototype implementations in R and Python demonstrate feasibility across diverse technology stacks. A crop type mapping use case demonstrates cross-backend interoperability by submitting an identical process graph to independent R and Python backends and comparing predictions and evaluation metrics. Two further use cases demonstrate deep learning on time series and foundation model inference, each executed on a dedicated backend. The prototypes reveal, however, that full cross-backend portability requires deeper harmonization of serialization formats and execution semantics than the process level alone can enforce; backend library versions and preprocessing conventions outside the specification's boundary also affect reproducibility. Addressing both through explicit backend conformance profiles represents the most important near-term direction. The specification advances the reproducibility, portability, and accessibility of ML workflows on EO data cubes across cloud platforms.
Figures & tables
Figure 1: Representation transformations between EO data cubes, tabular feature matrices (classical ML), tensor representations (deep learning), and prediction cubes. Each transformation must bridge a structural mismatch between the cube’s named dimensions and the model’s expected input layout.
Figure 2: A workflow for converting image/raster files into a pixel-aligned image/raster data cube (x,y,time,band) . Adapted from Kopp et al. (2019) .
Process Name
Description
mlm_class_catboost
Initializes a CatBoost classification model for later training using ml_fit . Typical tunable parameters include the number of trees, learning rate, tree depth, loss function, and random seed.
mlm_class_mlp
Initializes a Multi-Layer Perceptron classification model. Tunable parameters include the number of hidden layers, units per layer, activation functions, learning rate, batch size, and training epochs.
mlm_class_random_forest
Initializes a Random Forest classification model for later training using ml_fit . Example tunable parameters include the number of trees and the maximum number of variables per split.
mlm_class_svm
Initializes a Support Vector Machine classification model. Tunable parameters include the kernel type, regularization parameter, and kernel coefficient.
mlm_class_xgboost
Initializes an XGBoost classification model for later training using ml_fit . Representative tunable parameters include learning rate, maximum tree depth, subsampling ratio, and regularization terms.
mlm_class_tempcnn
Initializes a Temporal Convolutional Neural Network model for time series classification. Tunable parameters include the number of convolutional layers, kernel sizes, dropout rates, optimizer settings, and learning rate.
Table 1: Examples of ML Initialization Processes (mlm_ prefix) with representative tunable parameters.
Process Name
Description
ml_fit
Fits a machine learning model to a data cube of input features and target values. Trains the model using the provided data and returns a trained model object.
ml_tune_grid
Performs grid-based hyperparameter tuning for an initialized machine learning model using user-defined parameter ranges and evaluation criteria.
ml_tune_random
Performs randomized hyperparameter tuning for an initialized machine learning model by sampling parameter configurations from user-defined distributions.
ml_validate
Evaluates a trained machine learning model against a user-provided validation set and computes user-selected performance metrics.
ml_validate_kfold
Accepts an untrained model and a full training set, performs k -fold cross-validation with internally managed fold assignment, and returns the model refitted on the full training set enriched with aggregate per-class and overall cross-validation scores.
ml_predict
Applies a trained machine learning model to a data cube of input features and returns the predicted values.
Table 2: ML Action Processes (ml_ prefix), including training, tuning, validation, and inference.
Process Name
Description
load_ml_model
Loads a machine learning model from the current backend by its ID and returns it for use in subsequent processes.
load_stac_ml
Loads a machine learning model from a STAC MLM Item into the current session, enabling reuse of externally catalogued models.
save_ml_model
Saves a trained machine learning model and produces an accompanying STAC Item compliant with the STAC MLM Extension, making the model discoverable and reusable by others.
Table 3: Model Management Processes.
Figure 3: openEO backend interaction with client libraries across languages.
openEOcubes
openEOcraft
openeo-processes-dask-ml
Language of implementation
R
R
Python
Full openEO backend
✓
✓
✗
Data cube engine
gdalcubes
sits
xarray
Supported ML frameworks
R Torch, Caret
R Torch, Caret
PyTorch, Scikit-Learn
Engineered feature vectors
✓
✓
✓
Pixel-wise time series
✓
✓
✓
Table 4: Overview of the three prototype implementations of the proposed ML specification and their respective capabilities. Color coding distinguishes the two R-based backends, openEOcubes and openEOcraft (blue), from the Python-based openeo-processes-dask-ml backend (green). Checkmarks indicate supported features; crosses indicate features not yet implemented.
openEOcubes
openeo-processes-dask-ml
Overall Accuracy
0.82
0.82
Class
Precision
Recall
F1
Precision
Recall
F1
Barley
0.93
0.87
0.90
0.94
0.90
0.92
Corn
0.98
0.98
0.98
0.99
0.96
0.97
Permanent meadows
0.65
0.63
0.64
0.70
0.56
0.62
Rapeseed
0.99
0.97
0.98
1.00
1.00
1.00
Table 5: Per-class precision, recall, and F1 score for the Random Forest crop type classifier on the held-out prediction region.
Figure 5: Crop type maps for the prediction region in Brittany (Breizh), France, produced by applying the trained Random Forest classifier to the Sentinel-2 data cube. The maps show the spatial distribution of the six crop classes included in the BreizhCrops training dataset, as produced by the openeo-processes-dask-ml (top) and openEOcubes (bottom) implementations.
Figure 6: Relative frequency of classes assigned to a pixel in the prediction area for the openEOcubes and openeo-processes-dask-ml implementations.
Run
Learning rate
Epochs
Validation accuracy (%)
1
0.0005
20
89.6
2
0.0005
40
93.1
3
0.0001
20
86.4
4
0.0001
40
88.2
Table 6: TempCNN grid search results on the Rondônia training set. Run 2 was selected for final training.
Figure 8: Land cover classification map for the Rondônia study area, generated by applying the trained TempCNN model to Sentinel-2 time series. The map shows the spatial distribution of the nine land cover classes used in training and demonstrates execution of a deep learning workflow on EO data cubes, from preprocessing and inference to export of a categorical output cube.
Figure 9: Conceptual chaining of load_stac_ml and ml_predict to transform a Sentinel-2 EO data cube into a data cube of embeddings using the TerraMind foundation model.
Recent years have seen a rapid expansion in the production of large-scale geospatial maps derived from Earth observation (EO) data, driven largely by advances in machine learning (ML) and large computing infrastructure. Although the barrier to generating such maps has dropped substantially, established best practices have yet to emerge, and design decisions made early in the pipeline can quietly propagate errors into the final product. Producing a technically sound and scientifically credible product remains challenging. Choices made at every stage are tightly coupled: preprocessing decisions shape the training signal, dataset design governs what the model can learn and how reliably its performance can be assessed, and global-scale inference introduces engineering challenges in compute and data access at scale, as well as artifact mitigation. Furthermore, uncertainty quantification and independent map validation each require dedicated methodological attention that is often underestimated. This paper presents a concise, end-to-end account of the recommended practices spanning the pipeline from satellite data to an operational map product. We organize the discussion around six interconnected themes: the EO data infrastructure landscape, data selection and preprocessing, ML dataset construction and model training, uncertainty quantification, map production and distribution, and validation. This paper is a condensed version of a longer guide that provides greater depth across all stages, accessible online at ghjuliasialelli.github.io/ML-EO-Maps/.
Ghjulia Sialelli, Robin Young, Yuchang Jiang +9
Photogrammetry and Remote Sensing, ETH Zurich, Switzerland · ETH AI Center, Zurich, Switzerland · Dept. of Computer Science and Technology, University of Cambridge, UK +6
Earth Observation (EO) analysis is inherently interactive: resolving uncertainty often requires expanding the region of interest, retrieving historical observations, and switching across sensors such as optical and Synthetic Aperture Radar. However, most EO benchmarks collapse this process into fixed-input, single-turn tasks. To address this gap, we present EO-Gym, a controlled executable framework for multimodal, tool-using EO agents that formulates EO analysis as a Gymnasium-style local geospatial workspace backed by more than 660k multimodal files indexed by location, time, and sensor type, with 35 EO-specialized tools spanning six task families. Built on this environment, we construct EO-Gym-Data, a benchmark of 9,078 trajectories and 34,604 reasoning steps, and grounded in eight public EO datasets together with Landsat and Sentinel-2 imagery. Evaluating 10 open and closed VLMs shows that strong general-purpose models still struggle with interactive EO reasoning, especially on temporal and cross-modal workflows. As a reference baseline, EO-Gym-4B, obtained by fine-tuning Qwen3-VL-4B-Instruct on EO-Gym-Data, improves overall Pass@3 from 0.49 to 0.74 under the main evaluation setting. O-Gym provides a reproducible environment for interactive EO agents, operationalizing EO as an evidence-gathering problem that requires planning across geospatial, temporal, and sensing modality.
Sai Ma, Zhuang Li, Sichao Li +4
The Australian National University · Royal Melbourne Institute of Technology · University of Sydney +1
The growing availability of Earth Observation (EO) data and recent advances in Computer Vision have driven rapid progress in machine learning for EO, producing domain-specific models at ever-increasing scales. Yet this progress risks overlooking fundamental properties of EO data that distinguish it from other domains. We argue that EO data exhibit a multidimensional redundancy (spectral, temporal, spatial, and semantic) which has a more pronounced impact on the domain and its applications than what current literature reflects. To validate this hypothesis, we conduct a systematic domain-specific investigation examining the existence, consistency, and practical implications of this phenomenon across key dimensions of EO variability. Our findings confirm that redundancy in EO data is both substantial and pervasive: exploiting it yields comparable performance (≈98.5% of baseline) at a fraction of the computational cost (≈4× fewer GFLOPs), at both training and inference. Crucially, these gains are consistent across tasks, geospatial locations, sensors, ground sampling distances, and architectural designs; suggesting that multi-faceted redundancy is a structural property of EO data rather than an artifact of specific experimental choices. These results lay the groundwork for more efficient, scalable, and accessible large-scale EO models.
Tasos Papazafeiropoulos, Nikolaos Ioannis Bountos, Nikolas Papadopoulos +1
Orion Lab National Observatory of Athens & National Technical University of Athens · Independent Researcher