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://fedeo.ceos.org/'
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://fedeo.ceos.org/
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': 'FedEO Clearinghouse provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://fedeo.ceos.org/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://fedeo.ceos.org/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://fedeo.ceos.org/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://fedeo.ceos.org/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://fedeo.ceos.org/readme.html',
'type': 'text/html',
'title': 'API Documentation'},
{'rel': 'service-doc',
'href': 'https://fedeo.ceos.org/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://fedeo.ceos.org/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'alternate',
'href': 'https://fedeo.ceos.org?httpAccept=text/html',
'type': 'text/html',
'title': 'Landing Page in HTML media type.'},
{'rel': 'alternate',
'href': 'https://fedeo.ceos.org?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'Landing Page in JSON-LD media type.'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/series/eo:platform',
'type': 'application/json',
'title': 'Collections by platform'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics',
'type': 'application/json',
'title': 'ESA Earth Topics'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/mim',
'type': 'application/json',
'title': 'MIM Measurement Keywords'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/sciencekeyword',
'type': 'application/json',
'title': 'GCMD Science Keywords'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/series/eo:organisationName',
'type': 'application/json',
'title': 'Collections by organisation'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/services/eo:platform',
'type': 'application/json',
'title': 'Services by platform'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/services/eo:organisationName',
'type': 'application/json',
'title': 'Services by organisation'},
{'rel': 'root',
'href': 'https://fedeo.ceos.org',
'type': 'application/json',
'title': 'FedEO Clearinghouse'}],
'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-1/1.0/conf/geojson',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter',
'https://api.stacspec.org/v1.0.0-rc.2/core',
'https://api.stacspec.org/v1.0.0-rc.2/stac-search',
'https://api.stacspec.org/v1.0.0-rc.2/stac-response',
'https://api.stacspec.org/v1.0.0-rc.2/collection-search',
'https://api.stacspec.org/v1.0.0-rc.2/collection-search#filter',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text',
'https://api.stacspec.org/v1.0.0-rc.2/item-search',
'https://api.stacspec.org/v1.0.0-rc.2/item-search#filter',
'http://www.opengis.net/spec/cql2/1.0/conf/cql2-text',
'http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2'],
'title': 'FedEO Clearinghouse'}
# Get catalog title and description
print("Title\t\t:", api.title)
print("Description\t:", api.description)
print("Search link\t:", api.get_search_link())
# List child catalogs
print("Child catalogs:")
# for child in api.get_children():
# print("\t", child.id)
children = [c for c in api.get_children()]
children
Title : FedEO Clearinghouse
Description : FedEO Clearinghouse provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata
Search link : <Link rel=search target=https://fedeo.ceos.org/search>
Child catalogs:
[<CollectionClient id=series_eo:platform>,
<CollectionClient id=5c476560-e0a3-554a-9187-187a90da1309>,
<CollectionClient id=0>,
<CollectionClient id=c98c8eae-7561-55de-bf01-2fb866693c14>,
<CollectionClient id=738c519f-48db-5344-bebc-030c16781c22>,
<CollectionClient id=1eb0ea0a-312c-4d74-8d42-6f1ad758f999>,
<CollectionClient id=series_eo:organisationName>,
<CollectionClient id=services_eo:platform>,
<CollectionClient id=services_eo:organisationName>]
# Show title and id for each of the children.
for count, child in enumerate(children):
print(f'\t{count} - {child.title}, id="{child.id}"')
0 - EO platforms, id="series_eo:platform"
1 - Earth Topic, id="5c476560-e0a3-554a-9187-187a90da1309"
2 - Measurement, id="0"
3 - Instrument, id="c98c8eae-7561-55de-bf01-2fb866693c14"
4 - Platform, id="738c519f-48db-5344-bebc-030c16781c22"
5 - Science Keywords, id="1eb0ea0a-312c-4d74-8d42-6f1ad758f999"
6 - EO organisations, id="series_eo:organisationName"
7 - Services by platform, id="services_eo:platform"
8 - Services by organisation, id="services_eo:organisationName"
The collections are organised as a tree structure which can be traversed until arriving to a collection with items (granules). Get the details of one of the children of the root catalog as an example.
child = children[1]
child.to_dict()
{'type': 'Collection',
'id': '5c476560-e0a3-554a-9187-187a90da1309',
'stac_version': '1.1.0',
'description': 'Earth Topic',
'links': [{'rel': 'root',
'href': 'https://fedeo.ceos.org',
'type': 'application/json',
'title': 'FedEO Clearinghouse'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/bbe13d71-bea9-55c2-9b65-a24043c35937',
'type': 'application/json',
'title': 'Agriculture [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/0d2133c5-b0bb-5ce2-b000-243ade6a65b8',
'type': 'application/json',
'title': 'Atmosphere [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/5ff2bf3e-a8da-5aa5-81d2-f801ae6454af',
'type': 'application/json',
'title': 'Biosphere [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/4ca68be3-d205-5dea-a292-6f0a7ab35595',
'type': 'application/json',
'title': 'Climate [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/e6a9631e-b7cf-5b3e-b414-1600379a72b3',
'type': 'application/json',
'title': 'Cryosphere [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/2a1c3522-f4a0-5d63-9d47-7af06a220302',
'type': 'application/json',
'title': 'Human Dimensions [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/e4d01e03-0ef5-5b4c-b40f-2b5f49667f53',
'type': 'application/json',
'title': 'Land Surface [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/8dc47b68-6cad-59ce-836f-7328372de417',
'type': 'application/json',
'title': 'Oceans [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/1589db19-32b2-5945-ad4b-6c3b13713176',
'type': 'application/json',
'title': 'Solid Earth [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/a59746f5-d93d-5637-b7fa-6e6220196104',
'type': 'application/json',
'title': 'Space Weather [ESA Earth Topics]'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics/8111e456-a0ff-588f-9ab6-9ef66d8df94a',
'type': 'application/json',
'title': 'Terrestrial Hydrosphere [ESA Earth Topics]'},
{'rel': 'self',
'href': 'https://fedeo.ceos.org/concepts/earthtopics',
'type': 'application/json'},
{'rel': 'parent',
'href': 'https://fedeo.ceos.org/',
'type': 'application/json',
'title': 'FedEO Clearinghouse'}],
'title': 'Earth Topic',
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'other',
'providers': [{'name': 'FedEO',
'roles': ['host'],
'url': 'https://fedeo.ceos.org/readme.html'}]}
# May have again children, get the list
children = [c for c in child.get_children()]
children
[<CollectionClient id=bbe13d71-bea9-55c2-9b65-a24043c35937>,
<CollectionClient id=0d2133c5-b0bb-5ce2-b000-243ade6a65b8>,
<CollectionClient id=5ff2bf3e-a8da-5aa5-81d2-f801ae6454af>,
<CollectionClient id=4ca68be3-d205-5dea-a292-6f0a7ab35595>,
<CollectionClient id=e6a9631e-b7cf-5b3e-b414-1600379a72b3>,
<CollectionClient id=2a1c3522-f4a0-5d63-9d47-7af06a220302>,
<CollectionClient id=e4d01e03-0ef5-5b4c-b40f-2b5f49667f53>,
<CollectionClient id=8dc47b68-6cad-59ce-836f-7328372de417>,
<CollectionClient id=1589db19-32b2-5945-ad4b-6c3b13713176>,
<CollectionClient id=a59746f5-d93d-5637-b7fa-6e6220196104>,
<CollectionClient id=8111e456-a0ff-588f-9ab6-9ef66d8df94a>]
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://fedeo.ceos.org/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://fedeo.ceos.org/collections/series",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/series/items",
"type": "application/geo+json",
"title": "Series"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/series?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/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://fedeo.ceos.org/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://fedeo.ceos.org/collections/datasets",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/datasets/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/datasets?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/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": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO services and applications",
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/services",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/services/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Services and applications"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/services?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/services?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://fedeo.ceos.org/collections/services/queryables",
"type": "application/schema+json",
"title": "Queryables for services"
},
{
"rel": "describedBy",
"href": "http://schemas.opengis.net/eopad-geojson/1.0/eopad-geojson-schema.json",
"type": "application/schema+json",
"title": "JSON schema for items belonging to this collection"
}
],
"id": "services",
"title": "EO services and applications",
"type": "Collection"
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"DIF10",
"FedEO",
"THEIA",
"muscate",
"level2A",
"reflectance",
"landsat",
"CNES",
"Geology",
"Land cover",
"EARTH SCIENCE > ATMOSPHERE > ATMOSPHERIC RADIATION > REFLECTANCE",
"LANDSAT-5",
"LANDSAT-7",
"LANDSAT-8",
"TM",
"ETM",
"OLI"
],
"created": "2015-08-14T00:00:00.00Z",
"description": "Reflectance Landsat images (Level 2A) processed by the Theia Land Data Center (http://www.theia-land.fr) for the CNES French Space Agency (http://www.cnes.fr). The processing center developed by CNES uses the MACCS prototype L2A chain developed and designed by CESBIO. LANDSAT 8 L1T Input data come from USGS (http://earthexplorer.usgs.gov) that we would like to thank for releasing freely the LANDSAT 8 datasets.",
"type": "Collection",
"title": "Landsat Level2A images (Theia)",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:CNES:THEIA:Landsat",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:CNES:THEIA:Landsat"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:CNES:THEIA:Landsat"
},
{
"rel": "search",
"href": "https://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:CNES:THEIA:Landsat&subject=Landsat",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:CNES:THEIA:Landsat/api?subject=Landsat",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?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://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Landsat?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/FR@CNES",
"title": "More collections for FR/CNES"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/LANDSAT-5",
"title": "More collections for LANDSAT-5 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/LANDSAT-7",
"title": "More collections for LANDSAT-7 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/LANDSAT-8",
"title": "More collections for LANDSAT-8 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/tm",
"title": "More collections for TM instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/oli",
"title": "More collections for OLI instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/etm",
"title": "More collections for ETM instrument"
}
],
"id": "EOP:CNES:THEIA:Landsat",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "FR/CNES"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"TM",
"ETM",
"OLI"
],
"platform": [
"LANDSAT-5",
"LANDSAT-7",
"LANDSAT-8"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2013-07-01T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"EO IPT",
"Poland",
"FedEO",
"OGC Testbed-14",
"DIF10",
"soil",
"landscape",
"vegetation",
"Science Keywords > Earth Science > Spectral/Engineering > Visible Wavelengths > Visible Imagery",
"Science Keywords > Earth Science > Spectral/Engineering > Infrared Wavelengths > Thermal Infrared",
"TIRS"
],
"created": "2017-04-15T00:00:00.00Z",
"description": " Landsat-8 products stored in the catalog provided by the Earth Observation Innovative Platform Testbed Poland. Landsat 8 level 1 products combine data from the 2 Landsat instruments; OLI and TIRS. The level 1 products generated can be either L1T or L1gT. \t\t\t\tLevel 1T data products consist of radiometrically corrected image data derived from L0 data scaled to at-aperture spectral radiance or reflectance that are resampled for registration to a cartographic projection (referenced to the WGS84, G873 or current version). The L1T product is orthorectified, and corrected for terrain relief. The geometric corrections use observatory ephemeris data and ground control points; DEM data is used to correct for terrain relief.\t\t\t\tGeometrically corrected products L1gT data products consist of L0 product data with systematic radiometric, geometric and terrain corrections applied and resampled for registration to a cartographic projection, referenced to the WGS84, G873, or current version. L1gT data products assume the use of on-board positional information or definitive ephemeris, as well as the use of controlled elevation data to correct for parallax errors. In case of insufficient GCP, caused by extensive snow/cloud cover, which makes the orthorectification impossible, products of this level are produced instead of L1T.\t\t\t\t",
"type": "Collection",
"title": "Landsat-8 Collection (EO IPT.PL)",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:IPT:Landsat8",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:IPT:Landsat8"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:IPT:Landsat8"
},
{
"rel": "search",
"href": "https://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:IPT:Landsat8&sensorType=OPTICAL",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:IPT:Landsat8/api?sensorType=OPTICAL",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/web/guest/-/landsat-oli-tirs-european-coverage"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?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://fedeo.ceos.org/collections/EOP:IPT:Landsat8?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:IPT:Landsat8?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/CloudFerro",
"title": "More collections for CloudFerro"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/Landsat-8",
"title": "More collections for Landsat-8 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/tirs",
"title": "More collections for TIRS instrument"
}
],
"id": "EOP:IPT:Landsat8",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "CloudFerro"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"TIRS"
],
"platform": [
"Landsat-8"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"FedEO",
"DIF10",
"THEIA",
"spotworldheritage",
"level2A",
"reflectance",
"spot",
"CNES",
"Geology",
"Land cover",
"EARTH SCIENCE > LAND USE/LAND COVER",
"SPOT 1",
"SPOT 2",
"SPOT 4",
"SPOT 5",
"HRV",
"HRVIR",
"HRG",
"HRS"
],
"created": "2015-08-14T00:00:00.00Z",
"description": "Multispectral decametric images from the Spot 1-5 archive of more than 5 years old, acquired in the framework of the Spot World Heritage programme, based on a partnership between CNES and Airbus Defence and Space. The images are available on a free and open basis for any user, provided usage is non-commercial",
"type": "Collection",
"title": "SpotWorldHeritage (Theia)",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:CNES:THEIA:SpotWorldHeritage",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:CNES:THEIA:SpotWorldHeritage"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:CNES:THEIA:SpotWorldHeritage"
},
{
"rel": "search",
"href": "https://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:CNES:THEIA:SpotWorldHeritage&sensorType=OPTICAL&subject=SpotWorldHeritage",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:CNES:THEIA:SpotWorldHeritage/api?sensorType=OPTICAL&subject=SpotWorldHeritage",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?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://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:SpotWorldHeritage?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/FR@CNES",
"title": "More collections for FR/CNES"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/SPOT%201",
"title": "More collections for SPOT 1 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/SPOT%202",
"title": "More collections for SPOT 2 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/SPOT%204",
"title": "More collections for SPOT 4 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/SPOT%205",
"title": "More collections for SPOT 5 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/hrs",
"title": "More collections for HRS instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/hrvir",
"title": "More collections for HRVIR instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/hrv",
"title": "More collections for HRV instrument"
}
],
"id": "EOP:CNES:THEIA:SpotWorldHeritage",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "FR/CNES"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"HRV",
"HRV",
"HRVIR",
"HRS"
],
"platform": [
"SPOT 1",
"SPOT 2",
"SPOT 4",
"SPOT 5"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"FedEO",
"DIF10",
"THEIA",
"spirit",
"polar",
"LEGOS",
"SPOT5",
"IGN",
"Astrium",
"CNES",
"Geology",
"Land cover",
"EARTH SCIENCE > CRYOSPHERE > GLACIERS/ICE SHEETS",
"SPOT 5",
"HRS"
],
"created": "2015-08-14T00:00:00.00Z",
"description": "Astrium Services and CNES supplied satellite data for the international Polar Year research programmes. Earth-observing satellites are mapping the poles to provide scientists with a more precise picture of how glaciers are changing and to help them understand the impacts of climate change on our planet. Astrium Services and CNES joined the SPIRIT project (SPOT 5 stereoscopic survey of Polar Ice: Reference Images and Topographies) in partnership with French survey, the French mapping agency IGN and the LEGOS, space geophysics and oceanography research laboratory. During two years, from 2007 to 2009, an archive of SPOT 5 HRS images was compiled over polar ice in order to produce DTMs and ortho-image",
"type": "Collection",
"title": "SPOT5 stereoscopic survey of Polar Ice (Theia)",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:CNES:THEIA:Spirit",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:CNES:THEIA:Spirit"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:CNES:THEIA:Spirit"
},
{
"rel": "search",
"href": "https://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:CNES:THEIA:Spirit&sensorType=OPTICAL&subject=Spirit",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:CNES:THEIA:Spirit/api?sensorType=OPTICAL&subject=Spirit",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?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://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:THEIA:Spirit?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/FR@CNES",
"title": "More collections for FR/CNES"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/SPOT%205",
"title": "More collections for SPOT 5 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/hrs",
"title": "More collections for HRS instrument"
}
],
"id": "EOP:CNES:THEIA:Spirit",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "FR/CNES"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"HRS"
],
"platform": [
"SPOT 5"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2015-06-23T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"FedEO",
"DIF10",
"THEIA",
"PEPS",
"CNES",
"optical",
"sentinel2",
"EARTH SCIENCE > LAND USE/LAND COVER",
"land",
"land cover",
"chlorophyll",
"natural disaster",
"Sentinel-2",
"MSI"
],
"created": "2015-06-23T00:00:00.00Z",
"description": "The SENTINEL-2 mission is a land monitoring constellation of two satellites each equipped with a MSI (Multispectral Imager) instrument covering 13 spectral bands providing high resolution optical imagery (i.e., 10m, 20m, 60 m) every 10 days with one satellite and 5 days with two satellites.",
"type": "Collection",
"title": "Sentinel-2 (PEPS)",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:CNES:PEPS:S2",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:CNES:PEPS:S2"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:CNES:PEPS:S2"
},
{
"rel": "search",
"href": "https://fedeo.esa.int/opensearch/description.xml?parentIdentifier=EOP:CNES:PEPS:S2&sensorType=OPTICAL&platform=S2A",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:CNES:PEPS:S2/api?sensorType=OPTICAL&platform=S2A",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?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://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:CNES:PEPS:S2?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/FR@CNES",
"title": "More collections for FR/CNES"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/Sentinel-2",
"title": "More collections for Sentinel-2 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/s2-msi",
"title": "More collections for MSI instrument"
}
],
"id": "EOP:CNES:PEPS:S2",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "FR/CNES"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"MSI"
],
"platform": [
"Sentinel-2"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2014-04-03T00: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-1A",
"Sentinel-1B",
"SAR"
],
"created": "2014-04-03T00:00:00.00Z",
"description": "Sentinel-1 is a polar-orbiting, all-weather, day-and-night radar imaging mission for land and ocean services. The first Sentinel-1 satellite was launched on a Soyuz rocket from Europe's Spaceport in French Guiana on 3 April 2014. This collection groups both the SAR Level-0 products and SAR Level-1 that includes the Single Look Complex (SLC), Ground Range Detected (GRD) products. Level-2 Ocean (OCN) products for retrieved geophysical parameters of the ocean are also part of this collection.",
"type": "Collection",
"title": "Sentinel-1 Products",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:ESA:SCIHUB:S1",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"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://fedeo.ceos.org/collections/EOP:ESA:SCIHUB:S1/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:ESA:SCIHUB:S1"
},
{
"rel": "search",
"href": "https://dataspace.copernicus.eu",
"title": "Copernicus Data Space Ecosystem - Copernicus Data Space Ecosystem"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/opensearch/description.xml?parentIdentifier=EOP:ESA:SCIHUB:S1",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:ESA:SCIHUB:S1/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://sentinel.esa.int/web/sentinel/missions/sentinel-1",
"title": "ESA Sentinel Online"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&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://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-1?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/ESA@ESRIN",
"title": "More collections for ESA/ESRIN"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/Sentinel-1A",
"title": "More collections for Sentinel-1A platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/Sentinel-1B",
"title": "More collections for Sentinel-1B platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/a2cb7dbe-6433-5737-9d3c-b974e6f643b2",
"title": "More collections for SAR instrument"
}
],
"id": "EOP:ESA:Sentinel-1",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"SAR",
"SAR"
],
"platform": [
"Sentinel-1A",
"Sentinel-1B"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2016-02-16T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"FedEO",
"SCIHUB",
"DIF10",
"land",
"ocean",
"Land Use and Land Cover",
"Oceans",
"EARTH SCIENCE > LAND SURFACE > LAND USE/LAND COVER",
"EARTH SCIENCE > OCEANS",
"Sentinel-3",
"OLCI",
"SRAL",
"SLSTR"
],
"created": "2016-02-16T00:00:00.00Z",
"description": "The main objective of the SENTINEL-3 mission is to measure sea surface topography, sea and land surface temperature, and ocean and land surface colour with high accuracy and reliability to support ocean forecasting systems, environmental monitoring and climate monitoring. This collection represents the Level-1 and Level-2 Full OLCI products. These products include Top-Of-Atmosphere (TOA) radiometric measurements, radiometrically corrected, calibrated and spectrally characterised. It is quality controlled, ortho-geolocated (latitude and longitude coordinates, altitude) and annotated with satellite position and pointing, landmarks and preliminary pixel classification (e.g. land/water/cloud masks). Products are generated in FR (300 m) for the whole globe with the same coverage. This collection also provides SAR Radar Altimeter (SRAL) level-1 products and land products level-2 (SR_2_LAN) products and SLSTR products.",
"type": "Collection",
"title": "Sentinel-3 Products",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=EOP:ESA:SCIHUB:S3",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?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://fedeo.ceos.org/collections/?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series EOP:ESA:Sentinel-3"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:SCIHUB:S3/queryables",
"type": "application/schema+json",
"title": "Queryables for EOP:ESA:SCIHUB:S3"
},
{
"rel": "search",
"href": "https://dataspace.copernicus.eu",
"title": "Copernicus Data Space Ecosystem - Copernicus Data Space Ecosystem"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/opensearch/description.xml?parentIdentifier=EOP:ESA:SCIHUB:S3",
"title": "FedEO Clearinghouse - FedEO Clearinghouse"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/EOP:ESA:SCIHUB:S3/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://sentinel.esa.int/web/sentinel/missions/sentinel-3",
"title": "ESA Sentinel Online"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&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://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/EOP:ESA:Sentinel-3?parentIdentifier=EOP:EU:DATASPACE&httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:organisationName/ESA@ESRIN",
"title": "More collections for ESA/ESRIN"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/Sentinel-3",
"title": "More collections for Sentinel-3 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/cb64234b-e08f-545f-b508-b47ce03c4123",
"title": "More collections for SLSTR instrument"
}
],
"id": "EOP:ESA:Sentinel-3",
"updated": "2017-04-30T00:00:00.00Z",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"SLSTR"
],
"platform": [
"Sentinel-3"
]
}
}
],
"numberReturned": 10,
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections",
"type": "application/json",
"title": "This document"
},
{
"rel": "next",
"href": "https://fedeo.ceos.org/collections?startRecord=11",
"type": "application/json",
"title": "Next results"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/queryables",
"type": "application/schema+json",
"title": "Queryables for collection search"
}
],
"numberMatched": 2731
}
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://fedeo.ceos.org/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['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 | |
---|---|---|---|
14 | classifiedAs | string | uri |
13 | doi | string | - |
3 | instrument | string | - |
8 | modificationDate | string | date-time |
11 | offering | string | - |
7 | organisationName | string | - |
5 | otherConstraint | string | - |
2 | parentIdentifier | string | - |
6 | platform | string | - |
9 | processingLevel | string | - |
12 | publisher | string | - |
1 | query | string | - |
0 | subject | string | - |
4 | title | string | - |
10 | useLimitation | string | - |
Note: The builtin get_collections()
function of pystac_client
is not particularly helpful to retrieve all searchable collections. Its behaviour depends on the presence or absense of the collections
conformance class (https://api.stacspec.org/v1.0.0-rc.2/collections) in the landing page of the API and may therefore provide unexpected results. When child
links are retrieved as collection
, this is not done recursively, and the first-level child catalogs are retrieved instead.
URL_LANDING_PAGE
'https://fedeo.ceos.org/'
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://fedeo.ceos.org/collections
Search by free text#
Example: 1.1
Search collections by free text (
q
).
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.collection_search(
q = 'Seasat'
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "q=Seasat"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'keywords']]
id | keywords | |
---|---|---|
0 | SeaSat.ESA.archive | [DIF10, EARTH SCIENCE>OCEANS, EARTH SCIENCE>OC... |
Search by title#
Example: 1.2
Search collections by title (
filter
andtitle
).
# CQL2 Basic only supports "=" operator for strings, thus complete title has to be provided.
# Future versions may support "Advanced Comparison Operators".
value = 'ALOS PALSAR products'
results = api.collection_search(
filter = "title='" + value + "'"
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "filter=title='ALOS PALSAR products'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
# df
id | title | |
---|---|---|
0 | ALOS.PALSAR.FBS.FBD.PLR.products | ALOS PALSAR products |
Search by platform#
Example: 1.3
Search collections by platform (
filter
andplatform
).
value = 'PROBA-1'
results = api.collection_search(
filter = "platform='" + value + "'"
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "filter=platform='PROBA-1'" \
--data-urlencode "filter-lang=cql2-text"
data = results.collection_list_as_dict()
df = pd.json_normalize(data, record_path=['collections'])
df[['title', 'summaries.platform']]
title | summaries.platform | |
---|---|---|
0 | Proba CHRIS Level 1A | [PROBA-1] |
1 | Proba HRC | [PROBA-1] |
Search by organisation#
Example: 1.4
Search collections by organisation (
filter
).
value = 'ESA/ESRIN'
results = api.collection_search(
filter = "organisationName='" + value + "'"
)
curl -X GET -G https://fedeo.ceos.org/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 Products | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
1 | Sentinel-3 Products | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
2 | RADARSAT-1 & 2 full archive and tasking | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
3 | Fundamental Data Records for Altimetry [ALT_FD... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
4 | Swarm Space Weather | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
... | ... | ... |
307 | Sentinel-2 image Mosaic of Brazilian Yanomami ... | [{'roles': ['producer', 'licensor'], 'name': '... |
308 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
309 | Global Land Ice Measurements from Space (GLIMS... | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
310 | Sentinel-2 image Mosaic of Brazilian Cerrado B... | [{'roles': ['producer', 'licensor'], 'name': '... |
311 | CLIMATE APPLICATIONS: global cloud climatologi... | [{'roles': ['producer'], 'name': 'ESA/ESRIN'},... |
312 rows × 2 columns
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 = 5,
limit = 5
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "limit=5" \
--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:CNES:THEIA:Landsat | [[-180, -90, 180, 90]] |
1 | EOP:IPT:Landsat8 | [[-180, -90, 180, 90]] |
2 | EOP:CNES:THEIA:SpotWorldHeritage | [[-180, -90, 180, 90]] |
3 | EOP:CNES:THEIA:Spirit | [[-180, -90, 180, 90]] |
4 | EOP:CNES:PEPS:S2 | [[-180, -90, 180, 90]] |
Search by temporal extent#
Example: 1.6
Search collections by temporal extent (
datetime
with closed range).
results = api.collection_search(
datetime = '2002-01-01T00:00:00.000Z/2003-12-31T23:59:59.999Z',
max_collections = 5,
limit = 5
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "limit=5" \
--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 | SPOT | [[1986-02-22T00:00:00.000Z, None]] |
1 | M3M1 | [[2001-12-10T00:00:00.000Z, None]] |
2 | ERS-2 | [[1995-04-21T00:00:00.000Z, 2011-09-05T23:59:5... |
3 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
4 | FDRforAltimetry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
Example: 1.7
Search collections by temporal extent (
datetime
with open range).
results = api.collection_search(
datetime = '../2001-12-31T23:59:59.999Z',
max_collections = 5,
limit = 5
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "limit=5" \
--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 | SPOT | [[1986-02-22T00:00:00.000Z, None]] |
1 | M3M1 | [[2001-12-10T00:00:00.000Z, None]] |
2 | ERS-2 | [[1995-04-21T00:00:00.000Z, 2011-09-05T23:59:5... |
3 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
4 | FDRforAltimetry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
Example: 1.8
Search collections by temporal extent (
datetime
with single date).
results = api.collection_search(
datetime = '2002-12-31T23:59:59.999Z',
max_collections = 5,
limit = 5
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "limit=5" \
--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 | SPOT | [[1986-02-22T00:00:00.000Z, None]] |
1 | M3M1 | [[2001-12-10T00:00:00.000Z, None]] |
2 | ERS-2 | [[1995-04-21T00:00:00.000Z, 2011-09-05T23:59:5... |
3 | RADARSAT.SAR.F | [[1995-12-01T00:00:00.000Z, None]] |
4 | FDRforAltimetry | [[1991-08-03T00:00:00.000Z, 2012-04-08T23:59:5... |
Get by identifier#
Example: 1.9
Get collections by identifier (
ids
).
URL = URL_LANDING_PAGE + 'collections?ids=' + COLLECTION_ID1 + ',' + COLLECTION_ID2
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "ids=PROBA.CHRIS.1A,SPOT-6.and.7.ESA.archive"
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 | PROBA.CHRIS.1A | Proba CHRIS Level 1A | [[2002-05-14T00:00:00.000Z, 2022-12-22T23:59:5... |
1 | SPOT-6.and.7.ESA.archive | SPOT-6 and 7 ESA archive | [[2012-10-01T00:00:00.000Z, None]] |
Example: 1.10
Get collection by identifier.
The collection metadata for PROBA.CHRIS.1A
, is available at at https://fedeo.ceos.org/collections/PROBA.CHRIS.1A. This corresponds to one of the many representations available at https://fedeo.ceos.org/collections/series/items/PROBA.CHRIS.1A using content-negotiation.
URL = URL_LANDING_PAGE + 'collections/' + COLLECTION_ID1
curl -X GET -G https://fedeo.ceos.org/collections/PROBA.CHRIS.1A
id: PROBA.CHRIS.1A
title: Proba CHRIS Level 1A
0 | |
---|---|
extent | {'spatial': {'bbox': [[-180, -56, 180, 75]]}, ... |
stac_version | 1.0.0 |
keywords | [DIF10, EARTH SCIENCE>BIOSPHERE>ECOSYSTEMS>TER... |
created | 2019-05-22T00:00:00.00Z |
description | CHRIS acquires a set of up to five images of e... |
type | Collection |
title | Proba CHRIS Level 1A |
license | various |
assets | {'search': {'roles': ['search'], 'href': 'http... |
links | [{'rel': 'related', 'href': 'https://fedeo.ceo... |
id | PROBA.CHRIS.1A |
updated | 2025-02-04T13:52:04Z |
providers | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
summaries | {'instruments': ['CHRIS'], 'platform': ['PROBA... |
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-56,
180,
75
]
]
},
"temporal": {
"interval": [
[
"2002-05-14T00:00:00.000Z",
"2022-12-22T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"keywords": [
"DIF10",
"EARTH SCIENCE>BIOSPHERE>ECOSYSTEMS>TERRESTRIAL ECOSYSTEMS>FORESTS",
"EARTH SCIENCE>BIOSPHERE>VEGETATION",
"EARTH SCIENCE>TERRESTRIAL HYDROSPHERE>SURFACE WATER",
"EARTH SCIENCE>OCEANS",
"PROBA-1",
"PROBA.CHRIS",
"Forestry",
"Vegetation",
"Surface Water",
"Oceans",
"VIS (0.40 - 0.75 \u00b5m)",
"NIR (0.75 - 1.30 \u00b5m)",
"Sun-synchronous",
"High Resolution - HR (5 - 20 m)",
"Medium Resolution - MR (20 - 500 m)",
"CHR_MO1_1P",
"CHR_MO2_1P",
"CHR_MO3_1P",
"CHR_MO4_1P",
"CHR_MO5_1P",
"615 km",
"14 km",
"Imaging Spectrometers/Radiometers",
"CHRIS"
],
"created": "2019-05-22T00:00:00.00Z",
"description": "CHRIS acquires a set of up to five images of each target during each acquisition sequence, these images are acquired when Proba-1 is pointing at distinct angles with respect to the target. CHRIS Level 1A products (supplied in HDF data files, version 4.1r3) include five formal CHRIS imaging modes, classified as modes 1 to 5: \u2022 MODE 1: Full swath width, 62 spectral bands, 773nm / 1036nm, nadir ground sampling distance 34m @ 556km \u2022 MODE 2 WATER BANDS: Full swath width, 18 spectral bands, nadir ground sampling distance 17m @ 556km \u2022 MODE 3 LAND CHANNELS: Full swath width, 18 spectral bands, nadir ground sampling distance 17m @ 556km \u2022 MODE 4 CHLOROPHYL BAND SET: Full swath width, 18 spectral bands, nadir ground sampling distance 17m @ 556km \u2022 MODE 5 LAND CHANNELS: Half swath width, 37 spectral bands, nadir ground sampling distance 17m @ 556km All Proba-1 passes are systematically acquired according to the current acquisition plan, CHRIS data are processed every day to Level 1A and made available to ESA users. Observation over a new specific area can be performed by submitting the request to add a new site to the acquisition plan. Valuable indication whether the acquisition was successfully, cloudy, failed or programmed is reported in the _$$Proba-CHRIS Actual Acquisitions$$ http://www.rsacl.co.uk/chris/excel/active/",
"type": "Collection",
"title": "Proba CHRIS Level 1A",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=PROBA.CHRIS.1A",
"type": "text/html",
"title": "Search client"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/index/",
"type": "text/html",
"title": "OADS repository - OADS repository"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/PROBA-1",
"title": "More collections for PROBA-1 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/6b0bdcea-3beb-58ab-80f3-4fc5961d99e1",
"title": "More collections for CHRIS instrument"
},
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series PROBA.CHRIS.1A"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/queryables",
"type": "application/schema+json",
"title": "Queryables for PROBA.CHRIS.1A"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/PROBA.CHRIS.1A/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/c/document_library/get_file?folderId=23844&name=DLFE-592.pdf",
"type": "application/pdf",
"title": "CHRIS Data Format - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Note%20on%20CHRIS%20Acquisition%20Procedure%20and%20Image%20Geometry",
"type": "application/pdf",
"title": "Note on CHRIS Acquisition Procedure and Image Geometry - Technical Note"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/search?category=tools+and+toolboxes&mission=proba-1&tools_type=analysis%2Cprocessing",
"type": "text/html",
"title": "PROBA Chris Software Tool - Software Tools"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
}
],
"id": "PROBA.CHRIS.1A",
"updated": "2025-02-04T13:52:04Z",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"CHRIS"
],
"platform": [
"PROBA-1"
]
}
}
Search by DOI#
Example: 1.11
Search collections by DOI (
filter
withdoi
).
value = '10.5270/esa-qoe849q'
results = api.collection_search(
filter = "doi = '" + value + "'"
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "filter=doi = '10.5270/esa-qoe849q'" \
--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 | TropForest | TropForest- ALOS, GEOSAT-1 & KOMPSAT-2 opt... |
Search by concept#
Example: 1.12
Search collections by concept URI (
filter
withclassifiedAs
).
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
# Concept defining PROBA-1
# https://gcmd.earthdata.nasa.gov/kms/concept/fe4a4604-029e-4cdc-93f0-6d8799dd25e5
# Concept defining ENVISAT
# https://gcmd.earthdata.nasa.gov/kms/concept/11ea961b-1d0b-5d6d-a55a-b58aed01d430
concept_uri = 'https://earth.esa.int/concept/b3979ff2-d27d-5f22-9e06-a18c5759d9a5'
results = api.collection_search(
filter = "classifiedAs = '" + concept_uri + "'"
)
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "filter=classifiedAs = 'https://earth.esa.int/concept/b3979ff2-d27d-5f22-9e06-a18c5759d9a5'" \
--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 | PROBA.CHRIS.1A | Proba CHRIS Level 1A |
1 | PROBA.HRC.1A | Proba HRC |
# Get more details about the ESA Thesauri concept via the SPARQL interface.
# Make SPARQL request to obtain concept details.
#q="DESCRIBE <" + concept_uri + "> WHERE { }"
#response = requests.post(
# 'https://eovoc.spacebel.be/thesaurus/sparql',
# data=q, headers={'content-type': 'application/sparql-query', 'Accept': 'application/ld+json'})
# Can also use application/rdf+xml
#jstr = response.text
#md("```json\n" + jstr + "\n```\n")
# Concept defining PROBA-1
concept_uri = 'https://gcmd.earthdata.nasa.gov/kms/concept/fe4a4604-029e-4cdc-93f0-6d8799dd25e5'
# ENVISAT: 11ea961b-1d0b-5d6d-a55a-b58aed01d430
results = api.collection_search(
filter = "classifiedAs = '" + concept_uri + "'"
)
curl_str = curl_command(results.url_with_parameters())
md("```shell\n" + curl_str + "\n```\n")
curl -X GET -G https://fedeo.ceos.org/collections \
--data-urlencode "filter=classifiedAs = 'https://gcmd.earthdata.nasa.gov/kms/concept/fe4a4604-029e-4cdc-93f0-6d8799dd25e5'" \
--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 | PROBA.CHRIS.1A | Proba CHRIS Level 1A |
1 | PROBA.HRC.1A | Proba HRC |
Get more details about the GCMD concept:
response = requests.get(concept_uri)
# response.text
xmlstr = minidom.parseString(response.text).toprettyxml(indent=' ',newl='')
md("```xml\n" + xmlstr + "\n```\n")
<?xml version="1.0" ?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:gcmd="https://gcmd.earthdata.nasa.gov/kms#"> <gcmd:gcmd> <gcmd:termsOfUse>https://cdn.earthdata.nasa.gov/conduit/upload/5182/KeywordsCommunityGuide_Baseline_v1_SIGNED_FINAL.pdf</gcmd:termsOfUse> <gcmd:keywordVersion>20.9</gcmd:keywordVersion> <gcmd:schemeVersion>2025-03-03 09:49:37</gcmd:schemeVersion> <gcmd:viewer>https://gcmd.earthdata.nasa.gov/KeywordViewer/scheme/platforms/fe4a4604-029e-4cdc-93f0-6d8799dd25e5</gcmd:viewer> </gcmd:gcmd>
<skos:Concept xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" rdf:about="fe4a4604-029e-4cdc-93f0-6d8799dd25e5" xml:base="https://gcmd.earthdata.nasa.gov/kms/concept/">
<skos:inScheme rdf:resource="https://gcmd.earthdata.nasa.gov/kms/concepts/concept_scheme/platforms"/>
<skos:prefLabel xml:lang="en">PROBA-1</skos:prefLabel>
<gcmd:altLabel gcmd:category="primary" gcmd:text="Project for On-Board Autonomy, PROBA-1" xml:lang="en"/>
<skos:definition xml:lang="en">[Text Source: ESA Proba web site, http://www.esa.int/SPECIALS/Proba_web_site/index.html ]
The Project for On-Board Autonomy (Proba) is a technology demonstration mission of the European Space Agency, funded within the frame of ESA's General Support Technology Programme. It is managed by ESA??s Control and Data Systems Division within the Department of Electrical Engineering, part of the Directorate for Technical and Operational Support at ESA/ESTEC.
Work on the project began in mid-1998 and Proba was successfully launched on 22 October, 2001, initially for a one-year mission.
Proba objectives
The objectives of Proba are:
-in-orbit demonstration and evaluation of new hardware and software
spacecraft technologies
- in-orbit demonstration and evaluation of onboard operational
autonomy
- in-orbit trial and demonstration of Earth observation and space
environment instruments
More Information:
http://www.esa.int/SPECIALS/Proba_web_site/index.html
Group: Platform_Details
Entry_ID: PROBA-1
Group: Platform_Identification
Platform_Category: Earth Observation Satellites
Short_Name: PROBA-1
Long_Name: Project for On-Board Autonomy, PROBA-1
End_Group
Group: Synonymous_Platform_Names
Short_Name: PROBA
End_Group
Group: Platform_Associated_Instruments
Short_Name: PROBA.CHRIS.1A
Short_Name: HRC
Short_Name: WAC
Short_Name: SREM
Short_Name: DEBIE
Short_Name: SIPS
Short_Name: MRM
Short_Name: PASS
End_Group
Group: Orbit
Orbit_Altitude: 615 km
Orbit_Inclination: 98.75 deg
Period: 101.3 min
Repeat_Cycle: 16 days
Orbit_Type: LEO > Low Earth Orbit > Polar Sun-Synchronous
End_Group
Creation_Date: 2007-11-21
Online_Resource: http://www.esa.int/esaMI/Proba_web_site/
Group: Platform_Logistics
Launch_Date: 2001-10-22
Launch_Site: Sriharikota Island, India
Primary_Sponsor: ESA
End_Group
End_Group</skos:definition>
<skos:broader rdf:resource="3466eed1-2fbb-49bf-ab0b-dc08731d502b"/>
<skos:changeNote>2021-11-18 12:51:33.0 [tstevens] Move Concepts
delete broader relation (null);
add broader relation (PROBA-1 [fe4a4604-029e-4cdc-93f0-6d8799dd25e5,826939] - Earth Observation Satellites [3466eed1-2fbb-49bf-ab0b-dc08731d502b,826121]);
</skos:changeNote>
<skos:changeNote>2021-11-18 12:45:13.0 [tstevens] Move Concepts
delete broader relation (null);
add broader relation (PROBA-1 [fe4a4604-029e-4cdc-93f0-6d8799dd25e5,826939] - Space-based Platforms [b39a69b4-c3b9-4a94-b296-bbbbe5e4c847,835875]);
</skos:changeNote>
</skos:Concept>
</rdf:RDF>
Collection properties#
Collection identification#
URL = URL_LANDING_PAGE + 'collections/' + 'TropForest'
# URL = URL_LANDING_PAGE + 'collections/' + COLLECTION_ID1
curl -X GET -G https://fedeo.ceos.org/collections/TropForest
response = requests.get(URL)
data = json.loads(response.text)
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"extent": {
"spatial": {
"bbox": [
[
-100,
-50,
160,
40
]
]
},
"temporal": {
"interval": [
[
"2009-01-27T00:00:00.000Z",
"2011-08-09T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"sci:doi": "10.5270/esa-qoe849q",
"keywords": [
"DIF10",
"EARTH SCIENCE>AGRICULTURE",
"EARTH SCIENCE>BIOSPHERE>ECOSYSTEMS>TERRESTRIAL ECOSYSTEMS>FORESTS",
"EARTH SCIENCE>LAND SURFACE",
"EARTH SCIENCE>BIOSPHERE>VEGETATION",
"ALOS",
"Deimos-1",
"KOMPSAT-2",
"AVNIR-2",
"SLIM-6",
"MSC",
"Agriculture",
"Forestry",
"Land Surface",
"Vegetation",
"VIS (0.40 - 0.75 \u00b5m)",
"NIR (0.75 - 1.30 \u00b5m)",
"Sun-synchronous",
"Very High Resolution - VHR (0 - 5m)",
"High Resolution - HR (5 - 20 m)",
"AL1_AV2_2F",
"DE1_SL6_2F",
"KO2_MSC_2F",
"DE1 663 km; KO2 685 km; AL1 692 km",
"DE1 625 km; KO2 15 km; AL1 70 km",
"Imaging Spectrometers/Radiometers",
"Cameras",
"ALOS-1",
"GEOSAT-1",
"SLIM6"
],
"created": "2019-05-23T00:00:00.00Z",
"description": "The objective of the ESA TropForest project was to create a harmonised geo-database of ready-to-use satellite imagery to support 2010 global forest assessment performed by the Joint Research Centre (JRC) of the European Commission and by the Food and Agriculture Organization (FAO). Assessments for year 2010 were essential for building realistic deforestation benchmark rates at global to regional levels. To reach this objective, the project aimed to create a harmonised ortho-rectified/pre-processed imagery geo-database based on satellite data acquisitions (ALOS AVNIR-2, GEOSAT-1 SLIM6, KOMPSAT-2 MSC) performed during year 2009 and 2010, for the Tropical Latin America (excluding Mexico) and for the Tropical South and Southeast Asia (excluding China), resulting in 1971 sites located at 1 deg x 1 deg geographical lat/long intersections. The project finally delivered 1866 sites (94.7% of target) due to cloud coverages too high for missing sites",
"sci:citation": "European Space Agency, 2016, ESA TropForest Archive. Version 1.0.",
"type": "Collection",
"title": "TropForest- ALOS, GEOSAT-1 & KOMPSAT-2 optical coverages over tropical forests",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=TropForest",
"type": "text/html",
"title": "Search client"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/meta/Tropforest/index",
"type": "text/html",
"title": "OADS repository - OADS repository"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest?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://fedeo.ceos.org/collections/TropForest?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
}
},
"links": [
{
"rel": "cite-as",
"href": "https://doi.org/10.5270/esa-qoe849q",
"type": "text/html",
"title": "Landing page"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/ALOS-1",
"title": "More collections for ALOS-1 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/GEOSAT-1",
"title": "More collections for GEOSAT-1 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/series/eo:platform/KOMPSAT-2",
"title": "More collections for KOMPSAT-2 platform"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/f6ad42b7-1dba-57a0-a8cc-e7bc92b2a6b7",
"title": "More collections for MSC instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/a361a690-aa56-5851-824d-3d34c8fe00ea",
"title": "More collections for AVNIR-2 instrument"
},
{
"rel": "related",
"href": "https://fedeo.ceos.org/concepts/instruments/5cc6eaab-0ddc-572f-a1b7-afa52ea5333d",
"title": "More collections for SLIM6 instrument"
},
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/TropForest",
"type": "application/json"
},
{
"rel": "root",
"href": "https://fedeo.ceos.org",
"type": "application/json",
"title": "FedEO Clearinghouse"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://fedeo.ceos.org/collections/TropForest/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series TropForest"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://fedeo.ceos.org/collections/TropForest/queryables",
"type": "application/schema+json",
"title": "Queryables for TropForest"
},
{
"rel": "search",
"href": "https://fedeo.ceos.org/collections/series/items/TropForest/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "http://due.esrin.esa.int/page_project134.php",
"type": "text/html",
"title": "More about TropForest - Other"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/1488753/ALOS_Deimos_Kompsat_TropForest_joined_2.jpg",
"title": "Available products in TropForest dataset map - Available products in TropForest dataset (dark green, light green and blue circles)"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request&sys_id=f27b38f9dbdffe40e3cedb11ce961958",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?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://fedeo.ceos.org/collections/TropForest?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/TropForest?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
}
],
"id": "TropForest",
"updated": "2025-02-04T13:52:05Z",
"stac_extensions": [
"https://stac-extensions.github.io/scientific/v1.0.0/schema.json"
],
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "FedEO",
"url": "https://fedeo.ceos.org/readme.html"
}
],
"summaries": {
"instruments": [
"AVNIR-2",
"SLIM6",
"MSC"
],
"platform": [
"ALOS-1",
"GEOSAT-1",
"KOMPSAT-2"
]
}
}
# 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)
# print("providers\t:", c.providers)
# c
id : TropForest
title : TropForest- ALOS, GEOSAT-1 & KOMPSAT-2 optical coverages over tropical forests
description : The objective of the ESA TropForest project was to create a harmonised geo-database of ready-to-use satellite imagery to support 2010 global forest assessment performed by the Joint Research Centre (JRC) of the European Commission and by the Food and Agriculture Organization (FAO). Assessments for year 2010 were essential for building realistic deforestation benchmark rates at global to regional levels. To reach this objective, the project aimed to create a harmonised ortho-rectified/pre-processed imagery geo-database based on satellite data acquisitions (ALOS AVNIR-2, GEOSAT-1 SLIM6, KOMPSAT-2 MSC) performed during year 2009 and 2010, for the Tropical Latin America (excluding Mexico) and for the Tropical South and Southeast Asia (excluding China), resulting in 1971 sites located at 1 deg x 1 deg geographical lat/long intersections. The project finally delivered 1866 sites (94.7% of target) due to cloud coverages too high for missing sites
keywords : ['DIF10', 'EARTH SCIENCE>AGRICULTURE', 'EARTH SCIENCE>BIOSPHERE>ECOSYSTEMS>TERRESTRIAL ECOSYSTEMS>FORESTS', 'EARTH SCIENCE>LAND SURFACE', 'EARTH SCIENCE>BIOSPHERE>VEGETATION', 'ALOS', 'Deimos-1', 'KOMPSAT-2', 'AVNIR-2', 'SLIM-6', 'MSC', 'Agriculture', 'Forestry', 'Land Surface', 'Vegetation', 'VIS (0.40 - 0.75 µm)', 'NIR (0.75 - 1.30 µm)', 'Sun-synchronous', 'Very High Resolution - VHR (0 - 5m)', 'High Resolution - HR (5 - 20 m)', 'AL1_AV2_2F', 'DE1_SL6_2F', 'KO2_MSC_2F', 'DE1 663 km; KO2 685 km; AL1 692 km', 'DE1 625 km; KO2 15 km; AL1 70 km', 'Imaging Spectrometers/Radiometers', 'Cameras', 'ALOS-1', 'GEOSAT-1', 'SLIM6']
spatial extent : <pystac.collection.SpatialExtent object at 0x0000017D81DCF560>
temporal extent : <pystac.collection.TemporalExtent object at 0x0000017D81F44980>
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")
10.5270/esa-qoe849q
Collection geometry#
Geometry information for a collection is included in the JSON response at the path $.extent.spatial
.
data['extent']['spatial']
{'bbox': [[-100, -50, 160, 40]]}
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': [['2009-01-27T00:00:00.000Z', '2011-08-09T23:59:59.999Z']]}
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 |
URL = URL_LANDING_PAGE + 'collections/' + COLLECTION_ID1
response = requests.get(URL)
data = json.loads(response.text)
# Show assets of the collection (GeoJSON)
jstr = json.dumps(data['assets'], indent=3)
md("```json\n" + jstr + "\n```\n")
{
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%252Bxml&uid=PROBA.CHRIS.1A",
"type": "text/html",
"title": "Search client"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/index/",
"type": "text/html",
"title": "OADS repository - OADS repository"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?mode=owc",
"title": "OGC 17-084r1 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\""
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"metadata_iso_191115_3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?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 | search | Search client | text/html |
1 | data | OADS repository - OADS repository | text/html |
2 | metadata | OGC 17-069r3 metadata | application/geo+json;profile="http://www.openg... |
3 | metadata | ISO 19139 metadata | application/vnd.iso.19139+xml |
4 | metadata | ISO 19139-2 metadata | application/vnd.iso.19139-2+xml |
5 | metadata | DIF-10 metadata | application/dif10+xml |
6 | metadata | OGC 17-084r1 metadata | application/geo+json;profile="http://www.openg... |
7 | metadata | HTML | text/html |
8 | 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 | related | More collections for PROBA-1 platform | None |
1 | related | More collections for CHRIS instrument | None |
2 | self | None | application/json |
3 | root | FedEO Clearinghouse | application/json |
4 | parent | collections | application/json |
5 | items | Datasets search for the series PROBA.CHRIS.1A | application/geo+json |
6 | http://www.opengis.net/def/rel/ogc/1.0/queryables | Queryables for PROBA.CHRIS.1A | application/schema+json |
7 | search | OpenSearch Description Document | application/opensearchdescription+xml |
8 | describedby | CHRIS Data Format - Product Specifications | application/pdf |
9 | describedby | Note on CHRIS Acquisition Procedure and Image ... | application/pdf |
10 | describedby | PROBA Chris Software Tool - Software Tools | text/html |
11 | describedby | Get Help? - ESA Earth Observation User Service... | text/html |
12 | alternate | Atom format | application/atom+xml |
13 | alternate | Dublin Core metadata | application/xml |
14 | alternate | JSON-LD metadata | application/ld+json |
15 | alternate | JSON-LD (schema.org) metadata | application/ld+json;profile="https://schema.org" |
16 | alternate | JSON-LD (GeoDCAT-AP) metadata | application/ld+json;profile="http://data.europ... |
17 | alternate | RDF/XML metadata | application/rdf+xml |
18 | alternate | RDF/XML (schema.org) metadata | application/rdf+xml;profile="https://schema.org" |
19 | alternate | RDF/XML (GeoDCAT-AP) metadata | application/rdf+xml;profile="http://data.europ... |
20 | alternate | Turtle metadata | text/turtle |
21 | alternate | Turtle (schema.org) metadata | text/turtle;profile="https://schema.org" |
22 | alternate | Turtle (GeoDCAT-AP) metadata | text/turtle;profile="http://data.europa.eu/930/" |
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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/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 | |
---|---|---|---|
0 | acquisitionType | string | - |
11 | classifiedAs | string | uri |
12 | frame | string | - |
1 | illuminationAzimuthAngle | number | - |
9 | illuminationElevationAngle | number | - |
2 | instrument | string | - |
4 | orbitNumber | integer | - |
3 | platform | string | - |
5 | platformSerialIdentifier | string | - |
10 | productType | string | - |
6 | productionStatus | string | - |
8 | sensorMode | string | - |
7 | track | 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': 'FedEO Clearinghouse provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://fedeo.ceos.org/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://fedeo.ceos.org/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://fedeo.ceos.org/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://fedeo.ceos.org/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://fedeo.ceos.org/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://fedeo.ceos.org/readme.html',
'type': 'text/html',
'title': 'API Documentation'},
{'rel': 'service-doc',
'href': 'https://fedeo.ceos.org/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://fedeo.ceos.org/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'alternate',
'href': 'https://fedeo.ceos.org?httpAccept=text/html',
'type': 'text/html',
'title': 'Landing Page in HTML media type.'},
{'rel': 'alternate',
'href': 'https://fedeo.ceos.org?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'Landing Page in JSON-LD media type.'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://fedeo.ceos.org/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/series/eo:platform',
'type': 'application/json',
'title': 'Collections by platform'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/earthtopics',
'type': 'application/json',
'title': 'ESA Earth Topics'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/mim',
'type': 'application/json',
'title': 'MIM Measurement Keywords'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/concepts/sciencekeyword',
'type': 'application/json',
'title': 'GCMD Science Keywords'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/series/eo:organisationName',
'type': 'application/json',
'title': 'Collections by organisation'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/services/eo:platform',
'type': 'application/json',
'title': 'Services by platform'},
{'rel': 'child',
'href': 'https://fedeo.ceos.org/services/eo:organisationName',
'type': 'application/json',
'title': 'Services by organisation'},
{'rel': 'root',
'href': 'https://fedeo.ceos.org',
'type': 'application/json',
'title': 'FedEO Clearinghouse'}],
'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-1/1.0/conf/geojson',
'http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter',
'https://api.stacspec.org/v1.0.0-rc.2/core',
'https://api.stacspec.org/v1.0.0-rc.2/stac-search',
'https://api.stacspec.org/v1.0.0-rc.2/stac-response',
'https://api.stacspec.org/v1.0.0-rc.2/collection-search',
'https://api.stacspec.org/v1.0.0-rc.2/collection-search#filter',
'https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text',
'https://api.stacspec.org/v1.0.0-rc.2/item-search',
'https://api.stacspec.org/v1.0.0-rc.2/item-search#filter',
'http://www.opengis.net/spec/cql2/1.0/conf/cql2-text',
'http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2'],
'title': 'FedEO Clearinghouse'}
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://fedeo.ceos.org/search>
Search by geometry#
Collections support granule search with the intersects
[RD11] search parameter.
Example: 2.1
Search granules by geometry {intersects} [RD11] and
GET
method. Geometry parameter can be provided as dictionary or string.
# See https://pystac-client.readthedocs.io/en/stable/usage.html
# https://pystac-client.readthedocs.io/en/stable/tutorials.html
# https://pystac-client.readthedocs.io/en/latest/tutorials/item-search-intersects.html
aoi_as_dict: Dict[str, Any] = {
"type": "Polygon",
"coordinates": [
[
[
14.90,
37.700
],
[
14.90,
37.780
],
[
14.99,
37.780
],
[
14.99,
37.700
],
[
14.90,
37.700
]
]
]
}
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 2,
collections=[COLLECTION_ID1],
# intersects = json.dumps(aoi_as_dict),
# TBD BUG intersects = aoi_as_dict,
datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z']
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "datetime=2015-01-01T00:00:00Z/2022-01-02T00:00:00Z" \
--data-urlencode "collections=PROBA.CHRIS.1A"
The total number of results available is reported in the numberMatched
property.
3306 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": {
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/thumbnail/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001.SIP.ZIP_TIMG.jpg",
"type": "image/jpeg",
"title": "THUMBNAIL"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001.SIP.ZIP",
"type": "application/zip",
"title": "Download",
"file:size": 636947704
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?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_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"quicklook": {
"roles": [
"overview"
],
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/browse/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
}
},
"bbox": [
116.35,
25.61,
116.48,
25.7
],
"geometry": {
"coordinates": [
[
[
116.47,
25.62
],
[
116.48,
25.68
],
[
116.35,
25.7
],
[
116.37,
25.61
],
[
116.47,
25.62
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/json",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/json",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "up",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?mode=owc",
"type": "application/geo+json",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
}
],
"id": "PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001",
"collection": "PROBA.CHRIS.1A",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
"https://stac-extensions.github.io/projection/v1.1.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json",
"https://stac-extensions.github.io/grid/v1.1.0/schema.json",
"https://stac-extensions.github.io/product/v0.1.0/schema.json",
"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
],
"properties": {
"grid:code": "WRS-E116-N25",
"proj:code": "EPSG:4326",
"time:published": "2017-12-09T07:06:00Z",
"start_datetime": "2017-12-09T07:02:00Z",
"end_datetime": "2017-12-09T07:06:00Z",
"view:sun_azimuth": 212.43308895890763,
"product:type": "CHR_MO1_1P",
"title": "PR1_OPER_CHR_MO1_1P_20171209T070200_N25-066_E116-041_0001",
"platform": "PROBA-1",
"view:sun_elevation": 66.47,
"datetime": "2017-12-09T07:02:00Z",
"sar:instrument_mode": "MODE-1",
"instruments": [
"CHRIS"
],
"constellation": "PROBA",
"updated": "2018-04-12T08:57:44Z",
"product:acquisition_type": "nominal"
}
},
{
"stac_version": "1.0.0",
"assets": {
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/thumbnail/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001.SIP.ZIP_TIMG.jpg",
"type": "image/jpeg",
"title": "THUMBNAIL"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001.SIP.ZIP",
"type": "application/zip",
"title": "Download",
"file:size": 425342230
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?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_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"quicklook": {
"roles": [
"overview"
],
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/browse/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
}
},
"bbox": [
114.59,
39.86,
114.75,
39.98
],
"geometry": {
"coordinates": [
[
[
114.73,
39.86
],
[
114.75,
39.96
],
[
114.61,
39.98
],
[
114.59,
39.88
],
[
114.73,
39.86
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/json",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "parent",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?httpAccept=application/json",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "up",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A?mode=owc",
"type": "application/geo+json",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?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"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/rdf%2Bxml;profile=https://schema.org",
"type": "application/rdf+xml;profile=\"https://schema.org\"",
"title": "RDF/XML (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=application/rdf%2Bxml;profile=http://data.europa.eu/930/",
"type": "application/rdf+xml;profile=\"http://data.europa.eu/930/\"",
"title": "RDF/XML (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
}
],
"id": "PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001",
"collection": "PROBA.CHRIS.1A",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
"https://stac-extensions.github.io/projection/v1.1.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json",
"https://stac-extensions.github.io/grid/v1.1.0/schema.json",
"https://stac-extensions.github.io/product/v0.1.0/schema.json",
"https://stac-extensions.github.io/timestamps/v1.1.0/schema.json"
],
"properties": {
"grid:code": "WRS-E114-N39",
"proj:code": "EPSG:4326",
"time:published": "2017-12-25T06:02:00Z",
"start_datetime": "2017-12-25T06:58:00Z",
"end_datetime": "2017-12-25T06:02:00Z",
"view:sun_azimuth": 204.04835399109658,
"product:type": "CHR_MO4_1P",
"title": "PR1_OPER_CHR_MO4_1P_20171225T065800_N39-092_E114-067_0001",
"platform": "PROBA-1",
"view:sun_elevation": 73.076,
"datetime": "2017-12-25T06:58:00Z",
"sar:instrument_mode": "MODE-4",
"instruments": [
"CHRIS"
],
"constellation": "PROBA",
"updated": "2018-04-12T08:57:47Z",
"product:acquisition_type": "nominal"
}
}
]
}
Example: 2.2
Search granules by geometry {intersects} [RD11] and
POST
method. 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_ID1],
# intersects = json.dumps(aoi_as_dict),
intersects = aoi_as_dict,
datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z']
)
curl -X POST https://fedeo.ceos.org/search \
--header 'Content-Type: application/json' \
--data-raw '{
"datetime": "2015-01-01T00:00:00Z/2022-01-02T00:00:00Z",
"collections": ["PROBA.CHRIS.1A"],
"intersects": {"type":"Polygon","coordinates":[[[14.9,37.7],[14.9,37.78],[14.99,37.78],[14.99,37.7],[14.9,37.7]]]}
}'
print(f"{results.matched()} items found.")
9 items found.
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]. bbox 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_ID1],
bbox = [14.90, 37.700, 14.99, 37.780], # Mount Etna
# datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z']
)
Same request using curl
.
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "bbox=14.9,37.7,14.99,37.78" \
--data-urlencode "collections=PROBA.CHRIS.1A"
10 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://fedeo.ceos.org/search \
--data-urlencode "bbox=4.28,51.15,4.4799999999999995,51.35" \
--data-urlencode "collections=PROBA.CHRIS.1A"
8 items found.


Example: 2.5
Search granules by bounding box (
bbox
) and generate density map.
collection_id = COLLECTION_ID1
def get_results(bbox):
x, y, x2, y2 = bbox
results = api.search(
method = 'GET',
max_items=1,
bbox = [x, y, x2, y2],
collections=[collection_id]
)
return results.matched()
collection_size = get_results([-180, -90, 180, 90])
n_rows = 18
n_columns = 36
dy = 180.0 / n_rows
dx = 360.0 / n_columns
shape = (n_rows, n_columns)
Z = np.zeros(shape)
bboxes = []
for col in range(n_columns):
for row in range(n_rows):
x = col * dx - 180.0
y = row * dy - 90.0
bboxes.append((x, y, x+dx, y+dy))
%%time
executor = ThreadPoolExecutor(max_workers=32)
results = executor.map(get_results, bboxes)
for col in range(n_columns):
for row in range(n_rows):
count = next(results)
Z[row, col] = count
CPU times: total: 1.91 s
Wall time: 4.76 s
Display number of granules as density map of 18 rows (10.0°) by 36 columns (10.0°).

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_ID1],
datetime=['2019-01-01T00:00:00Z', '2019-12-02T00:00:00Z']
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "datetime=2019-01-01T00:00:00Z/2019-12-02T00:00:00Z" \
--data-urlencode "collections=PROBA.CHRIS.1A"
display_date_distribution(results)

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_ID1],
datetime=['2021-12-01T00:00:00Z', None]
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "datetime=2021-12-01T00:00:00Z/.." \
--data-urlencode "collections=PROBA.CHRIS.1A"
print(f"{results.matched()} items found.")
510 items found.

display_value_distribution(results, 'sar:product_type')
sar:product_type values are not available.
Search by identifier#
Example: 2.8
Search granule by identifier (ids) [RD01].
granule_id1
'PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E111-030_0001'
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
collections=[COLLECTION_ID1],
ids=[granule_id1]
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "ids=PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E111-030_0001" \
--data-urlencode "collections=PROBA.CHRIS.1A"
1 items found.
0 | |
---|---|
geometry | POLYGON ((111.09 22.02, 111.11 22.16, 110.97 2... |
grid:code | WRS-E111-N22 |
proj:code | EPSG:4326 |
time:published | 2021-12-10T07:01:00Z |
start_datetime | 2021-12-10T06:57:00Z |
end_datetime | 2021-12-10T07:01:00Z |
view:sun_azimuth | 221.061043 |
product:type | CHR_MO2_1P |
title | PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E1... |
platform | PROBA-1 |
view:sun_elevation | 57.726 |
datetime | 2021-12-10T06:57:00Z |
sar:instrument_mode | MODE-2 |
instruments | [CHRIS] |
constellation | PROBA |
updated | 2021-12-17T17:37:25Z |
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],
collections=[COLLECTION_ID1]
)
Same request with curl
.
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "ids=PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E111-030_0001" \
--data-urlencode "collections=PROBA.CHRIS.1A"
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
Queryables
object at /collections/{id}/queryables.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID1],
bbox = [14.90, 37.700, 14.99, 37.780], # Mount Etna
datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z'],
filter="productType='CHR_MO2_1P' and instrument='CHRIS'"
)
Same request with curl
.
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "bbox=14.9,37.7,14.99,37.78" \
--data-urlencode "datetime=2015-01-01T00:00:00Z/2022-01-02T00:00:00Z" \
--data-urlencode "collections=PROBA.CHRIS.1A" \
--data-urlencode "filter=productType='CHR_MO2_1P' and instrument='CHRIS'" \
--data-urlencode "filter-lang=cql2-text"
2 items found.


display_value_distribution(results, 'sar:product_type')
sar:product_type values are not available.
Search by cloud cover#
Example: 2.11
Search granules by cloudcover (
filter
andcloudCover
) [RD01]. Available filters are advertised inQueryables
object 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="cloudCover < 10"
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "collections=IKONOS.ESA.archive" \
--data-urlencode "filter=cloudCover < 10" \
--data-urlencode "filter-lang=cql2-text"
246 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, 'sar:product_type')
sar:product_type values are not available.
Search multiple collections#
Example: 2.12
Search granules in multiple collections {collections} [RD01].
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_ID2_CLOUDS, COLLECTION_ID1],
bbox = [13.90, 36.700, 15.99, 38.780], # Mount Etna (large)
)
curl -X GET -G https://fedeo.ceos.org/search \
--data-urlencode "bbox=13.9,36.7,15.99,38.78" \
--data-urlencode "collections=LANDSAT.ETM.GTC,PROBA.CHRIS.1A"
print(f"{results.matched()} items found.")
797 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_ID2_CLOUDS, COLLECTION_ID1],
bbox = [13.90, 36.700, 15.99, 38.780] # Mount Etna (large)
)
curl -X POST https://fedeo.ceos.org/search \
--header 'Content-Type: application/json' \
--data-raw '{
"bbox": "13.9,36.7,15.99,38.78",
"collections": ["LANDSAT.ETM.GTC", "PROBA.CHRIS.1A"]
}'
print(f"{results.matched()} items found.")
797 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")
{
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "http://landsat-diss.eo.esa.int/oads/meta/LandsatETM/thumbnail/L07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799_v0100.SIP.ZIP_TIMG.jpg",
"type": "image/jpeg",
"title": "THUMBNAIL"
},
"enclosure": {
"roles": [
"data"
],
"href": "https://landsat-diss.eo.esa.int/oads/data/LandsatETM/L07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799_v0100.SIP.ZIP",
"type": "application/zip",
"title": "Download",
"file:size": 270093903
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/LANDSAT.ETM.GTC/items/LS07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799?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_069r3": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/LANDSAT.ETM.GTC/items/LS07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799",
"title": "OGC 17-069r3 metadata",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\""
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/LANDSAT.ETM.GTC/items/LS07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799?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://fedeo.ceos.org/collections/LANDSAT.ETM.GTC/items/LS07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://fedeo.ceos.org/collections/LANDSAT.ETM.GTC/items/LS07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
},
"quicklook": {
"roles": [
"overview"
],
"href": "http://landsat-diss.eo.esa.int/oads/meta/LandsatETM/browse/L07_RNSG_ETM_GTC_1P_19991129T092834_19991129T092902_003317_0188_0034_4799_v0100.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
}
}
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:
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)
break
df
roles | title | type | |
---|---|---|---|
0 | thumbnail | THUMBNAIL | image/jpeg |
1 | data | Download | application/zip |
2 | metadata | OGC 10-157r4 metadata | application/gml+xml;profile="http://www.opengi... |
3 | metadata | OGC 17-069r3 metadata | application/geo+json;profile="http://www.openg... |
4 | metadata | OGC 17-003r2 metadata | application/geo+json;profile="http://www.openg... |
5 | metadata | ISO 19139 metadata | application/vnd.iso.19139+xml |
6 | metadata | HTML | text/html |
7 | overview | QUICKLOOK | image/png |
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-1/1.0/conf/geojson",
"http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter",
"https://api.stacspec.org/v1.0.0-rc.2/core",
"https://api.stacspec.org/v1.0.0-rc.2/stac-search",
"https://api.stacspec.org/v1.0.0-rc.2/stac-response",
"https://api.stacspec.org/v1.0.0-rc.2/collection-search",
"https://api.stacspec.org/v1.0.0-rc.2/collection-search#filter",
"https://api.stacspec.org/v1.0.0-rc.1/collection-search#free-text",
"https://api.stacspec.org/v1.0.0-rc.2/item-search",
"https://api.stacspec.org/v1.0.0-rc.2/item-search#filter",
"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://fedeo.ceos.org/collections/queryables and represented as a JSON Schema.
URL_QUERYABLES = URL_LANDING_PAGE + 'collections/queryables'
curl -X GET -G https://fedeo.ceos.org/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 | |
---|---|---|---|
14 | classifiedAs | string | uri |
13 | doi | string | - |
3 | instrument | string | - |
8 | modificationDate | string | date-time |
11 | offering | string | - |
7 | organisationName | string | - |
5 | otherConstraint | string | - |
2 | parentIdentifier | string | - |
6 | platform | string | - |
9 | processingLevel | string | - |
12 | publisher | string | - |
1 | query | string | - |
0 | subject | string | - |
4 | title | string | - |
10 | useLimitation | string | - |
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"description": "Queryable names for the STAC API Collection Search filter.",
"type": "object",
"title": "Queryables for the STAC API",
"properties": {
"subject": {
"description": "{dc:subject}",
"title": "Subject",
"type": "string"
},
"query": {
"description": "{os:searchTerms}",
"title": "Query",
"type": "string"
},
"parentIdentifier": {
"description": "{eo:parentIdentifier}",
"title": "Parent identifier",
"type": "string",
"enum": [
"EOP:DLR:GEOSERVICE",
"EOP:ESA:EARTH-ONLINE",
"EOP:ESA:ECV",
"EOP:EU:CMEMS",
"EOP:EU:DATASPACE",
"EOP:EUMETSAT",
"EOP:INPE:DATA",
"EOP:JAXA:G-PORTAL",
"EOP:STFC:CEDA-CCI",
"EOP:VITO:GLOBALLAND",
"EOP:VITO:TERRASCOPE",
"EOP:NASA:CMR"
]
},
"instrument": {
"description": "{eo:instrument}",
"title": "Instrument",
"type": "string",
"enum": [
"GEOTON-L1",
"GSA",
"MSS",
"PSS",
"SHMSA_SR",
"SHMSA_VR",
"AATSR",
"ABI",
"ACC",
"ACE-FTS",
"ACGS",
"AIRSAFE",
"ALADIN",
"ALTIKA",
"AMI/SAR",
"AMI/Scatterometer",
"AMR-C",
"AMSR",
"AMSR-E",
"AMSR2",
"AMSU-B",
"ASAR",
"ASCAT",
"ASM",
"ASTER",
"ATLID",
"ATSR-1",
"ATSR-2",
"AVHRR",
"AVHRR-2",
"AVHRR-3",
"AVNIR",
"AVNIR-2",
"AwiFS",
"BBR",
"BGI",
"BLACKJACK",
"BUV",
"C-SAR",
"CALIOP",
"CAMERA",
"CAPI",
"CHRIS",
"CIRC",
"CPR",
"CSG-SAR",
"DESIS",
"DORIS",
"DPR",
"EFI",
"EGG",
"EOC",
"ETM",
"GEOTON-L1",
"GERB",
"GIS",
"GLI",
"GMI",
"GOES I-M IMAGER",
"GOES N-P IMAGER",
"GOES-13 IMAGER",
"GOME",
"GOME-2",
"GOMOS",
"GPSR",
"GRACE ACC",
"GRACE INTERFEROMETER",
"GRACE LRR",
"GRACE SCA",
"GRAS",
"GSA",
"HALOE",
"HIRS/2",
"HIRS/3",
"HIRS/4",
"HRC",
"HRG",
"HRS",
"HRV",
"HRVIR",
"HSI",
"HiRAIS",
"HiRI",
"HyperScout-2",
"IASI",
"IIR",
"JAMI",
"KBR",
"LIMS",
"LISS-3",
"LISS-4",
"LRR",
"MAESTRO",
"MERIS",
"MESSR",
"MGM",
"MHS",
"MIPAS",
"MIRAS",
"MODIS",
"MSC",
"MSI",
"MSS",
"MTSAT 2 IMAGER",
"MVIRI",
"MWHS-1",
"MWR",
"NAOMI",
"NRA",
"OCM-2",
"OCTS",
"OLCI",
"OLI Instrument",
"OLI",
"OLI-2",
"OLS",
"OMI",
"OPS",
"OSA",
"OSCAT",
"OSIRIS",
"P-SAR",
"PALSAR",
"PALSAR-2",
"PAN",
"PANMUX",
"PAZ-SAR",
"PNEO",
"POAM-II",
"POAM-III",
"POLDER",
"POSEIDON-2",
"POSEIDON-3",
"POSEIDON-4",
"PR",
"PRARE",
"PRISM",
"PSS",
"PlanetScope Camera",
"RA",
"RA-2",
"RBV",
"SAGE-I",
"SAOCOM-SAR",
"SAPHIR",
"SAR",
"SBUV",
"SBUV/2",
"SCARAB",
"SCAT",
"SCIAMACHY",
"SENSE",
"SEVIRI",
"SGLI",
"SHMSA_SR",
"SHMSA_VR",
"SIM",
"SIRAL",
"SLIM6",
"SLSTR",
"SMMR",
"SMR",
"SOLSTICE",
"SRAL",
"SSALT",
"SSM/I",
"SSM/T-2",
"SSMIS",
"SSTI",
"SSTL S1-4",
"STR",
"STRATOS",
"SWIM",
"SeaWiFS",
"SeaWinds",
"SkySat Camera",
"SpaceView-110",
"TANSO-CAI",
"TANSO-CAI-2",
"TANSO-FTS",
"TANSO-FTS-2",
"TDX-1",
"TIM",
"TIROS-N",
"TIRS",
"TIRS-2",
"TM",
"TMI",
"TOMS",
"TROPOMI",
"TSX-1",
"VAS",
"VFM",
"VG1",
"VG2",
"VGT",
"VHRR",
"VISSR",
"VISSR-GMS",
"VTIR",
"WAF-P",
"WFC",
"WFI",
"WIF",
"WINDSAT",
"WPM",
"WV110",
"WV60",
"X-SAR"
]
},
"title": {
"description": "{dc:title}",
"title": "Title",
"type": "string"
},
"otherConstraint": {
"description": "{eo:otherConstraint}",
"title": "Other constraint",
"type": "string"
},
"platform": {
"description": "{eo:platform}",
"title": "Platform",
"type": "string",
"enum": [
"ADEOS-I",
"ADEOS-II",
"AEM-2",
"ALOS",
"ALOS-1",
"ALOS-2",
"AQUA",
"Aeolus",
"Amazonia-1",
"Aura",
"BIROS",
"Beijing-1",
"BelKA",
"Biomass",
"CALIPSO",
"CBERS",
"CBERS-4",
"CBERS-4A",
"CFOSAT",
"CHAMP",
"COSMO-SkyMed Second Generation",
"COSMO-SkyMed",
"CloudSat",
"CryoSat-2",
"DMSP 5D-1/F2",
"DMSP 5D-1/F3",
"DMSP 5D-1/F4",
"DMSP 5D-2/F10",
"DMSP 5D-2/F11",
"DMSP 5D-2/F12",
"DMSP 5D-2/F13",
"DMSP 5D-2/F14",
"DMSP 5D-2/F8",
"DMSP 5D-3/F15",
"DMSP 5D-3/F16",
"DMSP 5D-3/F17",
"DMSP 5D-3/F18",
"DMSP 5D-3/F19",
"DMSP",
"ERS-1",
"ERS-2",
"EarthCARE",
"Elektro-L-N1",
"EnMAP",
"Envisat",
"FORMOSAT-2",
"FSSCAT",
"FY-3A",
"FY-3B",
"FY-3C",
"FireBIRD",
"GCOM-C1",
"GCOM-W1",
"GEOSAT-1",
"GEOSAT-2",
"GHGSat-C1",
"GHGSat-C2",
"GMS-1",
"GMS-2",
"GMS-3",
"GMS-4",
"GMS-5",
"GOCE",
"GOES",
"GOES-1",
"GOES-10",
"GOES-11",
"GOES-12",
"GOES-13",
"GOES-14",
"GOES-15",
"GOES-16",
"GOES-2",
"GOES-3",
"GOES-4",
"GOES-5",
"GOES-6",
"GOES-7",
"GOES-8",
"GOES-9",
"GOSAT-1",
"GOSAT-2",
"GPM",
"GRACE",
"GeoEye-1",
"ICEYE",
"IKONOS",
"IKONOS-2",
"IRS-1C",
"IRS-1D",
"IRS-P5",
"IRS-P6",
"IRS-R2",
"ISS",
"JASON-3",
"JERS-1",
"JPSS-1",
"Jason-1",
"Jason-2",
"KANOPUS_V1",
"KOMPSAT-1",
"KOMPSAT-2",
"Landsat",
"Landsat-1",
"Landsat-2",
"Landsat-3",
"Landsat-4",
"Landsat-5",
"Landsat-7",
"Landsat-8",
"Landsat-9",
"METEOR-3M",
"MFG",
"MONITOR-E",
"MOS-1A",
"MOS-1B",
"MSG",
"MTSAT-1R",
"MTSAT-2",
"Megha-Tropiques",
"Meteosat-10",
"Meteosat-11",
"Meteosat-2",
"Meteosat-3",
"Meteosat-4",
"Meteosat-5",
"Meteosat-6",
"Meteosat-7",
"Meteosat-8",
"Meteosat-9",
"Metop-A",
"Metop-B",
"Metop-C",
"NOAA POES",
"NOAA-10",
"NOAA-11",
"NOAA-12",
"NOAA-14",
"NOAA-15",
"NOAA-16",
"NOAA-17",
"NOAA-18",
"NOAA-19",
"NOAA-2",
"NOAA-3",
"NOAA-4",
"NOAA-5",
"NOAA-6",
"NOAA-7",
"NOAA-8",
"NOAA-9",
"NigeriaSat-1",
"Nimbus-4",
"Nimbus-7",
"ODIN",
"OceanSat-2",
"OrbView-2",
"PAZ",
"PROBA-1",
"PROBA-V",
"Parasol-1",
"PlanetScope",
"Pleiades Neo",
"Pleiades",
"Pleiades-1A",
"Pleiades-1B",
"QUICKBIRD",
"QuickBird-2",
"QuikSCAT",
"RADARSAT-1",
"RADARSAT-2",
"RESURS-DK1",
"RESURS-P1",
"RESURS-P2",
"RapidEye",
"SAC-D",
"SAOCOM-1A",
"SAOCOM-1B",
"SARAL",
"SCISAT-1",
"SMAP",
"SMOS",
"SMS-1",
"SMS-2",
"SORCE",
"SPOT 1",
"SPOT 2",
"SPOT 4",
"SPOT 5",
"SPOT",
"SPOT-1",
"SPOT-2",
"SPOT-3",
"SPOT-4",
"SPOT-5",
"SPOT-6",
"SPOT-7",
"Seasat",
"Sentinel-1",
"Sentinel-1A",
"Sentinel-1B",
"Sentinel-2",
"Sentinel-2B",
"Sentinel-3",
"Sentinel-3A",
"Sentinel-3B",
"Sentinel-5P",
"Sentinel-6",
"SkySat",
"Spire",
"Swarm",
"TERRA",
"TET-1",
"TIROS-N",
"TOPEX/POSEIDON",
"TRMM",
"TanDEM-X",
"TanSat",
"TerraSAR-X",
"UARS",
"UAV",
"UK-DMC-1",
"Vision-1",
"WindSat",
"WorldView-1",
"WorldView-2",
"WorldView-3",
"WorldView-4"
]
},
"organisationName": {
"description": "{eo:organisationName}",
"title": "Organisation name",
"type": "string",
"enum": [
"Airbus Defence and Space Geo",
"Airbus Defence and Space GmbH",
"BR/INPE",
"CEDA",
"CMEMS",
"CloudFerro",
"DE/DLR",
"DOC/NOAA",
"DOC/NOAA/NESDIS/NCEI",
"DOI/USGS",
"EC",
"ECMWF",
"EEA",
"ESA/ESRIN",
"EU/C3S",
"EUMETSAT",
"EUMETSAT/CMSAF",
"EUMETSAT/OSISAF",
"FR/CNES",
"FR/Meteo-France",
"JP/JAXA/SAOC",
"JP/JMA",
"Japan Aerospace Exploration Agency (JAXA)",
"NASA",
"NL/KNMI",
"NO/MET",
"ROSCOSMOS",
"SatOC",
"Sinergise",
"UC-LONDON/CPOM",
"UK/CCLRC/RAL",
"VITO"
]
},
"modificationDate": {
"format": "date-time",
"description": "{eo:modificationDate}",
"title": "Modification date",
"type": "string"
},
"processingLevel": {
"description": "{eo:processingLevel}",
"title": "Processing level",
"type": "string",
"enum": [
"level 0",
"level 1",
"level 1.5",
"level 1a",
"level 1b",
"level 1b+",
"level 1c",
"level 1d",
"level 1g",
"level 1gt",
"level 1r",
"level 1t",
"level 2",
"level 2a",
"level 2b",
"level 2c",
"level 3",
"level 3a",
"level 3b",
"level 4",
"level-a",
"level-a+",
"multiple"
]
},
"useLimitation": {
"description": "{eo:useLimitation}",
"title": "Use limitation",
"type": "string"
},
"offering": {
"description": "{eo:offering}",
"title": "Offering",
"type": "string",
"enum": [
"download-1.0-ftp--download",
"http",
"https",
"link-1.0-http--link",
"link-1.0-http--partners",
"link-1.0-http--related",
"wcs",
"wms"
]
},
"publisher": {
"description": "{dc:publisher}",
"title": "Publisher",
"type": "string"
},
"doi": {
"description": "{eo:doi}",
"title": "Doi",
"type": "string"
},
"classifiedAs": {
"format": "uri",
"description": "{semantic:classifiedAs}",
"title": "Classified as",
"type": "string"
}
},
"$id": "https://fedeo.ceos.org/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 PROBA.CHRIS.1A
, advertises its search parameters at https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/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://fedeo.ceos.org/collections/PROBA.CHRIS.1A/queryables
key | type | format | |
---|---|---|---|
0 | acquisitionType | string | - |
11 | classifiedAs | string | uri |
12 | frame | string | - |
1 | illuminationAzimuthAngle | number | - |
9 | illuminationElevationAngle | number | - |
2 | instrument | string | - |
4 | orbitNumber | integer | - |
3 | platform | string | - |
5 | platformSerialIdentifier | string | - |
10 | productType | string | - |
6 | productionStatus | string | - |
8 | sensorMode | string | - |
7 | track | string | - |
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"description": "Queryable names for the STAC API Item Search filter.",
"type": "object",
"title": "Queryables for PROBA.CHRIS.1A collection",
"properties": {
"acquisitionType": {
"description": "{eo:acquisitionType}",
"title": "Acquisition type",
"type": "string",
"enum": [
"NOMINAL"
]
},
"illuminationAzimuthAngle": {
"description": "{eo:illuminationAzimuthAngle}",
"maximum": 360,
"title": "Illumination azimuth angle",
"type": "number",
"minimum": 0
},
"instrument": {
"description": "{eo:instrument}",
"title": "Instrument",
"type": "string",
"enum": [
"CHRIS"
]
},
"platform": {
"description": "{eo:platform}",
"title": "Platform",
"type": "string",
"enum": [
"PROBA"
]
},
"orbitNumber": {
"description": "{eo:orbitNumber}",
"title": "Orbit number",
"type": "integer"
},
"platformSerialIdentifier": {
"description": "{eo:platformSerialIdentifier}",
"title": "Platform serial identifier",
"type": "string",
"enum": [
"1"
]
},
"productionStatus": {
"description": "{eo:productionStatus}",
"title": "Production status",
"type": "string",
"enum": [
"ARCHIVED"
]
},
"track": {
"description": "{eo:track}",
"title": "Track",
"type": "string",
"enum": [
"e000",
"e001",
"e002",
"e003",
"e004",
"e005",
"e006",
"e007",
"e008",
"e009",
"e010",
"e011",
"e012",
"e013",
"e014",
"e015",
"e016",
"e017",
"e018",
"e019",
"e020",
"e021",
"e022",
"e023",
"e024",
"e025",
"e026",
"e027",
"e028",
"e029",
"e030",
"e031",
"e032",
"e033",
"e034",
"e035",
"e036",
"e037",
"e038",
"e039",
"e040",
"e041",
"e042",
"e043",
"e044",
"e045",
"e046",
"e047",
"e048",
"e049",
"e050",
"e051",
"e052",
"e053",
"e054",
"e055",
"e056",
"e057",
"e058",
"e059",
"e060",
"e062",
"e063",
"e068",
"e069",
"e070",
"e071",
"e072",
"e073",
"e074",
"e076",
"e077",
"e078",
"e080",
"e082",
"e083",
"e085",
"e086",
"e087",
"e089",
"e090",
"e091",
"e092",
"e094",
"e096",
"e098",
"e100",
"e101",
"e102",
"e103",
"e104",
"e105",
"e106",
"e107",
"e108",
"e109",
"e110",
"e111",
"e112",
"e113",
"e114",
"e115",
"e116",
"e117",
"e118",
"e119",
"e120",
"e121",
"e122",
"e123",
"e124",
"e125",
"e126",
"e127",
"e128",
"e129",
"e130",
"e131",
"e132",
"e133",
"e135",
"e138",
"e139",
"e141",
"e142",
"e143",
"e144",
"e145",
"e146",
"e147",
"e148",
"e149",
"e150",
"e151",
"e152",
"e153",
"e155",
"e156",
"e159",
"e166",
"e167",
"e171",
"e175",
"e176",
"e178",
"w000",
"w001",
"w002",
"w003",
"w004",
"w005",
"w006",
"w007",
"w008",
"w009",
"w010",
"w015",
"w016",
"w017",
"w019",
"w021",
"w022",
"w023",
"w024",
"w025",
"w027",
"w028",
"w029",
"w031",
"w033",
"w034",
"w036",
"w037",
"w039",
"w040",
"w041",
"w043",
"w044",
"w045",
"w046",
"w047",
"w048",
"w049",
"w051",
"w052",
"w053",
"w054",
"w055",
"w056",
"w057",
"w058",
"w059",
"w060",
"w061",
"w062",
"w063",
"w064",
"w065",
"w066",
"w067",
"w068",
"w069",
"w070",
"w071",
"w072",
"w073",
"w074",
"w075",
"w076",
"w077",
"w078",
"w079",
"w080",
"w081",
"w082",
"w083",
"w084",
"w085",
"w086",
"w087",
"w088",
"w089",
"w090",
"w091",
"w092",
"w093",
"w094",
"w095",
"w096",
"w097",
"w098",
"w099",
"w100",
"w101",
"w102",
"w103",
"w104",
"w105",
"w106",
"w107",
"w109",
"w110",
"w111",
"w112",
"w113",
"w114",
"w115",
"w116",
"w117",
"w118",
"w119",
"w120",
"w121",
"w122",
"w123",
"w124",
"w125",
"w126",
"w128",
"w130",
"w132",
"w134",
"w136",
"w138",
"w139",
"w140",
"w141",
"w143",
"w144",
"w145",
"w146",
"w147",
"w148",
"w149",
"w150",
"w151",
"w152",
"w153",
"w154",
"w155",
"w156",
"w157",
"w158",
"w159",
"w160",
"w161",
"w165",
"w166",
"w168",
"w169",
"w170",
"w171",
"w173",
"w174",
"w175",
"w176",
"w177"
]
},
"sensorMode": {
"description": "{eo:sensorMode}",
"title": "Sensor mode",
"type": "string",
"enum": [
"MODE-1",
"MODE-2",
"MODE-3",
"MODE-4",
"MODE-5"
]
},
"illuminationElevationAngle": {
"description": "{eo:illuminationElevationAngle}",
"maximum": 180,
"title": "Illumination elevation angle",
"type": "number",
"minimum": 0
},
"productType": {
"description": "{eo:productType}",
"title": "Product type",
"type": "string",
"enum": [
"CHR_MO1_1P",
"CHR_MO2_1P",
"CHR_MO3_1P",
"CHR_MO4_1P",
"CHR_MO5_1P"
]
},
"classifiedAs": {
"format": "uri",
"description": "{semantic:classifiedAs}",
"title": "Classified as",
"type": "string"
},
"frame": {
"description": "{eo:frame}",
"title": "Frame",
"type": "string"
}
},
"$id": "https://fedeo.ceos.org/collections/PROBA.CHRIS.1A/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).
results = api.collection_search(
filter = "platform = 'Envisat' and ( instrument = 'MERIS' or instrument = 'MIPAS' ) and organisationName = 'ESA/ESRIN'"
)
curl -X GET -G https://fedeo.ceos.org/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 | ENVISAT.MIP.NL__1P | Envisat MIPAS L1 - Geo-located and calibrated ... |
1 | MER_FRS_1P | Envisat MERIS Full Resolution - Level 1 [MER_F... |
2 | MER.RR__2P | Envisat MERIS Reduced Resolution Geophysical P... |
3 | 11512 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
4 | 11511 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
5 | 11517 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
6 | 11514 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
7 | 10481 | ESA Land Cover Climate Change Initiative (Land... |
8 | 11508 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
9 | 11515 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
10 | 11516 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
11 | 11519 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
12 | 10452 | ESA Fire Climate Change Initiative (Fire_cci):... |
13 | MER_FRS_2P | Envisat MERIS Full Resolution - Level 2 [MER_F... |
14 | ENVISAT.MIP.NL__2P | Envisat MIPAS L2 - Temperature, pressure and a... |
15 | MER.RR__1P | Envisat MERIS Reduced Resolution - Level 1 [ME... |
16 | 11507 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
17 | 10644 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
18 | 11518 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
19 | 10645 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
20 | 10443 | GlobVapour TCWV. CLIMATE APPLICATIONS: Lindstr... |
21 | 10362 | ESA Fire Climate Change Initiative (Fire_cci):... |
22 | 11513 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
23 | 11520 | CLIMATE APPLICATIONS: Climate and carbon model... |
24 | 11509 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
25 | 11510 | CLIMATE APPLICATIONS: Marine ecosystem dynamic... |
26 | 11506 | ESA Ocean Colour CCI version 3.0. CLIMATE APPL... |
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://fedeo.ceos.org/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.")
