Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

OpenEO WCPS driver prototype for proof of concept



  • API version: 0.4.2
  • JAVA: 8

This repository serves for the development of the openEO driver for WC(P)S backends.


OpenEO project description

OpenEO core API definition

openEO core API

Public testing endpoint (hosted @ Eurac Research)

Usage of the service

Currently implemented features

  1. Listing implemented endpoints through: / (GET)
  2. Listing implemented versions: /.well-known/openeo (GET)
  3. Listing implemented processes through: /processes (GET)
  4. Listing available datasets through: /collections (GET)
  5. Authentication via http BASIC: /credentials/basic (GET)
  6. Authentication via openID connect: /credentials/oidc (GET)
  7. Information on authenticated user: /me (GET)
  8. List of uploaded files: /files/{user_id} (GET)
  9. Upload file: /files/{user_id}/path (PUT)
  10. Download file: /files/{user_id}/path (GET)
  11. Delete file: /files/{user_id}/path (DELETE)
  12. List of stored process graphs: /process_graphs (GET)
  13. Save process graph: /process_graphs (POST)
  14. Get detailed information on stored process graph: /process_graphs/{process_graph_id} (POST)
  15. Update stored process graph: /process_graphs/{process_graph_id} (PATCH)
  16. Deletestored process graph: /process_graphs/{process_graph_id} (DELETE)
  17. List of submitted jobs: /jobs (GET)
  18. Submission of jobs via: /jobs (POST)
  19. Status of specific job: /jobs/{job_id} (GET)
  20. Update a specific job: /jobs/{job_id} (PATCH)
  21. Delete a specific job: /jobs/{job_id} (DELETE)
  22. Submit a specific job to processing queue: /jobs/{job_id}/results (POST)
  23. Obtain list of results of a specific job: /jobs/{job_id}/results (GET)
  24. Direct execution and result retrieval via /results (POST)
  25. Processing of raster
  • subsetting in crs projection space
  • Normalied Difference Vegetation Index
  • Arithemeatic, logarithmic and Trigonometric Processing
  • Boolean operations possible except on Date, Time or Strings
  • Reprojection of 2D raster to any EPSG registered projection
  • Linear scaling of raster defined by input and output min and max values
  1. Download of image as
  • tiff
  • png
  • jpeg
  1. Processing of time series of raster
  • subsetting along time axis
  • Min compositing along time axis
  • Max compositing along time axis
  1. Download of time series as
  • json
  • csv
  • netcdf

Setup of the service

Operating environment dependencies

  • Web server capable of hosting a war archive (e.g. apache tomcat).
  • WCPS compliant web service (e.g. rasdaman 9.8)
  • A signed and trusted certificate for setup of https
  • A database for user data management (e.g. in most simple case tomcat-users.xml)
  • sqlite3 for management of authentication and batch job processing database
  • disk storage for hosting of results temporarily from process graph execution.
  • (optional) link to identy provider service


Configuration of the running service is done in the file, which should be in the class path of the war file.

  • wcps-endpoint should give the location of the wcps endpoint that executes processing requests
  • job-database should point to the location of the sqlite database that handles job persistence

Compiling the WAR-archive

The current git project is setup as a runnable web archive maven project in eclipse. In order to compile the source simple run maven clean install. The project is configured to pack all necessary dependencies into the WAR so no extra libraries need to be installed on the host machine running the web server instance and one simply needs to copy the war archive into the e.g. the webapps folder of a tomcat installation.

Migration Plan for v0.4

  • process graph validation
  • implementation of a wider set of processes
  • authorization on resources


A prototype implementation for WC(P)S backends







No releases published


No packages published