Search by

omnilab / copernicus

GlitchArt

Omnilab Copernicus: the products of the Copernicus Data Space Ecosystem's STAC catalogue - Sentinel-1, -2, -3, -5P, Landsat, MODIS, the Copernicus DEM and services - searched by collection, point or box, period and cloud cover, page by page, with their footprints, properties, assets and thumbnails;

1.x-dev 2026-10-14 23:29 UTC

This package is not auto-updated.

Last update: 2026-10-15 00:34:15 UTC


README

The Copernicus Data Space Ecosystem's STAC catalogue for glitchr/omnilab: the products of Sentinel-1, -2, -3, -5P and -6, Landsat, MODIS, the Copernicus DEM and the Copernicus services, searched by collection, point or box, period and cloud cover, page by page - their footprint, properties, assets and thumbnail. Searching needs no account.

$copernicus = (new CopernicusSourceFactory($http))->create();
$page = $copernicus->products(new ProductQuery(['sentinel-2-l2a'], new Point(48.5734, 7.7521), new \DateTimeImmutable('-10 days'), maxCloudCover: 30));
foreach ($page as $scene) {
    $scene->datetime;                        // 2026-10-12T10:29:11Z
    $scene->cloudCover();                    // 1.84
    $scene->properties['grid:code'];         // MGRS-32ULU
    $scene->preview;                         // an open thumbnail
    $scene->asset('TCI_10m')->href;          // s3://eodata/...: kept as the catalogue gives it
    $scene->asset('TCI_10m')->httpsHref();   // https://download.dataspace.copernicus.eu/...: needs a token
}
$copernicus->products($query->with(['cursor' => $page->next]));
omnilab:
    sources:
        copernicus:
            factory: copernicus
            options:
                collections: [sentinel-2-l2a]    # what a query that names none searches

Downloading: out of scope

Every asset's address is kept: an s3://eodata/... one (the CDSE S3 endpoint, with S3 keys) and an https://download.dataspace.copernicus.eu/... alternate. Reading either needs a free CDSE account: an access token from https://identity.dataspace.copernicus.eu/auth/realms/CDSE/protocol/openid-connect/token sent as Authorization: Bearer - by the application, with its own HTTP client. This package searches only, and has no token option: a token would be an account's secret in the source's configuration for no call it makes. The thumbnail ($product->preview) is open.

Terms of use

The catalogue is open. The Sentinel data are free and open to all under the Sentinel data legal notice (credit "contains modified Copernicus Sentinel data [year]"); the other collections carry their own licences (each collection's license link); the Data Space's terms and conditions and quotas apply.

See docs/.

License: MIT.