Skip to content

Hv add wac #219

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

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[
{
"id": "WorldAgriCommodities",
"type": "openeo",
"description": "openEO pipeline for agricultural feature extraction and model inference using Sentinel-1 and Sentinel-2 data of the WorldAgriCommodities project",
"backend": "openeo.dataspace.copernicus.eu",
"process_graph": {
"parcel_delineation1": {
"process_id": "wac_inference",
"namespace": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/96dfa13ba74ccbfb3432c6ebd38c42e704526e79/algorithm_catalog/wur/worldagrocommodities/records/wac_inference.json",
"arguments": {
"spatial_extent": {
"west": 716200,
"south": 605530,
"east": 722380,
"north": 612410,
"crs": "EPSG:32630"
},
"temporal_extent": [
"2023-06-01",
"2023-09-01"
]
},
"result": true
}
},
"reference_data": {
}
}
]


38 changes: 38 additions & 0 deletions algorithm_catalog/wur/worldagrocommodities/openeo_udp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# World Agri Commodities (WAC) Processing Pipeline
This repository implements an end-to-end openEO pipeline for agricultural feature extraction and model inference using Sentinel-1 and Sentinel-2 data, a suite of preprocessing steps, vegetation indices, and a sliding-window ONNX model. The ML model was trained to classify agriculture activity for specific commodities in the context of ESA's World Agro Commodities project

## Algorithm and Workflow
### 1 Data Loading

Sentinel-2 L2A (optical) and Scene Classification Layer (SCL) for cloud masking

Sentinel-1 global mosaics (VV and VH)

Digital Elevation Model (COPERNICUS_30)

### 2 Preprocessing

Spatial reprojection & resampling (CRS EPSG:3035, resolution 10 m)

Cloud mask dilation on SCL → mask optical bands

Monthly aggregation (mean) on Sentinel-2, decimation on Sentinel-1 (log transform), DEM temporal mean

Compute vegetation indices (NDVI, NDRE, EVI)

Apply lat/lon UDF to add geographic coordinates

### 3 Normalization

Optical bands: scale, log-transform, nonlinear sigmoid normalization

Linear bands: min–max clipping and scaling for indices, radar backscatter, DEM, lat/lon

### 4 Model Inference

Patch-based sliding window (size 128×128 px, overlap 64 px) via apply_neighborhood UDF

ONNX U-Net model loaded at runtime

Output bands renamed to sigmoid_prob_class_0…prob_class_{N-1} plus prob_class

Loading