OpenEO WCPS driver prototype for proof of concept
This driver has been deprecated in favor of the openeo-spring-driver
[]()
Information
- API version: 0.4.2
- JAVA: 8
This repository serves for the development of the openEO driver for WC(P)S backends.
Links
OpenEO project description
openEO.org
OpenEO core API definition
openEO core API
Public testing endpoint (hosted @ Eurac Research)
https://openeo.eurac.edu
Usage of the service
Currently implemented features
- Listing implemented endpoints through: / (GET)
- Listing implemented versions: /.well-known/openeo (GET)
- Listing implemented processes through: /processes (GET)
- Listing available datasets through: /collections (GET)
- Authentication via http BASIC: /credentials/basic (GET)
- Authentication via openID connect: /credentials/oidc (GET)
- Information on authenticated user: /me (GET)
- List of uploaded files: /files/{user_id} (GET)
- Upload file: /files/{user_id}/path (PUT)
- Download file: /files/{user_id}/path (GET)
- Delete file: /files/{user_id}/path (DELETE)
- List of stored process graphs: /process_graphs (GET)
- Save process graph: /process_graphs (POST)
- Get detailed information on stored process graph: /process_graphs/{process_graph_id} (POST)
- Update stored process graph: /process_graphs/{process_graph_id} (PATCH)
- Deletestored process graph: /process_graphs/{process_graph_id} (DELETE)
- List of submitted jobs: /jobs (GET)
- Submission of jobs via: /jobs (POST)
- Status of specific job: /jobs/{job_id} (GET)
- Update a specific job: /jobs/{job_id} (PATCH)
- Delete a specific job: /jobs/{job_id} (DELETE)
- Submit a specific job to processing queue: /jobs/{job_id}/results (POST)
- Obtain list of results of a specific job: /jobs/{job_id}/results (GET)
- Direct execution and result retrieval via /results (POST)
- 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
- Download of image as
- Processing of time series of raster
- subsetting along time axis
- Min compositing along time axis
- Max compositing along time axis
- Download of time series as
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
Configuration of the running service is done in the config.properties 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
-