Skip to content

SARScripts/openeo_odc_driver

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
img
 
 
 
 
 
 
 
 

OpenEO_ODC_Driver

OpenEO processing engine written in Python based on OpenDataCube, Xarray and Dask.

Installation

Step 1: Clone the repository

git clone https://github.com/SARScripts/openeo_odc_driver.git
cd openeo_odc_driver

Step 2: Prepare the python environment

New ad-hoc conda environment:

conda env create -f environment.yml
conda activate openeo_odc_driver
git clone https://github.com/clausmichele/openeo-pg-parser-python.git
cd openeo-pg-parser-python
pip install .

Alternatively, on existing environment:

# pip libraries
python -m pip install geopandas gdal sklearn rioxarray dea_tools

# openEO parser
git clone https://github.com/Open-EO/openeo-pg-parser-python
cd openeo-pg-parser-python
python setup.py install

# odc-algo/odc-aws
python -m pip install --extra-index-url="https://packages.dea.ga.gov.au" odc-algo odc-aws

Step 3:

Modify the code with your system's details:

  1. In odc_backend.py you have to insert the datacube-explorer address and the OpenDatcube config file path:
DATACUBE_EXPLORER_ENDPOINT = "http://0.0.0.0:9000"
OPENDATACUBE_CONFIG_FILE = ""
  1. In odc_wrapper.py you have to insert the path of the OpenDataCube config file datacube.conf:
OPENDATACUBE_CONFIG_FILE = ""
  1. In openeo_odc_driver.py you have to insert the Dask Scheduler address and the tmp folder to write output files:
DASK_SCHEDULER_ADDRESS = ''
TMP_FOLDER_PATH        = '' # Has to be accessible from all the Dask workers

If the environment creation step fails please create a Python 3.7 environment environment with the following libraries: gdal, xarray, rioxarray, dask, numpy, scipy, opencv and their dependencies.

Step 4: Start the web server:

gunicorn -c gunicorn.conf.py odc_backend:app

Implemented OpenEO processes

aggregate & resample

  • resample_cube_temporal
  • resample_cube_spatial

arrays

  • array_element

comparison

  • if
  • lt
  • lte
  • gt
  • gte
  • eq
  • neq

cubes

  • load_collection
  • save_result (PNG,GTIFF,NETCDF)
  • reduce_dimension (dimensions: t (or temporal), bands)
  • filter_bands
  • filter_temporal
  • rename_labels
  • merge_cubes
  • apply

logic

  • and
  • or

masks

  • mask

math

  • multiply
  • divide
  • subtract
  • add
  • sum
  • product
  • sqrt
  • normalized_difference
  • min
  • max
  • mean
  • median
  • power
  • absolute
  • linear_scale_range

experimental processes (SAR2Cube)

  • aggregate_spatial_window
  • coherence
  • geocoding
  • radar_mask

About

OpenEO processing engine written in Python based on OpenDataCube, Xarray and Dask.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages