Skip to content
@EOEPCA

EOEPCA

EO Exploitation Platform Common Architecture

EOEPCA+ - EO Exploitation Platform Common Architecture

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.

Migrating from an earlier version? See the CHANGELOG for more details.

See EOEPCA+ Release Strategy for details on versioning and release cycles.

See EOEPCA+ Building-Block Security Best Practice for details on recommended security practices.


Enquiries and Support Requests

If you have a question or require some technical support, then please raise a Support Request via this form.


Overview

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".


EOEPCA+ Building Blocks

Bugs and Feature Requests
Please report any bugs encountered, and we welcome feature requests.
These are triaged via our eoepca-plus umbrella 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 BlockStatusDocsDeployRepoNotebookTutorial
Data Access
Services for data retrieval and visualisation
2.0 StableDocsDeployRepoNotebookLocalcoda
Resource Discovery
Catalogue for platform resources
2.0 StableDocsDeployRepoNotebookKillercoda
Resource Registration
Ingesting resources into catalogue and access services
2.0 StableDocsDeployRepoNotebookLocalcoda
Datacube Access
Discovery, access and transformation of multi-dimensional data
2.0 StableDocsDeployRepoNotebookKillercoda
Workspace
User/Project management of owned platform resources and services
2.0 StableDocsDeployRepoNotebookLocalcoda

User-defined Processing...

Building BlockStatusDocsDeployRepoNotebookTutorial
OGC API Processes - Processing
Execution of OGC Application Packages via OGC API Processes
2.0 StableDocsDeployRepoNotebookLocalcoda (Calrissian)
Killercoda (Toil)
openEO - Processing
Programmatic execution of analytic workflows via openEO backends
2.0 StableDocsDeployRepoNotebookLocalcoda (Geotrellis)

User Analysis and Exploitation...

Building BlockStatusDocsDeployRepoNotebookTutorial
Application Hub
Web-enabled interactive applications, dashboards and development tooling
2.0 StableDocsDeployRepoN/ALocalcoda
Application Quality
Support best practice development for open science
2.0 StableDocsDeployRepoNotebookLocalcoda
MLOps
Machine Learning model development, training and asset management
Release CandidateDocsDeployRepoNotebookComing
soon
Resource Health
Supports platform operators and users to monitor the health of their published resources
Release CandidateDocsDeployRepoNotebookLocalcoda
Notification & Automation
Event-driven asynchronous communications with support for triggers linked to automated behaviour
Coming SoonDocsComing
soon
RepoComing
soon
Coming
soon

Platform Federation...

Building BlockStatusDocsDeployRepoNotebookTutorial
IAM
Identity & Access Management
2.0 StableDocsDeployRepoNotebookLocalcoda
Data Gateway
Consolidated discovery/access to the data offering of an extensible set of data providers
2.0 StableDocsDeployRepoNotebookKillercoda
Federated Orchestrator
Federation of workflow execution across multiple platforms
Coming SoonDocsComing
soon
RepoComing
soon
Coming
soon

Application Hub Applications

Application
Processor Development EnvironmentRepo
JupyterLabRepo
Remote DesktopRepo
Remote Desktop with QGISRepo
Remote Desktop with SNAPRepo
Remote Desktop with PanoplyRepo
Dashboard with StreamlitRepo

STAC Tools and Utilities

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.

ToolDescription
EODAGGeneric 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 representationsRepo
STAC Catalogue UtilitiesPython 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 PackagesRepo
MLOps STAC AbstractionsProvides 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 PackagesRepo
soon...
STAC Catalogue BuilderTool 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 processRepo
rio-stacSimple rasterio plugin (built on pystac) for creating valid STAC items from a raster datasetRepo

See also stac-utils.

Release Strategy

EOEPCA+ releases are well supported and actively maintained by the development teams.

Releases follow Semantic Versioning with repository tags in the form eoepca-MAJOR.MINOR (optionally eoepca-MAJOR.MINOR.PATCH).

For example, Release 2.0 is tagged as eoepca-2.0.

  • MAJOR: reserved for governance-level exceptional EOEPCA+ release boundaries (for example major architecture transitions or contractual/programmatic phase changes).
  • MINOR: new features/use-cases/components that do not meet MAJOR criteria; no fixed timeline, released when stable updates are ready to consolidate.
  • PATCH: backward-compatible corrections without capability expansion, including backward-compatible security vulnerability fixes; produced at least quarterly as fix rollups.

The full policy is documented in RELEASE-STRATEGY.md.

Pinned Loading

  1. eoepca-pluseoepca-plusPublic

    EOEPCA+ deployments for development team

    Python 6 9

  2. helm-chartshelm-chartsPublic

    Go Template 4 3

  3. deployment-guidedeployment-guidePublic

    EOEPCA Deployment Guide

    Jupyter Notebook 7 9

  4. demodemoPublic

    Demonstration of Common Architecture building blocks

    Jupyter Notebook 1 5

Repositories

Showing 10 of 165 repositories

Top languages

Loading…

Most used topics

Loading…