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://eocat.esa.int/eo-catalogue/'
Access landing page#
The landing page provides access to collections (rel=”data
”), child catalogs (rel=”child
”) and the STAC item search endpoint (rel=”search
”).
Get the catalogue landing page with links to other resources and available collections.
curl -X GET -G https://eocat.esa.int/eo-catalogue/
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
# show as a dictionary
api.to_dict()
{'type': 'Catalog',
'id': 'fedeo',
'stac_version': '1.0.0',
'description': 'ESA Catalog provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://eocat.esa.int/eo-catalogue/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/vnd.oai.openapi%2Bjson;version=3.0',
'type': 'application/vnd.oai.openapi+json;version=3.0',
'title': 'OpenAPI definition in JSON format'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/json;profile=http://explain.z3950.org/dtd/2.0/',
'type': 'application/json;profile="http://explain.z3950.org/dtd/2.0/"',
'title': 'Explain Document'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/sru%2Bxml',
'type': 'application/sru+xml',
'title': 'Explain Document'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://eocat.esa.int/eo-catalogue/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://eocat.esa.int/eo-catalogue/readme.html',
'type': 'text/html',
'title': 'API Documentation'},
{'rel': 'service-doc',
'href': 'https://eocat.esa.int/eo-catalogue/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'https://redocly.github.io/redoc/?url=https://eocat.esa.int/eo-catalogue/api&nocors',
'type': 'text/html',
'title': 'API documentation in ReDoc format'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://eocat.esa.int/eo-catalogue/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'alternate',
'href': 'https://eocat.esa.int/eo-catalogue?httpAccept=text/html',
'type': 'text/html',
'title': 'Landing Page in HTML media type.'},
{'rel': 'alternate',
'href': 'https://eocat.esa.int/eo-catalogue?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'Landing Page in JSON-LD media type.'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/series/eo:platform',
'type': 'application/json',
'title': 'platform'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics',
'type': 'application/json',
'title': 'Earth Topics'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/sciencekeyword',
'type': 'application/json',
'title': 'GCMD Science Keywords'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/series/eo:organisationName',
'type': 'application/json',
'title': 'organisation'},
{'rel': 'root',
'href': 'https://eocat.esa.int/eo-catalogue',
'type': 'application/json',
'title': 'ESA Catalog'}],
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'various',
'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': 'ESA Catalog'}
# 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 : ESA Catalog
Description : ESA Catalog provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata
Search link : <Link rel=search target=https://eocat.esa.int/eo-catalogue/search>
Child catalogs:
[<CollectionClient id=eo:platform>,
<CollectionClient id=5c476560-e0a3-554a-9187-187a90da1309>,
<CollectionClient id=c98c8eae-7561-55de-bf01-2fb866693c14>,
<CollectionClient id=738c519f-48db-5344-bebc-030c16781c22>,
<CollectionClient id=1eb0ea0a-312c-4d74-8d42-6f1ad758f999>,
<CollectionClient id=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="eo:platform"
1 - Earth Topic, id="5c476560-e0a3-554a-9187-187a90da1309"
2 - Instrument, id="c98c8eae-7561-55de-bf01-2fb866693c14"
3 - Platform, id="738c519f-48db-5344-bebc-030c16781c22"
4 - Science Keywords, id="1eb0ea0a-312c-4d74-8d42-6f1ad758f999"
5 - EO organisations, id="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.0.0',
'description': 'Earth Topic',
'links': [{'rel': 'root',
'href': 'https://eocat.esa.int/eo-catalogue',
'type': 'application/json',
'title': 'ESA Catalog'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/bbe13d71-bea9-55c2-9b65-a24043c35937',
'type': 'application/json',
'title': 'Agriculture [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/0d2133c5-b0bb-5ce2-b000-243ade6a65b8',
'type': 'application/json',
'title': 'Atmosphere [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/5ff2bf3e-a8da-5aa5-81d2-f801ae6454af',
'type': 'application/json',
'title': 'Biosphere [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/4ca68be3-d205-5dea-a292-6f0a7ab35595',
'type': 'application/json',
'title': 'Climate [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/e6a9631e-b7cf-5b3e-b414-1600379a72b3',
'type': 'application/json',
'title': 'Cryosphere [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/2a1c3522-f4a0-5d63-9d47-7af06a220302',
'type': 'application/json',
'title': 'Human Dimensions [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/e4d01e03-0ef5-5b4c-b40f-2b5f49667f53',
'type': 'application/json',
'title': 'Land Surface [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/8dc47b68-6cad-59ce-836f-7328372de417',
'type': 'application/json',
'title': 'Oceans [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/1589db19-32b2-5945-ad4b-6c3b13713176',
'type': 'application/json',
'title': 'Solid Earth [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/a59746f5-d93d-5637-b7fa-6e6220196104',
'type': 'application/json',
'title': 'Space Weather [Earth Topics]'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics/8111e456-a0ff-588f-9ab6-9ef66d8df94a',
'type': 'application/json',
'title': 'Terrestrial Hydrosphere [Earth Topics]'},
{'rel': 'self',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics',
'type': 'application/json'},
{'rel': 'parent',
'href': 'https://eocat.esa.int/eo-catalogue/',
'type': 'application/json',
'title': 'ESA Catalog'}],
'title': 'Earth Topic',
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'various',
'providers': [{'name': 'ESA Catalog',
'roles': ['host'],
'url': 'https://eocat.esa.int/eo-catalogue/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>]
# Display shortened version of the catalog/collection tree structure.
# print_catalog_as_tree( api, max_level=3, max_children=3 )
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://eocat.esa.int/eo-catalogue/collections'
# retrieve /collections response
response = requests.get(r[0].value)
data = json.loads(response.text)
jstr = json.dumps(data, indent=3)
md("```json\n" + jstr + "\n```\n")
{
"collections": [
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO series (a.k.a. EO collections).",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/series",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/series/items",
"type": "application/geo+json",
"title": "Series"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/series?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/series?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "Self as JSON-LD"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://eocat.esa.int/eo-catalogue/collections/series/queryables",
"type": "application/schema+json",
"title": "Queryables for series"
},
{
"rel": "describedBy",
"href": "http://schemas.opengis.net/eoc-geojson/1.0/eoc-geojson-schema.json",
"type": "application/schema+json",
"title": "JSON schema for items belonging to this collection"
}
],
"id": "series",
"title": "EO Series",
"type": "Collection"
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO datasets (a.k.a. EO products)",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/datasets",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/datasets/items",
"type": "application/geo+json",
"title": "Datasets"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/datasets?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/datasets?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "Self as JSON-LD"
},
{
"rel": "describedBy",
"href": "http://schemas.opengis.net/eo-geojson/1.0/eo-geojson-schema.json",
"type": "application/schema+json",
"title": "JSON schema for items belonging to this collection"
}
],
"id": "datasets",
"title": "EO Products",
"type": "Collection"
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
null,
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"itemType": "feature",
"description": "Metadata records representing EO services and applications",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/services",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/services/items",
"type": "application/geo+json",
"title": "Services and applications"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/services?httpAccept=text/html",
"type": "text/html",
"title": "Self as HTML"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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,
-82,
180,
82
]
]
},
"temporal": {
"interval": [
[
"1991-08-01T00:00:00.000Z",
"2011-07-04T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"sci:doi": "10.57780/ers-ee9aba7",
"keywords": [
"World",
"Natural Hazards and Disaster Risk",
"Atmosphere",
"Atmospheric Winds",
"Snow and Ice",
"Sea Ice",
"EARTH SCIENCE > HUMAN DIMENSIONS > NATURAL HAZARDS",
"EARTH SCIENCE > ATMOSPHERE",
"EARTH SCIENCE > ATMOSPHERE > ATMOSPHERIC WINDS",
"EARTH SCIENCE > CRYOSPHERE > SNOW/ICE",
"EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SNOW/ICE",
"EARTH SCIENCE > CRYOSPHERE > SEA ICE",
"EARTH SCIENCE > OCEANS > SEA ICE",
"Sun-synchronous",
"ASPS 10.04",
"782 to 785 km",
"5 km",
"Scatterometers",
"ERS-1",
"ERS-2",
"AMI/Scatterometer"
],
"description": "Surface soil moisture records are derived from the backscatter coefficient measured by the Scatterometer on-board the European Remote Sensing satellite (ERS-2) using the Technische Universit\u00e4t (TU) Wien soil moisture retrieval algorithm called WARP (WAter Retrieval Package).\r\rIn the WARP algorithm, the relative surface soil moisture estimates, given in degree of saturation Sd, range between 0% and 100% are derived by scaling the normalized backscatter between the lowest/highest backscatter values corresponding to the driest/wettest soil conditions.\r\rSurface Soil Moisture - Time Series product:\r\rThe products generated are the surface soil moisture time series, where for each grid point defined in a DGG (Discrete Global Grid) is stored the time series of soil moisture and its noise, the surface state flag, the geolocation and the satellite parameters.\r\rThe spatial resolution of the products is about 25 km x 25 km (high resolution) or 50 km x 50 km (nominal resolution) geo-referenced on the WARP grid. The location of the points can be viewed interactively with the tool _$$DGG Point Locator$$ https://dgg.geo.tuwien.ac.at/ .\r\rSurface Soil Moisture - Orbit product:\r\rIn addition to WARP, a second software package, referred to as WARP orbit, was developed in response to the strong demand of soil moisture estimates in satellite orbit geometry.\rThe Level 2 soil moisture orbit product contains a series of Level 1 data information, such as the backscatter, the incidence angle and the azimuth angle for each triplet together with the surface soil moisture and its noise, normalized backscatter at 40\u00b0 incidence angle, parameters useful for soil moisture, the geolocation and the satellite parameters. The soil moisture orbit product is available in two spatial resolutions with different spatial sampling distances:\r\rSpatial sampling on a regular 12.5 km grid in orbit geometry with a spatial resolution of about 25 km x 25 km (High resolution)\rSpatial sampling on a regular 25 km grid in orbit geometry with a spatial resolution of about 50 km x 50 km (Nominal resolution)\rThe spatial resolution is defined by the Hamming window function, which is used for re-sample of raw backscatter measurements to the orbit grid in the Level-1 ground processor.\r\rPlease consult the Product Quality _$$Readme$$ https://earth.esa.int/eogateway/documents/20142/37627/ERS_WS_Soil_Moisture_Readme-ESA-EOPG-EBA-TN-2_issue1.0.pdf file before using the ERS-2 Surface Soil Moisture data.",
"type": "Collection",
"title": "ERS-1/2 SCATTEROMETER Ocean Wind field and Sea Ice probability [ASPS20.H/ASPS20.N]",
"license": "various",
"assets": {
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "cite-as",
"href": "https://doi.org/10.57780/ers-ee9aba7",
"type": "text/html",
"title": "Landing page"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/instruments/ws/products-information",
"type": "text/html",
"title": "Documentation related to SCATTEROMETER data - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/web/sppa/mission-performance/esa-missions/ers-2/scatterometer/quality-control-reports",
"type": "text/html",
"title": "SCATTEROMETER Quality Information - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/search?skipDetection=true&text=&category=Document%20library&filter=ami-scatterometer",
"type": "text/html",
"title": "All SCATTEROMETER documents - Product Specifications"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?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://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ERS.ASPS20?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "ERS.ASPS20",
"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": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"AMI/Scatterometer",
"AMI/Scatterometer"
],
"platform": [
"ERS-1",
"ERS-2"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2002-05-14T00:00:00.000Z",
"2012-04-08T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"sci:doi": "10.5270/EN1-ajb696a",
"keywords": [
"World",
"Land Surface",
"Topography",
"Cryosphere",
"Snow and Ice",
"Oceans",
"Ocean Waves",
"Sea Surface Topography",
"Atmosphere",
"Atmospheric Winds",
"EARTH SCIENCE > LAND SURFACE",
"EARTH SCIENCE > LAND SURFACE > TOPOGRAPHY",
"EARTH SCIENCE > CRYOSPHERE",
"EARTH SCIENCE > CRYOSPHERE > SNOW/ICE",
"EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SNOW/ICE",
"EARTH SCIENCE > OCEANS",
"EARTH SCIENCE > OCEANS > OCEAN WAVES",
"EARTH SCIENCE > OCEANS > SEA SURFACE TOPOGRAPHY",
"EARTH SCIENCE > ATMOSPHERE",
"EARTH SCIENCE > ATMOSPHERE > ATMOSPHERIC WINDS",
"Sun-synchronous",
"800 km",
"5 - 1150 km",
"Radar Altimeters",
"Envisat",
"RA-2"
],
"description": "This is a RA-2 Geophysical Data Record (GDR) Full Mission Reprocessing (FMR) v3 product containing radar range and orbital altitude, wind speed, wave height, water vapour from the MWR and geophysical corrections. This FMR follows the first Envisat Altimetry reprocessing Version (V2.1) completed in 2012. The GDR and S-GDR data products were reprocessed for all cycles from 6 to 113 (May 2002 to April 2012) into a homogeneous standard in NetCDF format (close to Sentinel-3). For many aspects, the V3.0 reprocessed data are better than the previous dataset: - In terms of available and valid data, the coverage is better, notably thanks to a better availability of MWR data at the beginning of the mission - In terms of performance at cross-overs, the quality is improved: the annual signal and average of Mean SSH is decreased, as well as the standard deviation - The new MWR characteristics were shown to improve largely the global quality of data. As well as the new tide model, the new MSS and the new orbit standard - The Global and regional Mean Sea Level trend is very weakly impacted though the effort was put, this time, on the mesoscale restitution, rather than long term drift, as during V2.1 reprocessing Please consult the Envisat RA-2/MWR Product Quality Readme file pdf before using the data.",
"type": "Collection",
"title": "Envisat RA-2 Geophysical Data Record - GDR [RA2_GDR__2P]",
"license": "various",
"assets": {
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "cite-as",
"href": "https://doi.org/10.5270/EN1-ajb696a",
"type": "text/html",
"title": "Landing page"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/web/sppa/mission-performance/esa-missions/envisat/ra2/products-and-algorithms/products-information/aux",
"type": "text/html",
"title": "RA2-MWR Auxiliary Data - Auxiliary Data"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/instruments/ra2/products-information",
"type": "text/html",
"title": "Envisat RA-2 MWR Sensor Performance, Products and Algorithms - Product Information"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Envisat-RA-2-Level-2-Product-Handbook.pdf",
"type": "application/pdf",
"title": "RA-2 Product Handbook - User Manual"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Envisat-RA-2-product-specifications.pdf",
"type": "application/pdf",
"title": "RA-2 Product Specifications - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Envisat-RA-2-MWR-Level-2-Product-Readme-3.pdf",
"type": "application/pdf",
"title": "ReadMe file - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Error-Budget-Envisat-Altimetry-Mission.pdf",
"type": "application/pdf",
"title": "Envisat Altimetry Error Budget - Technical Note"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/search?text=&category=Tools%20and%20toolboxes&filter=ra2-mwr",
"type": "text/html",
"title": "RA-2 Software Tools - Tools"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.RA2.GDR_2P?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "ENVISAT.RA2.GDR_2P",
"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": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"RA-2"
],
"platform": [
"Envisat"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2005-06-01T00:00:00.000Z",
"2019-02-01T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"keywords": [
"World",
"pancromatic",
"DSM",
"IRS",
"ResourceSat",
"Indian Data",
"GAF",
"Mapping and Cartography",
"Topography",
"EARTH SCIENCE > LAND SURFACE > TOPOGRAPHY",
"VIS (0.40 - 0.75 \u00b5m)",
"Sun-synchronous",
"Very High Resolution - VHR (0 - 5m)",
"618 km",
"30km PAN-Fore; 27km PAN-Aft",
"Cameras",
"IRS-P5",
"PAN"
],
"description": "CartoSat-1 (also known as IRS-P5) archive products are available as PAN-Aft (backward), PAN-Fore (forward) and Stereo (PAN-Aft and PAN-Fore). - Sensor: PAN - Products: PAN-Aft (backward), PAN-Fore (forward), Stereo (PAN-Aft+PAN-Fore) - Type: Panchromatic - Resolution (m): 2.5 - Coverage (km x km): 27 x 27 - System or radiometrically corrected - Ortho corrected (DN) - Neustralitz archive: 2007 - 2016 - Global archive: 2005 - 2019 Note: - Resolution 2.5 m. - Coverage 27 km x 27 km. - System or radiometrically corrected. For Ortho corrected products: If unavailable, user has to supply ground control information and DEM in suitable quality, - For Stereo ortho corrected: only one of the datasets will be ortho corrected. Euro-Maps 3D is a homogeneous, 5 m spaced digital surface model (DSM) semi-automatically derived from 2.5 m in-flight stereo data provided by IRS-P5 CartoSat-1 and developed in cooperation with the German Aerospace Center, DLR. The very detailed and accurate representation of the surface is achieved by using a sophisticated and well adapted algorithm implemented on the basis of the Semi-Global Matching approach. In addition, the final product includes detailed flanking information consisting of several pixel-based quality and traceability layers also including an ortho layer. Product Overview: - Post spacing: 5m - Spatial reference system: DD, UTM or other projections on WGS84 - Height reference system: EGM96 - Absolute vertical accuracy: LE90 5-10 m - Absolute Horizontal Accuracy: CE90 5-10 m - Relative vertical accuracy: LE90 2.5 m - File format: GeoTIFF, 16 bit - Tiling: 0.5\u00b0 x 0.5\u00b0 - Ortho Layer Pixel Size: 2.5 m The CartoSat-1 products and Euro-Maps 3D are available as part of the GAF Imagery products from the Indian missions: IRS-1C, IRS-1D, CartoSat-1 (IRS-P5), ResourceSat-1 (IRS-P6) and ResourceSat-2 (IRS-R2) missions. \u2018Cartosat-1 archive\u2019 collection has worldwide coverage: for data acquired over Neustrelitz footprint, the users can browse the EOWEB GeoPortal catalogue (http://www.euromap.de/products/serv_003.html) to search archived products; worldwide data (out the Neustrelitz footprint) as well as Euro-Maps 3D DSM products can be requested by contacting GAF user support to check the readiness since no catalogue is available. All details about the data provision, data access conditions and quota assignment procedure are described into the Terms of Applicability available in Resources section.",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/0/CartoSat-1-Data-User-Handbook.pdf",
"type": "application/pdf",
"title": "CartoSat-1 data user handbook - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/1723482/cartosat-1-irs-p5-stereo-data-map-tm.jpg",
"title": "Euro-Maps 3D available data map - Map"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/EM3D-productdescription-v3.1.pdf",
"type": "application/pdf",
"title": "Euro-Maps 3D product description - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/GAF.EM3DPF-EM3D-product-format-v1.0-20200821.pdf",
"type": "application/pdf",
"title": "Euro-Maps 3D product format and naming conventions - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/0/Euro-Maps-Product-Format.pdf",
"type": "application/pdf",
"title": "Cartosat-1 L1 and L2 product format - Product Specifications"
},
{
"rel": "describedby",
"href": "http://euro-maps.gaf.de/products/serv_003.html",
"type": "text/html",
"title": "EOWEB GeoPortal Catalogue - Catalogue"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Indian-Data-Terms-Of-Applicability.pdf",
"type": "application/pdf",
"title": "Indian Data Terms of Applicability - Access guide"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?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://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "CartoSat-1.archive.and.Euro-Maps.3D.Digital.Surface.Model",
"type": "Collection",
"title": "CartoSat-1 archive and Euro-Maps 3D Digital Surface Model",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"PAN"
],
"platform": [
"IRS-P5"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
-50
]
]
},
"temporal": {
"interval": [
[
"2008-07-25T00:00:00.000Z",
"2010-03-31T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"sci:doi": "10.5270/AL1-b459f4e",
"keywords": [
"Antarctica",
"ScanSAR",
"JAXA",
"Solid Earth",
"Oceans",
"Snow and Ice",
"EARTH SCIENCE > SOLID EARTH",
"EARTH SCIENCE > OCEANS",
"EARTH SCIENCE > CRYOSPHERE > SNOW/ICE",
"EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SNOW/ICE",
"L-Band (19.4 - 76.9 cm)",
"Sun-synchronous",
"Medium Resolution - MR (20 - 500 m)",
"PSR_WB1_15",
"691.65 km",
"250 - 360 km",
"Imaging Radars",
"ALOS-1",
"PALSAR"
],
"description": "International Polar Year (IPY), focusing on the north and south polar regions, aimed to investigate the impact of how changes to the ice sheets affect ocean and climate change to the habitats in these regions. IPY was a collaborative project involving over sixty countries for two years from March 2007 to March 2009. To meet the project goal, world space agencies observed these regions intensively using their own Earth observation satellites. One of these satellites, ALOS - with the PALSAR (Phased Array type L-band Synthetic Aperture Radar) sensor - observed these regions independently from day-night conditions or weather conditions. Carrying on this initiative, ESA is providing the ALOS PALSAR IPY Antarctica dataset, which consists of full resolution ALOS PALSAR ScanSAR WB1 products (100m spatial resolution) over Antarctica from July 2008 (cycle 21) to December 2008 (Cycle 24) and from May 2009 (cycle 27) to March 2010 (cycle 31). Missing products between the two periods above is due to L0 data over Antarctica not being available in ADEN archives and not processed to L1. Spatial coverage: Check the spatial coverage of the collection on a _$$map$$ https://tpm-ds.eo.esa.int/smcat/ALOSIPY/ available on the Third Party Missions Dissemination Service.",
"type": "Collection",
"title": "ALOS PALSAR International Polar Year Antarctica",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https%3A%2F%2Feocat.esa.int/eo-catalogue%2Fapi%3FhttpAccept%3Dapplication%2Fopensearchdescription%2Bxml+uid=ALOSIPY",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series ALOSIPY"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY/queryables",
"type": "application/schema+json",
"title": "Queryables for ALOSIPY"
},
{
"rel": "cite-as",
"href": "https://doi.org/10.5270/AL1-b459f4e",
"type": "text/html",
"title": "Landing page"
},
{
"rel": "search",
"href": "https://eocat.esa.int/eo-catalogue/collections/series/items/ALOSIPY/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/ALOS-PALSAR-Product-Format-Description-Level-1-1.5.pdf",
"type": "application/pdf",
"title": "ALOS/PALSAR Level 1.1/1.5 product Format description - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/ALOS-user-handbook.pdf",
"type": "application/pdf",
"title": "ALOS User Handbook - Product Specifications"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?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://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ALOSIPY?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "ALOSIPY",
"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": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"PALSAR"
],
"platform": [
"ALOS-1"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2002-12-10T00:00:00.000Z",
"2012-04-08T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"keywords": [
"World",
"Oceans",
"Ocean Chemistry",
"Sea Surface Topography",
"Ocean Temperature",
"Ocean Waves",
"Coastal Processes",
"EARTH SCIENCE > OCEANS",
"EARTH SCIENCE > OCEANS > OCEAN CHEMISTRY",
"EARTH SCIENCE > OCEANS > SEA SURFACE TOPOGRAPHY",
"EARTH SCIENCE > OCEANS > OCEAN TEMPERATURE",
"EARTH SCIENCE > OCEANS > OCEAN WAVES",
"EARTH SCIENCE > OCEANS > MARINE ENVIRONMENT MONITORING > MARINE OBSTRUCTIONS",
"EARTH SCIENCE > LAND SURFACE > GEOMORPHIC LANDFORMS/PROCESSES > COASTAL PROCESSES",
"Sun-synchronous",
"800 km",
"5 - 1150 km",
"Imaging Radars",
"Envisat",
"ASAR"
],
"description": "This ASAR Wave product is extracted from the combined SLC and Cross Spectra product ASA_WVI_1P generated from data collected when the instrument was in Wave Mode using the Cross Spectra methodology. The product is meant for Meteo users. The spatial coverage is up to 20 spectra acquired every 100 km, with a minimum coverage of 5km x 5km. The file size has a maximum of 0.2 Mbytes. Auxiliary data include Orbit state vector, Time correlation parameters, Wave Processing parameters ADS, Wave Geolocation ADS, SQ ADS. This product provides a continuation of the ERS-SAR wave mode data. Output: Wavelength range from 20 to 1000 m in 24 logarithmic steps.",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/instruments/asar/auxiliary-data",
"type": "text/html",
"title": "ASAR auxiliary data - Auxiliary Data"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Envisat%20ASAR%20products%20specification",
"type": "application/pdf",
"title": "ASAR Products Specification - Revision C - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/instruments/asar/products-information",
"type": "text/html",
"title": "Envisat ASAR Sensor Performance, Products and Algorithms - Product Information"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/Envisat-ASAR-science-and-applications.pdf",
"type": "application/pdf",
"title": "Envisat ASAR Science and Applications - Technical Note"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/ASAR-Product-Handbook.pdf",
"type": "application/pdf",
"title": "ASAR Product Handbook - User Manual"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/search?text=&category=Document%20library&filter=asar",
"type": "text/html",
"title": "More ASAR Documents - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/search?skipDetection=true&text=&category=Tools%20and%20toolboxes&filter=asar",
"type": "text/html",
"title": "ASAR Software Tools - Tools"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?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://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/ENVISAT.ASA.WVS_1P?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "ENVISAT.ASA.WVS_1P",
"type": "Collection",
"title": "Envisat ASAR Wave Imagette Cross Spectra L1 [ASA_WVS_P]",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"ASAR"
],
"platform": [
"Envisat"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-33,
27,
47,
72
]
]
},
"temporal": {
"interval": [
[
"2019-11-12T00:00:00.000Z",
"2022-11-08T23:59:59.999Z"
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https%3A%2F%2Feocat.esa.int/eo-catalogue%2Fapi%3FhttpAccept%3Dapplication%2Fopensearchdescription%2Bxml+uid=Cartosat-1.Euro-Maps.3D",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"keywords": [
"Diseases and Pests",
"Invasive Species",
"EARTH SCIENCE > AGRICULTURE > AGRICULTURAL PLANT SCIENCE > PLANT DISEASES/DISORDERS/PESTS",
"EARTH SCIENCE > AGRICULTURE > AGRICULTURAL PLANT SCIENCE > WEEDS, NOXIOUS PLANTS OR INVASIVE PLANTS",
"VIS (0.40 - 0.75 \u00b5m)",
"Sun-synchronous",
"Very High Resolution - VHR (0 - 5 m)",
"PAN_PAM_3O",
"DSM_DEM_3D",
"618 km",
"27km",
"Cameras",
"IRS-P5",
"PAN"
],
"description": "A large number of European cities are covered by this dataset; for each city you can find one or more Cartosat-1 ortho image products and one or more Euro-Maps 3D DSM tiles clipped to the extent of the ortho coverage. The Euro-Maps 3D DSM data is a homogeneous, 5 m spaced Digital Surface Model semi-automatically derived from 2.5 m in-flight stereo data with a vertical accuracy of 10m. The very detailed and accurate representation of the surface is achieved by using a sophisticated and well adapted algorithm implemented on the basis of the Semi-Global Matching approach. The final product includes several pixel-based quality and traceability layers: \u2022\tThe dsm layer (dsm.tif) contains the elevation heights as a geocoded raster file \u2022\tThe source layer (src.tif) contains information about the data source for each height value/pixel \u2022\tThe number layer (num.tif) contains for each height value/pixel the number of IRS-P5 Cartosat-1 stereo pairs used for the generation of the DEM \u2022\tThe quality layer (qc.tif) is set to 1 for each height/pixel value derived from IRS-P5 Cartosat-1 data and which meets or exceeds the product specifications \u2022\tThe accuracy vertical layer (acv.tif) contains the absolute vertical accuracy for each quality controlled height value/pixel. The ortho image is a Panchromatic image at 2.5m resolution. The following table defines the offered product types EO-SIP product type\tDescription PAN_PAM_3O\tIRS-P5 Cartosat-1 ortho image DSM_DEM_3D\tIRS-P5 Cartosat-1 DSM ESA offers registered users the access to the Online Dissemination server to the following data collections * European Cities: Cartosat-1 Euro-Maps 3D [link to https://earth.esa.int/eogateway/catalog/cartosat-1-euro-maps-3d]",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series Cartosat-1.Euro-Maps.3D"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D/queryables",
"type": "application/schema+json",
"title": "Queryables for Cartosat-1.Euro-Maps.3D"
},
{
"rel": "search",
"href": "https://eocat.esa.int/eo-catalogue/collections/series/items/Cartosat-1.Euro-Maps.3D/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/EM3D-productdescription-v3.1.pdf",
"type": "application/pdf",
"title": "Euro-Maps 3D product description - Product Specifications"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?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://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/Cartosat-1.Euro-Maps.3D?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "Cartosat-1.Euro-Maps.3D",
"type": "Collection",
"title": "Cartosat-1 Euro-Maps 3D",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"PAN"
],
"platform": [
"IRS-P5"
]
}
},
{
"extent": {
"spatial": {
"bbox": [
[
-180,
-90,
180,
90
]
]
},
"temporal": {
"interval": [
[
"2010-06-01T00:00:00.000Z",
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https%3A%2F%2Feocat.esa.int/eo-catalogue%2Fapi%3FhttpAccept%3Dapplication%2Fopensearchdescription%2Bxml+uid=AUX_Dynamic_Open",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_iso_19139_2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"keywords": [
"World",
"Land Surface",
"Soils",
"Soil Moisture",
"Oceans",
"Salinity and Density",
"EARTH SCIENCE > LAND SURFACE",
"EARTH SCIENCE > AGRICULTURE > SOILS",
"EARTH SCIENCE > LAND SURFACE > SOILS",
"EARTH SCIENCE > AGRICULTURE > SOILS > SOIL MOISTURE/WATER CONTENT",
"EARTH SCIENCE > OCEANS",
"EARTH SCIENCE > OCEANS > SALINITY/DENSITY",
"Sun-synchronous",
"758 km",
"1000 km",
"Interferometric Radiometers",
"SMOS",
"MIRAS"
],
"description": "The Level 2 ECMWF SMOS Auxiliary data product, openly available to all users, contains ECMWF data on the ISEA 4-9 DGG corresponding to SMOS half-orbit. It is used by both the ocean salinity and soil moisture operational processors to store the geophysical parameters from ECMWF forecasts. Access to other SMOS Level 1 and Level 2 "dynamic" and "static" auxiliary datasets is restricted to Cal/Val users. The detailed content of the SMOS Auxiliary Data Files (ADF) is described in the Products Specification documents available in the Resources section below.",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open/items?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json",
"title": "Datasets search for the series AUX_Dynamic_Open"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open/queryables",
"type": "application/schema+json",
"title": "Queryables for AUX_Dynamic_Open"
},
{
"rel": "search",
"href": "https://eocat.esa.int/eo-catalogue/collections/series/items/AUX_Dynamic_Open/api",
"type": "application/opensearchdescription+xml",
"title": "OpenSearch Description Document"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/SMOS-L1-Aux-Data-Product-Specification.pdf",
"type": "application/pdf",
"title": "SMOS Level 1 and Auxiliary Data Products Specification - Product Specifications"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/0/SMOS-L2-Aux-Data-Product-Specification.pdf",
"type": "application/pdf",
"title": "SMOS Level 2 and Auxiliary Data Products Specification - Product Specifications"
},
{
"rel": "describedby",
"href": "https://esatellus.service-now.com/csp?id=esa_simple_request",
"type": "text/html",
"title": "Get Help? - ESA Earth Observation User Services Portal"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eoc-geojson/1.0\"",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?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://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/AUX_Dynamic_Open?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "AUX_Dynamic_Open",
"type": "Collection",
"title": "SMOS Auxiliary Data",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "https://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/readme.html"
}
],
"summaries": {
"instruments": [
"MIRAS"
],
"platform": [
"SMOS"
]
}
}
],
"numberReturned": 10,
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections",
"type": "application/json",
"title": "This document"
},
{
"rel": "next",
"href": "https://eocat.esa.int/eo-catalogue/collections?startRecord=11",
"type": "application/json",
"title": "Next results"
},
{
"rel": "http://www.opengis.net/def/rel/ogc/1.0/queryables",
"href": "https://eocat.esa.int/eo-catalogue/collections/queryables",
"type": "application/schema+json",
"title": "Queryables for collection search"
}
],
"numberMatched": 187
}
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://eocat.esa.int/eo-catalogue/collections/queryables'
# Get queryables response and list parameters alphabetically.
response = requests.get(r[0].value)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
/tmp/ipykernel_367/459174451.py:5: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
/tmp/ipykernel_367/459174451.py:6: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
key | type | format | |
---|---|---|---|
15 | classifiedAs | string | uri |
14 | doi | string | - |
3 | externalId | string | - |
4 | instrument | string | - |
9 | modificationDate | string | date-time |
12 | offering | string | - |
8 | organisationName | string | - |
6 | otherConstraint | string | - |
2 | parentIdentifier | string | - |
7 | platform | string | - |
10 | processingLevel | string | - |
13 | publisher | string | - |
1 | query | string | - |
0 | subject | string | - |
5 | title | string | - |
11 | 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://eocat.esa.int/eo-catalogue/'
from pystac_client import Client, ConformanceClasses
api = Client.open(URL_LANDING_PAGE)
api._conforms_to(ConformanceClasses.COLLECTIONS)
False
for collection in api.get_collections():
print(collection)
<CollectionClient id=eo:platform>
<CollectionClient id=5c476560-e0a3-554a-9187-187a90da1309>
<CollectionClient id=c98c8eae-7561-55de-bf01-2fb866693c14>
<CollectionClient id=738c519f-48db-5344-bebc-030c16781c22>
<CollectionClient id=1eb0ea0a-312c-4d74-8d42-6f1ad758f999>
<CollectionClient id=eo:organisationName>
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://eocat.esa.int/eo-catalogue/collections
Search by free text#
Example: 1.1
Search collections by platform (
filter
andquery
).
value = 'Seasat'
params = { 'filter': "query='" + value + "'"}
URL = f'{URL_LANDING_PAGE}collections?{urllib.parse.urlencode(params)}'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=query='Seasat'"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'keywords']]
id | keywords | |
---|---|---|
0 | SeaSat.ESA.archive | [Europe, NASA, Oceans, Ocean Circulation, Ocea... |
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'
params = { 'filter': "title='" + value + "'"}
URL = f'{URL_LANDING_PAGE}collections?{urllib.parse.urlencode(params)}'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=title='ALOS PALSAR products'"
response = requests.get(URL)
data = json.loads(response.text)
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
).
URL = URL_LANDING_PAGE + "collections"+ "?filter=platform='PROBA-1'"
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=platform='PROBA-1'"
response = requests.get(URL)
data = json.loads(response.text)
for f in data['collections']:
# use stac_client representation for collection
c = Collection.from_dict(f)
print(c.title)
Proba HRC
Proba CHRIS Level 1A
df = pd.json_normalize(data, record_path=['collections'])
df[['title', 'summaries.platform']]
title | summaries.platform | |
---|---|---|
0 | Proba HRC | [PROBA-1] |
1 | Proba CHRIS Level 1A | [PROBA-1] |
Search by organisation#
Example: 1.4
Search collections by organisation (
filter
).
URL = URL_LANDING_PAGE + "collections"+ "?filter=organisationName='ESA/ESRIN'"
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=organisationName='ESA/ESRIN'"
df = pd.json_normalize(data, record_path=['collections'])
df[['title', 'providers']]
title | providers | |
---|---|---|
0 | ERS-1/2 SCATTEROMETER Ocean Wind field and Sea... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
1 | Envisat RA-2 Geophysical Data Record - GDR [RA... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
2 | CartoSat-1 archive and Euro-Maps 3D Digital Su... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
3 | ALOS PALSAR International Polar Year Antarctica | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
4 | Envisat ASAR Wave Imagette Cross Spectra L1 [A... | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
5 | Cartosat-1 Euro-Maps 3D | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
6 | SMOS Auxiliary Data | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
7 | ALOS PRISM L1C European Coverage Cloud Free | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
8 | Biomass Level 2A | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
9 | GOCE Global Gravity Field Models and Grids | [{'roles': ['producer'], 'name': 'ESA/ESRIN', ... |
Search by bounding box#
Example: 1.5
Search collections by bounding box (
bbox
).
URL = URL_LANDING_PAGE + "collections"+ "?bbox=14.90,37.700,14.99,37.780"
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "bbox=14.90,37.700,14.99,37.780"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.spatial.bbox']]
id | extent.spatial.bbox | |
---|---|---|
0 | ERS.ASPS20 | [[-180, -82, 180, 82]] |
1 | ENVISAT.RA2.GDR_2P | [[-180, -90, 180, 90]] |
2 | CartoSat-1.archive.and.Euro-Maps.3D.Digital.Su... | [[-180, -90, 180, 90]] |
3 | ENVISAT.ASA.WVS_1P | [[-180, -90, 180, 90]] |
4 | Cartosat-1.Euro-Maps.3D | [[-33, 27, 47, 72]] |
5 | AUX_Dynamic_Open | [[-180, -90, 180, 90]] |
6 | alos.prism.l1c.european.coverage.cloud.free | [[-25, 35, 45, 75]] |
7 | BiomassLevel2A | [[-180, -90, 180, 90]] |
8 | GOCE_Global_Gravity_Field_Models_and_Grids | [[-180, -90, 180, 90]] |
9 | GEOSAT-1.and.2.ESA.archive | [[-180, -90, 180, 90]] |
Search by temporal extent#
Example: 1.6
Search collections by temporal extent (
datetime
with closed range).
URL = URL_LANDING_PAGE + "collections"+ "?datetime=" + '2002-01-01T00:00:00.000Z/2003-12-31T23:59:59.999Z'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "datetime=2002-01-01T00:00:00.000Z/2003-12-31T23:59:59.999Z"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
id | extent.temporal.interval | |
---|---|---|
0 | ERS.ASPS20 | [[1991-08-01T00:00:00.000Z, 2011-07-04T23:59:5... |
1 | ENVISAT.RA2.GDR_2P | [[2002-05-14T00:00:00.000Z, 2012-04-08T23:59:5... |
2 | ENVISAT.ASA.WVS_1P | [[2002-12-10T00:00:00.000Z, 2012-04-08T23:59:5... |
3 | ERS.UPA-L2P-L3U | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
4 | ERS.AT_MET_2P | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
5 | ERS.ATS_AVG_3PAARC | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
6 | MER_FRS_1P | [[2002-05-17T00:00:00.000Z, 2012-04-08T23:59:5... |
7 | NOAA_AVHRR_L1B_LAC | [[1981-01-01T00:00:00.000Z, 2020-12-31T23:59:5... |
8 | MER.RR__2P | [[2002-04-29T00:00:00.000Z, 2012-04-08T23:59:5... |
9 | ODIN.SMR | [[2001-02-01T00:00:00.000Z, None]] |
Example: 1.7
Search collections by temporal extent (
datetime
with open range).
URL = URL_LANDING_PAGE + "collections"+ "?datetime=" + '../2001-12-31T23:59:59.999Z'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "datetime=../2001-12-31T23:59:59.999Z"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
id | extent.temporal.interval | |
---|---|---|
0 | ERS.ASPS20 | [[1991-08-01T00:00:00.000Z, 2011-07-04T23:59:5... |
1 | ERS.UPA-L2P-L3U | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
2 | ESA_System_corrected_Level_1_MOS_1_1B_VTIR_pro... | [[1987-09-08T00:00:00.000Z, 1993-08-20T23:59:5... |
3 | ERS.AT_MET_2P | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
4 | ERS.ATS_AVG_3PAARC | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
5 | NOAA_AVHRR_L1B_LAC | [[1981-01-01T00:00:00.000Z, 2020-12-31T23:59:5... |
6 | JERS-1.SAR.PRI | [[1992-07-13T00:00:00.000Z, 1998-10-08T23:59:5... |
7 | ODIN.SMR | [[2001-02-01T00:00:00.000Z, None]] |
8 | SeaSat.ESA.archive | [[1978-07-13T00:00:00.000Z, 1978-10-10T23:59:5... |
9 | ERS_ALT_2M | [[1991-08-03T00:00:00.000Z, 2003-07-02T23:59:5... |
Example: 1.8
Search collections by temporal extent (
datetime
with single date).
URL = URL_LANDING_PAGE + "collections"+ "?datetime=" + '2002-12-31T23:59:59.999Z'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "datetime=2002-12-31T23:59:59.999Z"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'extent.temporal.interval']]
id | extent.temporal.interval | |
---|---|---|
0 | ERS.ASPS20 | [[1991-08-01T00:00:00.000Z, 2011-07-04T23:59:5... |
1 | ENVISAT.RA2.GDR_2P | [[2002-05-14T00:00:00.000Z, 2012-04-08T23:59:5... |
2 | ENVISAT.ASA.WVS_1P | [[2002-12-10T00:00:00.000Z, 2012-04-08T23:59:5... |
3 | ERS.UPA-L2P-L3U | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
4 | ERS.AT_MET_2P | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
5 | ERS.ATS_AVG_3PAARC | [[1991-08-01T00:00:00.000Z, 2003-06-22T23:59:5... |
6 | MER_FRS_1P | [[2002-05-17T00:00:00.000Z, 2012-04-08T23:59:5... |
7 | NOAA_AVHRR_L1B_LAC | [[1981-01-01T00:00:00.000Z, 2020-12-31T23:59:5... |
8 | MER.RR__2P | [[2002-04-29T00:00:00.000Z, 2012-04-08T23:59:5... |
9 | ODIN.SMR | [[2001-02-01T00:00:00.000Z, None]] |
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://eocat.esa.int/eo-catalogue/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, None]] |
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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A. This corresponds to one of the many representations available at https://eocat.esa.int/eo-catalogue/collections/series/items/PROBA.CHRIS.1A using content-negotiation.
URL = URL_LANDING_PAGE + 'collections/' + COLLECTION_ID1
curl -X GET -G https://eocat.esa.int/eo-catalogue/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 |
license | various |
assets | {'search': {'roles': ['search'], 'href': 'http... |
keywords | [World, hyperspectral, Spectrometer, Forestry,... |
description | CHRIS acquires a set of up to five images of e... |
links | [{'rel': 'self', 'href': 'https://kbs.spacebel... |
id | PROBA.CHRIS.1A |
type | Collection |
title | Proba CHRIS Level 1A |
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",
null
]
]
}
},
"stac_version": "1.0.0",
"license": "various",
"assets": {
"search": {
"roles": [
"search"
],
"href": "https://fedeo-client.ceos.org?url=https://eocat.esa.int/eo-catalogue/api?httpAccept=application/opensearchdescription%252Bxml&uid=PROBA.CHRIS.1A",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"keywords": [
"World",
"hyperspectral",
"Spectrometer",
"Forestry",
"Vegetation",
"Surface Water",
"Oceans",
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS > FORESTS",
"EARTH SCIENCE > BIOSPHERE > VEGETATION",
"EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SURFACE WATER",
"EARTH SCIENCE > 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",
"PROBA-1",
"CHRIS"
],
"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/",
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/queryables",
"type": "application/schema+json",
"title": "Queryables for PROBA.CHRIS.1A"
},
{
"rel": "search",
"href": "https://eocat.esa.int/eo-catalogue/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": "http://www.chrisimages.org/JPG%20Archive/",
"type": "text/html",
"title": "Latest quicklooks - Catalogue"
},
{
"rel": "describedby",
"href": "https://earth.esa.int/eogateway/documents/20142/37627/PROBA-CHRIS-request-for-acquisitions.xls",
"type": "text/html",
"title": "Proba-1 CHRIS acquisition Plan - Data Access information"
},
{
"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/documents/20142/37627/Guidelines-for-the-submission-of-project-proposals.pdf",
"type": "application/pdf",
"title": "Guidelines for the submission of Project Proposal - Data Access Information"
},
{
"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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/json",
"type": "application/json",
"title": "STAC metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "PROBA.CHRIS.1A",
"type": "Collection",
"title": "Proba CHRIS Level 1A",
"providers": [
{
"roles": [
"producer"
],
"name": "ESA/ESRIN",
"url": "http://www.esa.int"
},
{
"roles": [
"host"
],
"name": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/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'
params = { 'filter': "doi = '" + value + "'"}
URL = f'{URL_LANDING_PAGE}collections?{urllib.parse.urlencode(params)}'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=doi = '10.5270/esa-qoe849q'"
response = requests.get(URL)
data = json.loads(response.text)
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'
URL = URL_LANDING_PAGE + "collections"+ "?filter=classifiedAs='" + concept_uri + "'"
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=classifiedAs='https://earth.esa.int/concept/b3979ff2-d27d-5f22-9e06-a18c5759d9a5'"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
id | title | |
---|---|---|
0 | PROBA.HRC.1A | Proba HRC |
1 | PROBA.CHRIS.1A | Proba CHRIS Level 1A |
# 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
URL = URL_LANDING_PAGE + "collections"+ "?filter=classifiedAs='" + concept_uri + "'"
curl_str = curl_command(URL)
md("```shell\n" + curl_str + "\n```\n")
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=classifiedAs='https://gcmd.earthdata.nasa.gov/kms/concept/fe4a4604-029e-4cdc-93f0-6d8799dd25e5'"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
id | title | |
---|---|---|
0 | PROBA.HRC.1A | Proba HRC |
1 | PROBA.CHRIS.1A | Proba CHRIS Level 1A |
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>17.7</gcmd:keywordVersion> <gcmd:schemeVersion>2024-01-12 10:14:59</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://eocat.esa.int/eo-catalogue/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": [
"South East Asia",
"South America",
"Multi-mission collection",
"JRC",
"Food and Agriculture Organization (FAO)",
"Agriculture",
"Forestry",
"Land Surface",
"Vegetation",
"EARTH SCIENCE > AGRICULTURE",
"EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS > FORESTS",
"EARTH SCIENCE > LAND SURFACE",
"EARTH SCIENCE > BIOSPHERE > 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",
"KOMPSAT-2",
"AVNIR-2",
"SLIM6",
"MSC"
],
"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",
"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://eocat.esa.int/eo-catalogue/api?httpAccept=application/opensearchdescription%252Bxml&uid=TropForest",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest",
"type": "application/json"
},
{
"rel": "root",
"href": "https://eocat.esa.int/eo-catalogue",
"type": "application/json",
"title": "ESA Catalog"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue",
"title": "collections",
"type": "application/json"
},
{
"rel": "items",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest/queryables",
"type": "application/schema+json",
"title": "Queryables for TropForest"
},
{
"rel": "search",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/vnd.iso.19139-2%2Bxml",
"type": "application/vnd.iso.19139-2+xml",
"title": "ISO 19139-2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/vnd.iso.19115-3%2Bxml",
"type": "application/vnd.iso.19115-3+xml",
"title": "ISO 19115-3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/dif10%2Bxml",
"type": "application/dif10+xml",
"title": "DIF-10 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/xml",
"type": "application/xml",
"title": "Dublin Core metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/json",
"type": "application/json",
"title": "STAC metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/TropForest?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
},
{
"rel": "cite-as",
"href": "https://doi.org/10.5270/esa-qoe849q",
"type": "text/html",
"title": "Landing page"
}
],
"id": "TropForest",
"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": "ESA Catalog",
"url": "https://eocat.esa.int/eo-catalogue/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 : ['South East Asia', 'South America', 'Multi-mission collection', 'JRC', 'Food and Agriculture Organization (FAO)', 'Agriculture', 'Forestry', 'Land Surface', 'Vegetation', 'EARTH SCIENCE > AGRICULTURE', 'EARTH SCIENCE > BIOSPHERE > ECOSYSTEMS > TERRESTRIAL ECOSYSTEMS > FORESTS', 'EARTH SCIENCE > LAND SURFACE', 'EARTH SCIENCE > BIOSPHERE > 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', 'KOMPSAT-2', 'AVNIR-2', 'SLIM6', 'MSC']
spatial extent : <pystac.collection.SpatialExtent object at 0x7f20cf0b7590>
temporal extent : <pystac.collection.TemporalExtent object at 0x7f20cf05a710>
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://eocat.esa.int/eo-catalogue/api?httpAccept=application/opensearchdescription%252Bxml&uid=PROBA.CHRIS.1A",
"type": "text/html",
"title": "Search client"
},
"metadata_ogc_17_069r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_iso_19139": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/dif10%2Bxml",
"title": "DIF-10 metadata",
"type": "application/dif10+xml"
},
"metadata_iso_19115_3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=application/vnd.iso.19115-3%2Bxml",
"title": "ISO 19115-3 metadata",
"type": "application/vnd.iso.19115-3+xml"
},
"metadata_ogc_17_084r1": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
}
# 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 | metadata | OGC 17-069r3 metadata | application/geo+json;profile="http://www.openg... |
2 | metadata | ISO 19139 metadata | application/vnd.iso.19139+xml |
3 | metadata | ISO 19139-2 metadata | application/vnd.iso.19139-2+xml |
4 | metadata | DIF-10 metadata | application/dif10+xml |
5 | metadata | ISO 19115-3 metadata | application/vnd.iso.19115-3+xml |
6 | metadata | OGC 17-084r1 metadata | application/geo+json;profile="http://www.openg... |
7 | metadata | HTML | text/html |
Collection links#
Collections provide access to additional resources via links
. The rel
attribute indicates the purpose of the resource. The href
attribute provides the URL to access the resource. Collection assets may include thumbnail
(when available), search
interfaces, and various metadata
formats.
# Display links belonging to the collection
links = c.links
df = pd.DataFrame(columns=['rel', 'title', 'type'])
for link in links:
ndf = pd.DataFrame({ 'rel': link.rel,'type': link.media_type, 'title': link.title }, index = [0])
df = pd.concat([df, ndf], ignore_index=True)
df
rel | title | type | |
---|---|---|---|
0 | self | None | application/json |
1 | root | ESA Catalog | application/json |
2 | parent | collections | application/json |
3 | items | Datasets search for the series PROBA.CHRIS.1A | application/geo+json |
4 | http://www.opengis.net/def/rel/ogc/1.0/queryables | Queryables for PROBA.CHRIS.1A | application/schema+json |
5 | search | OpenSearch Description Document | application/opensearchdescription+xml |
6 | describedby | CHRIS Data Format - Product Specifications | application/pdf |
7 | describedby | Latest quicklooks - Catalogue | text/html |
8 | describedby | Proba-1 CHRIS acquisition Plan - Data Access ... | text/html |
9 | describedby | Note on CHRIS Acquisition Procedure and Image ... | application/pdf |
10 | describedby | Guidelines for the submission of Project Propo... | application/pdf |
11 | describedby | Get Help? - ESA Earth Observation User Service... | text/html |
12 | alternate | Atom format | application/atom+xml |
13 | alternate | OGC 17-069r3 metadata | application/geo+json;profile="http://www.openg... |
14 | alternate | ISO 19139 metadata | application/vnd.iso.19139+xml |
15 | alternate | ISO 19139-2 metadata | application/vnd.iso.19139-2+xml |
16 | alternate | ISO 19115-3 metadata | application/vnd.iso.19115-3+xml |
17 | alternate | DIF-10 metadata | application/dif10+xml |
18 | alternate | Dublin Core metadata | application/xml |
19 | alternate | STAC metadata | application/json |
20 | alternate | JSON-LD metadata | application/ld+json |
21 | alternate | JSON-LD (schema.org) metadata | application/ld+json;profile="https://schema.org" |
22 | alternate | JSON-LD (GeoDCAT-AP) metadata | application/ld+json;profile="http://data.europ... |
23 | alternate | RDF/XML metadata | application/rdf+xml |
24 | alternate | RDF/XML (schema.org) metadata | application/rdf+xml;profile="https://schema.org" |
25 | alternate | RDF/XML (GeoDCAT-AP) metadata | application/rdf+xml;profile="http://data.europ... |
26 | alternate | Turtle metadata | text/turtle |
27 | alternate | Turtle (schema.org) metadata | text/turtle;profile="https://schema.org" |
28 | alternate | Turtle (GeoDCAT-AP) metadata | text/turtle;profile="http://data.europa.eu/930/" |
29 | alternate | HTML | text/html |
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://eocat.esa.int/eo-catalogue/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[1]['type'], axis = 1)
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
/tmp/ipykernel_367/1206888800.py:4: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
/tmp/ipykernel_367/1206888800.py:5: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
key | type | format | |
---|---|---|---|
0 | acquisitionType | string | - |
2 | externalId | string | - |
14 | frame | string | - |
1 | illuminationAzimuthAngle | number | - |
12 | illuminationElevationAngle | number | - |
3 | instrument | string | - |
9 | offering | string | - |
5 | orbitNumber | integer | - |
4 | platform | string | - |
6 | platformSerialIdentifier | string | - |
13 | productType | string | - |
8 | productionStatus | string | - |
7 | q | string | - |
11 | sensorMode | string | - |
10 | 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.0.0',
'description': 'ESA Catalog provides interoperable access, following ISO/OGC interface guidelines, to Earth Observation metadata',
'links': [{'rel': 'self',
'href': 'https://eocat.esa.int/eo-catalogue/',
'type': 'application/json'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/opensearchdescription%2Bxml',
'type': 'application/opensearchdescription+xml',
'title': 'OpenSearch Description Document'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/vnd.oai.openapi%2Bjson;version=3.0',
'type': 'application/vnd.oai.openapi+json;version=3.0',
'title': 'OpenAPI definition in JSON format'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/json;profile=http://explain.z3950.org/dtd/2.0/',
'type': 'application/json;profile="http://explain.z3950.org/dtd/2.0/"',
'title': 'Explain Document'},
{'rel': 'service-desc',
'href': 'https://eocat.esa.int/eo-catalogue/api?httpAccept=application/sru%2Bxml',
'type': 'application/sru+xml',
'title': 'Explain Document'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/ld+json',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'application/rdf+xml',
'title': 'Metadata about the feature collections'},
{'rel': 'data',
'href': 'https://eocat.esa.int/eo-catalogue/collections',
'type': 'text/turtle',
'title': 'Metadata about the feature collections'},
{'rel': 'conformance',
'href': 'https://eocat.esa.int/eo-catalogue/conformance',
'type': 'application/json',
'title': 'OGC conformance classes implemented by this API'},
{'rel': 'service-doc',
'href': 'https://eocat.esa.int/eo-catalogue/readme.html',
'type': 'text/html',
'title': 'API Documentation'},
{'rel': 'service-doc',
'href': 'https://eocat.esa.int/eo-catalogue/index.html',
'type': 'text/html',
'title': 'API Documentation (Jupyter)'},
{'rel': 'service-doc',
'href': 'https://redocly.github.io/redoc/?url=https://eocat.esa.int/eo-catalogue/api&nocors',
'type': 'text/html',
'title': 'API documentation in ReDoc format'},
{'rel': 'service-doc',
'href': 'http://petstore.swagger.io/?url=https://eocat.esa.int/eo-catalogue/api',
'type': 'text/html',
'title': 'API documentation in Swagger.io format'},
{'rel': 'alternate',
'href': 'https://eocat.esa.int/eo-catalogue?httpAccept=text/html',
'type': 'text/html',
'title': 'Landing Page in HTML media type.'},
{'rel': 'alternate',
'href': 'https://eocat.esa.int/eo-catalogue?httpAccept=application/ld%2Bjson',
'type': 'application/ld+json',
'title': 'Landing Page in JSON-LD media type.'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'GET'},
{'rel': 'search',
'href': 'https://eocat.esa.int/eo-catalogue/search',
'type': 'application/geo+json',
'title': 'STAC Search',
'method': 'POST'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/series/eo:platform',
'type': 'application/json',
'title': 'platform'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/earthtopics',
'type': 'application/json',
'title': 'Earth Topics'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/instruments',
'type': 'application/json',
'title': 'ESA Instruments'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/platforms',
'type': 'application/json',
'title': 'ESA Platforms'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/concepts/sciencekeyword',
'type': 'application/json',
'title': 'GCMD Science Keywords'},
{'rel': 'child',
'href': 'https://eocat.esa.int/eo-catalogue/series/eo:organisationName',
'type': 'application/json',
'title': 'organisation'},
{'rel': 'root',
'href': 'https://eocat.esa.int/eo-catalogue',
'type': 'application/json',
'title': 'ESA Catalog'}],
'extent': {'spatial': {'bbox': [[-180, -90, 180, 90]]},
'temporal': {'interval': [[None, None]]}},
'license': 'various',
'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': 'ESA Catalog'}
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://eocat.esa.int/eo-catalogue/search>
Search by geometry#
Collections support granule search with the intersects
[RD11] search parameter.
Example: 2.1
Search granules by geometry {intersects} [RD11] and
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),
intersects = aoi_as_dict,
datetime=['2015-01-01T00:00:00Z', '2022-01-02T00:00:00Z']
)
curl -X GET -G https://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=2" \
--data-urlencode "datetime=2015-01-01T00:00:00Z/2022-01-02T00:00:00Z" \
--data-urlencode "collections=PROBA.CHRIS.1A" \
--data-urlencode "intersects={"type": "Polygon", "coordinates": [[[14.9, 37.7], [14.9, 37.78], [14.99, 37.78], [14.99, 37.7], [14.9, 37.7]]]}"
The total number of results available is reported in the numberMatched
property.
9 items found.
# Show search response (GeoJSON)
data = results.get_all_items_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/browse/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
},
"metadata_ogc_10_157r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/gml%2Bxml&recordSchema=om10",
"title": "OGC 10-157r3 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.0\""
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001.SIP.ZIP",
"type": "application/x-binary",
"title": "Download"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"bbox": [
14.89,
37.66,
15.09,
37.84
],
"geometry": {
"coordinates": [
[
[
15.06,
37.66
],
[
14.89,
37.7
],
[
14.94,
37.84
],
[
15.09,
37.82
],
[
15.06,
37.66
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "enclosure",
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001.SIP.ZIP",
"type": "application/x-binary",
"title": "Download"
},
{
"rel": "icon",
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/browse/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
},
{
"rel": "icon",
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/thumbnail/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001.SIP.ZIP_TIMG.jpg",
"type": "image/jpeg",
"title": "THUMBNAIL"
},
{
"rel": "up",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?mode=owc",
"type": "application/geo+json",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/gml%2Bxml&recordSchema=om",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.1\"",
"title": "OGC 10-157r4 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/gml%2Bxml&recordSchema=om10",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.0\"",
"title": "OGC 10-157r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eo-geojson/1.0\"",
"title": "OGC 17-003r2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001",
"collection": "PROBA.CHRIS.1A",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/sar/v1.0.0/schema.json",
"https://stac-extensions.github.io/projection/v1.1.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json"
],
"properties": {
"start_datetime": "2015-12-09T14:44:00Z",
"end_datetime": "2015-12-09T14:48:00Z",
"view:sun_azimuth": 80.35413856417087,
"title": "PR1_OPER_CHR_MO2_1P_20151209T144400_N37-075_E015-015_0001",
"platform": "PROBA",
"proj:epsg": 4326,
"view:sun_elevation": 81.534,
"datetime": "2015-12-09T14:44:00Z",
"sar:instrument_mode": "MODE-2",
"instruments": [
"CHRIS"
],
"constellation": "PROBA",
"sar:product_type": "CHR_MO2_1P",
"updated": "2023-08-25T14:56:19Z",
"sat:absolute_orbit": 0
}
},
{
"stac_version": "1.0.0",
"assets": {
"thumbnail": {
"roles": [
"thumbnail"
],
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/browse/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
},
"metadata_ogc_10_157r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/gml%2Bxml&recordSchema=om10",
"title": "OGC 10-157r3 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.0\""
},
"enclosure": {
"roles": [
"data"
],
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001.SIP.ZIP",
"type": "application/x-binary",
"title": "Download"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
},
"bbox": [
14.94,
37.69,
15.09,
37.79
],
"geometry": {
"coordinates": [
[
[
15.08,
37.71
],
[
15.09,
37.77
],
[
14.94,
37.79
],
[
14.96,
37.69
],
[
15.08,
37.71
]
]
],
"type": "Polygon"
},
"links": [
{
"rel": "self",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/geo%2Bjson;profile=https://stacspec.org",
"type": "application/geo+json;profile=\"https://stacspec.org\""
},
{
"rel": "collection",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "parent",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A",
"type": "application/json",
"title": "PROBA.CHRIS.1A"
},
{
"rel": "enclosure",
"href": "https://tpm-ds.eo.esa.int/oads/data/PROBA1-CHRIS/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001.SIP.ZIP",
"type": "application/x-binary",
"title": "Download"
},
{
"rel": "icon",
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/browse/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
},
{
"rel": "icon",
"href": "http://tpm-ds.eo.esa.int/oads/meta/PROBA1-CHRIS/thumbnail/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001.SIP.ZIP_TIMG.jpg",
"type": "image/jpeg",
"title": "THUMBNAIL"
},
{
"rel": "up",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A?mode=owc",
"type": "application/geo+json",
"title": "OGC 17-084r1 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/atom%2Bxml",
"type": "application/atom+xml",
"title": "Atom format"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/gml%2Bxml&recordSchema=om",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.1\"",
"title": "OGC 10-157r4 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/gml%2Bxml&recordSchema=om10",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.0\"",
"title": "OGC 10-157r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?mode=owc",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/eo-geojson/1.0\"",
"title": "OGC 17-003r2 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/vnd.iso.19139%2Bxml",
"type": "application/vnd.iso.19139+xml",
"title": "ISO 19139 metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/ld%2Bjson",
"type": "application/ld+json",
"title": "JSON-LD metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=application/rdf%2Bxml",
"type": "application/rdf+xml",
"title": "RDF/XML metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=text/turtle",
"type": "text/turtle",
"title": "Turtle metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=text/turtle;profile=https://schema.org",
"type": "text/turtle;profile=\"https://schema.org\"",
"title": "Turtle (schema.org) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=text/turtle;profile=http://data.europa.eu/930/",
"type": "text/turtle;profile=\"http://data.europa.eu/930/\"",
"title": "Turtle (GeoDCAT-AP) metadata"
},
{
"rel": "alternate",
"href": "https://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/items/PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001?httpAccept=text/html",
"type": "text/html",
"title": "HTML"
}
],
"id": "PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001",
"collection": "PROBA.CHRIS.1A",
"type": "Feature",
"stac_extensions": [
"https://stac-extensions.github.io/sar/v1.0.0/schema.json",
"https://stac-extensions.github.io/projection/v1.1.0/schema.json",
"https://stac-extensions.github.io/sat/v1.0.0/schema.json",
"https://stac-extensions.github.io/view/v1.0.0/schema.json"
],
"properties": {
"start_datetime": "2018-07-05T13:21:00Z",
"end_datetime": "2018-07-05T13:25:00Z",
"view:sun_azimuth": 4.367066318451953,
"title": "PR1_OPER_CHR_MO1_1P_20180705T132100_N37-075_E015-001_0001",
"platform": "PROBA",
"proj:epsg": 4326,
"view:sun_elevation": 32.987,
"datetime": "2018-07-05T13:21:00Z",
"sar:instrument_mode": "MODE-1",
"instruments": [
"CHRIS"
],
"constellation": "PROBA",
"sar:product_type": "CHR_MO1_1P",
"updated": "2023-08-25T14:56:25Z",
"sat:absolute_orbit": 0
}
}
]
}
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://eocat.esa.int/eo-catalogue/search \
--header 'Content-Type: application/json' \
--data-raw '{
"limit": 2,
"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]. Geometry parameter is provided as Python list.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items=10,
collections=[COLLECTION_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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=10" \
--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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=10" \
--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 = 36
n_columns = 72
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=16)
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: user 9.11 s, sys: 866 ms, total: 9.97 s
Wall time: 13.8 s
Display number of granules as density map of 36 rows (5.0°) by 72 columns (5.0°).
/tmp/ipykernel_367/3889813130.py:2: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.
worldmap = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))

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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=50" \
--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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=50" \
--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')

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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=100" \
--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... |
start_datetime | 2021-12-10T06:57:00Z |
end_datetime | 2021-12-10T07:01:00Z |
view:sun_azimuth | 221.061043 |
title | PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E1... |
platform | PROBA |
proj:epsg | 4326 |
view:sun_elevation | 57.726 |
datetime | 2021-12-10T06:57:00Z |
sar:instrument_mode | MODE-2 |
instruments | [CHRIS] |
constellation | PROBA |
sar:product_type | CHR_MO2_1P |
updated | 2023-08-25T14:56:32Z |
sat:absolute_orbit | 0 |
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]
)
Same request with curl
.
curl -X GET -G https://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=100" \
--data-urlencode "ids=PR1_OPER_CHR_MO2_1P_20211210T065700_N22-100_E111-030_0001"
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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=10" \
--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')

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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=50" \
--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.get_all_items_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')

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://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=10" \
--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://eocat.esa.int/eo-catalogue/search \
--header 'Content-Type: application/json' \
--data-raw '{
"limit": 50,
"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.get_all_items_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/browse/L07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078_v0100.SIP.ZIP_BID.PNG",
"type": "image/png",
"title": "QUICKLOOK"
},
"metadata_ogc_10_157r3": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078?httpAccept=application/gml%2Bxml&recordSchema=om10",
"title": "OGC 10-157r3 metadata",
"type": "application/gml+xml;profile=\"http://www.opengis.net/spec/EOMPOM/1.0\""
},
"enclosure": {
"roles": [
"data"
],
"href": "https://landsat-diss.eo.esa.int/oads/data/LandsatETM/L07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078_v0100.SIP.ZIP",
"type": "application/x-binary",
"title": "Download"
},
"metadata_ogc_10_157r4": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078?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://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078",
"type": "application/geo+json;profile=\"http://www.opengis.net/spec/ogcapi-features-1/1.0\"",
"title": "OGC 17-069r3 metadata"
},
"metadata_ogc_17_003r2": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078?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://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078?httpAccept=application/vnd.iso.19139%2Bxml",
"title": "ISO 19139 metadata",
"type": "application/vnd.iso.19139+xml"
},
"metadata_html": {
"roles": [
"metadata"
],
"href": "https://eocat.esa.int/eo-catalogue/collections/LANDSAT.ETM.GTC/items/LS07_RFUI_ETM_GTC_1P_19990731T093427_19990731T093456_001555_0189_0033_9078?httpAccept=text/html",
"title": "HTML",
"type": "text/html"
}
}
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 | QUICKLOOK | image/png |
1 | metadata | OGC 10-157r3 metadata | application/gml+xml;profile="http://www.opengi... |
2 | data | Download | application/x-binary |
3 | metadata | OGC 10-157r4 metadata | application/gml+xml;profile="http://www.opengi... |
4 | metadata | OGC 17-069r3 metadata | application/geo+json;profile="http://www.openg... |
5 | metadata | OGC 17-003r2 metadata | application/geo+json;profile="http://www.openg... |
6 | metadata | ISO 19139 metadata | application/vnd.iso.19139+xml |
7 | metadata | HTML | text/html |
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://eocat.esa.int/eo-catalogue/collections/queryables and represented as a JSON Schema.
URL_QUERYABLES = URL_LANDING_PAGE + 'collections/queryables'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections/queryables
response = requests.get(URL_QUERYABLES)
data = json.loads(response.text)
df = pd.DataFrame(data['properties'].items(),columns=['key','value'])
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
df.drop('value',axis=1).sort_values(by=['key'])
/tmp/ipykernel_367/2988820384.py:4: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
/tmp/ipykernel_367/2988820384.py:5: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
key | type | format | |
---|---|---|---|
15 | classifiedAs | string | uri |
14 | doi | string | - |
3 | externalId | string | - |
4 | instrument | string | - |
9 | modificationDate | string | date-time |
12 | offering | string | - |
8 | organisationName | string | - |
6 | otherConstraint | string | - |
2 | parentIdentifier | string | - |
7 | platform | string | - |
10 | processingLevel | string | - |
13 | publisher | string | - |
1 | query | string | - |
0 | subject | string | - |
5 | title | string | - |
11 | 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"
},
"externalId": {
"description": "Search by external identifier {API Records}",
"title": "External identifiers",
"type": "string"
},
"instrument": {
"description": "{eo:instrument}",
"title": "Instrument",
"type": "string",
"enum": [
"AATSR",
"ACC",
"ACE-FTS",
"ACGS",
"AIRSAFE",
"ALADIN",
"AMI/SAR",
"AMI/Scatterometer",
"ASAR",
"ASM",
"ATSR-1",
"ATSR-2",
"AVHRR",
"AVNIR-2",
"AwiFS",
"BGI",
"CAPI",
"CHRIS",
"CSG-SAR",
"DORIS",
"EFI",
"EGG",
"EOC",
"ETM",
"GIS",
"GOME",
"GOMOS",
"GPSR",
"GRACE ACC",
"GRACE INTERFEROMETER",
"GRACE LRR",
"GRACE SCA",
"HRC",
"HRG",
"HRS",
"HRV",
"HRVIR",
"HiRAIS",
"HiRI",
"HyperScout-2",
"KBR",
"LISS-3",
"LISS-4",
"LRR",
"MAESTRO",
"MERIS",
"MESSR",
"MGM",
"MIPAS",
"MIRAS",
"MODIS",
"MSC",
"MSI",
"MSS",
"MWR",
"NAOMI",
"OCM-2",
"OLI",
"OMI",
"OPS",
"OSA",
"OSIRIS",
"P-SAR",
"PALSAR",
"PAN",
"PAZ-SAR",
"PNEO",
"PRARE",
"PRISM",
"PlanetScope Camera",
"RA",
"RA-2",
"RBV",
"SAOCOM-SAR",
"SAR",
"SCIAMACHY",
"SENSE",
"SIRAL",
"SLIM6",
"SMR",
"SSTI",
"SSTL S1-4",
"STR",
"STRATOS",
"SeaWiFS",
"SeaWinds",
"SkySat Camera",
"SpaceView-110",
"TANSO-CAI",
"TANSO-CAI-2",
"TANSO-FTS",
"TANSO-FTS-2",
"TDX-1",
"TIRS",
"TM",
"TSX-1",
"VFM",
"VGT",
"VTIR",
"WAF-P",
"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": [
"ALOS-1",
"AQUA",
"Aeolus",
"Aura",
"Beijing-1",
"Biomass",
"COSMO-SkyMed Second Generation",
"COSMO-SkyMed",
"CryoSat-2",
"ERS-1",
"ERS-2",
"Envisat",
"FFSCat",
"GEOSAT-1",
"GEOSAT-2",
"GHGSat-C1",
"GHGSat-C2",
"GOCE",
"GOSAT-1",
"GOSAT-2",
"GRACE",
"GeoEye-1",
"ICEYE",
"IKONOS-2",
"IRS-1C",
"IRS-1D",
"IRS-P5",
"IRS-P6",
"IRS-R2",
"JERS-1",
"KOMPSAT-1",
"KOMPSAT-2",
"Landsat-1",
"Landsat-2",
"Landsat-3",
"Landsat-4",
"Landsat-5",
"Landsat-7",
"Landsat-8",
"MOS-1",
"MOS-1B",
"Metop",
"NOAA POES",
"NigeriaSat-1",
"ODIN",
"OceanSat-2",
"OrbView-2",
"PAZ",
"PROBA-1",
"PROBA-V",
"PlanetScope",
"Pleiades Neo",
"Pleiades",
"Pleiades-1A",
"Pleiades-1B",
"QuickBird-2",
"QuikSCAT",
"RADARSAT-1",
"RADARSAT-2",
"RapidEye",
"SAOCOM-1A",
"SAOCOM-1B",
"SCISAT-1",
"SMOS",
"SPOT 1",
"SPOT 2",
"SPOT 3",
"SPOT 4",
"SPOT 5",
"SPOT 6",
"SPOT 7",
"Seasat",
"SkySat",
"Spire",
"Swarm",
"TERRA",
"TanDEM-X",
"TanSat",
"TerraSAR-X",
"UK-DMC-1",
"Vision-1",
"WorldView-1",
"WorldView-2",
"WorldView-3",
"WorldView-4"
]
},
"organisationName": {
"description": "{eo:organisationName}",
"title": "Organisation name",
"type": "string",
"enum": [
"ESA/ESRIN"
]
},
"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",
"enum": [
"data service request",
"eo sign in authentication (open)",
"eo sign in authentication",
"external data",
"fast registration with approval",
"fast registration with immediate access",
"open access",
"project proposal (restrained)",
"project proposal",
"restrained data"
]
},
"offering": {
"description": "{eo:offering}",
"title": "Offering",
"type": "string"
},
"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://eocat.esa.int/eo-catalogue/collections/queryables"
}
Additional search parameters beyond the STAC search parameters can be used to filter granule search results. The available parameters for granule search are advertised for each individual collection and represented as a JSON Schema.
For example, the collection PROBA.CHRIS.1A
, advertises its search parameters at https://eocat.esa.int/eo-catalogue/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://eocat.esa.int/eo-catalogue/collections/PROBA.CHRIS.1A/queryables
/tmp/ipykernel_367/3178706419.py:4: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['type'] = df.apply(lambda row : row[1]['type'], axis = 1)
/tmp/ipykernel_367/3178706419.py:5: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
df['format'] = df.apply(lambda row : row[1]['format'] if 'format' in row[1] else '-' , axis = 1)
key | type | format | |
---|---|---|---|
0 | acquisitionType | string | - |
2 | externalId | string | - |
14 | frame | string | - |
1 | illuminationAzimuthAngle | number | - |
12 | illuminationElevationAngle | number | - |
3 | instrument | string | - |
9 | offering | string | - |
5 | orbitNumber | integer | - |
4 | platform | string | - |
6 | platformSerialIdentifier | string | - |
13 | productType | string | - |
8 | productionStatus | string | - |
7 | q | string | - |
11 | sensorMode | string | - |
10 | 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
},
"externalId": {
"description": "Search by external identifier {API Records}",
"title": "External identifiers",
"type": "string"
},
"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"
},
"q": {
"description": "Free text search {API Records}",
"title": "API Records Query",
"type": "string"
},
"productionStatus": {
"description": "{eo:productionStatus}",
"title": "Production status",
"type": "string",
"enum": [
"ARCHIVED"
]
},
"offering": {
"description": "{eo:offering}",
"title": "Offering",
"type": "string"
},
"track": {
"description": "{eo:track}",
"title": "Track",
"type": "string"
},
"sensorMode": {
"description": "{eo:sensorMode}",
"title": "Sensor mode",
"type": "string"
},
"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_MO3_1P",
"CHR_MO4_1P",
"CHR_MO5_1P",
"CHR_MO1_1P",
"CHR_MO2_1P"
]
},
"frame": {
"description": "{eo:frame}",
"title": "Frame",
"type": "string"
}
},
"$id": "https://eocat.esa.int/eo-catalogue/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).
filter = "platform = 'Envisat' and ( instrument = 'MERIS' or instrument = 'MIPAS' ) and organisationName = 'ESA/ESRIN'"
params = { 'filter': filter }
URL = f'{URL_LANDING_PAGE}collections?{urllib.parse.urlencode(params)}'
curl -X GET -G https://eocat.esa.int/eo-catalogue/collections \
--data-urlencode "filter=platform = 'Envisat' and ( instrument = 'MERIS' or instrument = 'MIPAS' ) and organisationName = 'ESA/ESRIN'"
response = requests.get(URL)
data = json.loads(response.text)
df = pd.json_normalize(data, record_path=['collections'])
df[['id', 'title']]
id | title | |
---|---|---|
0 | MER_FRS_1P | Envisat MERIS Full Resolution - Level 1 [MER_F... |
1 | MER.RR__2P | Envisat MERIS Reduced Resolution Geophysical P... |
2 | ENVISAT.MIP.NL__1P | Envisat MIPAS L1 - Geo-located and calibrated ... |
3 | MER_FRS_2P | Envisat MERIS Full Resolution - Level 2 [MER_F... |
4 | ENVISAT.MIP.NL__2P | Envisat MIPAS L2 - Temperature, pressure and a... |
5 | MER.RR__1P | Envisat MERIS Reduced Resolution - Level 1 [ME... |
Example: 8.2
CQL filter for granule search with comparison operators. Search granules with cloudCover between 10 and 15%.
from pystac_client import Client
api = Client.open(URL_LANDING_PAGE)
results = api.search(
method = 'GET',
max_items = 30,
collections = [COLLECTION_ID3_CLOUDS],
filter = "cloudCover >= 10 and cloudCover < 15"
)
curl -X GET -G https://eocat.esa.int/eo-catalogue/search \
--data-urlencode "limit=30" \
--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.get_all_items_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.")

Further Reading#
ID |
Title |
---|---|
JSON Schema: A Media Type for Describing JSON Documents, draft-handrews-json-schema-02 |
|