STAC API#
Overview#
This notebook explains the use of the STAC API interface with GeoJSON response format. It uses the pystac [RD17] and pystac_client [RD18] libraries to access the interface. The visualisation of search results is borrowed from the ODC notebook available at [RD19]. Examples using curl on the command-line are provided as well.
#URL_LANDING_PAGE = 'https://catalog.maap.eo.esa.int/catalogue/'
URL_LANDING_PAGE = 'https://catalog.maap.eo.esa.int/catalogue/'
Access landing page#
The landing page provides access to collections (rel=”data”), child catalogs (rel=”child”) and the STAC item search endpoint (rel=”search”).
Get the catalogue landing page with links to other resources and available collections.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
# show as a dictionary
api.to_dict()
{'type': 'Catalog',
'id': 'fedeo',
'stac_version': '1.1.0',
'description': 'MAAP Catalogue provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://catalog.maap.eo.esa.int/catalogue/api?httpAccept=application/vnd.oai.openapi%2Bjson;version=3.0',
'type': 'application/vnd.oai.openapi+json;version=3.0',
'title': 'OpenAPI definition in JSON format'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://catalog.maap.eo.esa.int/catalogue/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://catalog.maap.eo.esa.int/doc/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://catalog.maap.eo.esa.int/catalogue/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/series/eo:platform',
'type': 'application/json',
'title': 'Collections by platform'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/earthtopics',
'type': 'application/json',
'title': 'Earth Topics'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/series/eo:organisationName',
'type': 'application/json',
'title': 'Collections by organisation'},
{'rel': 'root',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json',
'title': 'MAAP Catalogue'}],
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'other',
'conformsTo': ['http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core',
'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30',
'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson',
'http://www.opengis.net/spec/ogcapi_common-2/1.0/conf/collections',
'http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/simple-query',
'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/cql-filter',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter',
'https://api.stacspec.org/v1.0.0/core',
'https://api.stacspec.org/v1.0.0/ogcapi-features',
'https://api.stacspec.org/v1.0.0/collections',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#sort',
'https://api.stacspec.org/v1.0.0/item-search',
'https://api.stacspec.org/v1.0.0-rc.3/item-search#filter',
'https://api.stacspec.org/v1.0.0/item-search#sort',
'https://api.stacspec.org/v1.0.0/ogcapi-features#sort',
'http://www.opengis.net/spec/cql2/1.0/conf/cql2-text',
'http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2'],
'title': 'MAAP Catalogue'}
# Get catalog title and description
print("Title\t\t:", api.title)
print("Description\t:", api.description)
print("Search link\t:", api.get_search_link())
Title : MAAP Catalogue
Description : MAAP Catalogue provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata
Search link : <Link rel=search target=https://catalog.maap.eo.esa.int/catalogue/search>
Collection Search#
The API implements the STAC API Collection Search Extension [RD25].
Available collections can be retrieved from the landing page using a paging mechanism (with rel=”next” links). It requires the compliance class to be present. As pystac_client does not support collection search, the requests library is used in the examples.
The collection endpoint is available as rel=’data’ link at JSONPath $.links[?(@.rel==’data’)]. Alternatively, collections can be found by traversing the root catalog (i.e. landing page) and following the rel=’child’ links recursively. Searchable collections have type: ‘Collection’ and do not have year/month/day information in their id. E.g. PROBA.CHRIS.1A is a searchable collection, while PROBA.CHRIS.1A-2022 or PROBA.CHRIS.1A-2022-12 or PROBA.CHRIS.1A-2022-12-06 cannot be used for STAC Item Search. This limitation may be relaxed in future versions.
from jsonpath_ng.ext import parse
response = requests.get(URL_LANDING_PAGE)
data = json.loads(response.text)
expression = parse("$.links[?(@.rel == 'data')].href")
r = expression.find(data)
r[0].value
'https://catalog.maap.eo.esa.int/catalogue/collections'
# retrieve /collections response
response = requests.get(r[0].value)
data = json.loads(response.text)
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"collections": [
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO series (a.k.a. EO collections).",
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items",
"type": "application/geo+json",
"title": "Series"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "Self as JSON-LD"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/queryables",
"type": "application/schema+json",
"title": "Queryables for series"
},
{
"rel": "describedBy",
"href": "http://schemas.opengis.net/eoc-geojson/1.0/eoc-geojson-schema.json",
"type": "application/schema+json",
"title": "JSON schema for items belonging to this collection"
}
],
"id": "series",
"title": "EO Series",
"type": "Collection"
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO datasets (a.k.a. EO products)",
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/datasets",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/datasets/items",
"type": "application/geo+json",
"title": "Datasets"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/datasets?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/datasets?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "Self as JSON-LD"
},
{
"rel": "describedBy",
"href": "http://schemas.opengis.net/eo-geojson/1.0/eo-geojson-schema.json",
"type": "application/schema+json",
"title": "JSON schema for items belonging to this collection"
}
],
"id": "datasets",
"title": "EO Products",
"type": "Collection"
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2014-10-01T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"FedEO",
"SCIHUB",
"DIF10",
"land",
"land cover",
"sea",
"ice",
"natural disaster",
"Soils",
"Land Use and Land Cover",
"Natural Hazards and Disaster Risk",
"EARTH SCIENCE > AGRICULTURE > SOILS",
"EARTH SCIENCE > LAND SURFACE > SOILS",
"EARTH SCIENCE > LAND SURFACE > LAND USE/LAND COVER",
"EARTH SCIENCE > HUMAN DIMENSIONS > NATURAL HAZARDS",
"Imaging Radars",
"Sentinel-1",
"SAR"
],
"created": "2014-10-01T00:00:00.00Z",
"description": "The Sentinel-1 mission is the European Radar Observatory for the Copernicus joint initiative of the European Commission (EC) and the European Space Agency (ESA). The Sentinel-1 mission includes C-band imaging operating in four exclusive imaging modes with different resolution (down to 5 m) and coverage (up to 400 km). It provides dual polarization capability, short revisit times and rapid product delivery. Additionally, precise measurements of spacecraft position and attitude are available for every observation [https://dataspace.copernicus.eu/explore-data/data-collections/sentinel-data/sentinel-1].",
"collection": "EOP:EU:DATASPACE",
"type": "Collection",
"title": "Sentinel-1",
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP:ESA:Sentinel-1",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP:ESA:Sentinel-1/items",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:ESA:Sentinel-1"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASCIHUB%3AS1/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP%3AESA%3ASCIHUB%3AS1"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/opensearch/description.xml?parentIdentifier=EOP:ESA:SCIHUB:S1",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/EOP%3AESA%3ASCIHUB%3AS1/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://sentinel.esa.int/web/sentinel/missions/sentinel-1",
"type": "text/html",
"title": "ESA Sentinel Online"
},
{
"rel": "describedby",
"href": "https://dataspace.copernicus.eu",
"type": "text/html",
"title": "Copernicus Data Space Ecosystem - Copernicus Data Space Ecosystem"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?parentIdentifier=EOP%3AEU%3ADATASPACE&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?parentIdentifier=EOP%3AEU%3ADATASPACE&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/EOP%3AESA%3ASentinel-1?parentIdentifier=EOP%3AEU%3ADATASPACE&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "EOP:ESA:Sentinel-1",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN"
},
{
"roles": [
"host"
],
"name": "Copernicus CDSE"
}
],
"summaries": {
"instruments": [
"SAR"
],
"platform": [
"Sentinel-1"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2007-03-08T00:00:00Z",
"2007-05-03T23:59:59Z"
]
]
}
},
"stac_version": "1.0.0",
"sci:doi": "10.5270/esa-f2h3ory",
"keywords": [
"Remningstorp",
"Sweden",
"Campaign",
"PUBLIC",
"ESA_open_and_free",
"Active Remote Sensing",
"Agriculture",
"Biosphere",
"Biosphere Indicators",
"C-SAR",
"Carbon",
"Climate",
"Forest Management",
"Forestry",
"Imaging Radars",
"Land Surface",
"Soils"
],
"description": "ESA Study: BioSAR was carried out from 8 March to 3 May 2007 and aimed to support geophysical algorithm development, calibration/validation and the simulation of future spaceborne Earth Observation missions. BioSAR supported the BIOMASS mission. The objective of BIOMASS is the estimation of forest biomass in order to support carbon modelling using longer wavelength SAR measurements. The BIOSAR 2007 campaign aimed to collect in-situ measurements coordinated from FOI and airborne SAR data coordinated from DLR-HR in support of decisions being taken on satellite instrument configurations for the BIOMASS satellite mission. In addition it aimed to provide an important database for the study of longer term mission concepts.",
"sci:citation": "BioSAR (2007): ESA Study: Technical Assistance for the Development of Airborne SAR and Geophysical Measurements during the BioSAR 2007 Experiment. doi:10.5270/esa-f2h3ory",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biosar1",
"themes": [
{
"concepts": [
{
"id": "PUBLIC",
"url": "http://publications.europa.eu/resource/authority/access-right/PUBLIC"
}
],
"scheme": "http://publications.europa.eu/resource/authority/access-right"
},
{
"concepts": [
{
"id": "ESA_open_and_free",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"quicklook": {
"roles": [
"overview"
],
"href": "https://earth.esa.int/eogateway/documents/20142/1308652/BioSAR2007.jpg",
"type": "image/jpeg",
"title": "graphic overview"
}
},
"links": [
{
"rel": "cite-as",
"href": "https://doi.org/10.5270/esa-f2h3ory",
"type": "text/html",
"title": "Landing page"
},
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1/items",
"type": "application/geo+json",
"title": "Datasets search for the series Biosar1"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1/queryables",
"type": "application/schema+json",
"title": "Queryables for Biosar1"
},
{
"rel": "license",
"href": "https://spdx.org/licenses/CC-BY-4.0",
"type": "text/html",
"title": "Products are distributed under a CC-BY-4.0 license."
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/Biosar1/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/campaigns/biosar",
"type": "text/html",
"title": "BioSAR 2007"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/biosar-2007-final-report-no-synthesis.pdf",
"type": "application/pdf",
"title": "Download the BioSAR 2007 Final Report without Synthesis"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/Biosar1?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "Biosar1",
"updated": "2025-02-14T16:39:16Z",
"stac_extensions": [
"https://stac-extensions.github.io/themes/v1.0.0/schema.json",
"https://stac-extensions.github.io/scientific/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
]
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2024-07-31T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS",
"EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION",
"Forestry",
"Afforestation/Reforestation",
"conditionsUnknown",
"Imaging Radars",
"Biomass",
"P-SAR",
"BIOMASS_COMMISSIONING",
"RESTRICTED"
],
"created": "2023-02-16T00:00:00.00Z",
"description": "Biomass Level 1C (IOC) Products",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biomass Level 1C (IOC)",
"themes": [
{
"concepts": [
{
"id": "RESTRICTED",
"url": "http://publications.europa.eu/resource/authority/access-right/RESTRICTED"
}
],
"scheme": "http://publications.europa.eu/resource/authority/access-right"
},
{
"concepts": [
{
"id": "BIOMASS_COMMISSIONING",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/BIOMASS_COMMISSIONING"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC/items",
"type": "application/geo+json",
"title": "Datasets search for the series BiomassLevel1cIOC"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC/queryables",
"type": "application/schema+json",
"title": "Queryables for BiomassLevel1cIOC"
},
{
"rel": "license",
"href": "https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy",
"type": "application/x-binary",
"title": "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/BiomassLevel1cIOC/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"title": "Get Help? - ESA TellUS Help Page"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BiomassLevel1cIOC",
"updated": "2023-02-16T00:00:00.00Z",
"stac_extensions": [
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://stac-extensions.github.io/themes/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
],
"summaries": {
"processing:level": [
"L1C"
],
"instruments": [
"P-SAR"
],
"platform": [
"Biomass"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2024-07-31T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS",
"EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION",
"Forestry",
"Afforestation/Reforestation",
"conditionsUnknown",
"Imaging Radars",
"Biomass",
"P-SAR",
"ESA_open_and_free"
],
"created": "2023-02-16T00:00:00.00Z",
"description": "Biomass Auxiliary",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biomass Auxiliary",
"themes": [
{
"concepts": [
{
"id": "ESA_open_and_free",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "license",
"href": "https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy",
"type": "application/x-binary",
"title": "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"title": "Get Help? - ESA TellUS Help Page"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassAux?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BiomassAux",
"updated": "2023-02-16T00:00:00.00Z",
"stac_extensions": [
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://stac-extensions.github.io/themes/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
],
"summaries": {
"processing:level": [
"L0"
],
"instruments": [
"P-SAR"
],
"platform": [
"Biomass"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2024-07-31T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS",
"EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION",
"Forestry",
"Afforestation/Reforestation",
"Imaging Radars",
"Biomass",
"P-SAR",
"ESA_open_and_free",
"PUBLIC"
],
"created": "2023-02-16T00:00:00.00Z",
"description": "Biomass Level 1C Products",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biomass Level 1C",
"themes": [
{
"concepts": [
{
"id": "PUBLIC",
"url": "http://publications.europa.eu/resource/authority/access-right/PUBLIC"
}
],
"scheme": "http://publications.europa.eu/resource/authority/access-right"
},
{
"concepts": [
{
"id": "ESA_open_and_free",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c/items",
"type": "application/geo+json",
"title": "Datasets search for the series BiomassLevel1c"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c/queryables",
"type": "application/schema+json",
"title": "Queryables for BiomassLevel1c"
},
{
"rel": "license",
"href": "https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy",
"type": "application/x-binary",
"title": "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/BiomassLevel1c/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"title": "Get Help? - ESA TellUS Help Page"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1c?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BiomassLevel1c",
"updated": "2023-02-16T00:00:00.00Z",
"stac_extensions": [
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://stac-extensions.github.io/themes/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
],
"summaries": {
"processing:level": [
"L1C"
],
"instruments": [
"P-SAR"
],
"platform": [
"Biomass"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-168,
-3,
17,
72
]
]
},
"temporal": {
"interval": [
[
"2019-05-21T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"CANADA",
"ALASKA",
"AFRICA",
"SENSOR COUNTS",
"G-III",
"G-V",
"Land, Vegetation, and Ice Sensor",
"Arctic-Boreal Vulnerability Experiment",
"LASER VEGETATION IMAGING SENSOR",
"Operation Ice Bridge",
"EARTH SCIENCE>SPECTRAL/ENGINEERING>INFRARED WAVELENGTHS>SENSOR COUNTS"
],
"description": "This data set contains Level-1B geolocated return energy waveforms collected by the NASA Land, Vegetation, and Ice Sensor (LVIS) Facility, an imaging lidar and camera sensor suite.",
"collection": "EOP:NASA:CMR",
"type": "Collection",
"title": "LVIS Classic L1B Geolocated Return Energy Waveforms V001",
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD/items",
"type": "application/geo+json",
"title": "Datasets search for the series C3160894407-NSIDC_CPRD"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD/queryables",
"type": "application/schema+json",
"title": "Queryables for C3160894407-NSIDC_CPRD"
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/C3160894407-NSIDC_CPRD/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160894407-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "C3160894407-NSIDC_CPRD",
"updated": "2025-11-06T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "NASA NSIDC DAAC"
},
{
"roles": [
"host"
],
"name": "NASA CMR"
}
]
},
{
"extent": {
"spatial": {
"bbox": [
[
-168,
-35,
27,
88
]
]
},
"temporal": {
"interval": [
[
"2018-11-07T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"CANADA",
"UNITED STATES OF AMERICA",
"ALASKA",
"GREENLAND",
"COSTA RICA",
"FRENCH GUIANA",
"AFRICA",
"VISIBLE IMAGERY",
"B-200",
"G-III",
"G-V",
"P-3B",
"Digital Mapping Camera paired with LVIS",
"LASER VEGETATION IMAGING SENSOR",
"EARTH SCIENCE>SPECTRAL/ENGINEERING>VISIBLE WAVELENGTHS>VISIBLE IMAGERY"
],
"description": "This data set contains geotagged images captured by NASA Digital Mapping Cameras, which were mounted alongside the Land, Vegetation, and Ice Sensor (LVIS), an airborne lidar scanning laser altimeter.",
"collection": "EOP:NASA:CMR",
"type": "Collection",
"title": "LVIS L1A Geotagged Images V001",
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD/items",
"type": "application/geo+json",
"title": "Datasets search for the series C3160958277-NSIDC_CPRD"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD/queryables",
"type": "application/schema+json",
"title": "Queryables for C3160958277-NSIDC_CPRD"
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/C3160958277-NSIDC_CPRD/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C3160958277-NSIDC_CPRD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "C3160958277-NSIDC_CPRD",
"updated": "2025-11-06T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "NASA NSIDC DAAC"
},
{
"roles": [
"host"
],
"name": "NASA CMR"
}
]
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-54,
180,
54
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"description": "The Global Ecosystem Dynamics Investigation ([GEDI](https://gedi.umd.edu/)) mission aims to characterize ecosystem structure and dynamics to enable radically improved quantification and understanding of the Earth\u2019s carbon cycle and biodiversity. The GEDI instrument produces high resolution laser ranging observations of the 3-dimensional structure of the Earth. GEDI is attached to the International Space Station (ISS) and collects data globally between 51.6\u00b0 N and 51.6\u00b0 S latitudes at the highest resolution and densest sampling of any light detection and ranging (lidar) instrument in orbit to date. Each GEDI Version 2 granule encompasses one-fourth of an ISS orbit and includes georeferenced metadata to allow for spatial querying and subsetting.The GEDI instrument was removed from the ISS and placed into storage on March 17, 2023. No data were acquired during the hibernation period from March 17, 2023, to April 24, 2024. GEDI has since been reinstalled on the ISS and resumed operations as of April 26, 2024.The GEDI Level 1B Geolocated Waveforms product (GEDI01_B) provides geolocated corrected and smoothed waveforms, geolocation parameters, and geophysical corrections for each laser shot for all eight GEDI beams. GEDI01_B data are created by geolocating the GEDI01_A raw waveform data. The GEDI01_B product is provided in HDF5 format and has a spatial resolution (average footprint) of 25 meters.The GEDI01_B data product contains 85 layers for each of the eight beams including the geolocated corrected and smoothed waveform datasets and parameters and the accompanying ancillary, geolocation, and geophysical correction. Additional information can be found in the GEDI L1B Product Data Dictionary.Known Issues* Data acquisition gaps: GEDI data acquisitions were suspended on December 19, 2019 (2019 Day 353) and resumed on January 8, 2020 (2020 Day 8).* Incorrect Reference Ground Track (RGT) number in the filename for select GEDI files: GEDI Science Data Products for six orbits on August 7, 2020, and November 12, 2021, had the incorrect RGT number in the filename. There is no impact to the science data, but users should reference this [document](https://lpdaac.usgs.gov/documents/2236/GEDI_CORRECTED_RGT_FILENAMES.pptx) for the correct RGT numbers.* Known Issues: Section 8 of the User Guide provides additional information on known issues.Improvements/Changes from Previous Versions* Metadata has been updated to include spatial coordinates.* Granule size has been reduced from one full ISS orbit (~7.99 GB) to four segments per orbit (~2.00 GB).* Filename has been updated to include segment number and version number.* Improved geolocation for an orbital segment.* Added elevation from the SRTM digital elevation model for comparison.* Modified the method to predict an optimum algorithm setting group per laser shot.* Added additional land cover datasets related to phenology, urban infrastructure, and water persistence.* Added selected_mode_flag dataset to root beam group using selected algorithm.* Removed shots when the laser is not firing.* Modified file name to include segment number and dataset version.",
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD/items",
"type": "application/geo+json",
"title": "Datasets search for the series C2142749196-LPCLOUD"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD/queryables",
"type": "application/schema+json",
"title": "Queryables for C2142749196-LPCLOUD"
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/C2142749196-LPCLOUD/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/C2142749196-LPCLOUD?parentIdentifier=EOP%3ANASA%3ACMR&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "C2142749196-LPCLOUD",
"collection": "EOP:NASA:CMR",
"type": "Collection",
"title": "GEDI L1B Geolocated Waveform Data Global Footprint Level V002",
"providers": [
{
"roles": [
"producer"
],
"name": "CMR"
},
{
"roles": [
"host"
],
"name": "NASA CMR"
}
]
}
],
"numberReturned": 10,
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections",
"type": "application/json",
"title": "This document"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "next",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections?startRecord=11",
"type": "application/json",
"title": "Next results"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/queryables",
"type": "application/schema+json",
"title": "Queryables for collection search"
}
],
"numberMatched": 300
}
The link with rel=”http://www.opengis.net/def/rel/ogc/1.0/queryables” provides access to the list of filter criteria available for collection search. It returns a Queryables object in JSON Schema format.
from jsonpath_ng.ext import parse
expression = parse("$.links[?(@.rel == 'http://www.opengis.net/def/rel/ogc/1.0/queryables')].href")
r = expression.find(data)
r[0].value
'https://catalog.maap.eo.esa.int/catalogue/collections/queryables'
# Get queryables response and list parameters alphabetically.
response = requests.get(r[0].value)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row['value']['type'], axis = 1)
df
| key | value | type | |
|---|---|---|---|
| 0 | processing:level | {'description': 'The processing level applied ... | string |
| 1 | sci:doi | {'description': 'Digital Object Identifier ide... | string |
| 2 | description | {'description': 'Free text search term', 'titl... | string |
| 3 | collection | {'description': 'The parent of the entry in a ... | string |
| 4 | title | {'description': 'A name given to the resource'... | string |
| 5 | otherConstraint | {'description': 'Other restrictions and legal ... | string |
| 6 | platform | {'description': 'The platform short name', 'ti... | string |
| 7 | instruments | {'description': 'The instrument (e.g. MERIS, A... | string |
| 8 | useLimitation | {'description': 'A string identifying informin... | string |
| 9 | offering | {'description': 'Related service offering', 't... | string |
| 10 | id | {'description': 'Item identifier', 'title': 'I... | string |
| 11 | updated | {'format': 'date-time', 'description': 'The da... | string |
| 12 | providers | {'description': 'The name of the organization ... | string |
| 13 | classifiedAs | {'format': 'uri', 'description': 'Keyword URI ... | string |
# Get queryables response and list parameters alphabetically.
response = requests.get(r[0].value)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row['value']['type'], axis = 1)
df['format'] = df.apply(lambda row : row['value']['format'] if 'format' in row['value'] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
| key | type | format | |
|---|---|---|---|
| 13 | classifiedAs | string | uri |
| 3 | collection | string | - |
| 2 | description | string | - |
| 10 | id | string | - |
| 7 | instruments | string | - |
| 9 | offering | string | - |
| 5 | otherConstraint | string | - |
| 6 | platform | string | - |
| 0 | processing:level | string | - |
| 12 | providers | string | - |
| 1 | sci:doi | string | - |
| 4 | title | string | - |
| 11 | updated | string | date-time |
| 8 | useLimitation | string | - |
URL_LANDING_PAGE
'https://catalog.maap.eo.esa.int/catalogue/'
The STAC API Collection Search Extension [RD25] allows retrieving the collections at the /collections endpoint.
List available collections using curl:
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections
Search by free text#
Example: 1.1
Search collections by free text (
q).
value = 'Biomass'
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.collection_search(
q = value
)
print(f"{results.matched()} collections found.")
38 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "q=Biomass"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'keywords']]
| id | keywords | |
|---|---|---|
| 0 | Biosar1 | [Remningstorp, Sweden, Campaign, PUBLIC, ESA_o... |
| 1 | BiomassLevel1cIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 2 | BiomassAux | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 3 | BiomassLevel1c | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 4 | C2237824918-ORNL_CLOUD | NaN |
| 5 | C3495301460-ORNL_CLOUD | NaN |
| 6 | Biosar2 | [Krycklan, Sweden, SAR, Campaign, PUBLIC, ESA_... |
| 7 | BiomassLevel2a | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 8 | indrex2 | [Kalimantan, Borneo, Indonesia, Campaign, Agri... |
| 9 | BiomassLevel1aIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 10 | BiomassLevel1bIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 11 | GCA | [GCA, Canopy, ALS, GEO-TREES, EARTH SCIENCE>BI... |
| 12 | C3327359101-FEDEO | NaN |
| 13 | C3327359400-FEDEO | NaN |
| 14 | C2883623174-ORNL_CLOUD | NaN |
| 15 | C2792577683-ORNL_CLOUD | NaN |
| 16 | BiomassLevel2b | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 17 | Afrisar2015 | [Gabon, Africa, Campaign, PUBLIC, ESA_open_and... |
| 18 | BiomassLevel2bIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 19 | BiomassAuxIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 20 | BiomassLevel0 | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 21 | CCIBiomassV5.01 | [ESA, CCI, orthoimagery, EARTH SCIENCE>BIOSPHE... |
| 22 | Afrisar2016 | [Gabon, Africa, SAR, Campaign, PUBLIC, ESA_ope... |
| 23 | BiomassLevel0IOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 24 | BiomassLevel1a | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 25 | C3495301468-ORNL_CLOUD | NaN |
| 26 | C2756302505-ORNL_CLOUD | NaN |
| 27 | C3043630107-ORNL_CLOUD | NaN |
| 28 | C2813390180-ORNL_CLOUD | NaN |
| 29 | C3495301474-ORNL_CLOUD | NaN |
| 30 | BiomassAuxRest | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 31 | BiomassLevel2aIOC | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 32 | BiomassLevel1b | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 33 | BiomassSimulated | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| 34 | Biosar3 | [Krycklan, Sweden, SAR, Campaign, PUBLIC, ESA_... |
| 35 | Tropisar | [Nouragues, Paracou, SAR, Campaign, PUBLIC, ES... |
| 36 | BiomassCalVal10 | [Afforestation/Reforestation, EARTH SCIENCE > ... |
| 37 | C2734289572-ORNL_CLOUD | NaN |
Search by title#
Example: 1.2
Search collections by title (
filterandtitle).
# CQL2 Basic only supports "=" operator for strings, thus complete title has to be provided.
# Future versions may support "Advanced Comparison Operators".
value = "Biomass Level 1A"
results = api.collection_search(
filter="title='" + value + "'"
)
print(f"{results.matched()} collections found.")
1 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=title='Biomass Level 1A'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | BiomassLevel1a | Biomass Level 1A |
data['collections'][0]
{'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [['2024-07-31T00:00:00.000Z', None]]}},
'stac_version': '1.0.0',
'keywords': ['EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS',
'EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION',
'Forestry',
'Afforestation/Reforestation',
'Imaging Radars',
'Biomass',
'P-SAR',
'ESA_open_and_free',
'PUBLIC'],
'created': '2023-02-16T00:00:00.00Z',
'description': 'Biomass Level 1A Products',
'collection': 'EOP:ESA:MAAP',
'type': 'Collection',
'title': 'Biomass Level 1A',
'themes': [{'concepts': [{'id': 'PUBLIC',
'url': 'http://publications.europa.eu/resource/authority/access-right/PUBLIC'}],
'scheme': 'http://publications.europa.eu/resource/authority/access-right'},
{'concepts': [{'id': 'ESA_open_and_free',
'url': 'https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free'}],
'scheme': 'https://maap.eo.esa.int/metadata-codelist/access-right'}],
'license': 'various',
'assets': {'metadata_iso_19139': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139%2Bxml',
'title': 'ISO 19139 metadata',
'type': 'application/vnd.iso.19139+xml'},
'metadata_iso_19139_2': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139-2%2Bxml',
'title': 'ISO 19139-2 metadata',
'type': 'application/vnd.iso.19139-2+xml'},
'metadata_dif_10': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/dif10%2Bxml',
'title': 'DIF-10 metadata',
'type': 'application/dif10+xml'},
'metadata_ogc_17_084r1': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?mode=owc',
'title': 'OGC 17-084r1 metadata',
'type': 'application/geo+json;profile="http://www.opengis.net/spec/eoc-geojson/1.0"'},
'metadata_iso_191115_3': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19115-3%2Bxml',
'title': 'ISO 19115-3 metadata',
'type': 'application/vnd.iso.19115-3+xml'}},
'links': [{'rel': 'self',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a',
'type': 'application/json'},
{'rel': 'root',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json',
'title': 'MAAP Catalogue'},
{'rel': 'parent',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'title': 'collections',
'type': 'application/json'},
{'rel': 'items',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items',
'type': 'application/geo+json',
'title': 'Datasets search for the series BiomassLevel1a'},
{'rel': 'http://www.opengis.net/def/rel/ogc/1.0/queryables',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables',
'type': 'application/schema+json',
'title': 'Queryables for BiomassLevel1a'},
{'rel': 'license',
'href': 'https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy',
'type': 'application/x-binary',
'title': "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/series/items/BiomassLevel1a/api',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'describedby',
'href': 'https://esatellus.service-now.com/csp?id=esa_simple_request',
'title': 'Get Help? - ESA TellUS Help Page'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'JSON-LD metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org',
'type': 'application/ld+json;profile="https://schema.org"',
'title': 'JSON-LD (schema.org) metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/',
'type': 'application/ld+json;profile="http://data.europa.eu/930/"',
'title': 'JSON-LD (GeoDCAT-AP) metadata'}],
'id': 'BiomassLevel1a',
'updated': '2023-02-16T00:00:00.00Z',
'stac_extensions': ['https://stac-extensions.github.io/processing/v1.2.0/schema.json',
'https://stac-extensions.github.io/themes/v1.0.0/schema.json'],
'providers': [{'roles': ['producer'],
'name': 'ESA/ESRIN',
'url': 'https://www.esa.int'},
{'roles': ['host'],
'name': 'ESA MAAP',
'url': 'https://catalog.maap.eo.esa.int/catalogue/'}],
'summaries': {'processing:level': ['L1A'],
'instruments': ['P-SAR'],
'platform': ['Biomass']}}
Search by platform#
Example: 1.3
Search collections by platform (
filterandplatform).
value = "Biomass"
results = api.collection_search(
filter="platform='" + value + "'"
)
print(f"{results.matched()} collections found.")
17 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=platform='Biomass'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title', 'summaries.platform']]
| id | title | summaries.platform | |
|---|---|---|---|
| 0 | BiomassLevel1cIOC | Biomass Level 1C (IOC) | [Biomass] |
| 1 | BiomassAux | Biomass Auxiliary | [Biomass] |
| 2 | BiomassLevel1c | Biomass Level 1C | [Biomass] |
| 3 | BiomassLevel2a | Biomass Level 2A | [Biomass] |
| 4 | BiomassLevel1aIOC | Biomass Level 1A (IOC) | [Biomass] |
| 5 | BiomassLevel1bIOC | Biomass Level 1B (IOC) | [Biomass] |
| 6 | BiomassLevel2b | Biomass Level 2B | [Biomass] |
| 7 | BiomassLevel2bIOC | Biomass Level 2B (IOC) | [Biomass] |
| 8 | BiomassAuxIOC | Biomass Auxiliary (IOC) | [Biomass] |
| 9 | BiomassLevel0 | Biomass Level 0 | [Biomass] |
| 10 | BiomassLevel0IOC | Biomass Level 0 (IOC) | [Biomass] |
| 11 | BiomassLevel1a | Biomass Level 1A | [Biomass] |
| 12 | BiomassAuxRest | Biomass Auxiliary Restricted | [Biomass] |
| 13 | BiomassLevel2aIOC | Biomass Level 2A (IOC) | [Biomass] |
| 14 | BiomassLevel1b | Biomass Level 1B | [Biomass] |
| 15 | BiomassSimulated | Biomass Simulated data | [Biomass] |
| 16 | BiomassCalVal10 | Biomass Cal/Val | [Biomass] |
Search by organisation#
Example: 1.4
Search collections by organisation (
filter,organisationName).
URL = URL_LANDING_PAGE + "collections"+ "?filter=organisationName='ESA/ESRIN'"
value = 'ESA/ESRIN'
results = api.collection_search(
filter="organisationName='" + value + "'",
max_collections = 10
)
print(f"{results.matched()} collections found.")
261 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=organisationName='ESA/ESRIN'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['title', 'providers']]
| title | providers | |
|---|---|---|
| 0 | Sentinel-1 | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
| 1 | Biosar1 | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 2 | Biomass Level 1C (IOC) | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 3 | Biomass Auxiliary | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 4 | Biomass Level 1C | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 5 | Aeolus EOL L1B Products | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 6 | Aeolus EOL L2A Products | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 7 | Aeolus L1B Products | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 8 | TropForest - ALOS, Deimos-1 & KOMPSAT-2 op... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| 9 | COSMO-SkyMed full archive and tasking | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
Search by bounding box#
Example: 1.5
Search collections by bounding box (
bbox).
results = api.collection_search(
bbox = "14.90,37.700,14.99,37.780",
max_collections = 10
)
print(f"{results.matched()} collections found.")
268 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "bbox=14.9,37.7,14.99,37.78"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.spatial.bbox']]
| id | extent.spatial.bbox | |
|---|---|---|
| 0 | EOP:ESA:Sentinel-1 | [[-180, -90, 180, 90]] |
| 1 | Biosar1 | [[-180, -90, 180, 90]] |
| 2 | BiomassLevel1cIOC | [[-180, -90, 180, 90]] |
| 3 | BiomassAux | [[-180, -90, 180, 90]] |
| 4 | BiomassLevel1c | [[-180, -90, 180, 90]] |
| 5 | C3160894407-NSIDC_CPRD | [[-168, -3, 17, 72]] |
| 6 | C3160958277-NSIDC_CPRD | [[-168, -35, 27, 88]] |
| 7 | C2142749196-LPCLOUD | [[-180, -54, 180, 54]] |
| 8 | C2237824918-ORNL_CLOUD | [[-180, -53, 180, 55.8]] |
| 9 | C2141085552-LPCLOUD | [[-180, -90, 180, 90]] |
Search by temporal extent#
Example: 1.6
Search collections by temporal extent (
datetimewith closed range).
results = api.collection_search(
datetime = '2002-01-01T00:00:00.000Z/2003-12-31T23:59:59.999Z',
max_collections = 10
)
print(f"{results.matched()} collections found.")
82 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "datetime=2002-01-01T00:00:00.000Z/2003-12-31T23:59:59.999Z"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
| id | extent.temporal.interval | |
|---|---|---|
| 0 | FDRforRadiometry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
| 1 | MER.RR__2P | [[2002-04-29T00:00:00.000Z, 2012-04-08T00:00:0... |
| 2 | LANDSAT.ETM.GTC | [[1999-07-09T00:00:00.000Z, 2003-12-31T00:00:0... |
| 3 | Odin.OSIRIS | [[2001-02-20T00:00:00.000Z, None]] |
| 4 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
| 5 | FDRforAtmosphericCompositionATMOSL1B | [[1995-06-28T00:00:00.000Z, 2012-04-07T00:00:0... |
| 6 | ERSATSRL1BBrightnessTemperatureRadianceER1AT1R... | [[1991-08-01T00:00:00.000Z, 2003-06-22T00:00:0... |
| 7 | ENVISAT.ASA.IM__0P | [[2002-10-18T00:00:00.000Z, 2012-04-08T00:00:0... |
| 8 | ENVISAT.ASA.WSS_1P | [[2002-10-28T00:00:00.000Z, 2012-04-08T00:00:0... |
| 9 | ERS.SSM | [[1996-03-26T00:00:00.000Z, 2011-07-04T23:59:5... |
Example: 1.7
Search collections by temporal extent (
datetimewith open range).
results = api.collection_search(
datetime = '../2001-12-31T23:59:59.999Z',
max_collections = 10
)
print(f"{results.matched()} collections found.")
56 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "datetime=../2001-12-31T23:59:59.999Z"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
| id | extent.temporal.interval | |
|---|---|---|
| 0 | FDRforRadiometry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
| 1 | LANDSAT.ETM.GTC | [[1999-07-09T00:00:00.000Z, 2003-12-31T00:00:0... |
| 2 | Odin.OSIRIS | [[2001-02-20T00:00:00.000Z, None]] |
| 3 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
| 4 | FDRforAtmosphericCompositionATMOSL1B | [[1995-06-28T00:00:00.000Z, 2012-04-07T00:00:0... |
| 5 | ESA_System_corrected_map_oriented_Level_1_prod... | [[1987-09-08T00:00:00.000Z, 1993-08-20T00:00:0... |
| 6 | ESA_System_corrected_Level_1_MOS_1_1B_VTIR_pro... | [[1987-09-08T00:00:00.000Z, 1993-09-30T00:00:0... |
| 7 | ERSATSRL1BBrightnessTemperatureRadianceER1AT1R... | [[1991-08-01T00:00:00.000Z, 2003-06-22T00:00:0... |
| 8 | ERS.SSM | [[1996-03-26T00:00:00.000Z, 2011-07-04T23:59:5... |
| 9 | JERS-1.SAR.PRI | [[1992-07-13T00:00:00.000Z, 1998-10-08T00:00:0... |
Example: 1.8
Search collections by temporal extent (
datetimewith single date).
results = api.collection_search(
datetime = '2002-12-31T23:59:59.999Z',
max_collections = 10
)
print(f"{results.matched()} collections found.")
80 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "datetime=2002-12-31T23:59:59.999Z"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
| id | extent.temporal.interval | |
|---|---|---|
| 0 | FDRforRadiometry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
| 1 | MER.RR__2P | [[2002-04-29T00:00:00.000Z, 2012-04-08T00:00:0... |
| 2 | LANDSAT.ETM.GTC | [[1999-07-09T00:00:00.000Z, 2003-12-31T00:00:0... |
| 3 | Odin.OSIRIS | [[2001-02-20T00:00:00.000Z, None]] |
| 4 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
| 5 | FDRforAtmosphericCompositionATMOSL1B | [[1995-06-28T00:00:00.000Z, 2012-04-07T00:00:0... |
| 6 | ERSATSRL1BBrightnessTemperatureRadianceER1AT1R... | [[1991-08-01T00:00:00.000Z, 2003-06-22T00:00:0... |
| 7 | ENVISAT.ASA.IM__0P | [[2002-10-18T00:00:00.000Z, 2012-04-08T00:00:0... |
| 8 | ENVISAT.ASA.WSS_1P | [[2002-10-28T00:00:00.000Z, 2012-04-08T00:00:0... |
| 9 | ERS.SSM | [[1996-03-26T00:00:00.000Z, 2011-07-04T23:59:5... |
Get by identifier#
Example: 1.9
Get collections by identifier (
ids).
URL = URL_LANDING_PAGE + 'collections?ids=' + COLLECTION_ID6_MAAP + ',' + COLLECTION_ID9_MAAP
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "ids=BiomassLevel1a,BiomassLevel2a"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title', 'extent.temporal.interval']]
| id | title | extent.temporal.interval | |
|---|---|---|---|
| 0 | BiomassLevel2a | Biomass Level 2A | [[2024-07-31T00:00:00.000Z, None]] |
| 1 | BiomassLevel1a | Biomass Level 1A | [[2024-07-31T00:00:00.000Z, None]] |
Example: 1.10
Get collection by identifier.
The collection metadata for BiomassLevel1a, is available at at https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a. This corresponds to one of the many representations available using content-negotiation.
URL = URL_LANDING_PAGE + 'collections/' + COLLECTION_ID6_MAAP
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a
id: BiomassLevel1a
title: Biomass Level 1A
| 0 | |
|---|---|
| extent | {'spatial': {'bbox': [[-180, -90, 180, 90]]}, ... |
| stac_version | 1.0.0 |
| keywords | [EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERR... |
| created | 2023-02-16T00:00:00.00Z |
| description | Biomass Level 1A Products |
| collection | EOP:ESA:MAAP |
| type | Collection |
| title | Biomass Level 1A |
| themes | [{'concepts': [{'id': 'PUBLIC', 'url': 'http:/... |
| license | other |
| assets | {'metadata_iso_19139': {'roles': ['metadata'],... |
| links | [{'rel': 'self', 'href': 'https://catalog.preo... |
| id | BiomassLevel1a |
| updated | 2023-02-16T00:00:00.00Z |
| stac_extensions | [https://stac-extensions.github.io/processing/... |
| providers | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
| summaries | {'processing:level': ['L1A'], 'instruments': [... |
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2024-07-31T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS",
"EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION",
"Forestry",
"Afforestation/Reforestation",
"Imaging Radars",
"Biomass",
"P-SAR",
"ESA_open_and_free",
"PUBLIC"
],
"created": "2023-02-16T00:00:00.00Z",
"description": "Biomass Level 1A Products",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biomass Level 1A",
"themes": [
{
"concepts": [
{
"id": "PUBLIC",
"url": "http://publications.europa.eu/resource/authority/access-right/PUBLIC"
}
],
"scheme": "http://publications.europa.eu/resource/authority/access-right"
},
{
"concepts": [
{
"id": "ESA_open_and_free",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "other",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items",
"type": "application/geo+json",
"title": "Datasets search for the series BiomassLevel1a"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables",
"type": "application/schema+json",
"title": "Queryables for BiomassLevel1a"
},
{
"rel": "license",
"href": "https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy",
"type": "application/x-binary",
"title": "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/BiomassLevel1a/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"title": "Get Help? - ESA TellUS Help Page"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BiomassLevel1a",
"updated": "2023-02-16T00:00:00.00Z",
"stac_extensions": [
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://stac-extensions.github.io/themes/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
],
"summaries": {
"processing:level": [
"L1A"
],
"instruments": [
"P-SAR"
],
"platform": [
"Biomass"
]
}
}
Search by DOI#
Example: 1.11
Search collections by DOI (
filterwithdoi).
# ESA Biomass CCI
value = '10.5285/bf535053562141c6bb7ad831f5998d77'
results = api.collection_search(
filter="doi='" + value + "'"
)
print(f"{results.matched()} collections found.")
1 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=doi='10.5285/bf535053562141c6bb7ad831f5998d77'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | CCIBiomassV5.01 | CCI Biomass V5.01 |
Search by concept#
Example: 1.12
Search collections by concept URI (
filterwithclassifiedAs).
Collection metadata includes platform, instrument and science keywords, including the URI of these concepts expressed in the ESA thesauri and NASA GCMD thesauri. The URI of these concepts can be used as search parameter.
In the current version of the software, the following concept URIs are supported:
ESA thesaurus platform URI
ESA thesaurus instrument URI
ESA thesaurus earth topic URI
GCMD platform URI
GCMD instrument URI
GCMD science keyword URI
# Vegetation
# concept_uri = 'https://earth.esa.int/concept/3bf4cc22-5dad-5652-8575-8347564c4a0c'
# Forestry
concept_uri = 'https://earth.esa.int/concept/80694ace-7a2a-50b0-9c22-4a4b45c985a1'
results = api.collection_search(
filter="classifiedAs='" + concept_uri + "'",
max_collections = 10
)
print(f"{results.matched()} collections found.")
50 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=classifiedAs='https://earth.esa.int/concept/80694ace-7a2a-50b0-9c22-4a4b45c985a1'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | Biosar1 | Biosar1 |
| 1 | BiomassLevel1cIOC | Biomass Level 1C (IOC) |
| 2 | BiomassAux | Biomass Auxiliary |
| 3 | BiomassLevel1c | Biomass Level 1C |
| 4 | TropForest-001 | TropForest - ALOS, Deimos-1 & KOMPSAT-2 op... |
| 5 | WorldView-2.European.Cities | WorldView-2 European Cities |
| 6 | Landsat89OLITIRSworldwidedataproducts0 | Landsat 8-9 OLI/TIRS worldwide data products |
| 7 | ICEYE.ESA.Archive | ICEYE ESA archive |
| 8 | ICEYE | ICEYE full archive and tasking |
| 9 | GEOSAT2SpainCoverage10 | GEOSAT-2 Spain Coverage |
# Concept defining P-SAR
concept_uri = 'https://earth.esa.int/concept/1dacc3db-07df-5d93-869a-6bb256f01e51'
results = api.collection_search(
filter="classifiedAs='" + concept_uri + "'",
max_collections = 10
)
print(f"{results.matched()} collections found.")
17 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=classifiedAs='https://earth.esa.int/concept/1dacc3db-07df-5d93-869a-6bb256f01e51'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | BiomassLevel1cIOC | Biomass Level 1C (IOC) |
| 1 | BiomassAux | Biomass Auxiliary |
| 2 | BiomassLevel1c | Biomass Level 1C |
| 3 | BiomassLevel2a | Biomass Level 2A |
| 4 | BiomassLevel1aIOC | Biomass Level 1A (IOC) |
| 5 | BiomassLevel1bIOC | Biomass Level 1B (IOC) |
| 6 | BiomassLevel2b | Biomass Level 2B |
| 7 | BiomassLevel2bIOC | Biomass Level 2B (IOC) |
| 8 | BiomassAuxIOC | Biomass Auxiliary (IOC) |
| 9 | BiomassLevel0 | Biomass Level 0 |
Search by modification date#
Example: 1.13
Search collections by modificationDate (
filterwithmodificationDate).
results = api.collection_search(
filter="updated > TIMESTAMP('2024-06-01T09:54:34.651Z')",
max_collections = 10
)
print(f"{results.matched()} collections found.")
242 collections found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=updated > TIMESTAMP('2024-06-01T09:54:34.651Z')" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'updated', 'title']]
| id | updated | title | |
|---|---|---|---|
| 0 | Biosar1 | 2025-02-14T16:39:16Z | Biosar1 |
| 1 | AeolusEOLL1BProducts | 2025-05-26T13:04:18Z | Aeolus EOL L1B Products |
| 2 | AeolusEOLL2AProducts | 2025-05-26T13:32:03Z | Aeolus EOL L2A Products |
| 3 | AeolusL1BProducts | 2025-09-30T09:56:16Z | Aeolus L1B Products |
| 4 | COSMO-SkyMed.full.archive.and.tasking | 2025-04-24T10:30:42Z | COSMO-SkyMed full archive and tasking |
| 5 | GHGSat.archive.and.tasking | 2025-04-24T10:25:01Z | GHGSat archive and tasking |
| 6 | FDRforRadiometry | 2025-04-24T10:31:17Z | Fundamental Data Records for Radiometry [MWR_F... |
| 7 | Swarm.Ionosphere_Magnetosphere | 2025-04-24T10:30:38Z | Swarm Ionosphere/Magnetosphere |
| 8 | MER.RR__2P | 2025-05-15T07:31:42Z | Envisat MERIS Reduced Resolution Geophysical P... |
| 9 | LANDSAT.ETM.GTC | 2025-05-15T07:31:42Z | Landsat ETM+ ESA archive |
Collection properties#
Collection identification#
# Use first collection from response
results = api.collection_search(
q = COLLECTION_ID6_MAAP
)
print(f"{results.matched()} collections found.")
data = results.collection_list_as_dict()
data = data['collections'][0]
1 collections found.
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2024-07-31T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS",
"EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION",
"Forestry",
"Afforestation/Reforestation",
"Imaging Radars",
"Biomass",
"P-SAR",
"ESA_open_and_free",
"PUBLIC"
],
"created": "2023-02-16T00:00:00.00Z",
"description": "Biomass Level 1A Products",
"collection": "EOP:ESA:MAAP",
"type": "Collection",
"title": "Biomass Level 1A",
"themes": [
{
"concepts": [
{
"id": "PUBLIC",
"url": "http://publications.europa.eu/resource/authority/access-right/PUBLIC"
}
],
"scheme": "http://publications.europa.eu/resource/authority/access-right"
},
{
"concepts": [
{
"id": "ESA_open_and_free",
"url": "https://maap.eo.esa.int/metadata-codelist/access-right/ESA_open_and_free"
}
],
"scheme": "https://maap.eo.esa.int/metadata-codelist/access-right"
}
],
"license": "various",
"assets": {
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items",
"type": "application/geo+json",
"title": "Datasets search for the series BiomassLevel1a"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables",
"type": "application/schema+json",
"title": "Queryables for BiomassLevel1a"
},
{
"rel": "license",
"href": "https://earth.esa.int/eogateway/documents/d/earth-online/esa-eo-data-policy",
"type": "application/x-binary",
"title": "Access to and use of BIOMASS products are governed by the ESA's Data Policy and require acceptance of the specific Terms & Conditions. By accessing Biomass products, users inherently acknowledge and agree to these terms."
},
{
"rel": "search",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/series/items/BiomassLevel1a/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"title": "Get Help? - ESA TellUS Help Page"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?parentIdentifier=EOP%3AESA%3AMAAP&httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BiomassLevel1a",
"updated": "2023-02-16T00:00:00.00Z",
"stac_extensions": [
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://stac-extensions.github.io/themes/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA MAAP",
"url": "https://catalog.maap.eo.esa.int/catalogue/"
}
],
"summaries": {
"processing:level": [
"L1A"
],
"instruments": [
"P-SAR"
],
"platform": [
"Biomass"
]
}
}
# use stac_client class for STAC collection
c = Collection.from_dict(data)
print("id\t\t:", c.id)
print("title\t\t:", c.title)
print("description\t:", c.description)
print("keywords\t:", c.keywords)
print("spatial extent\t:", c.extent.spatial)
print("temporal extent\t:", c.extent.temporal)
id : BiomassLevel1a
title : Biomass Level 1A
description : Biomass Level 1A Products
keywords : ['EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS', 'EARTH SCIENCE > AGRICULTURE > FOREST SCIENCE > AFFORESTATION/REFORESTATION', 'Forestry', 'Afforestation/Reforestation', 'Imaging Radars', 'Biomass', 'P-SAR', 'ESA_open_and_free', 'PUBLIC']
spatial extent : <pystac.collection.SpatialExtent object at 0x0000029FCAF860C0>
temporal extent : <pystac.collection.TemporalExtent object at 0x0000029FB1D6E150>
The collection id (id) is to be used as collections parameter for a corresponding STAC item (granule) search. It can also be used in the ids parameter when searching collections by identifier.
Collection DOI#
Not all collections have a digital object identifier assigned. if they do, then it is available as sci:doi property. This value can be used for searching collections by DOI. Collections with DOI, typically also contain a link with rel=”cite-as” referring to their landing page.
try:
print(data['sci:doi'])
except:
print("Not available")
Not available
Collection geometry#
Geometry information for a collection is included in the JSON response at the path $.extent.spatial.
data['extent']['spatial']
{'bbox': [[-180, -90, 180, 90]]}
Collection temporal extent#
The JSON response element provides temporal information for a collection, i.e. the start time and end time at the path $.extent.temporal. The end time may be absent indicating that the collection is not completed.
try:
print(data['extent']['temporal'])
except:
print("Not available")
{'interval': [['2024-07-31T00:00:00.000Z', None]]}
Collection assets#
Collections provide access to a dictionary with assets. The roles attribute indicates the purpose of the asset. The href attribute provides the URL to access the asset. Collection assets may include thumbnail (when available), search interfaces, and various metadata formats.
The table below list some frequently used metadata formats and their corresponding media type (type).
Format |
type |
|---|---|
application/vnd.iso.19139+xml |
|
application/vnd.iso.19139-2+xml |
|
application/vnd.iso.19115-3+xml |
|
application/vnd.iso.19157-2+xml |
# Show assets of the collection (GeoJSON)
jstr = json.dumps(data['assets'], indent=3)
md("```json\n" + jstr + "\n```\n")
{
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19139-2%2Bxml",
"title": "ISO 19139-2 metadata",
"type": "application/vnd.iso.19139-2+xml"
},
"metadata_dif_10": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
}
# Display assets belonging to the collection
c = Collection.from_dict(data)
assets = c.assets
df = pd.DataFrame(columns=['roles', 'title', 'type'])
for key in assets:
ndf = pd.DataFrame({
'roles': assets[key].roles,
'type': assets[key].media_type,
'title': assets[key].title,
# 'href': assets[key].href
}, index = [0])
df = pd.concat([df, ndf], ignore_index=True)
df
| roles | title | type | |
|---|---|---|---|
| 0 | metadata | ISO 19139 metadata | application/vnd.iso.19139+xml |
| 1 | metadata | ISO 19139-2 metadata | application/vnd.iso.19139-2+xml |
| 2 | metadata | DIF-10 metadata | application/dif10+xml |
| 3 | metadata | OGC 17-084r1 metadata | application/geo+json;profile="http://www.openg... |
| 4 | metadata | ISO 19115-3 metadata | application/vnd.iso.19115-3+xml |
Collection links#
Collections provide access to additional resources via links. The rel attribute indicates the purpose of the resource. The href attribute provides the URL to access the resource. Collection assets may include thumbnail (when available), search interfaces, and various metadata formats.
# Display links belonging to the collection
links = c.links
df = pd.DataFrame(columns=['rel', 'title', 'type'])
for link in links:
ndf = pd.DataFrame({ 'rel': link.rel,'type': link.media_type, 'title': link.title }, index = [0])
df = pd.concat([df, ndf], ignore_index=True)
df
| rel | title | type | |
|---|---|---|---|
| 0 | self | None | application/json |
| 1 | root | MAAP Catalogue | application/json |
| 2 | parent | collections | application/json |
| 3 | items | Datasets search for the series BiomassLevel1a | application/geo+json |
| 4 | http://www.opengis.net/def/rel/ogc/1.0/queryables | Queryables for BiomassLevel1a | application/schema+json |
| 5 | license | Access to and use of BIOMASS products are gove... | application/x-binary |
| 6 | search | OpenSearch Description Document | application/opensearchdescription+xml |
| 7 | describedby | Get Help? - ESA TellUS Help Page | None |
| 8 | alternate | JSON-LD metadata | application/ld+json |
| 9 | alternate | JSON-LD (schema.org) metadata | application/ld+json;profile="https://schema.org" |
| 10 | alternate | JSON-LD (GeoDCAT-AP) metadata | application/ld+json;profile="http://data.europ... |
Of particular importance is the link providing access to the list of filter criteria available for granule search within this collection. This link provides access to a Queryables object in JSON Schema format.
links = c.get_links(rel = 'http://www.opengis.net/def/rel/ogc/1.0/queryables', media_type = 'application/schema+json' )
links[0].href
'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables'
response = requests.get(links[0].href)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row['value']['type'], axis = 1)
df['format'] = df.apply(lambda row : row['value']['format'] if 'format' in row['value'] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
| key | type | format | |
|---|---|---|---|
| 11 | completionTimeFromAscendingNode | number | - |
| 16 | created | string | date-time |
| 2 | eofeos:global_coverage_id | string | - |
| 5 | eofeos:major_cycle_id | string | - |
| 25 | eofeos:mission_phase | string | - |
| 22 | eofeos:orbit_drift_flag | boolean | - |
| 0 | eofeos:repeat_cycle_id | string | - |
| 10 | eopf:datatake_id | string | - |
| 24 | eopf:instrument_mode | string | - |
| 30 | frame | string | - |
| 12 | id | string | - |
| 6 | instruments | string | - |
| 4 | platform | string | - |
| 17 | polarisationChannels | string | - |
| 23 | processing:datetime | string | date-time |
| 1 | processing:facility | string | - |
| 15 | processing:level | string | - |
| 13 | processing:software | string | - |
| 26 | processingMode | string | - |
| 29 | product:acquisition_type | string | - |
| 3 | product:type | string | - |
| 8 | productionStatus | string | - |
| 20 | sar:observation_direction | string | - |
| 21 | sar:polarizations | string | - |
| 27 | sat:absolute_orbit | integer | - |
| 7 | sat:orbit_state | string | - |
| 9 | startTimeFromAscendingNode | number | - |
| 18 | swathIdentifier | string | - |
| 14 | track | string | - |
| 28 | updated | string | date-time |
| 19 | version | string | - |
Granule Search#
Access landing page#
The landing page provides access to collections (rel=”data”), child catalogs (rel=”child”) and the STAC item search endpoint (rel=”search”).
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
# show as a dictionary
api.to_dict()
{'type': 'Catalog',
'id': 'fedeo',
'stac_version': '1.1.0',
'description': 'MAAP Catalogue provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://catalog.maap.eo.esa.int/catalogue/api?httpAccept=application/vnd.oai.openapi%2Bjson;version=3.0',
'type': 'application/vnd.oai.openapi+json;version=3.0',
'title': 'OpenAPI definition in JSON format'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://catalog.maap.eo.esa.int/catalogue/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://catalog.maap.eo.esa.int/doc/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://catalog.maap.eo.esa.int/catalogue/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://catalog.maap.eo.esa.int/catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/series/eo:platform',
'type': 'application/json',
'title': 'Collections by platform'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/earthtopics',
'type': 'application/json',
'title': 'Earth Topics'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://catalog.maap.eo.esa.int/catalogue/series/eo:organisationName',
'type': 'application/json',
'title': 'Collections by organisation'},
{'rel': 'root',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json',
'title': 'MAAP Catalogue'}],
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'other',
'conformsTo': ['http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core',
'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30',
'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson',
'http://www.opengis.net/spec/ogcapi_common-2/1.0/conf/collections',
'http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/simple-query',
'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/cql-filter',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter',
'https://api.stacspec.org/v1.0.0/core',
'https://api.stacspec.org/v1.0.0/ogcapi-features',
'https://api.stacspec.org/v1.0.0/collections',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#sort',
'https://api.stacspec.org/v1.0.0/item-search',
'https://api.stacspec.org/v1.0.0-rc.3/item-search#filter',
'https://api.stacspec.org/v1.0.0/item-search#sort',
'https://api.stacspec.org/v1.0.0/ogcapi-features#sort',
'http://www.opengis.net/spec/cql2/1.0/conf/cql2-text',
'http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2'],
'title': 'MAAP Catalogue'}
The STAC granule search endpoint can be found in the landing page (rel=”search”). When performing searches, the collections to be searched are specified using their id. You can find the id by browsing the catalogue/collection hierarchy or via a collection search.
# Get STAC granule search link to be used.
print("Search link\t:", api.get_search_link())
Search link : <Link rel=search target=https://catalog.maap.eo.esa.int/catalogue/search>
Search by geometry#
Collections support granule search with the intersects [RD11] search parameter.
Example: 2.1
Search granules by geometry {intersects} [RD11] and
GETmethod. Geometry parameter can be provided as dictionary or string.
aoi_as_dict: Dict[str, Any] = {
"type": "Polygon",
"coordinates": [
[
[
113.5606,
4.039703
],
[
114.09912,
3.923761
],
[
114.22494,
4.50623
],
[
113.68626,
4.622398
],
[
113.5606,
4.039703
]
]
]
}
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 2,
collections=[COLLECTION_ID6_MAAP],
intersects = aoi_as_dict,
datetime=['2015-01-01T00:00:00Z', '2018-01-02T00:00:00Z']
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "datetime=2015-01-01T00:00:00Z/2018-01-02T00:00:00Z" \
--data-urlencode "collections=BiomassLevel1a" \
--data-urlencode "intersects={\"type\":\"Polygon\",\"coordinates\":[[[113.5606,4.039703],[114.09912,3.923761],[114.22494,4.50623],[113.68626,4.622398],[113.5606,4.039703]]]}"
The total number of results available is reported in the numberMatched property.
2 items found.
# Show search response (GeoJSON)
data = results.item_collection_as_dict()
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"type": "FeatureCollection",
"features": [
{
"stac_version": "1.0.0",
"assets": {
"quicklook_1": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/preview/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_ql.png",
"type": "image/png",
"title": "preview"
},
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/public/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP.BI.PNG",
"type": "image/png",
"title": "Preview"
},
"product": {
"file:local_path": "BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP.ZIP",
"alternate:name": "HTTPS",
"roles": [
"data",
"metadata",
"archive"
],
"href": "https://catalog.maap.eo.esa.int/data/zipper/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP",
"auth:refs": [
"oidc"
],
"published": "2017-01-08T10:37:00.748Z",
"title": "Zipped product",
"type": "application/zip"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/gml%2Bxml&recordSchema=om",
"title": "OGC 10-157r4 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.1\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?mode=owc",
"title": "OGC 17-003r2 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eo-geojson/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"quicklook": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/preview/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_map.kmz",
"type": "application/vnd.google-earth.kmz",
"title": "preview"
}
},
"bbox": [
113.5606,
3.923761,
114.22494,
4.622398
],
"geometry": {
"coordinates": [
[
[
113.5606,
4.039703
],
[
114.09912,
3.923761
],
[
114.22494,
4.50623
],
[
113.68626,
4.622398
],
[
113.5606,
4.039703
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json",
"title": "BiomassLevel1a"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json",
"title": "BiomassLevel1a"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/navigation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_att.xml",
"type": "text/xml",
"title": "navigation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/navigation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_orb.xml",
"type": "text/xml",
"title": "navigation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_annot.xml",
"type": "text/xml",
"title": "annotation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_lut.nc",
"type": "application/x-netcdf",
"title": "annotation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i.vrt",
"type": "application/xml",
"title": "measurement"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i_abs.tiff",
"type": "image/tiff",
"title": "measurement"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i_phase.tiff",
"type": "image/tiff",
"title": "measurement"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-aux-attitude.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-aux-orbit.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-common-types.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-annotations.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-overlay-support.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-overlay.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-vrt.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1ab-main-annotation.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "via",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_01_d10gnp.xml",
"type": "application/gml+xml;profile=\\\"http://www.opengis.net/spec/EOMPOM/1.1\\\"",
"title": "OGC 10-157r4 metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP",
"collection": "BiomassLevel1a",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/authentication/v1.1.0/schema.json",
"https://stac-extensions.github.io/alternate-assets/v1.2.0/schema.json",
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
"https://stac-extensions.github.io/projection/v2.0.0/schema.json",
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://cs-si.github.io/eopf-stac-extension/v1.2.0/schema.json",
"https://eof-eos.io.esa.int/stac-extension/v0.1.0/schema.json",
"https://stac-extensions.github.io/sar/v1.3.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/grid/v1.1.0/schema.json",
"https://stac-extensions.github.io/product/v1.0.0/schema.json",
"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
],
"properties": {
"eofeos:repeat_cycle_id": "3",
"start_datetime": "2017-01-08T10:36:51.170Z",
"end_datetime": "2017-01-08T10:37:00.748Z",
"processing:facility": "Biomass CPF",
"product:type": "S1_SCS__1S",
"eofeos:global_coverage_id": "1",
"sat:anx_datetime": "2017-01-08T09:49:14.328Z",
"title": "BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP",
"platform": "Biomass",
"eofeos:major_cycle_id": "1",
"datetime": "2017-01-08T10:36:51.170Z",
"instruments": [
"P-SAR"
],
"constellation": "Biomass",
"sat:orbit_state": "descending",
"eopf:datatake_id": "871208",
"processing:software": {
"Biomass L1 Processor": "3.0.1"
},
"eopf:instrument_configuration_id": 0,
"grid:code": "WRS-18-151",
"processing:level": "L1A",
"proj:code": "EPSG:4326",
"created": "2025-01-13T08:39:10.954Z",
"published": "2025-01-13T08:39:10.954Z",
"version": "01",
"sar:observation_direction": "left",
"sar:polarizations": [
"HH",
"HV",
"VH",
"VV"
],
"auth:schemes": {
"http": {
"type": "http"
},
"oidc": {
"openIdConnectUrl": "https://iam.preop.esa-maap.org/realms/esa-maap/.well-known/openid-configuration",
"type": "openIdConnect"
}
},
"sar:instrument_mode": "SM",
"eofeos:orbit_drift_flag": false,
"processing:datetime": "2024-12-17T14:38:13Z",
"eofeos:mission_phase": "INTERFEROMETRIC",
"updated": "2025-08-12T09:08:42Z",
"sat:absolute_orbit": 106,
"product:acquisition_type": "nominal"
}
},
{
"stac_version": "1.0.0",
"assets": {
"quicklook_1": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/preview/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_ql.png",
"type": "image/png",
"title": "preview"
},
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/public/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0.BI.PNG",
"type": "image/png",
"title": "Preview"
},
"product": {
"file:local_path": "BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0.ZIP",
"alternate:name": "HTTPS",
"roles": [
"data",
"metadata",
"archive"
],
"href": "https://catalog.maap.eo.esa.int/data/zipper/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0",
"auth:refs": [
"oidc"
],
"published": "2017-01-08T10:37:00.748Z",
"title": "Zipped product",
"type": "application/zip"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/gml%2Bxml&recordSchema=om",
"title": "OGC 10-157r4 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.1\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?mode=owc",
"title": "OGC 17-003r2 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eo-geojson/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"quicklook": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/preview/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_map.kmz",
"type": "application/vnd.google-earth.kmz",
"title": "preview"
}
},
"bbox": [
113.5606,
3.923761,
114.22494,
4.622398
],
"geometry": {
"coordinates": [
[
[
113.5606,
4.039703
],
[
114.09912,
3.923761
],
[
114.22494,
4.50623
],
[
113.68626,
4.622398
],
[
113.5606,
4.039703
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json",
"title": "BiomassLevel1a"
},
{
"rel": "parent",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a",
"type": "application/json",
"title": "BiomassLevel1a"
},
{
"rel": "root",
"href": "https://catalog.maap.eo.esa.int/catalogue/",
"type": "application/json",
"title": "MAAP Catalogue"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/navigation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_att.xml",
"type": "text/xml",
"title": "navigation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/navigation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_orb.xml",
"type": "text/xml",
"title": "navigation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_annot.xml",
"type": "text/xml",
"title": "annotation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_lut.nc",
"type": "application/x-netcdf",
"title": "annotation"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-aux-attitude.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-aux-orbit.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-common-types.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-annotations.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-overlay-support.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-overlay.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "describedBy",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1ab-main-annotation.xsd",
"type": "text/xml",
"title": "schema"
},
{
"rel": "via",
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_01_d10go0.xml",
"type": "application/gml+xml;profile=\\\"http://www.opengis.net/spec/EOMPOM/1.1\\\"",
"title": "OGC 10-157r4 metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson;profile=https://schema.org",
"type": "application/ld+json;profile=\"https://schema.org\"",
"title": "JSON-LD (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/",
"type": "application/ld+json;profile=\"http://data.europa.eu/930/\"",
"title": "JSON-LD (GeoDCAT-AP) metadata"
}
],
"id": "BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0",
"collection": "BiomassLevel1a",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/authentication/v1.1.0/schema.json",
"https://stac-extensions.github.io/alternate-assets/v1.2.0/schema.json",
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
"https://stac-extensions.github.io/projection/v2.0.0/schema.json",
"https://stac-extensions.github.io/processing/v1.2.0/schema.json",
"https://cs-si.github.io/eopf-stac-extension/v1.2.0/schema.json",
"https://eof-eos.io.esa.int/stac-extension/v0.1.0/schema.json",
"https://stac-extensions.github.io/sar/v1.3.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/grid/v1.1.0/schema.json",
"https://stac-extensions.github.io/product/v1.0.0/schema.json",
"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
],
"properties": {
"eofeos:repeat_cycle_id": "3",
"start_datetime": "2017-01-08T10:36:51.170Z",
"end_datetime": "2017-01-08T10:37:00.748Z",
"processing:facility": "Biomass CPF",
"product:type": "S1_SCS__1M",
"eofeos:global_coverage_id": "1",
"sat:anx_datetime": "2017-01-08T09:49:14.328Z",
"title": "BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0",
"platform": "Biomass",
"eofeos:major_cycle_id": "1",
"datetime": "2017-01-08T10:36:51.170Z",
"instruments": [
"P-SAR"
],
"constellation": "Biomass",
"sat:orbit_state": "descending",
"eopf:datatake_id": "871208",
"processing:software": {
"Biomass L1 Processor": "3.0.1"
},
"eopf:instrument_configuration_id": 0,
"grid:code": "WRS-18-151",
"processing:level": "L1A",
"proj:code": "EPSG:4326",
"created": "2025-01-13T08:37:27.822Z",
"published": "2025-01-13T08:37:27.822Z",
"version": "01",
"sar:observation_direction": "left",
"sar:polarizations": [
"HH",
"HV",
"VH",
"VV"
],
"auth:schemes": {
"http": {
"type": "http"
},
"oidc": {
"openIdConnectUrl": "https://iam.preop.esa-maap.org/realms/esa-maap/.well-known/openid-configuration",
"type": "openIdConnect"
}
},
"sar:instrument_mode": "SM",
"eofeos:orbit_drift_flag": false,
"processing:datetime": "2024-12-17T14:38:24Z",
"eofeos:mission_phase": "INTERFEROMETRIC",
"updated": "2025-08-12T09:08:42Z",
"sat:absolute_orbit": 106,
"product:acquisition_type": "nominal"
}
}
]
}
Example: 2.2
Search granules by geometry {intersects} [RD11] and
POSTmethod. Geometry parameter can be provided as dictionary or string.
# same request with POST
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'POST',
max_items = 2,
collections=[COLLECTION_ID6_MAAP],
# intersects = json.dumps(aoi_as_dict),
intersects = aoi_as_dict,
datetime=['2015-01-01T00:00:00Z', '2018-01-02T00:00:00Z']
)
curl -X POST https://catalog.maap.eo.esa.int/catalogue/search \
--header 'Content-Type: application/json' \
--data-raw '{
"datetime": "2015-01-01T00:00:00Z/2018-01-02T00:00:00Z",
"collections": ["BiomassLevel1a"],
"intersects": {"type":"Polygon","coordinates":[[[113.5606,4.039703],[114.09912,3.923761],[114.22494,4.50623],[113.68626,4.622398],[113.5606,4.039703]]]}
}'
print(f"{results.matched()} items found.")
assert results.matched() > 0
2 items found.
results.item_collection_as_dict()
{'type': 'FeatureCollection',
'features': [{'stac_version': '1.0.0',
'assets': {'quicklook_1': {'roles': ['overview'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/preview/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_ql.png',
'type': 'image/png',
'title': 'preview'},
'thumbnail': {'roles': ['thumbnail'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/public/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP.BI.PNG',
'type': 'image/png',
'title': 'Preview'},
'product': {'file:local_path': 'BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP.ZIP',
'alternate:name': 'HTTPS',
'roles': ['data', 'metadata', 'archive'],
'href': 'https://catalog.maap.eo.esa.int/data/zipper/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP',
'auth:refs': ['oidc'],
'published': '2017-01-08T10:37:00.748Z',
'title': 'Zipped product',
'type': 'application/zip'},
'metadata_ogc_10_157r4': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/gml%2Bxml&recordSchema=om',
'title': 'OGC 10-157r4 metadata',
'type': 'application/gml+xml;profile="http://www.opengis.net/spec/EOMPOM/1.1"'},
'metadata_ogc_17_003r2': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?mode=owc',
'title': 'OGC 17-003r2 metadata',
'type': 'application/geo+json;profile="http://www.opengis.net/spec/eo-geojson/1.0"'},
'metadata_iso_19139': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/vnd.iso.19139%2Bxml',
'title': 'ISO 19139 metadata',
'type': 'application/vnd.iso.19139+xml'},
'quicklook': {'roles': ['overview'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/preview/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_map.kmz',
'type': 'application/vnd.google-earth.kmz',
'title': 'preview'}},
'bbox': [113.5606, 3.923761, 114.22494, 4.622398],
'geometry': {'coordinates': [[[113.5606, 4.039703],
[114.09912, 3.923761],
[114.22494, 4.50623],
[113.68626, 4.622398],
[113.5606, 4.039703]]],
'type': 'Polygon'},
'links': [{'rel': 'self',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP',
'type': 'application/geo+json;profile="https://stacspec.org"'},
{'rel': 'collection',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a',
'type': 'application/json',
'title': 'BiomassLevel1a'},
{'rel': 'parent',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a',
'type': 'application/json',
'title': 'BiomassLevel1a'},
{'rel': 'root',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json',
'title': 'MAAP Catalogue'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/navigation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_att.xml',
'type': 'text/xml',
'title': 'navigation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/navigation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_orb.xml',
'type': 'text/xml',
'title': 'navigation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_annot.xml',
'type': 'text/xml',
'title': 'annotation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/annotation/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_lut.nc',
'type': 'application/x-netcdf',
'title': 'annotation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i.vrt',
'type': 'application/xml',
'title': 'measurement'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i_abs.tiff',
'type': 'image/tiff',
'title': 'measurement'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/measurement/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_i_phase.tiff',
'type': 'image/tiff',
'title': 'measurement'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-aux-attitude.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-aux-orbit.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-common-types.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-annotations.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-overlay-support.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-overlay.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1-vrt.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/schema/bio-l1ab-main-annotation.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'via',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP/bio_s1_scs__1s_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_01_d10gnp.xml',
'type': 'application/gml+xml;profile=\\"http://www.opengis.net/spec/EOMPOM/1.1\\"',
'title': 'OGC 10-157r4 metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'JSON-LD metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson;profile=https://schema.org',
'type': 'application/ld+json;profile="https://schema.org"',
'title': 'JSON-LD (schema.org) metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP?httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/',
'type': 'application/ld+json;profile="http://data.europa.eu/930/"',
'title': 'JSON-LD (GeoDCAT-AP) metadata'}],
'id': 'BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP',
'collection': 'BiomassLevel1a',
'type': 'Feature',
'stac_extensions': ['https://stac-extensions.github.io/authentication/v1.1.0/schema.json',
'https://stac-extensions.github.io/alternate-assets/v1.2.0/schema.json',
'https://stac-extensions.github.io/file/v2.1.0/schema.json',
'https://stac-extensions.github.io/projection/v2.0.0/schema.json',
'https://stac-extensions.github.io/processing/v1.2.0/schema.json',
'https://cs-si.github.io/eopf-stac-extension/v1.2.0/schema.json',
'https://eof-eos.io.esa.int/stac-extension/v0.1.0/schema.json',
'https://stac-extensions.github.io/sar/v1.3.0/schema.json',
'https://stac-extensions.github.io/sat/v1.0.0/schema.json',
'https://stac-extensions.github.io/grid/v1.1.0/schema.json',
'https://stac-extensions.github.io/product/v1.0.0/schema.json',
'https://stac-extensions.github.io/timestamps/v1.1.0/schema.json'],
'properties': {'eofeos:repeat_cycle_id': '3',
'start_datetime': '2017-01-08T10:36:51.170Z',
'end_datetime': '2017-01-08T10:37:00.748Z',
'processing:facility': 'Biomass CPF',
'product:type': 'S1_SCS__1S',
'eofeos:global_coverage_id': '1',
'sat:anx_datetime': '2017-01-08T09:49:14.328Z',
'title': 'BIO_S1_SCS__1S_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GNP',
'platform': 'Biomass',
'eofeos:major_cycle_id': '1',
'datetime': '2017-01-08T10:36:51.170Z',
'instruments': ['P-SAR'],
'constellation': 'Biomass',
'sat:orbit_state': 'descending',
'eopf:datatake_id': '871208',
'processing:software': {'Biomass L1 Processor': '3.0.1'},
'eopf:instrument_configuration_id': 0,
'grid:code': 'WRS-18-151',
'processing:level': 'L1A',
'proj:code': 'EPSG:4326',
'created': '2025-01-13T08:39:10.954Z',
'published': '2025-01-13T08:39:10.954Z',
'version': '01',
'sar:observation_direction': 'left',
'sar:polarizations': ['HH', 'HV', 'VH', 'VV'],
'auth:schemes': {'http': {'type': 'http'},
'oidc': {'openIdConnectUrl': 'https://iam.preop.esa-maap.org/realms/esa-maap/.well-known/openid-configuration',
'type': 'openIdConnect'}},
'sar:instrument_mode': 'SM',
'eofeos:orbit_drift_flag': False,
'processing:datetime': '2024-12-17T14:38:13Z',
'eofeos:mission_phase': 'INTERFEROMETRIC',
'updated': '2025-08-12T09:08:42Z',
'sat:absolute_orbit': 106,
'product:acquisition_type': 'nominal'}},
{'stac_version': '1.0.0',
'assets': {'quicklook_1': {'roles': ['overview'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/preview/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_ql.png',
'type': 'image/png',
'title': 'preview'},
'thumbnail': {'roles': ['thumbnail'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/public/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0.BI.PNG',
'type': 'image/png',
'title': 'Preview'},
'product': {'file:local_path': 'BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0.ZIP',
'alternate:name': 'HTTPS',
'roles': ['data', 'metadata', 'archive'],
'href': 'https://catalog.maap.eo.esa.int/data/zipper/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0',
'auth:refs': ['oidc'],
'published': '2017-01-08T10:37:00.748Z',
'title': 'Zipped product',
'type': 'application/zip'},
'metadata_ogc_10_157r4': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/gml%2Bxml&recordSchema=om',
'title': 'OGC 10-157r4 metadata',
'type': 'application/gml+xml;profile="http://www.opengis.net/spec/EOMPOM/1.1"'},
'metadata_ogc_17_003r2': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?mode=owc',
'title': 'OGC 17-003r2 metadata',
'type': 'application/geo+json;profile="http://www.opengis.net/spec/eo-geojson/1.0"'},
'metadata_iso_19139': {'roles': ['metadata'],
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/vnd.iso.19139%2Bxml',
'title': 'ISO 19139 metadata',
'type': 'application/vnd.iso.19139+xml'},
'quicklook': {'roles': ['overview'],
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/preview/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_map.kmz',
'type': 'application/vnd.google-earth.kmz',
'title': 'preview'}},
'bbox': [113.5606, 3.923761, 114.22494, 4.622398],
'geometry': {'coordinates': [[[113.5606, 4.039703],
[114.09912, 3.923761],
[114.22494, 4.50623],
[113.68626, 4.622398],
[113.5606, 4.039703]]],
'type': 'Polygon'},
'links': [{'rel': 'self',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0',
'type': 'application/geo+json;profile="https://stacspec.org"'},
{'rel': 'collection',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a',
'type': 'application/json',
'title': 'BiomassLevel1a'},
{'rel': 'parent',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a',
'type': 'application/json',
'title': 'BiomassLevel1a'},
{'rel': 'root',
'href': 'https://catalog.maap.eo.esa.int/catalogue/',
'type': 'application/json',
'title': 'MAAP Catalogue'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/navigation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_att.xml',
'type': 'text/xml',
'title': 'navigation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/navigation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_orb.xml',
'type': 'text/xml',
'title': 'navigation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_annot.xml',
'type': 'text/xml',
'title': 'annotation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/annotation/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_lut.nc',
'type': 'application/x-netcdf',
'title': 'annotation'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-aux-attitude.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-aux-orbit.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-common-types.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-annotations.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-overlay-support.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1-overlay.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'describedBy',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/schema/bio-l1ab-main-annotation.xsd',
'type': 'text/xml',
'title': 'schema'},
{'rel': 'via',
'href': 'https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/08/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0/bio_s1_scs__1m_20170108t103651_20170108t103700_i_g01_m01_c03_t018_f151_01_d10go0.xml',
'type': 'application/gml+xml;profile=\\"http://www.opengis.net/spec/EOMPOM/1.1\\"',
'title': 'OGC 10-157r4 metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'JSON-LD metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson;profile=https://schema.org',
'type': 'application/ld+json;profile="https://schema.org"',
'title': 'JSON-LD (schema.org) metadata'},
{'rel': 'alternate',
'href': 'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0?httpAccept=application/ld%2Bjson;profile=http://data.europa.eu/930/',
'type': 'application/ld+json;profile="http://data.europa.eu/930/"',
'title': 'JSON-LD (GeoDCAT-AP) metadata'}],
'id': 'BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0',
'collection': 'BiomassLevel1a',
'type': 'Feature',
'stac_extensions': ['https://stac-extensions.github.io/authentication/v1.1.0/schema.json',
'https://stac-extensions.github.io/alternate-assets/v1.2.0/schema.json',
'https://stac-extensions.github.io/file/v2.1.0/schema.json',
'https://stac-extensions.github.io/projection/v2.0.0/schema.json',
'https://stac-extensions.github.io/processing/v1.2.0/schema.json',
'https://cs-si.github.io/eopf-stac-extension/v1.2.0/schema.json',
'https://eof-eos.io.esa.int/stac-extension/v0.1.0/schema.json',
'https://stac-extensions.github.io/sar/v1.3.0/schema.json',
'https://stac-extensions.github.io/sat/v1.0.0/schema.json',
'https://stac-extensions.github.io/grid/v1.1.0/schema.json',
'https://stac-extensions.github.io/product/v1.0.0/schema.json',
'https://stac-extensions.github.io/timestamps/v1.1.0/schema.json'],
'properties': {'eofeos:repeat_cycle_id': '3',
'start_datetime': '2017-01-08T10:36:51.170Z',
'end_datetime': '2017-01-08T10:37:00.748Z',
'processing:facility': 'Biomass CPF',
'product:type': 'S1_SCS__1M',
'eofeos:global_coverage_id': '1',
'sat:anx_datetime': '2017-01-08T09:49:14.328Z',
'title': 'BIO_S1_SCS__1M_20170108T103651_20170108T103700_I_G01_M01_C03_T018_F151_01_D10GO0',
'platform': 'Biomass',
'eofeos:major_cycle_id': '1',
'datetime': '2017-01-08T10:36:51.170Z',
'instruments': ['P-SAR'],
'constellation': 'Biomass',
'sat:orbit_state': 'descending',
'eopf:datatake_id': '871208',
'processing:software': {'Biomass L1 Processor': '3.0.1'},
'eopf:instrument_configuration_id': 0,
'grid:code': 'WRS-18-151',
'processing:level': 'L1A',
'proj:code': 'EPSG:4326',
'created': '2025-01-13T08:37:27.822Z',
'published': '2025-01-13T08:37:27.822Z',
'version': '01',
'sar:observation_direction': 'left',
'sar:polarizations': ['HH', 'HV', 'VH', 'VV'],
'auth:schemes': {'http': {'type': 'http'},
'oidc': {'openIdConnectUrl': 'https://iam.preop.esa-maap.org/realms/esa-maap/.well-known/openid-configuration',
'type': 'openIdConnect'}},
'sar:instrument_mode': 'SM',
'eofeos:orbit_drift_flag': False,
'processing:datetime': '2024-12-17T14:38:24Z',
'eofeos:mission_phase': 'INTERFEROMETRIC',
'updated': '2025-08-12T09:08:42Z',
'sat:absolute_orbit': 106,
'product:acquisition_type': 'nominal'}}]}
Search by bounding box#
The geometry parameter can be provided as Python list or tuple.
Example: 2.3
Search granules by bounding box {bbox} list [RD11]. Geometry parameter is provided as Python list.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID6_MAAP],
bbox = [108.0, -4.66, 119.0, 8.05], # Borneo
# datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z']
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "bbox=108.0,-4.66,119.0,8.05" \
--data-urlencode "collections=BiomassLevel1a"
33 items found.
Example: 2.4
Search granules by bounding box {bbox} [RD11]. Geometry parameter is provided as Python tuple.
# x, y = (14.95, 37.74) # Center point of query (Mount Etna)
x, y = (4.38, 51.25) # Center point of query (Antwerp harbour)
r = 0.1
box = (x - r, y - r, x + r, y + r)
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID1],
bbox = box
)
Same request using curl.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "bbox=4.28,51.15,4.4799999999999995,51.35" \
--data-urlencode "collections=PROBA.CHRIS.1A"
8 items found.
Search by temporal extent#
Example: 2.6
Search granules by date range (datetime) [RD01].
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 50,
collections=[COLLECTION_ID6_MAAP],
datetime=['2017-01-01T00:00:00Z', '2017-05-30T00:00:00Z']
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "datetime=2017-01-01T00:00:00Z/2017-05-30T00:00:00Z" \
--data-urlencode "collections=BiomassLevel1a"
display_date_distribution(results, "datetime")
Example: 2.7
Search granules by open-ended date range (datetime) [RD01].
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 50,
collections=[COLLECTION_ID6_MAAP],
datetime=['2017-02-01T00:00:00Z', None]
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "datetime=2017-02-01T00:00:00Z/.." \
--data-urlencode "collections=BiomassLevel1a"
print(f"{results.matched()} items found.")
21 items found.
display_value_distribution(results, 'product:type')
Search by identifier#
Example: 2.8
Search granule by identifier (ids) [RD01].
granule_id1
'BIO_S1_SCS__1M_20170206T222634_20170206T222658_I_G01_M02_C01_T010_F309_01_CT1I4R'
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
collections=[COLLECTION_ID6_MAAP],
ids=[granule_id1]
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "ids=BIO_S1_SCS__1M_20170206T222634_20170206T222658_I_G01_M02_C01_T010_F309_01_CT1I4R" \
--data-urlencode "collections=BiomassLevel1a"
1 items found.
| 0 | |
|---|---|
| geometry | POLYGON ((111.22745 -1.507788, 110.689896 -1.6... |
| eofeos:repeat_cycle_id | 1 |
| start_datetime | 2017-02-06T22:26:34.168Z |
| end_datetime | 2017-02-06T22:26:58.234Z |
| processing:facility | Biomass CPF |
| product:type | S1_SCS__1M |
| eofeos:global_coverage_id | 1 |
| sat:anx_datetime | 2017-02-06T20:49:04.860Z |
| title | BIO_S1_SCS__1M_20170206T222634_20170206T222658... |
| platform | Biomass |
| eofeos:major_cycle_id | 2 |
| datetime | 2017-02-06T22:26:34.168Z |
| instruments | [P-SAR] |
| constellation | Biomass |
| sat:orbit_state | ascending |
| eopf:datatake_id | 4413145 |
| processing:software | {'Biomass L1 Processor': '2.2.2'} |
| eopf:instrument_configuration_id | 0 |
| grid:code | WRS-10-309 |
| processing:level | L1A |
| proj:code | EPSG:4326 |
| created | 2025-01-09T10:14:25.707Z |
| published | 2025-01-09T10:14:25.707Z |
| version | 01 |
| sar:observation_direction | left |
| sar:polarizations | [HH, HV, VH, VV] |
| auth:schemes | {'http': {'type': 'http'}, 'oidc': {'openIdCon... |
| sar:instrument_mode | SM |
| eofeos:orbit_drift_flag | False |
| processing:datetime | 2024-07-15T15:38:51Z |
| eofeos:mission_phase | INTERFEROMETRIC |
| updated | 2025-08-12T09:08:48Z |
| sat:absolute_orbit | 538 |
| product:acquisition_type | nominal |
Example: 2.9
Search granule by identifier (
ids) [RD01] without specifying collection.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
ids=[granule_id1]
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "ids=BIO_S1_SCS__1M_20170206T222634_20170206T222658_I_G01_M02_C01_T010_F309_01_CT1I4R"
print(f"{results.matched()} items found.")
assert results.matched() == 1
1 items found.
Search with filter#
Example: 2.10
Search granules with filter {filter} [RD01]. Available filters are advertised in
Queryablesobject at /collections/{id}/queryables.
url = URL_LANDING_PAGE + "collections/" + COLLECTION_ID6_MAAP + "/queryables"
url
'https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables'
# Get queryables response and list parameters alphabetically.
response = requests.get(url)
data = json.loads(response.text)
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
# df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
# df['type'] = df.apply(lambda row : row['value']['type'], axis = 1)
# df
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Queryable names for the STAC API Item Search filter.",
"type": "object",
"title": "Queryables for BiomassLevel1a collection",
"properties": {
"eofeos:repeat_cycle_id": {
"description": "Repeat cycle identifier. Each Major Cycle is split into repeat cycles, depending on Mission Phase or Orbit Control moment. Values are mission-specific. e.g. BIOMASS uses \"1\" to \"8\" during TOM phase, \"1\" to \"3\" during INT phase, \"DR\" during orbit drift, \"NA\" when not applicable (e.g. during COM phase).",
"title": "Repeat cycle id",
"type": "string",
"enum": [
"1",
"2",
"3"
]
},
"processing:facility": {
"description": "The processing center (e.g. PDHS-E, PDHS-K, DPA, F-ACRI)",
"title": "Processing center",
"type": "string",
"enum": [
"Biomass CPF"
]
},
"eofeos:global_coverage_id": {
"description": "Global coverage identifier. Each Phase of the mission is split in different Global Coverages. Values are mission-specific. E.g. BIOMASS uses \"1\" to \"6\". \"1\" for the Tomographic Phase (TOM), \"1\" to \"6\" for the Interferometric Phase (INT), \"NA\" when not applicable (e.g. during COM phase).",
"title": "Global coverage id",
"type": "string",
"enum": [
"1"
]
},
"product:type": {
"description": "A string identifying the entry type",
"title": "Product type",
"type": "string",
"enum": [
"S1_SCS__1M",
"S1_SCS__1S",
"S2_SCS__1M",
"S2_SCS__1S",
"S3_SCS__1M",
"S3_SCS__1S"
]
},
"platform": {
"description": "The platform short name",
"title": "Platform",
"type": "string",
"enum": [
"Biomass"
]
},
"eofeos:major_cycle_id": {
"description": "Major cycle identifier. Each Global Coverage is split into multiple Major cycles. Values are mission-specific. E.g. BIOMASS uses \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" during TOM and INT phases.",
"title": "Major cycle id",
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7"
]
},
"instruments": {
"description": "The instrument (e.g. MERIS, AATSR, ASAR, HRVIR. SAR)",
"title": "Instrument",
"type": "string",
"enum": [
"P-SAR"
]
},
"sat:orbit_state": {
"description": "The acquisition orbit direction",
"title": "Orbit direction",
"type": "string",
"enum": [
"ASCENDING",
"DESCENDING"
]
},
"productionStatus": {
"description": "The status of the entry",
"title": "Production status",
"type": "string",
"enum": [
"ARCHIVED"
]
},
"startTimeFromAscendingNode": {
"description": "Start time of acquisition in milliseconds from ascending node date",
"title": "Start time from ascending node",
"type": "number"
},
"eopf:datatake_id": {
"description": "Datatake identification. Examples: for S1, datatake_id = 12032; for S2, datatake_id = GS2A_20231215T103431_044292_N05.10",
"title": "Data take id",
"type": "string"
},
"completionTimeFromAscendingNode": {
"description": "Completion time of acquisition in milliseconds from ascending node date",
"title": "Completion time from ascending node",
"type": "number"
},
"id": {
"description": "Item identifier",
"title": "Item ID",
"type": "string"
},
"processing:software": {
"description": "The processor software name",
"title": "Processor name",
"type": "string",
"enum": [
"Biomass L1 Processor"
]
},
"track": {
"description": "The orbit track",
"title": "Track",
"type": "string"
},
"processing:level": {
"description": "The processing level applied to the entry",
"title": "Processing level",
"type": "string",
"enum": [
"L1A"
]
},
"created": {
"format": "date-time",
"description": "The date when the metadata item was ingested for the first time (i.e. inserted) in the catalogue",
"title": "Creation date",
"type": "string"
},
"polarisationChannels": {
"description": "Polarisation channel transmit/receive configuration: horizontal, vertical",
"title": "Polarisation channels",
"type": "string",
"enum": [
"HH, HV, VH, VV"
]
},
"swathIdentifier": {
"description": "Swath identifier (e.g. Envisat ASAR has 7 distinct swaths (I1,I2,I3...I7) that correspond to precise incidence angles for the sensor). Value list can be retrieved with codeSpace",
"title": "Swath identifier",
"type": "string",
"enum": [
"S1",
"S2",
"S3"
]
},
"version": {
"description": "The version of the product",
"title": "Product version",
"type": "string",
"enum": [
"01"
]
},
"sar:observation_direction": {
"description": "Antenna look direction",
"title": "Antenna look direction",
"type": "string",
"enum": [
"LEFT",
"RIGHT"
]
},
"sar:polarizations": {
"description": "Polarisation mode",
"title": "Polarisation mode",
"type": "string",
"enum": [
"Q"
]
},
"eofeos:orbit_drift_flag": {
"description": "Orbit drift flag. Indicates if the product was generated during a moment where there were no active orbit control measures. Example: false.",
"title": "Orbit drift flag",
"type": "boolean",
"enum": [
false
]
},
"processing:datetime": {
"format": "date-time",
"description": "A date interval requesting entries processed within a given time interval",
"title": "Processing date",
"type": "string"
},
"eopf:instrument_mode": {
"description": "The sensor mode",
"title": "Sensor mode",
"type": "string",
"enum": [
"SM"
]
},
"eofeos:mission_phase": {
"description": "Mission phase, each one has a specific objective for the mission. Values are mission-specific, e.g. BIOMASS uses \"COMMISSIONING\", \"TOMOGRAPHIC\" and \"INTERFEROMETRIC\".",
"title": "Mission phase",
"type": "string",
"enum": [
"INTERFEROMETRIC"
]
},
"processingMode": {
"description": "Processing mode. Often referred to as real time, near real time etc",
"title": "Processing mode",
"type": "string",
"enum": [
"OPERATIONAL"
]
},
"sat:absolute_orbit": {
"description": "The acquisition orbit number",
"title": "Orbit number",
"type": "integer"
},
"updated": {
"format": "date-time",
"description": "The date when the metadata item was last modified (i.e. updated) in the catalogue",
"title": "Modification date",
"type": "string"
},
"product:acquisition_type": {
"description": "Used to distinguish at a high level the appropriateness of the acquisition for \"general\" use, whether the product is a nominal acquisition, special calibration product or other",
"title": "Acquisition type",
"type": "string",
"enum": [
"NOMINAL"
]
},
"frame": {
"description": "The orbit frame",
"title": "Frame",
"type": "string"
}
},
"$id": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables"
}
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID6_MAAP],
# bbox = [14.90, 37.700, 14.99, 37.780], # Mount Etna
bbox = [108.0, -4.66, 119.0, 8.05], # Borneo
# datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z'],
datetime=['2017-01-01T00:00:00Z', '2017-05-30T00:00:00Z'],
filter="product:type='S1_SCS__1M' and instruments='P-SAR'"
)
Same request with curl.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "bbox=108.0,-4.66,119.0,8.05" \
--data-urlencode "datetime=2017-01-01T00:00:00Z/2017-05-30T00:00:00Z" \
--data-urlencode "collections=BiomassLevel1a" \
--data-urlencode "filter=product:type='S1_SCS__1M' and instruments='P-SAR'" \
--data-urlencode "filter-lang=cql2-text"
8 items found.
display_value_distribution(results, 'product:type')
Search by cloud cover#
Example: 2.11
Search granules by cloudcover (
filterandeo:cloud_cover) [RD01]. Available filters are advertised inQueryablesobject at /collections/{id}/queryables.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=50,
collections=[COLLECTION_ID3_CLOUDS],
filter="eo:cloud_cover < 10"
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "collections=IKONOS.ESA.archive" \
--data-urlencode "filter=eo:cloud_cover < 10" \
--data-urlencode "filter-lang=cql2-text"
293 items found.
# Display cloud-cover values as histogram to show that range is taken into account
stac_json = results.item_collection_as_dict()
gdf = gpd.GeoDataFrame.from_features(stac_json)
try:
_ = gdf[['title','eo:cloud_cover']].hist()
except:
print("eo:cloud_cover information is not available.")
# fails if properties are not in the metadata.
try:
# _ = gdf[['view:sun_elevation','view:incidence_angle','view:sun_azimuth']].plot.hist(alpha=0.7)
_ = gdf[['view:sun_elevation','view:sun_azimuth']].plot.hist(alpha=0.7)
except:
print("acquisition angle information is not available.")
# gdf
# display_value_distribution(results, 'sat:orbit_state')
display_value_distribution(results, 'product:type')
Search by modification date#
Example: 2.12
Search granules by modification date (
filterwithupdated).
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = "GET",
max_items = 10,
filter="updated > TIMESTAMP('2025-02-10T09:54:34.651Z')",
collections = [ COLLECTION_ID6_MAAP ]
)
print(f"{results.matched()} granules found.")
33 granules found.
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "collections=BiomassLevel1a" \
--data-urlencode "filter=updated > TIMESTAMP('2025-02-10T09:54:34.651Z')" \
--data-urlencode "filter-lang=cql2-text"
data = results.item_collection_as_dict()
df = pd.json_normalize(data, record_path=['features'])
df[['id', 'properties.updated', 'collection']]
| id | properties.updated | collection | |
|---|---|---|---|
| 0 | BIO_S1_SCS__1M_20170108T103717_20170108T103738... | 2025-08-12T09:08:42Z | BiomassLevel1a |
| 1 | BIO_S2_SCS__1S_20170110T222200_20170110T222221... | 2025-08-12T09:08:48Z | BiomassLevel1a |
| 2 | BIO_S1_SCS__1S_20170108T103651_20170108T103700... | 2025-08-12T09:08:42Z | BiomassLevel1a |
| 3 | BIO_S1_SCS__1M_20170206T222634_20170206T222658... | 2025-08-12T09:08:48Z | BiomassLevel1a |
| 4 | BIO_S3_SCS__1S_20170228T104258_20170228T104319... | 2025-08-12T09:08:49Z | BiomassLevel1a |
| 5 | BIO_S1_SCS__1M_20170705T221635_20170705T221656... | 2025-08-12T09:08:50Z | BiomassLevel1a |
| 6 | BIO_S1_SCS__1S_20170812T215020_20170812T215036... | 2025-08-12T09:08:51Z | BiomassLevel1a |
| 7 | BIO_S3_SCS__1S_20170228T104245_20170228T104300... | 2025-08-12T09:08:49Z | BiomassLevel1a |
| 8 | BIO_S1_SCS__1M_20170108T103651_20170108T103700... | 2025-08-12T09:08:42Z | BiomassLevel1a |
| 9 | BIO_S1_SCS__1S_20170808T103757_20170808T103816... | 2025-08-12T09:08:50Z | BiomassLevel1a |
Search multiple collections#
Example: 2.13
Search granules in multiple collections {collections} [RD01].
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID6_MAAP, COLLECTION_ID9_MAAP],
bbox = [108.0, -4.66, 119.0, 8.05] # Borneo
# bbox = [13.90, 36.700, 15.99, 38.780], # Mount Etna (large)
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "bbox=108.0,-4.66,119.0,8.05" \
--data-urlencode "collections=BiomassLevel1a,BiomassLevel2a"
print(f"{results.matched()} items found.")
42 items found.
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID9_MAAP],
bbox = [108.0, -4.66, 119.0, 8.05] # Borneo
# bbox = [13.90, 36.700, 15.99, 38.780], # Mount Etna (large)
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "bbox=108.0,-4.66,119.0,8.05" \
--data-urlencode "collections=BiomassLevel2a"
print(f"{results.matched()} items found.")
9 items found.
Example: 2.13
Search granules in multiple collections {collections} [RD01] using
POST.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'POST',
max_items=50,
collections=[COLLECTION_ID6_MAAP, COLLECTION_ID9_MAAP],
bbox = [108.0, -4.66, 119.0, 8.05] # Borneo
# bbox = [13.90, 36.700, 15.99, 38.780] # Mount Etna (large)
)
curl -X POST https://catalog.maap.eo.esa.int/catalogue/search \
--header 'Content-Type: application/json' \
--data-raw '{
"bbox": "108.0,-4.66,119.0,8.05",
"collections": ["BiomassLevel1a", "BiomassLevel2a"]
}'
print(f"{results.matched()} items found.")
42 items found.
Granule properties#
Granules are returned via item links in the Catalog or Collection objects, or via the STAC API (Feature).
An item is a GeoJSON Feature and the encoding is derived from the original OGC 17-003r2 encoding
according to a documented mapping.
The properties available include attributes from STAC extensions as well:
Assets#
Granules provide access to a dictionary with assets. The roles attribute indicates the purpose of the asset. The href attribute provides the URL to access the asset. Granule assets include thumbnail (when available), a data download link (equivalent to the rel=enclosure), and various metadata formats.
The table below list some frequently used metadata formats and their corresponding media type (type).
Format |
type |
|---|---|
application/vnd.iso.19139+xml |
|
application/vnd.iso.19139-2+xml |
|
application/vnd.iso.19115-3+xml |
|
application/gml+xml;profile=http://www.opengis.net/spec/EOMPOM/1.1 |
|
application/geo+json;profile=http://www.opengis.net/spec/eo-geojson/1.0 |
# Show assets of first search result (GeoJSON)
data = results.item_collection_as_dict()
jstr = json.dumps(data['features'][1]['assets'], indent=3)
md("```json\n" + jstr + "\n```\n")
{
"quicklook_1": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/10/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/preview/bio_s2_scs__1s_20170110t222200_20170110t222221_i_g01_m01_c01_t011_f001_ql.png",
"type": "image/png",
"title": "preview"
},
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/10/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/public/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC.BI.PNG",
"type": "image/png",
"title": "Preview"
},
"product": {
"file:local_path": "BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC.ZIP",
"alternate:name": "HTTPS",
"roles": [
"data",
"metadata",
"archive"
],
"href": "https://catalog.maap.eo.esa.int/data/zipper/cat-pre-data-02/BiomassLevel1a/2017/01/10/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC",
"auth:refs": [
"oidc"
],
"published": "2017-01-10T22:22:21.003Z",
"title": "Zipped product",
"type": "application/zip"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC?httpAccept=application/gml%2Bxml&recordSchema=om",
"title": "OGC 10-157r4 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.1\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC?mode=owc",
"title": "OGC 17-003r2 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eo-geojson/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/items/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"quicklook": {
"roles": [
"overview"
],
"href": "https://catalog.maap.eo.esa.int/data/cat-pre-data-02/BiomassLevel1a/2017/01/10/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/BIO_S2_SCS__1S_20170110T222200_20170110T222221_I_G01_M01_C01_T011_F001_01_CT15EC/preview/bio_s2_scs__1s_20170110t222200_20170110t222221_i_g01_m01_c01_t011_f001_map.kmz",
"type": "application/vnd.google-earth.kmz",
"title": "preview"
}
}
df = pd.DataFrame(columns=['roles', 'title', 'type'])
# Display assets belonging to first item in results
for item in results.items():
assets = item.assets
for key in assets:
try:
ndf = pd.DataFrame({
'roles': str(assets[key].roles),
'type': assets[key].media_type,
'title': assets[key].title,
# 'href': assets[key].href
}, index = [0])
df = pd.concat([df, ndf], ignore_index=True)
except:
pass
break
df
| roles | title | type | |
|---|---|---|---|
| 0 | ['overview'] | preview | image/png |
| 1 | ['thumbnail'] | Preview | image/png |
| 2 | ['data', 'metadata', 'archive'] | Zipped product | application/zip |
| 3 | ['metadata'] | OGC 10-157r4 metadata | application/gml+xml;profile="http://www.opengi... |
| 4 | ['metadata'] | OGC 17-003r2 metadata | application/geo+json;profile="http://www.openg... |
| 5 | ['metadata'] | ISO 19139 metadata | application/vnd.iso.19139+xml |
| 6 | ['overview'] | preview | application/vnd.google-earth.kmz |
Advanced topics#
Conformance classes#
The conformance classes supported by the STAC interface are advertised in the conformsTo property of the landing page.
[
"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core",
"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30",
"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson",
"http://www.opengis.net/spec/ogcapi_common-2/1.0/conf/collections",
"http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/simple-query",
"http://www.opengis.net/spec/ogcapi-records-1/1.0/req/cql-filter",
"http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter",
"http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter",
"https://api.stacspec.org/v1.0.0/core",
"https://api.stacspec.org/v1.0.0/ogcapi-features",
"https://api.stacspec.org/v1.0.0/collections",
"https://api.stacspec.org/v1.0.0-rc.1/collection-search",
"https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter",
"https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text",
"https://api.stacspec.org/v1.0.0-rc.1/collection-search#sort",
"https://api.stacspec.org/v1.0.0/item-search",
"https://api.stacspec.org/v1.0.0-rc.3/item-search#filter",
"https://api.stacspec.org/v1.0.0/item-search#sort",
"https://api.stacspec.org/v1.0.0/ogcapi-features#sort",
"http://www.opengis.net/spec/cql2/1.0/conf/cql2-text",
"http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2"
]
Additional search parameters#
Additional search parameters beyond the STAC search parameters can be used to filter collection search results. The available parameters for collection search are advertised at https://catalog.maap.eo.esa.int/catalogue/collections/queryables and represented as a JSON Schema.
URL_QUERYABLES = URL_LANDING_PAGE + 'collections/queryables'
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/queryables
response = requests.get(URL_QUERYABLES)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row['value']['type'], axis = 1)
df['format'] = df.apply(lambda row : row['value']['format'] if 'format' in row['value'] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
| key | type | format | |
|---|---|---|---|
| 13 | classifiedAs | string | uri |
| 3 | collection | string | - |
| 2 | description | string | - |
| 10 | id | string | - |
| 7 | instruments | string | - |
| 9 | offering | string | - |
| 5 | otherConstraint | string | - |
| 6 | platform | string | - |
| 0 | processing:level | string | - |
| 12 | providers | string | - |
| 1 | sci:doi | string | - |
| 4 | title | string | - |
| 11 | updated | string | date-time |
| 8 | useLimitation | string | - |
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Queryable names for the STAC API Collection Search filter.",
"type": "object",
"title": "Queryables for the STAC API",
"properties": {
"processing:level": {
"description": "The processing level applied to the entry",
"title": "Processing level",
"type": "string",
"enum": [
"L0",
"L1",
"L1.5",
"L1A",
"L1B",
"L1B+",
"L1C",
"L1D",
"L1G",
"L1GT",
"L1R",
"L1T",
"L2",
"L2A",
"L2B",
"L2C",
"L3",
"L3A",
"L3B",
"L4"
]
},
"sci:doi": {
"description": "Digital Object Identifier identifying the product (see http://www.doi.org)",
"title": "Doi",
"type": "string",
"enum": [
"10.48550/arxiv.2310.04423",
"10.5270/al1-5e400fd",
"10.5270/al1-a06d3ac",
"10.5270/al1-b459f4e",
"10.5270/al1-d9cfa6d",
"10.5270/al1-d9d4874",
"10.5270/avh-f1i8784",
"10.5270/cr2-120cf4c",
"10.5270/dm1-w9tup3r",
"10.5270/en1-179289a",
"10.5270/en1-42e99a2",
"10.5270/en1-4c37krv",
"10.5270/en1-5eab12a",
"10.5270/en1-61d6y63",
"10.5270/en1-77pi5sd",
"10.5270/en1-88oasur",
"10.5270/en1-a1rc3jf",
"10.5270/en1-c8hgqx4",
"10.5270/en1-cu4a5e3",
"10.5270/en1-d9ryw7t",
"10.5270/en1-eqvj8vs",
"10.5270/en1-opsw96m",
"10.5270/en1-q74d24h",
"10.5270/en1-ttqbj6p",
"10.5270/en1-u55aesn",
"10.5270/en1-ueksx4q",
"10.5270/en1-vqoj1gs",
"10.5270/en1-w5xkqmx",
"10.5270/en1-x542no0",
"10.5270/er2-ua38y2m",
"10.5270/er2-uw3eflc",
"10.5270/ers-0p2cu8d",
"10.5270/ers-7c3qhyo",
"10.5270/ers-suu0xfp",
"10.5270/esa-02d6cbf",
"10.5270/esa-1rtogy6",
"10.5270/esa-2d07033",
"10.5270/esa-2eb13ab",
"10.5270/esa-4427c33",
"10.5270/esa-5c8sffb",
"10.5270/esa-6615b19",
"10.5270/esa-6mxo3sr",
"10.5270/esa-6riial9",
"10.5270/esa-79a176b",
"10.5270/esa-7c37033",
"10.5270/esa-7nc8pjp",
"10.5270/esa-852456e",
"10.5270/esa-86e26dc",
"10.5270/esa-8sfucze",
"10.5270/esa-8xb8scs",
"10.5270/esa-a36265c",
"10.5270/esa-a681fe7",
"10.5270/esa-c26d993",
"10.5270/esa-d69ulft",
"10.5270/esa-e3e68ff",
"10.5270/esa-f2h3ory",
"10.5270/esa-ht6sxz7",
"10.5270/esa-i73gc4g",
"10.5270/esa-iboli84",
"10.5270/esa-iwr5ohr",
"10.5270/esa-j340roh",
"10.5270/esa-jfhe2um",
"10.5270/esa-l8g67jw",
"10.5270/esa-otce9j2",
"10.5270/esa-qoe849q",
"10.5270/esa-xh7orts",
"10.5270/esa-xxpt0lc",
"10.5270/ik2-5dwhs28",
"10.5270/je1-408s1ur",
"10.5270/je1-64xxf7c",
"10.5270/je1-cerzmcu",
"10.5270/ko2-2ijzzay",
"10.5270/od1-010f2d4",
"10.5270/qb2-ftu9xmh",
"10.5270/se1-99j66hv",
"10.5285/bf535053562141c6bb7ad831f5998d77",
"10.57780/al1-36b29e9",
"10.57780/al1-5f3877f",
"10.57780/eca-224d95c",
"10.57780/eca-5828141",
"10.57780/en1-2d5de29",
"10.57780/en1-394f962",
"10.57780/en1-4a94d2e",
"10.57780/en1-89061a2",
"10.57780/en1-a0f1eee",
"10.57780/en1-b655562",
"10.57780/en1-dfd0eaa",
"10.57780/ers-2607327",
"10.57780/ers-af99f2b",
"10.57780/ers-b781bc0",
"10.57780/ers-ee9aba7",
"10.57780/esa-1268efe",
"10.57780/esa-38f62f7",
"10.57780/esa-5018efb",
"10.57780/esa-53b8e3f",
"10.57780/esa-62845f6",
"10.57780/esa-6f8593e",
"10.57780/esa-6fc121d",
"10.57780/esa-76f3d32",
"10.57780/esa-80e19f0",
"10.57780/esa-8d039fa",
"10.57780/esa-97d2b7",
"10.57780/esa-b435dfa",
"10.57780/esa-b667eb7",
"10.57780/esa-c9d5673",
"10.57780/esa-f9d597e",
"10.57780/sm1-4f787c3",
"10.57780/sm1-5ebe10b",
"10.57780/sm1-857c3d7",
"10.57780/sm1-fbf89e0"
]
},
"description": {
"description": "Free text search term",
"title": "Query",
"type": "string"
},
"collection": {
"description": "The parent of the entry in a hierarchy of resources",
"title": "Parent identifier",
"type": "string",
"enum": [
"EOP:ESA:EARTH-ONLINE",
"EOP:ESA:MAAP",
"EOP:EU:DATASPACE",
"EOP:NASA:CMR",
"TC_GET_160"
]
},
"title": {
"description": "A name given to the resource",
"title": "Title",
"type": "string"
},
"otherConstraint": {
"description": "Other restrictions and legal prerequisites for accessing and using the resource or metadata",
"title": "Other constraint",
"type": "string"
},
"platform": {
"description": "The platform short name",
"title": "Platform",
"type": "string",
"enum": [
"ALOS-1",
"AQUA",
"Aeolus",
"Aura",
"Beijing-1",
"Biomass",
"COSMO-SkyMed",
"COSMO-SkyMed Second Generation",
"CryoSat-2",
"ERS-1",
"ERS-2",
"EarthCARE",
"Envisat",
"FFSCat",
"FLEX",
"GEOSAT-1",
"GEOSAT-2",
"GHGSat-C1",
"GHGSat-C2",
"GOCE",
"GOSAT-1",
"GOSAT-2",
"GRACE",
"GeoEye-1",
"ICEYE",
"IKONOS-2",
"IRS-1C",
"IRS-1D",
"IRS-P5",
"IRS-P6",
"IRS-R2",
"JERS-1",
"KOMPSAT-1",
"KOMPSAT-2",
"Landsat-1",
"Landsat-2",
"Landsat-3",
"Landsat-4",
"Landsat-5",
"Landsat-7",
"Landsat-8",
"Landsat-9",
"MOS-1",
"MOS-1B",
"Metop",
"NOAA POES",
"NigeriaSat-1",
"ODIN",
"OceanSat-2",
"OrbView-2",
"PAZ",
"PROBA-1",
"PROBA-V",
"PlanetScope",
"Pleiades",
"Pleiades Neo",
"Pleiades-1A",
"Pleiades-1B",
"QuickBird-2",
"QuikSCAT",
"RADARSAT-1",
"RADARSAT-2",
"RapidEye",
"SAOCOM-1A",
"SAOCOM-1B",
"SCISAT-1",
"SMOS",
"SPOT 1",
"SPOT 2",
"SPOT 3",
"SPOT 4",
"SPOT 5",
"SPOT 6",
"SPOT 7",
"Seasat",
"Sentinel-1",
"Sentinel-2",
"SkySat",
"Spire",
"Swarm",
"TERRA",
"TanDEM-X",
"TanSat",
"TerraSAR-X",
"UK-DMC-1",
"Vision-1",
"WorldView Legion",
"WorldView-1",
"WorldView-2",
"WorldView-3",
"WorldView-4"
]
},
"instruments": {
"description": "The instrument (e.g. MERIS, AATSR, ASAR, HRVIR. SAR)",
"title": "Instrument",
"type": "string",
"enum": [
"AATSR",
"ACC",
"ACE-FTS",
"ACGS",
"AIRSAFE",
"ALADIN",
"ALS",
"AMI/SAR",
"AMI/Scatterometer",
"ASAR",
"ASM",
"ATLID",
"ATSR-1",
"ATSR-2",
"AVHRR",
"AVNIR-2",
"Active Remote Sensing",
"AwiFS",
"BBR",
"BGI",
"C-SAR",
"CAPI",
"CHRIS",
"CPR",
"CSG-SAR",
"DORIS",
"EFI",
"EGG",
"EOC",
"ETM",
"GIS",
"GOME",
"GOMOS",
"GPSR",
"GRACE ACC",
"GRACE INTERFEROMETER",
"GRACE LRR",
"GRACE SCA",
"HRC",
"HRG",
"HRS",
"HRV",
"HRVIR",
"HiRAIS",
"HiRI",
"HyperScout-2",
"Imaging Radars",
"Imaging Spectrometers/Radiometers",
"KBR",
"LISS-3",
"LISS-4",
"LRR",
"Lidar/Laser Sounders",
"MAESTRO",
"MERIS",
"MESSR",
"MGM",
"MIPAS",
"MIRAS",
"MODIS",
"MSC",
"MSI",
"MSS",
"MWR",
"NAOMI",
"OCM-2",
"OLI",
"OLI-2",
"OMI",
"OPS",
"OSA",
"OSIRIS",
"P-SAR",
"PALSAR",
"PAN",
"PAZ-SAR",
"PNEO",
"PRARE",
"PRISM",
"PlanetScope Camera",
"RA",
"RA-2",
"RBV",
"Radar Altimeters",
"Radiometers",
"SAOCOM-SAR",
"SAR",
"SCIAMACHY",
"SENSE",
"SIRAL",
"SLIM6",
"SMR",
"SSTI",
"SSTL S1-4",
"STR",
"STRATOS",
"SeaWiFS",
"SeaWinds",
"SkySat Camera",
"SpaceView-110",
"TANSO-CAI",
"TANSO-CAI-2",
"TANSO-FTS",
"TANSO-FTS-2",
"TDX-1",
"TIRS",
"TIRS-2",
"TM",
"TSX-1",
"VFM",
"VGT",
"VTIR",
"WAF-P",
"WV110",
"WV60",
"WorldView Legion Camera",
"X-SAR"
]
},
"useLimitation": {
"description": "A string identifying informing if the resource has usage limitations",
"title": "Use limitation",
"type": "string",
"enum": [
"access to and use of biomass products are governed by the esa's data policy and require acceptance of the specific terms & conditions. by accessing biomass products, users inherently acknowledge and agree to these terms.",
"access to ftp 1. open ftps://ec-pdgs-dissemination1.eo.esa.int/earthcare/earthcarel1validated via an ftp client 2. log in with an active _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ account 3. find the product you want 4. download. the earthcare l1 validate products collection is freely accessible in accordance with esa\u2019s earth observation data policy. an active eo sign in account is required to download the products. new users can register an account on _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ . for further information about the eo sign in service you can visit _$$tellus$$ https://esatellus.service-now.com/csp?id=esa_faq&kb_category=3e0b38dedb212700ee849785ca96194e . more information on how to use the earthcare online dissemination service can be found in the faq. should you need support please contact _$$eohelp$$ https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958 .",
"access to ftp 1. open ftps://ec-pdgs-dissemination1.eo.esa.int/earthcare/earthcareorbitdata via an ftp client 2. log in with an active _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ account 3. find the product you want 4. download. the orbit data collection is freely accessible in accordance with esa\u2019s earth observation data policy. an active eo sign in account is required to download the products. new users can register an account on eo sign in (link to https://eoiam-idp.eo.esa.int/). for further information about the eo sign in service you can visit _$$tellus$$ https://esatellus.service-now.com/csp?id=esa_faq&kb_category=3e0b38dedb212700ee849785ca96194e . more information on how to use the earthcare online dissemination service can be found in the faq. should you need support please contact _$$eohelp$$ https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958 .",
"access to ftp 1. open ftps://ec-pdgs-dissemination1.eo.esa.int/earthcare/jaxal2validated via an ftp client 2. log in with an active _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ account 3. find the product you want 4. download. the earthcare jaxa l2 validate products collection is freely accessible in accordance with esa\u2019s earth observation data policy. an active eo sign in account is required to download the products. new users can register an account on eo sign in (link to https://eoiam-idp.eo.esa.int/). for further information about the eo sign in service you can visit _$$tellus$$ https://esatellus.service-now.com/csp?id=esa_faq&kb_category=3e0b38dedb212700ee849785ca96194e . more information on how to use the earthcare online dissemination service can be found in the faq. should you need support please contact _$$eohelp$$ https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958 .",
"access via ftp 1. open ftps://ec-pdgs-dissemination1.eo.esa.int/earthcare/earthcarel2validated via an ftp client 2. log in with an active _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ account 3. find the product you want 4. download the earthcare esa l2 products collection is freely accessible in accordance with esa\u2019s earth observation data policy. an active eo sign in account is required to download the products. new users can register an account on _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ . for further information about the eo sign in service you can visit _$$tellus$$ https://esatellus.service-now.com/csp?id=esa_faq&kb_category=3e0b38dedb212700ee849785ca96194e . should you need support please contact _$$eohelp$$ https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958 .",
"available to residents of the following countries: worldwide",
"data available on eo cat",
"data service request",
"eo sign in authentication",
"eo sign in authentication (open)",
"eo sign in authentication (open) access to https 1. go to the _$$dissemination service$$ https://ec-pdgs-dissemination1.eo.esa.int/oads/access/collection/earthcarel1validated 2. find the product you want 3. register or log in to _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ 4. download",
"eo sign in authentication (open) access to https 1. go to the _$$dissemination service$$ https://ec-pdgs-dissemination1.eo.esa.int/oads/access/collection/earthcareorbitdata 2. find the product you want 3. register or log in to _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ 4. download",
"eo sign in authentication (open) access to https 1. go to the _$$dissemination service$$ https://ec-pdgs-dissemination1.eo.esa.int/oads/access/collection/jaxal2validated 2. find the product you want 3. register or log in to _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ 4. download",
"eo sign in authentication (open) access via https 1. go to the _$$dissemination service$$ https://ec-pdgs-dissemination2.eo.esa.int/oads/access/collection/earthcarel2validated 2. find the product you want 3. register or log in to _$$eo sign in$$ https://eoiam-idp.eo.esa.int/ 4. download",
"external data",
"fast registration with approval",
"fast registration with approval (restrained)",
"fast registration with immediate access",
"open access",
"open data",
"products are distributed under a cc-by-4.0 license unless specified otherwise (see license conditions of individual datasets). https://spdx.org/licenses/cc-by-4.0",
"products are distributed under a cc-by-4.0 license. https://spdx.org/licenses/cc-by-4.0",
"project proposal",
"project proposal (restrained)",
"restrained data",
"this earthcare auxiliary data collection is available only to the earthcare commissioning team and to principal and co-investigators of accepted proposals to the _$$esa announcement of opportunity for the validation of earthcare$$ https://earth.esa.int/eogateway/announcement-of-opportunity/closed-earthcare-calibration-and-validation-announcement-of-opportunity .",
"this earthcare esa l2 collection is available only to the earthcare commissioning team and to principal and co-investigators of accepted proposals to the _$$esa announcement of opportunity for the validation of earthcare$$ https://earth.esa.int/eogateway/announcement-of-opportunity/closed-earthcare-calibration-and-validation-announcement-of-opportunity .",
"this earthcare esa l2 collection is available only to the earthcare commissioning team.",
"this earthcare jaxa l2 collection is available only to the earthcare commissioning team and to principal and co-investigators of accepted proposals to the _$$esa announcement of opportunity for the validation of earthcare$$ https://earth.esa.int/eogateway/announcement-of-opportunity/closed-earthcare-calibration-and-validation-announcement-of-opportunity .",
"this earthcare jaxa l2 collection is available only to the earthcare commissioning team.",
"this earthcare l0 and l1 collection is available only to the earthcare commissioning team.",
"this earthcare l1 collection is available only to the earthcare commissioning team and to principal and co-investigators of accepted proposals to the _$$esa announcement of opportunity for the validation of earthcare$$ https://earth.esa.int/eogateway/announcement-of-opportunity/closed-earthcare-calibration-and-validation-announcement-of-opportunity .",
"under the following licence https://artefacts.ceda.ac.uk/licences/specific_licences/esacci_biomass_terms_and_conditions_v2.pdf, appropriate use of these data may fall under any use. this message is intended as guidance, always read the full licence. when using these data you must cite them correctly using the citation given on the ceda data catalogue record. https://artefacts.ceda.ac.uk/licences/specific_licences/esacci_biomass_terms_and_conditions_v2.pdf",
"utilisation of this data is subject to esa's earth observation terms and conditions https://earth.esa.int/eogateway/documents/20142/1560778/esa-third-party-missions-terms-and-conditions.pdf",
"world wide"
]
},
"offering": {
"description": "Related service offering",
"title": "Offering",
"type": "string",
"enum": [
"describecoverage",
"getcapabilities",
"getcoverage",
"getmap",
"gettile",
"wcs",
"wfs",
"wms",
"wmts"
]
},
"id": {
"description": "Item identifier",
"title": "Item ID",
"type": "string"
},
"updated": {
"format": "date-time",
"description": "The date when the metadata item was last modified (i.e. updated) in the catalogue",
"title": "Modification date",
"type": "string"
},
"providers": {
"description": "The name of the organization responsible for the resource",
"title": "Organisation name",
"type": "string",
"enum": [
"CEDA",
"CMR",
"ESA/ESRIN",
"NASA NSIDC DAAC",
"Spacebel",
"University of Bristol"
]
},
"classifiedAs": {
"format": "uri",
"description": "Keyword URI appearing in metadata record",
"title": "Classified as",
"type": "string"
}
},
"$id": "https://catalog.maap.eo.esa.int/catalogue/collections/queryables"
}
Additional search parameters beyond the STAC search parameters can be used to filter granule search results. The available parameters for granule search are advertised for each individual collection and represented as a JSON Schema.
For example, the collection BiomassLevel1a, advertises its search parameters at https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables in JSON Schema format. Therefore, the following parameters can be used within a filter expression.
Get filter parameters for granule search
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables
| key | type | format | |
|---|---|---|---|
| 11 | completionTimeFromAscendingNode | number | - |
| 16 | created | string | date-time |
| 2 | eofeos:global_coverage_id | string | - |
| 5 | eofeos:major_cycle_id | string | - |
| 25 | eofeos:mission_phase | string | - |
| 22 | eofeos:orbit_drift_flag | boolean | - |
| 0 | eofeos:repeat_cycle_id | string | - |
| 10 | eopf:datatake_id | string | - |
| 24 | eopf:instrument_mode | string | - |
| 30 | frame | string | - |
| 12 | id | string | - |
| 6 | instruments | string | - |
| 4 | platform | string | - |
| 17 | polarisationChannels | string | - |
| 23 | processing:datetime | string | date-time |
| 1 | processing:facility | string | - |
| 15 | processing:level | string | - |
| 13 | processing:software | string | - |
| 26 | processingMode | string | - |
| 29 | product:acquisition_type | string | - |
| 3 | product:type | string | - |
| 8 | productionStatus | string | - |
| 20 | sar:observation_direction | string | - |
| 21 | sar:polarizations | string | - |
| 27 | sat:absolute_orbit | integer | - |
| 7 | sat:orbit_state | string | - |
| 9 | startTimeFromAscendingNode | number | - |
| 18 | swathIdentifier | string | - |
| 14 | track | string | - |
| 28 | updated | string | date-time |
| 19 | version | string | - |
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Queryable names for the STAC API Item Search filter.",
"type": "object",
"title": "Queryables for BiomassLevel1a collection",
"properties": {
"eofeos:repeat_cycle_id": {
"description": "Repeat cycle identifier. Each Major Cycle is split into repeat cycles, depending on Mission Phase or Orbit Control moment. Values are mission-specific. e.g. BIOMASS uses \"1\" to \"8\" during TOM phase, \"1\" to \"3\" during INT phase, \"DR\" during orbit drift, \"NA\" when not applicable (e.g. during COM phase).",
"title": "Repeat cycle id",
"type": "string",
"enum": [
"1",
"2",
"3"
]
},
"processing:facility": {
"description": "The processing center (e.g. PDHS-E, PDHS-K, DPA, F-ACRI)",
"title": "Processing center",
"type": "string",
"enum": [
"Biomass CPF"
]
},
"eofeos:global_coverage_id": {
"description": "Global coverage identifier. Each Phase of the mission is split in different Global Coverages. Values are mission-specific. E.g. BIOMASS uses \"1\" to \"6\". \"1\" for the Tomographic Phase (TOM), \"1\" to \"6\" for the Interferometric Phase (INT), \"NA\" when not applicable (e.g. during COM phase).",
"title": "Global coverage id",
"type": "string",
"enum": [
"1"
]
},
"product:type": {
"description": "A string identifying the entry type",
"title": "Product type",
"type": "string",
"enum": [
"S1_SCS__1M",
"S1_SCS__1S",
"S2_SCS__1M",
"S2_SCS__1S",
"S3_SCS__1M",
"S3_SCS__1S"
]
},
"platform": {
"description": "The platform short name",
"title": "Platform",
"type": "string",
"enum": [
"Biomass"
]
},
"eofeos:major_cycle_id": {
"description": "Major cycle identifier. Each Global Coverage is split into multiple Major cycles. Values are mission-specific. E.g. BIOMASS uses \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" during TOM and INT phases.",
"title": "Major cycle id",
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5",
"6",
"7"
]
},
"instruments": {
"description": "The instrument (e.g. MERIS, AATSR, ASAR, HRVIR. SAR)",
"title": "Instrument",
"type": "string",
"enum": [
"P-SAR"
]
},
"sat:orbit_state": {
"description": "The acquisition orbit direction",
"title": "Orbit direction",
"type": "string",
"enum": [
"ASCENDING",
"DESCENDING"
]
},
"productionStatus": {
"description": "The status of the entry",
"title": "Production status",
"type": "string",
"enum": [
"ARCHIVED"
]
},
"startTimeFromAscendingNode": {
"description": "Start time of acquisition in milliseconds from ascending node date",
"title": "Start time from ascending node",
"type": "number"
},
"eopf:datatake_id": {
"description": "Datatake identification. Examples: for S1, datatake_id = 12032; for S2, datatake_id = GS2A_20231215T103431_044292_N05.10",
"title": "Data take id",
"type": "string"
},
"completionTimeFromAscendingNode": {
"description": "Completion time of acquisition in milliseconds from ascending node date",
"title": "Completion time from ascending node",
"type": "number"
},
"id": {
"description": "Item identifier",
"title": "Item ID",
"type": "string"
},
"processing:software": {
"description": "The processor software name",
"title": "Processor name",
"type": "string",
"enum": [
"Biomass L1 Processor"
]
},
"track": {
"description": "The orbit track",
"title": "Track",
"type": "string"
},
"processing:level": {
"description": "The processing level applied to the entry",
"title": "Processing level",
"type": "string",
"enum": [
"L1A"
]
},
"created": {
"format": "date-time",
"description": "The date when the metadata item was ingested for the first time (i.e. inserted) in the catalogue",
"title": "Creation date",
"type": "string"
},
"polarisationChannels": {
"description": "Polarisation channel transmit/receive configuration: horizontal, vertical",
"title": "Polarisation channels",
"type": "string",
"enum": [
"HH, HV, VH, VV"
]
},
"swathIdentifier": {
"description": "Swath identifier (e.g. Envisat ASAR has 7 distinct swaths (I1,I2,I3...I7) that correspond to precise incidence angles for the sensor). Value list can be retrieved with codeSpace",
"title": "Swath identifier",
"type": "string",
"enum": [
"S1",
"S2",
"S3"
]
},
"version": {
"description": "The version of the product",
"title": "Product version",
"type": "string",
"enum": [
"01"
]
},
"sar:observation_direction": {
"description": "Antenna look direction",
"title": "Antenna look direction",
"type": "string",
"enum": [
"LEFT",
"RIGHT"
]
},
"sar:polarizations": {
"description": "Polarisation mode",
"title": "Polarisation mode",
"type": "string",
"enum": [
"Q"
]
},
"eofeos:orbit_drift_flag": {
"description": "Orbit drift flag. Indicates if the product was generated during a moment where there were no active orbit control measures. Example: false.",
"title": "Orbit drift flag",
"type": "boolean",
"enum": [
false
]
},
"processing:datetime": {
"format": "date-time",
"description": "A date interval requesting entries processed within a given time interval",
"title": "Processing date",
"type": "string"
},
"eopf:instrument_mode": {
"description": "The sensor mode",
"title": "Sensor mode",
"type": "string",
"enum": [
"SM"
]
},
"eofeos:mission_phase": {
"description": "Mission phase, each one has a specific objective for the mission. Values are mission-specific, e.g. BIOMASS uses \"COMMISSIONING\", \"TOMOGRAPHIC\" and \"INTERFEROMETRIC\".",
"title": "Mission phase",
"type": "string",
"enum": [
"INTERFEROMETRIC"
]
},
"processingMode": {
"description": "Processing mode. Often referred to as real time, near real time etc",
"title": "Processing mode",
"type": "string",
"enum": [
"OPERATIONAL"
]
},
"sat:absolute_orbit": {
"description": "The acquisition orbit number",
"title": "Orbit number",
"type": "integer"
},
"updated": {
"format": "date-time",
"description": "The date when the metadata item was last modified (i.e. updated) in the catalogue",
"title": "Modification date",
"type": "string"
},
"product:acquisition_type": {
"description": "Used to distinguish at a high level the appropriateness of the acquisition for \"general\" use, whether the product is a nominal acquisition, special calibration product or other",
"title": "Acquisition type",
"type": "string",
"enum": [
"NOMINAL"
]
},
"frame": {
"description": "The orbit frame",
"title": "Frame",
"type": "string"
}
},
"$id": "https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1a/queryables"
}
CQL filter expressions#
The STAC interface supports the filter parameter and filter expressions in cql-text filter format at the following endpoints:
/collections
/collections/{collection-id}/items
/search
At the /search endpoint, it is required that a single collection can be determined from the collections or ids parameter. The queryables allowed in the filter expression are then identical to the ones at the corresponding /collections/{collection-id}/items/queryables endpoint. filter cannot be used at the /search endpoint when collections contains 0 or more than 1 collection identifiers.
Filter expressions are to be expressed with the Text encoding of the Basic Common Query Language (Basic CQL2-Text) [RD22]. See the OGC API Features “Conformance class Filter” section for CQL2 examples.
Example: 8.1
CQL Filter for collection search with logical operators (and, or).
filter = "platform = 'Envisat' and ( instrument = 'MERIS' or instrument = 'MIPAS' ) and organisationName = 'ESA/ESRIN'"
results = api.collection_search(
filter = filter
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=platform = 'Envisat' and ( instrument = 'MERIS' or instrument = 'MIPAS' ) and organisationName = 'ESA/ESRIN'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
| id | title | |
|---|---|---|
| 0 | MER.RR__2P | Envisat MERIS Reduced Resolution Geophysical P... |
| 1 | ENVISAT.MIP.NL__2P | Envisat MIPAS L2 - Temperature, pressure and a... |
| 2 | MER_FRS_2P | Envisat MERIS Full Resolution - Level 2 [MER_F... |
| 3 | ENVISAT.MIP.NL__1P | Envisat MIPAS L1 - Geo-located and calibrated ... |
| 4 | MER_FRS_1P | Envisat MERIS Full Resolution - Level 1 [MER_F... |
| 5 | MER.RR__1P | Envisat MERIS Reduced Resolution - Level 1 [ME... |
Example: 8.2
CQL filter for granule search with comparison operators. Search granules with cloudCover between 10 and 15%.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 30,
collections = [COLLECTION_ID3_CLOUDS],
filter = "cloudCover >= 10 and cloudCover < 15"
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "collections=IKONOS.ESA.archive" \
--data-urlencode "filter=cloudCover >= 10 and cloudCover < 15" \
--data-urlencode "filter-lang=cql2-text"
print(f"{results.matched()} items found.")
26 items found.
# Display cloud-cover values as histogram to show that range is taken into account
stac_json = results.item_collection_as_dict()
gdf = gpd.GeoDataFrame.from_features(stac_json)
try:
_ = gdf[['title','eo:cloud_cover']].hist()
except:
print("eo:cloud_cover information is not available.")
Sorting results#
The STAC interface supports the sortby parameter at the following endpoints:
/collections
/collections/{collection-id}/items
/search
At the /search endpoint, it is required that a single collection can be determined from the collections parameter. The sortables allowed in the filter expression are then identical to the ones at the corresponding /collections/{collection-id}/items endpoint. sortby cannot be used at the /search endpoint when collections contains 0 or more than 1 collection identifiers.
Sorting of search results is available for collection and granule searches, but the available criteria differ per resource type. The STAC API Sort Extension [RD26] defines the syntax to be used. The sorting parameter has to be expressed as the corresponding STAC property name. A minus sign (-) before the property name indicates a descending order. If the property used for sorting is an array with more than one element, the result may be unexpected. A 400 Bad Request status code is returned when the sort criteria used are not supported.
Collections (at /collections) |
|---|
[properties.]id |
[properties.]instruments |
[properties.]platform |
[properties.]processing:level |
[properties.]providers |
[properties.]sci:doi |
[properties.]title |
[properties.]updated |
The available sort criteria for items (granules) depend also on the sensortype, e.g. optical, radar, etc. and whether the remote catalogue hosting the granule metadata supports sorting as well.
Items (granules at /items or /search) |
|---|
[properties.]created |
[properties.]datetime |
[properties.]end_datetime |
[properties.]eo:cloud_cover |
[properties.]eo:snow_cover |
[properties.]eofeos:global_coverage_id |
[properties.]eofeos:is_coregistration_primary |
[properties.]eofeos:major_cycle_id |
[properties.]eofeos:mission_phase |
[properties.]eofeos:orbit_drift_flag |
[properties.]eofeos:repeat_cycle_id |
[properties.]eofeos:stack_id |
[properties.]eopf:datatake_id |
[properties.]eopf:instrument_mode |
[properties.]id |
[properties.]instruments |
[properties.]platform |
[properties.]processing:datetime |
[properties.]processing:facility |
[properties.]processing:level |
[properties.]processing:software |
[properties.]product:acquisition_type |
[properties.]product:type |
[properties.]sar:observation_direction |
[properties.]sar:polarizations |
[properties.]sat:absolute_orbit |
[properties.]sat:orbit_state |
[properties.]sci:doi |
[properties.]start_datetime |
[properties.]updated |
[properties.]version |
[properties.]view:sun_azimuth |
[properties.]view:sun_elevation |
The sort criteria can optionally be prefixed by “properties.” for compatibility with the STACBrowser software.
The /collections and /items endpoints support only the GET method.
At the /search endpoint, both the GET and POST method are supported.
Example: 9.1
Sort collection search results by platform (ascending) and instrument (descending).
verify_ssl = True
URL = URL_LANDING_PAGE + "collections" \
+ "?filter=parentIdentifier='EOP:ESA:EARTH-ONLINE' and organisationName='ESA/ESRIN'" \
+ "&sortby=platform,-instruments"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=parentIdentifier='EOP:ESA:EARTH-ONLINE' and organisationName='ESA/ESRIN'" \
--data-urlencode "sortby=platform,-instruments"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id','title','summaries.platform','summaries.instruments']]
| id | title | summaries.platform | summaries.instruments | |
|---|---|---|---|---|
| 0 | alos.prism.l1c.european.coverage.cloud.free | ALOS PRISM L1C European Coverage Cloud Free | [ALOS-1] | [PRISM] |
| 1 | ALOS_PRISM_L1B | Alos PRISM L1B | [ALOS-1] | [PRISM] |
| 2 | alos-prism-l1c | ALOS PRISM L1C | [ALOS-1] | [PRISM] |
| 3 | ALOS.PALSAR.FBS.FBD.PLR.products | ALOS PALSAR products | [ALOS-1] | [PALSAR] |
| 4 | ALOSIPY | ALOS PALSAR International Polar Year Antarctica | [ALOS-1] | [PALSAR] |
| 5 | ALOS | Alos African Coverage ESA archive | [ALOS-1] | [PRISM] |
| 6 | ALOS.AVNIR-2.L1C | ALOS AVNIR-2 L1C | [ALOS-1] | [AVNIR-2] |
| 7 | TropForest | TropForest- ALOS, GEOSAT-1 & KOMPSAT-2 optical... | [ALOS-1, GEOSAT-1, KOMPSAT-2] | [AVNIR-2, SLIM6, MSC] |
| 8 | ADAM.Surface.Reflectance.Database | ADAM Surface Reflectance Database v4.0 | [TERRA, AQUA, QuikSCAT, OrbView-2] | [MODIS, MODIS, SeaWinds, SeaWiFS] |
| 9 | NASA_OMI | Aura OMI complete NASA dataset | [Aura] | [OMI] |
Example: 9.2
Sort collection search results by instrument (descending).
URL = URL_LANDING_PAGE + "collections"+ "?filter=platform='Envisat'" \
+ "&sortby=-instruments" \
+ "&limit=30"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=platform='Envisat'" \
--data-urlencode "sortby=-instruments" \
--data-urlencode "limit=30"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id','summaries.platform','summaries.instruments']]
| id | summaries.platform | summaries.instruments | |
|---|---|---|---|
| 0 | SCIAMACHYLevel2LimbOzone | [Envisat] | [SCIAMACHY] |
| 1 | SCIAMACHYLevel1 | [Envisat] | [SCIAMACHY] |
| 2 | SCIAMACHYLevel2 | [Envisat] | [SCIAMACHY] |
| 3 | FDRforRadiometry | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 4 | TDPforLandice | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 5 | TDPforInlandWater | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 6 | TDPforOceanWaves | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 7 | FDRforAltimetry | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 8 | TDPforOceanCoastalTopography | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 9 | TDPforAtmosphere | [ERS-1, ERS-2, Envisat] | [MWR, MWR, MWR] |
| 10 | TDPforSeaice | [Envisat, ERS-1, ERS-2] | [MWR, MWR, MWR] |
| 11 | ENVISAT.MIP.NL__2P | [Envisat] | [MIPAS] |
| 12 | ENVISAT.MIP.NL__1P | [Envisat] | [MIPAS] |
| 13 | MER.RR__2P | [Envisat] | [MERIS] |
| 14 | MER_FRS_2P | [Envisat] | [MERIS] |
| 15 | MER_FRS_1P | [Envisat] | [MERIS] |
| 16 | MER.RR__1P | [Envisat] | [MERIS] |
| 17 | ENVISAT.GOM.NL__2P | [Envisat] | [GOMOS] |
| 18 | NetCDF.GOMOS_UFP | [Envisat] | [GOMOS] |
| 19 | ENVISAT.GOM.TRA_1P | [Envisat] | [GOMOS] |
| 20 | ENVISAT.GOM.LIM_1P | [Envisat] | [GOMOS] |
| 21 | NetCDF.GOMOS_UFP_Gridded | [Envisat] | [GOMOS] |
| 22 | ENVISAT.GOM_EXT_2P | [Envisat] | [GOMOS] |
| 23 | FDRforAtmosphericCompositionATMOSL1B | [Envisat, ERS-2] | [SCIAMACHY, GOME] |
| 24 | ENVISAT.DOR.VOR_AX | [Envisat] | [DORIS] |
| 25 | ENVISAT.DOR.DOP_1P | [Envisat] | [DORIS] |
| 26 | ENVISAT.ASA.IM__0P | [Envisat] | [ASAR] |
| 27 | ENVISAT.ASA.WSS_1P | [Envisat] | [ASAR] |
| 28 | ENVISAT.ASA.WVS_1P | [Envisat] | [ASAR] |
| 29 | ENVISAT.ASA.APS_1P | [Envisat] | [ASAR] |
Example: 9.3
Sort collection search results by modification date (ascending).
URL = URL_LANDING_PAGE + "collections"+ "?filter=parentIdentifier='EOP:ESA:EARTH-ONLINE'" \
+ "&sortby=properties.updated" \
+ "&limit=15"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=parentIdentifier='EOP:ESA:EARTH-ONLINE'" \
--data-urlencode "sortby=properties.updated" \
--data-urlencode "limit=15"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['title','updated']]
| title | updated | |
|---|---|---|
| 0 | SMOS Level 3C Sea Ice Thickness | 2025-04-24T10:23:59Z |
| 1 | Swarm Oceans | 2025-04-24T10:24:00Z |
| 2 | Swarm Geodesy/Gravity | 2025-04-24T10:24:00Z |
| 3 | Swarm Level 2 longterm | 2025-04-24T10:24:00Z |
| 4 | SciSat-1: ACE-FTS and MAESTRO | 2025-04-24T10:24:01Z |
| 5 | TANSAT AGCS and CAPI products | 2025-04-24T10:24:01Z |
| 6 | Odin OSIRIS data products | 2025-04-24T10:24:02Z |
| 7 | ERS-2 GOME Total Column Amount of Trace Gases ... | 2025-04-24T10:24:02Z |
| 8 | ERS-2 GOME Spectral Product L1 | 2025-04-24T10:24:02Z |
| 9 | Envisat SCIAMACHY Level 2 [SCI_____2P] | 2025-04-24T10:24:02Z |
| 10 | Envisat MIPAS L2 - Temperature, pressure and a... | 2025-04-24T10:24:03Z |
| 11 | Envisat GOMOS Level 1b - Limb spectra [GOM_LIM... | 2025-04-24T10:24:03Z |
| 12 | GOME Total Column Water Vapour Climate product | 2025-04-24T10:24:03Z |
| 13 | Vision-1 full archive and tasking | 2025-04-24T10:24:04Z |
| 14 | SPOT-6 to 7 full archive and tasking | 2025-04-24T10:24:04Z |
Example: 9.4
Sort collection search results by title (ascending).
URL = URL_LANDING_PAGE + "collections"+ "?filter=parentIdentifier='EOP:ESA:EARTH-ONLINE'" \
+ "&sortby=properties.title" \
+ "&limit=15"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections \
--data-urlencode "filter=parentIdentifier='EOP:ESA:EARTH-ONLINE'" \
--data-urlencode "sortby=properties.title" \
--data-urlencode "limit=15"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id','title']]
| id | title | |
|---|---|---|
| 0 | ADAM.Surface.Reflectance.Database | ADAM Surface Reflectance Database v4.0 |
| 1 | ALOS | Alos African Coverage ESA archive |
| 2 | ALOS.AVNIR-2.L1C | ALOS AVNIR-2 L1C |
| 3 | ALOSIPY | ALOS PALSAR International Polar Year Antarctica |
| 4 | ALOS.PALSAR.FBS.FBD.PLR.products | ALOS PALSAR products |
| 5 | ALOS_PRISM_L1B | Alos PRISM L1B |
| 6 | alos-prism-l1c | ALOS PRISM L1C |
| 7 | alos.prism.l1c.european.coverage.cloud.free | ALOS PRISM L1C European Coverage Cloud Free |
| 8 | TDPforAtmosphere | Atmospheric Thematic Data Product [MWR_TDPATM] |
| 9 | NASA_OMI | Aura OMI complete NASA dataset |
| 10 | AVHRRLocalAreaCoverageImagery10 | AVHRR Level-1B/1C Local Area Coverage Imagery |
| 11 | CartoSat-1.archive.and.Euro-Maps.3D.Digital.Su... | CartoSat-1 archive and Euro-Maps 3D Digital Su... |
| 12 | Cartosat-1.Euro-Maps.3D | Cartosat-1 Euro-Maps 3D |
| 13 | CosmoSkyMed | COSMO-SkyMed ESA archive |
| 14 | COSMO-SkyMed.full.archive.and.tasking | COSMO-SkyMed full archive and tasking |
Example: 9.5
Sort item search results by orbit number (ascending) and id (ascending) at
/itemsendpoint.
COLLECTION_ID = 'BiomassLevel1cIOC'
URL = URL_LANDING_PAGE + "collections/"+ COLLECTION_ID + "/items?sortby=sat:absolute_orbit,id"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC/items \
--data-urlencode "sortby=sat:absolute_orbit,id"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
# Convert STAC items into data frame
df = pd.json_normalize(data, record_path=['features'])
df[['id', 'properties.sat:absolute_orbit']]
| id | properties.sat:absolute_orbit | |
|---|---|---|
| 0 | BIO_S1_STA__1M_20170105T103648_20170105T103657... | 62 |
| 1 | BIO_S1_STA__1M_20170108T103651_20170108T103700... | 106 |
| 2 | BIO_S1_STA__1M_20250623T025119_20250623T025133... | 803 |
| 3 | BIO_S1_STA__1M_20250623T025131_20250623T025152... | 803 |
| 4 | BIO_S1_STA__1M_20250623T025150_20250623T025209... | 803 |
| 5 | BIO_S1_STA__1M_20250623T025759_20250623T025812... | 804 |
| 6 | BIO_S1_STA__1M_20170527T220953_20170527T221011... | 2151 |
| 7 | BIO_S1_STA__1M_20170527T220953_20170527T221012... | 2151 |
| 8 | BIO_S1_STA__1M_20170527T220953_20170527T221012... | 2151 |
| 9 | BIO_S1_STA__1M_20170527T220953_20170527T221012... | 2151 |
Example: 9.6
Sort item search results (granules) by start_datetime (descending) at
/searchendpoint (GET).
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 10,
collections=[COLLECTION_ID],
sortby="-start_datetime"
)
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/search \
--data-urlencode "collections=BiomassLevel1cIOC" \
--data-urlencode "sortby=-start_datetime"
# Convert STAC items into data frame
stac_json = results.item_collection_as_dict()
gdf = gpd.GeoDataFrame.from_features(stac_json, "epsg:4326")
# limit to useful values
gdf[['title','start_datetime']]
| title | start_datetime | |
|---|---|---|
| 0 | BIO_S1_STA__1M_20250623T025759_20250623T025812... | 2025-06-23T02:57:59.724Z |
| 1 | BIO_S1_STA__1M_20250623T025150_20250623T025209... | 2025-06-23T02:51:50.384Z |
| 2 | BIO_S1_STA__1M_20250623T025131_20250623T025152... | 2025-06-23T02:51:31.404Z |
| 3 | BIO_S1_STA__1M_20250623T025119_20250623T025133... | 2025-06-23T02:51:19.237Z |
| 4 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 2017-06-02T22:10:54.668Z |
| 5 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 2017-06-02T22:10:54.667Z |
| 6 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 2017-06-02T22:10:54.667Z |
| 7 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 2017-06-02T22:10:54.664Z |
| 8 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 2017-06-02T22:10:35.669Z |
| 9 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 2017-06-02T22:10:35.668Z |
Example: 9.7
Sort item search results by start_datetime (descending) at
/itemsendpoint.
URL = URL_LANDING_PAGE + "collections/"+ COLLECTION_ID3_CLOUDS + "/items" \
+ "?sortby=-start_datetime"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/IKONOS.ESA.archive/items \
--data-urlencode "sortby=-start_datetime"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
# Convert STAC items into data frame
df = pd.json_normalize(data, record_path=['features'])
df[['properties.title', 'properties.datetime']]
| properties.title | properties.datetime | |
|---|---|---|
| 0 | IK2_OPER_OSA_GEO_1P_20081209T065500_N28-272_E0... | 2008-12-09T06:55:00Z |
| 1 | IK2_OPER_OSA_GEO_1P_20081113T110300_N31-177_W0... | 2008-11-13T11:03:00Z |
| 2 | IK2_OPER_OSA_GEO_1P_20081104T103000_N49-649_E0... | 2008-11-04T10:30:00Z |
| 3 | IK2_OPER_OSA_GEO_1P_20081005T072900_N21-879_E0... | 2008-10-05T07:29:00Z |
| 4 | IK2_OPER_OSA_GEO_1P_20081004T064900_N34-012_E0... | 2008-10-04T06:49:00Z |
| 5 | IK2_OPER_OSA_GEO_1P_20080827T070900_N22-241_E0... | 2008-08-27T07:09:00Z |
| 6 | IK2_OPER_OSA_GEO_1P_20080820T092600_N38-054_E0... | 2008-08-20T09:26:00Z |
| 7 | IK2_OPER_OSA_GEO_1P_20080816T070400_N34-704_E0... | 2008-08-16T07:04:00Z |
| 8 | IK2_OPER_OSA_GEO_1P_20080806T105200_N49-207_E0... | 2008-08-06T10:52:00Z |
| 9 | IK2_OPER_OSA_GEO_1P_20080806T105100_N49-207_E0... | 2008-08-06T10:51:00Z |
Example: 9.8
Sort item search results by cloud cover (ascending) and id (ascending) at
/itemsendpoint.
URL = URL_LANDING_PAGE + "collections/"+ COLLECTION_ID3_CLOUDS + "/items" \
+ "?datetime=2001-01-01T00:00:00Z/2003-01-02T00:00:00Z" \
+ "&sortby=eo:cloud_cover,id"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/IKONOS.ESA.archive/items \
--data-urlencode "datetime=2001-01-01T00:00:00Z/2003-01-02T00:00:00Z" \
--data-urlencode "sortby=eo:cloud_cover,id"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
# Convert STAC items into data frame
df = pd.json_normalize(data, record_path=['features'])
df[['id', 'properties.eo:cloud_cover', 'properties.datetime']]
| id | properties.eo:cloud_cover | properties.datetime | |
|---|---|---|---|
| 0 | IK2_OPER_OSA_GEO_1P_20010613T085400_N40-024_E0... | 0 | 2001-06-13T08:54:00Z |
| 1 | IK2_OPER_OSA_GEO_1P_20010613T085400_N40-131_E0... | 0 | 2001-06-13T08:54:00Z |
| 2 | IK2_OPER_OSA_GEO_1P_20010814T113300_N38-653_W0... | 0 | 2001-08-14T11:33:00Z |
| 3 | IK2_OPER_OSA_GEO_1P_20010830T080000_N35-463_E0... | 0 | 2001-08-30T08:00:00Z |
| 4 | IK2_OPER_OSA_GEO_1P_20011122T090100_N38-428_E0... | 0 | 2001-11-22T09:01:00Z |
| 5 | IK2_OPER_OSA_GEO_1P_20020520T092400_N39-944_E0... | 0 | 2002-05-20T09:24:00Z |
| 6 | IK2_OPER_OSA_GEO_1P_20020624T103800_N43-607_E0... | 0 | 2002-06-24T10:38:00Z |
| 7 | IK2_OPER_OSA_GEO_1P_20030101T064600_N25-938_E0... | 0 | 2003-01-01T06:46:00Z |
| 8 | IK2_OPER_OSA_GEO_1P_20020118T101700_N41-972_E0... | 14 | 2002-01-18T10:17:00Z |
| 9 | IK2_OPER_OSA_GEO_1P_20010810T104600_N43-573_E0... | 22 | 2001-08-10T10:46:00Z |
Example: 9.9
Sort item search results by eofeos:repeat_cycle_id (descending) at
/itemsendpoint.
URL = URL_LANDING_PAGE + "collections/"+ COLLECTION_ID + "/items?limit=20" \
+ "&datetime=2017-05-30T00:00:00Z/2017-06-02T23:00:00Z" \
+ "&sortby=-eofeos:repeat_cycle_id"
curl -X GET -G https://catalog.maap.eo.esa.int/catalogue/collections/BiomassLevel1cIOC/items \
--data-urlencode "limit=20" \
--data-urlencode "datetime=2017-05-30T00:00:00Z/2017-06-02T23:00:00Z" \
--data-urlencode "sortby=-eofeos:repeat_cycle_id"
response = requests.get(URL, verify=bool(verify_ssl))
data = json.loads(response.text)
# Convert STAC items into data frame
df = pd.json_normalize(data, record_path=['features'])
df[['id', 'properties.eofeos:repeat_cycle_id']]
| id | properties.eofeos:repeat_cycle_id | |
|---|---|---|
| 0 | BIO_S1_STA__1M_20170602T220959_20170602T221018... | 3 |
| 1 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 3 |
| 2 | BIO_S1_STA__1M_20170602T221016_20170602T221037... | 3 |
| 3 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 3 |
| 4 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 3 |
| 5 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 3 |
| 6 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 3 |
| 7 | BIO_S1_STA__1M_20170602T221016_20170602T221037... | 3 |
| 8 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 3 |
| 9 | BIO_S1_STA__1M_20170602T220959_20170602T221018... | 3 |
| 10 | BIO_S1_STA__1M_20170602T220959_20170602T221018... | 3 |
| 11 | BIO_S1_STA__1M_20170602T221016_20170602T221037... | 3 |
| 12 | BIO_S1_STA__1M_20170602T221016_20170602T221037... | 3 |
| 13 | BIO_S1_STA__1M_20170602T220959_20170602T221018... | 3 |
| 14 | BIO_S1_STA__1M_20170602T221035_20170602T221056... | 3 |
| 15 | BIO_S1_STA__1M_20170602T221054_20170602T221115... | 3 |
| 16 | BIO_S1_STA__1M_20170530T221051_20170530T221112... | 2 |
| 17 | BIO_S1_STA__1M_20170530T220956_20170530T221015... | 2 |
| 18 | BIO_S1_STA__1M_20170530T221013_20170530T221034... | 2 |
| 19 | BIO_S1_STA__1M_20170530T221032_20170530T221053... | 2 |