Architecture and software building-blocks for data exploitation and platform interoperability.
EOEPCA+ Stable 2.0 is the current baseline release. See the Release Notes and 2.0 Deployment Guide.
The previous EOEPCA release (v1.4) is still available via its 1.4 Deployment Guide.
Earth Observation (EO) data has quickly evolved into an indispensable resource, directly facilitating solutions for society's most pressing challenges. This intensifying influx of data, oftentimes distributed across multiple independent platforms, presents a significant challenge for end-users in efficiently accessing and collaborating on critical geospatial tasks. Nevertheless, these platforms are more commonly collocated with cloud computing resources and applications such that users are now able to perform geospatial analysis tasks remotely. Working in the cloud bypasses traditional download, storage and performance limitations, however the distributed nature of these platform networks introduces complexities in the free and collective access to this remote geospatial data.
Our vision with EOEPCA+ then is for greater interoperability between such platforms, towards an open network of resources, whilst enabling current and future users to easily collaborate on geospatial analysis tasks at source. To this end we are helping to establish a consensus of best practice for EO Exploitation Platforms, based on open standards. Supporting that, we are developing a reference implementation of building blocks, as free open source software.
The goal of the EOEPCA+ "Common Architecture" is therefore to define and agree the technical interfaces for the future exploitation of Earth Observation data in a distributed environment. The Common Architecture will provide the interfaces to facilitate the federation of different EO resources into a "Network of EO Resources". The "Common Architecture" will be defined using open interfaces that link the different Resource Servers (building blocks) so that a user can efficiently access and consume the disparate services of the "Network of EO Resources".
Bugs and Feature Requests
Please report any bugs encountered, and we welcome feature requests.
These are triaged via oureoepca-plusumbrella repository.
Tutorials
Building blocks have interactive tutorials that you can run in two ways. Some are available directly on Killercoda. Most are provided as Localcoda scenarios, which you run on your own machine or cluster. This is because many building blocks need more resources than Killercoda's VMs can provide. Clone the scenario repo, follow the Localcoda README to get it running, and point it at the scenario you want.
Platform Resources...
| Building Block | Docs | Deploy | Repo | Notebook | Tutorial | Status |
|---|---|---|---|---|---|---|
| Data Access Services for data retrieval and visualisation |
Docs | Deploy | Repo | Notebook | Localcoda | 2.0 Stable |
| Resource Discovery Catalogue for platform resources |
Docs | Deploy | Repo | Notebook | Killercoda | 2.0 Stable |
| Resource Registration Ingesting resources into catalogue and access services |
Docs | Deploy | Repo | Notebook | Localcoda | 2.0 Stable |
| Datacube Access Discovery, access and transformation of multi-dimensional data |
Docs | Deploy | Repo | Notebook | Killercoda | 2.0 Stable |
| Workspace User/Project management of owned platform resources and services |
Docs | Deploy | Repo | Notebook | Localcoda | 2.0 Stable |
User-defined Processing...
| Building Block | Docs | Deploy | Repo | Notebook | Tutorial | Status |
|---|---|---|---|---|---|---|
| OGC API Processes - Processing Execution of OGC Application Packages via OGC API Processes |
Docs | Deploy | Repo | Notebook | Localcoda (Calrissian) Killercoda (Toil) |
2.0 Stable |
| openEO - Processing Programmatic execution of analytic workflows via openEO backends |
Docs | Deploy | Repo | Notebook | Localcoda (Geotrellis) | 2.0 Stable |
User Analysis and Exploitation...
| Building Block | Docs | Deploy | Repo | Notebook | Tutorial | Status |
|---|---|---|---|---|---|---|
| MLOps Machine Learning model development, training and asset management |
Docs | Deploy | Repo | Notebook | Coming soon |
Release Candidate |
| Application Hub Web-enabled interactive applications, dashboards and development tooling |
Docs | Deploy | Repo | N/A | Localcoda | 2.0 Stable |
| Application Quality Support best practice development for open science |
Docs | Deploy | Repo | Notebook | Localcoda | 2.0 Stable |
| Resource Health Supports platform operators and users to monitor the health of their published resources |
Docs | Deploy | Repo | Notebook | Localcoda | Release Candidate |
| Notification & Automation Event-driven asynchronous communications with support for triggers linked to automated behaviour |
Docs | Coming soon |
Repo | Coming soon |
Coming soon |
Coming Soon |
Platform Federation...
| Building Block | Docs | Deploy | Repo | Notebook | Tutorial | Status |
|---|---|---|---|---|---|---|
| IAM Identity & Access Management |
Docs | Deploy | Repo | Notebook | Localcoda | 2.0 Stable |
| Federated Orchestrator Federation of workflow execution across multiple platforms |
Docs | Coming soon |
Repo | Coming soon |
Coming soon |
Beta |
| Data Gateway Consolidated discovery/access to the data offering of an extensible set of data providers |
Docs | Deploy | Repo | Notebook | Killercoda | 2.0 Stable |
| Application | |
|---|---|
| Processor Development Environment | Repo |
| JupyterLab | Repo |
| Remote Desktop | Repo |
| Remote Desktop with QGIS | Repo |
| Remote Desktop with SNAP | Repo |
| Remote Desktop with Panoply | Repo |
| Dashboard with Streamlit | Repo |
A collection of tools and utilities provided by EOEPCA and its partners that support use of STAC - in particular helpers for passing data in/out of processing workflows.
For more details see the STAC Tools and Utilities page in the EOEPCA+ Documentation.
| Tool | Description | |
|---|---|---|
| EODAG | Generic data gateway providing consolidated discovery and access across multiple data providers. Also offers the Python function augment_with_xarray for extracting metadata from data and generating STAC-compliant representations |
Repo |
| STAC Catalogue Utilities | Python library that helps to generate a STAC catalog from the files output as results of processing tasks. Motivated to support applications development in accordance with the OGC Best Practice for Application Packages | Repo |
| MLOps STAC Abstractions | Provides pre/post containers that are designed to be introduced into ML inference workflows to abstract the use of STAC in accordance with the OGC Best Practice for Application Packages | Repo soon... |
| STAC Catalogue Builder | Tool that generates a STAC collection from a set of GeoTiff images - mainly intended to create STAC collections and catalogs for use in openEO, with the load_stac process |
Repo |
| rio-stac | Simple rasterio plugin (built on pystac) for creating valid STAC items from a raster dataset |
Repo |
See also stac-utils.