From e9cc8533dd6fbfbb3662edbbcea9c10f2b4bfc7b Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Sun, 26 Jan 2025 15:01:20 -0500 Subject: [PATCH] update STAC API testing (#1074) --- pycsw/core/metadata.py | 9 +- pycsw/ogc/api/records.py | 2 +- pycsw/ogc/api/util.py | 9 +- pycsw/stac/api.py | 2 +- .../suites/stac_api/conftest.py | 2 +- ...28T092331_R093_T34SEJ_20241128T122153.json | 733 +++++++++ ...28T092331_R093_T34SFH_20241128T122153.json | 733 +++++++++ ...0208_R079_T33TWN_20190910T120910.SAFE.json | 699 ++++++++ ...0208_R079_T33TXN_20190910T120910.SAFE.json | 667 ++++++++ ...0208_R079_T33UWP_20190910T120910.SAFE.json | 695 ++++++++ ...0208_R079_T33UWQ_20190910T120910.SAFE.json | 695 ++++++++ ...0208_R079_T33UXP_20190910T120910.SAFE.json | 667 ++++++++ ...0208_R079_T33UXQ_20190910T120910.SAFE.json | 667 ++++++++ ...0500_R079_T33TWN_20230429T151337.SAFE.json | 699 ++++++++ ...0500_R079_T33TXN_20230429T151337.SAFE.json | 667 ++++++++ ...0500_R079_T33UWP_20230429T151337.SAFE.json | 695 ++++++++ ...0500_R079_T33UWQ_20230429T151337.SAFE.json | 695 ++++++++ ...0500_R079_T33UXP_20230429T151337.SAFE.json | 667 ++++++++ ...0500_R079_T33UXQ_20230429T151337.SAFE.json | 667 ++++++++ ...0213_R079_T33TWN_20190910T124513.SAFE.json | 1409 ++++++++++++++++ ...0213_R079_T33TXN_20190910T124513.SAFE.json | 1377 ++++++++++++++++ ...0213_R079_T33UWP_20190910T124513.SAFE.json | 1405 ++++++++++++++++ ...0213_R079_T33UXP_20190910T124513.SAFE.json | 1377 ++++++++++++++++ ...0213_R079_T33UXQ_20190910T124513.SAFE.json | 1377 ++++++++++++++++ ...0500_R079_T33TWN_20230430T083712.SAFE.json | 1437 +++++++++++++++++ ...0500_R079_T33TXN_20230430T083712.SAFE.json | 1405 ++++++++++++++++ ...0500_R079_T33UWP_20230430T083712.SAFE.json | 1433 ++++++++++++++++ ...0500_R079_T33UWQ_20230430T083712.SAFE.json | 1433 ++++++++++++++++ ...0500_R079_T33UXP_20230430T083712.SAFE.json | 1405 ++++++++++++++++ ...0500_R079_T33UXQ_20230430T083712.SAFE.json | 1405 ++++++++++++++++ .../suites/stac_api/data/S2MSI1C.xml | 376 +++++ .../suites/stac_api/data/S2MSI2A.xml | 375 +++++ .../suites/stac_api/data/records.db | Bin 0 -> 2768896 bytes .../suites/stac_api/data/sentinel-2-l2a.json | 552 +++++++ .../stac_api/data/simple-collection.json | 136 ++ .../woudc-total-column-ozone-totalozone.json | 256 +++ .../stac_api/test_stac_api_functional.py | 92 +- 37 files changed, 26876 insertions(+), 44 deletions(-) create mode 100644 tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE.json create mode 100644 tests/functionaltests/suites/stac_api/data/S2MSI1C.xml create mode 100644 tests/functionaltests/suites/stac_api/data/S2MSI2A.xml create mode 100644 tests/functionaltests/suites/stac_api/data/records.db create mode 100644 tests/functionaltests/suites/stac_api/data/sentinel-2-l2a.json create mode 100644 tests/functionaltests/suites/stac_api/data/simple-collection.json create mode 100644 tests/functionaltests/suites/stac_api/data/woudc-total-column-ozone-totalozone.json diff --git a/pycsw/core/metadata.py b/pycsw/core/metadata.py index ca0184367..1c15ccacc 100644 --- a/pycsw/core/metadata.py +++ b/pycsw/core/metadata.py @@ -4,7 +4,7 @@ # Authors: Tom Kralidis # Ricardo Garcia Silva # -# Copyright (c) 2023 Tom Kralidis +# Copyright (c) 2025 Tom Kralidis # Copyright (c) 2016 James F. Dickens # Copyright (c) 2017 Ricardo Garcia Silva # @@ -1760,7 +1760,7 @@ def _parse_oarec_record(context, repos, record): _set(context, recobj, 'pycsw:InsertDate', util.get_today_and_now()) _set(context, recobj, 'pycsw:XML', '') # FIXME: transform into XML? or not, to validate _set(context, recobj, 'pycsw:Metadata', json.dumps(record)) - _set(context, recobj, 'pycsw:MetadataType', 'application/json') + _set(context, recobj, 'pycsw:MetadataType', 'application/geo+json') _set(context, recobj, 'pycsw:AnyText', ' '.join([str(t) for t in util.get_anytext_from_obj(record)])) @@ -1820,6 +1820,7 @@ def _parse_stac_resource(context, repos, record): LOGGER.debug('Parsing STAC Item') conformance = 'https://github.com/radiantearth/stac-spec/tree/master/item-spec/item-spec.md' typename = 'stac:Item' + metadata_type = 'application/geo+json' stype = 'item' title = record['properties'].get('title') abstract = record['properties'].get('description') @@ -1829,6 +1830,7 @@ def _parse_stac_resource(context, repos, record): LOGGER.debug('Parsing STAC Collection') conformance = 'https://github.com/radiantearth/stac-spec/tree/master/collection-spec/collection-spec.md' typename = 'stac:Collection' + metadata_type = 'application/json' stype = 'collection' title = record.get('title') abstract = record.get('description') @@ -1842,6 +1844,7 @@ def _parse_stac_resource(context, repos, record): LOGGER.debug('Parsing STAC Catalog') conformance = 'https://github.com/radiantearth/stac-spec/tree/master/catalog-spec/catalog-spec.md' typename = 'stac:Catalog' + metadata_type = 'application/json' stype = 'catalog' title = record.get('title') abstract = record.get('description') @@ -1853,7 +1856,7 @@ def _parse_stac_resource(context, repos, record): _set(context, recobj, 'pycsw:InsertDate', util.get_today_and_now()) _set(context, recobj, 'pycsw:XML', '') # FIXME: transform into XML? or not, to validate _set(context, recobj, 'pycsw:Metadata', json.dumps(record)) - _set(context, recobj, 'pycsw:MetadataType', 'application/json') + _set(context, recobj, 'pycsw:MetadataType', metadata_type) _set(context, recobj, 'pycsw:AnyText', ' '.join([str(t) for t in util.get_anytext_from_obj(record)])) _set(context, recobj, 'pycsw:Type', stype) _set(context, recobj, 'pycsw:Title', title) diff --git a/pycsw/ogc/api/records.py b/pycsw/ogc/api/records.py index 79a9087f9..e69f7c5e3 100644 --- a/pycsw/ogc/api/records.py +++ b/pycsw/ogc/api/records.py @@ -3,7 +3,7 @@ # Authors: Tom Kralidis # Angelos Tzotsos # -# Copyright (c) 2024 Tom Kralidis +# Copyright (c) 2025 Tom Kralidis # Copyright (c) 2021 Angelos Tzotsos # # Permission is hereby granted, free of charge, to any person diff --git a/pycsw/ogc/api/util.py b/pycsw/ogc/api/util.py index 63f6cfec5..9cfa88713 100644 --- a/pycsw/ogc/api/util.py +++ b/pycsw/ogc/api/util.py @@ -4,7 +4,7 @@ # Authors: Tom Kralidis # Angelos Tzotsos # -# Copyright (c) 2024 Tom Kralidis +# Copyright (c) 2025 Tom Kralidis # Copyright (c) 2021 Angelos Tzotsos # # Permission is hereby granted, free of charge, to any person @@ -91,10 +91,10 @@ def json_serial(obj): """ if isinstance(obj, (datetime, date, time)): - if isinstance(obj, date): + if isinstance(obj, (datetime, time)): + return obj.strftime('%Y-%m-%dT%H:%M:%SZ') + else: # date return obj.strftime('%Y-%m-%d') - else: - return obj.isoformat() + 'Z' elif isinstance(obj, bytes): try: LOGGER.debug('Returning as UTF-8 decoded bytes') @@ -248,5 +248,6 @@ def to_rfc3339(value: str) -> Union[tuple, None]: dt_type = 'date' else: dt_type = 'date-time' + dt_type = 'date-time' return dt, dt_type diff --git a/pycsw/stac/api.py b/pycsw/stac/api.py index 778641614..8a14f3b40 100644 --- a/pycsw/stac/api.py +++ b/pycsw/stac/api.py @@ -2,7 +2,7 @@ # # Authors: Tom Kralidis # -# Copyright (c) 2024 Tom Kralidis +# Copyright (c) 2025 Tom Kralidis # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation diff --git a/tests/functionaltests/suites/stac_api/conftest.py b/tests/functionaltests/suites/stac_api/conftest.py index dd6acb0e1..35811a7a7 100644 --- a/tests/functionaltests/suites/stac_api/conftest.py +++ b/tests/functionaltests/suites/stac_api/conftest.py @@ -106,7 +106,7 @@ def config(): } }, 'repository': { - 'database': 'sqlite:///tests/functionaltests/suites/cite/data/cite.db', + 'database': 'sqlite:///tests/functionaltests/suites/stac_api/data/records.db', 'table': 'records', } } diff --git a/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153.json b/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153.json new file mode 100644 index 000000000..d102d7992 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153.json @@ -0,0 +1,733 @@ +{ + "id": "S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153", + "bbox": [ + 20.9997665, + 38.754036, + 22.2812803, + 39.7502679 + ], + "type": "Feature", + "links": [ + { + "rel": "collection", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a" + }, + { + "rel": "parent", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a" + }, + { + "rel": "root", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/" + }, + { + "rel": "self", + "type": "application/geo+json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a/items/S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153" + }, + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "preview", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/map?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153", + "title": "Map of item", + "type": "text/html" + } + ], + "assets": { + "AOT": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_AOT_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Aerosol optical thickness (AOT)" + }, + "B01": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R60m/T34SEJ_20241128T092331_B01_60m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:transform": [ + 60, + 0, + 499980, + 0, + -60, + 4400040 + ], + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ] + }, + "B02": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_B02_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "B03": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_B03_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ] + }, + "B04": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_B04_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ] + }, + "B05": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B05_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ] + }, + "B06": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B06_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ] + }, + "B07": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B07_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ] + }, + "B08": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_B08_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ] + }, + "B09": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R60m/T34SEJ_20241128T092331_B09_60m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:transform": [ + 60, + 0, + 499980, + 0, + -60, + 4400040 + ], + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ] + }, + "B11": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B11_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ] + }, + "B12": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B12_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ] + }, + "B8A": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_B8A_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ] + }, + "SCL": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R20m/T34SEJ_20241128T092331_SCL_20m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 499980, + 0, + -20, + 4400040 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Scene classfication map (SCL)" + }, + "WVP": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_WVP_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Water vapour (WVP)" + }, + "visual": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/IMG_DATA/R10m/T34SEJ_20241128T092331_TCI_10m.tif", + "proj:bbox": [ + 499980, + 4290240, + 609780, + 4400040 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 499980, + 0, + -10, + 4400040 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "safe-manifest": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "SAFE manifest" + }, + "granule-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/GRANULE/L2A_T34SEJ_A049282_20241128T092331/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Granule metadata" + }, + "inspire-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "INSPIRE metadata" + }, + "product-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Product metadata" + }, + "datastrip-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/EJ/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE/DATASTRIP/DS_2APS_20241128T122153_S20241128T092331/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Datastrip metadata" + }, + "tilejson": { + "title": "TileJSON with default rendering", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/tilejson.json?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153&assets=visual&asset_bidx=visual%7C1%2C2%2C3&nodata=0&format=png", + "type": "application/json", + "roles": [ + "tiles" + ] + }, + "rendered_preview": { + "title": "Rendered preview", + "rel": "preview", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/preview.png?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SEJ_20241128T122153&assets=visual&asset_bidx=visual%7C1%2C2%2C3&nodata=0&format=png", + "roles": [ + "overview" + ], + "type": "image/png" + } + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 20.9997665, + 39.7502679 + ], + [ + 22.2812803, + 39.7431962 + ], + [ + 22.2634032, + 38.754036 + ], + [ + 20.9997698, + 38.7608645 + ], + [ + 20.9997665, + 39.7502679 + ] + ] + ] + }, + "collection": "sentinel-2-l2a", + "properties": { + "datetime": "2024-11-28T09:23:31.024000Z", + "platform": "Sentinel-2A", + "proj:epsg": 32634, + "instruments": [ + "msi" + ], + "s2:mgrs_tile": "34SEJ", + "constellation": "Sentinel 2", + "s2:granule_id": "S2A_OPER_MSI_L2A_TL_2APS_20241128T122153_A049282_T34SEJ_N05.11", + "eo:cloud_cover": 5.818298, + "s2:datatake_id": "GS2A_20241128T092331_049282_N05.11", + "s2:product_uri": "S2A_MSIL2A_20241128T092331_N0511_R093_T34SEJ_20241128T122153.SAFE", + "s2:datastrip_id": "S2A_OPER_MSI_L2A_DS_2APS_20241128T122153_S20241128T092331_N05.11", + "s2:product_type": "S2MSI2A", + "sat:orbit_state": "descending", + "s2:datatake_type": "INS-NOBS", + "s2:generation_time": "2024-11-28T12:21:53.000000Z", + "sat:relative_orbit": 93, + "s2:water_percentage": 1.403924, + "s2:mean_solar_zenith": 61.8754834452706, + "s2:mean_solar_azimuth": 166.296580755901, + "s2:processing_baseline": "05.11", + "s2:snow_ice_percentage": 0, + "s2:vegetation_percentage": 37.782255, + "s2:thin_cirrus_percentage": 1.530549, + "s2:cloud_shadow_percentage": 0.415171, + "s2:nodata_pixel_percentage": 3e-06, + "s2:unclassified_percentage": 1.499892, + "s2:not_vegetated_percentage": 38.761142, + "s2:degraded_msi_data_percentage": 0.0001, + "s2:high_proba_clouds_percentage": 1.766358, + "s2:reflectance_conversion_factor": 1.02646478392633, + "s2:medium_proba_clouds_percentage": 2.521392, + "s2:saturated_defective_pixel_percentage": 0 + }, + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.0.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.0.0/schema.json" + ], + "stac_version": "1.0.0" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153.json b/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153.json new file mode 100644 index 000000000..d13fe8144 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153.json @@ -0,0 +1,733 @@ +{ + "id": "S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153", + "bbox": [ + 22.1367176, + 37.8353021, + 23.4167322, + 38.8433146 + ], + "type": "Feature", + "links": [ + { + "rel": "collection", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a" + }, + { + "rel": "parent", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a" + }, + { + "rel": "root", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/" + }, + { + "rel": "self", + "type": "application/geo+json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a/items/S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153" + }, + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "preview", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/map?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153", + "title": "Map of item", + "type": "text/html" + } + ], + "assets": { + "AOT": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_AOT_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Aerosol optical thickness (AOT)" + }, + "B01": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R60m/T34SFH_20241128T092331_B01_60m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:transform": [ + 60, + 0, + 600000, + 0, + -60, + 4300020 + ], + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ] + }, + "B02": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_B02_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "B03": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_B03_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ] + }, + "B04": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_B04_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ] + }, + "B05": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B05_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ] + }, + "B06": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B06_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ] + }, + "B07": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B07_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ] + }, + "B08": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_B08_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ] + }, + "B09": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R60m/T34SFH_20241128T092331_B09_60m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:transform": [ + 60, + 0, + 600000, + 0, + -60, + 4300020 + ], + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ] + }, + "B11": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B11_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ] + }, + "B12": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B12_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ] + }, + "B8A": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_B8A_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ] + }, + "SCL": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R20m/T34SFH_20241128T092331_SCL_20m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:transform": [ + 20, + 0, + 600000, + 0, + -20, + 4300020 + ], + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Scene classfication map (SCL)" + }, + "WVP": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_WVP_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Water vapour (WVP)" + }, + "visual": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/IMG_DATA/R10m/T34SFH_20241128T092331_TCI_10m.tif", + "proj:bbox": [ + 600000, + 4190220, + 709800, + 4300020 + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:transform": [ + 10, + 0, + 600000, + 0, + -10, + 4300020 + ], + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "safe-manifest": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "SAFE manifest" + }, + "granule-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/GRANULE/L2A_T34SFH_A049282_20241128T092331/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Granule metadata" + }, + "inspire-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "INSPIRE metadata" + }, + "product-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Product metadata" + }, + "datastrip-metadata": { + "href": "https://sentinel2l2a01.blob.core.windows.net/sentinel2-l2/34/S/FH/2024/11/28/S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE/DATASTRIP/DS_2APS_20241128T122153_S20241128T092331/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Datastrip metadata" + }, + "tilejson": { + "title": "TileJSON with default rendering", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/tilejson.json?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153&assets=visual&asset_bidx=visual%7C1%2C2%2C3&nodata=0&format=png", + "type": "application/json", + "roles": [ + "tiles" + ] + }, + "rendered_preview": { + "title": "Rendered preview", + "rel": "preview", + "href": "https://planetarycomputer.microsoft.com/api/data/v1/item/preview.png?collection=sentinel-2-l2a&item=S2A_MSIL2A_20241128T092331_R093_T34SFH_20241128T122153&assets=visual&asset_bidx=visual%7C1%2C2%2C3&nodata=0&format=png", + "roles": [ + "overview" + ], + "type": "image/png" + } + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 22.1522905, + 38.8433146 + ], + [ + 23.4167322, + 38.8239923 + ], + [ + 23.3841, + 37.8353021 + ], + [ + 22.1367176, + 37.853955 + ], + [ + 22.1522905, + 38.8433146 + ] + ] + ] + }, + "collection": "sentinel-2-l2a", + "properties": { + "datetime": "2024-11-28T09:23:31.024000Z", + "platform": "Sentinel-2A", + "proj:epsg": 32634, + "instruments": [ + "msi" + ], + "s2:mgrs_tile": "34SFH", + "constellation": "Sentinel 2", + "s2:granule_id": "S2A_OPER_MSI_L2A_TL_2APS_20241128T122153_A049282_T34SFH_N05.11", + "eo:cloud_cover": 15.038629, + "s2:datatake_id": "GS2A_20241128T092331_049282_N05.11", + "s2:product_uri": "S2A_MSIL2A_20241128T092331_N0511_R093_T34SFH_20241128T122153.SAFE", + "s2:datastrip_id": "S2A_OPER_MSI_L2A_DS_2APS_20241128T122153_S20241128T092331_N05.11", + "s2:product_type": "S2MSI2A", + "sat:orbit_state": "descending", + "s2:datatake_type": "INS-NOBS", + "s2:generation_time": "2024-11-28T12:21:53.000000Z", + "sat:relative_orbit": 93, + "s2:water_percentage": 24.954174, + "s2:mean_solar_zenith": 60.7763129418115, + "s2:mean_solar_azimuth": 167.418127981186, + "s2:processing_baseline": "05.11", + "s2:snow_ice_percentage": 0, + "s2:vegetation_percentage": 15.50326, + "s2:thin_cirrus_percentage": 3.911178, + "s2:cloud_shadow_percentage": 1.459325, + "s2:nodata_pixel_percentage": 0, + "s2:unclassified_percentage": 5.811699, + "s2:not_vegetated_percentage": 32.038176, + "s2:degraded_msi_data_percentage": 0.0228, + "s2:high_proba_clouds_percentage": 4.16998, + "s2:reflectance_conversion_factor": 1.02646478392633, + "s2:medium_proba_clouds_percentage": 6.957472, + "s2:saturated_defective_pixel_percentage": 0 + }, + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.0.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.0.0/schema.json" + ], + "stac_version": "1.0.0" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE.json new file mode 100644 index 000000000..589fea047 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE.json @@ -0,0 +1,699 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 40.8408, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33TWN_N02.08", + "s2:mgrs_tile": "33TWN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 44.0991584183932, + "s2:mean_solar_azimuth": 159.531813362975, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.444861597282598, + 46.86290010560831 + ], + [ + 15.31183071907207, + 46.88149751987032 + ], + [ + 15.338289611196274, + 46.95521678246418 + ], + [ + 15.390966472422209, + 47.10161813498074 + ], + [ + 15.444791927935675, + 47.247653834030366 + ], + [ + 15.497949881270555, + 47.393882520175886 + ], + [ + 15.549772019723136, + 47.54053618762919 + ], + [ + 15.605219911107202, + 47.68629327930668 + ], + [ + 15.657081905205992, + 47.83307797270472 + ], + [ + 15.663067914137011, + 47.84946349842912 + ], + [ + 16.467277376768234, + 47.844325046514086 + ], + [ + 16.440149824410025, + 46.85663988190739 + ], + [ + 15.444861597282598, + 46.86290010560831 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33TWN_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.31183071907207, + 46.85663988190739, + 16.467277376768234, + 47.84946349842912 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE.json new file mode 100644 index 000000000..587c8fcc8 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 85.054, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33TXN_N02.08", + "s2:mgrs_tile": "33TXN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 43.7864951023904, + "s2:mean_solar_azimuth": 161.360399994209, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.33660021997006, + 47.84592105208886 + ], + [ + 17.80284668292451, + 47.81947440295927 + ], + [ + 17.751084998620154, + 46.83262831925138 + ], + [ + 16.31188688551243, + 46.85818197246455 + ], + [ + 16.33660021997006, + 47.84592105208886 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33TXN_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.31188688551243, + 46.83262831925138, + 17.80284668292451, + 47.84592105208886 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE.json new file mode 100644 index 000000000..1e463cbd6 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE.json @@ -0,0 +1,695 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 13.7376, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33UWP_N02.08", + "s2:mgrs_tile": "33UWP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 44.9536568849222, + "s2:mean_solar_azimuth": 159.782654740994, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.631662816257208, + 47.76113447645779 + ], + [ + 15.657081905205992, + 47.83307797270472 + ], + [ + 15.710570169434488, + 47.97949160816187 + ], + [ + 15.764039003164896, + 48.126009379104055 + ], + [ + 15.81778554333848, + 48.272570340647 + ], + [ + 15.872493644825884, + 48.41894350808384 + ], + [ + 15.92758789432043, + 48.56524552456526 + ], + [ + 15.982974989379908, + 48.71149865233935 + ], + [ + 15.996305449661863, + 48.74655676308699 + ], + [ + 16.4932694755772, + 48.7433372246506 + ], + [ + 16.464786866939885, + 47.75581864580811 + ], + [ + 15.631662816257208, + 47.76113447645779 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWP_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.631662816257208, + 47.75581864580811, + 16.4932694755772, + 48.74655676308699 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE.json new file mode 100644 index 000000000..d30488fb5 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE.json @@ -0,0 +1,695 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 39.4785, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33UWQ_N02.08", + "s2:mgrs_tile": "33UWQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 45.8094070076583, + "s2:mean_solar_azimuth": 160.022349418, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.96301731225171, + 48.658799143546375 + ], + [ + 15.982974989379908, + 48.71149865233935 + ], + [ + 16.038555992497677, + 48.85767252192476 + ], + [ + 16.094047130559076, + 49.003782869561206 + ], + [ + 16.14979761650124, + 49.149814637638734 + ], + [ + 16.205748946304094, + 49.29585740293125 + ], + [ + 16.262186431449578, + 49.44186226432437 + ], + [ + 16.318477128826668, + 49.58796090169242 + ], + [ + 16.340298237046024, + 49.643920862317806 + ], + [ + 16.520595653725128, + 49.64273706516441 + ], + [ + 16.49066964052278, + 48.65538534877128 + ], + [ + 15.96301731225171, + 48.658799143546375 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.96301731225171, + 48.65538534877128, + 16.520595653725128, + 49.643920862317806 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE.json new file mode 100644 index 000000000..660e7b23b --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 42.5064, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33UXP_N02.08", + "s2:mgrs_tile": "33UXP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 44.6441560946082, + "s2:mean_solar_azimuth": 161.618278923701, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.360279246283664, + 48.74498411169783 + ], + [ + 17.852438708473066, + 48.71769475117851 + ], + [ + 17.798094715302927, + 47.73104447774509 + ], + [ + 16.3343313489668, + 47.75740973734738 + ], + [ + 16.360279246283664, + 48.74498411169783 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXP_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.3343313489668, + 47.73104447774509, + 17.852438708473066, + 48.74498411169783 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE.json new file mode 100644 index 000000000..185ee441c --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 30.1177, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE", + "s2:generation_time": "2019-09-10T12:09:10.000000Z", + "s2:processing_baseline": "02.08", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.08", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_MTI__20190910T120910_S20190910T095200_N02.08", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_MTI__20190910T120910_A013118_T33UXQ_N02.08", + "s2:mgrs_tile": "33UXQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:mean_solar_zenith": 45.5029104836805, + "s2:mean_solar_azimuth": 161.866690183624, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.3851737331767, + 49.64443670244057 + ], + [ + 17.904572762902152, + 49.61627372192671 + ], + [ + 17.847478451946774, + 48.62982157570405 + ], + [ + 16.357910769851937, + 48.657027178567795 + ], + [ + 16.3851737331767, + 49.64443670244057 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/DATASTRIP/DS_MTI__20190910T120910_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C/2019/09/10/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910.SAFE/S2B_MSIL1C_20190910T095029_N0208_R079_T33UXQ_20190910T120910-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.357910769851937, + 48.62982157570405, + 17.904572762902152, + 49.64443670244057 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE.json new file mode 100644 index 000000000..b12aea92d --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE.json @@ -0,0 +1,699 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 64.2267135920248, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33TWN_N05.00", + "s2:mgrs_tile": "33TWN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0078, + "s2:mean_solar_zenith": 44.0990034305175, + "s2:mean_solar_azimuth": 159.532696066021, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.445301346124024, + 46.86289733964962 + ], + [ + 15.311863606240896, + 46.88155190097966 + ], + [ + 15.338319066528848, + 46.955271231045074 + ], + [ + 15.390995983857032, + 47.101672701706896 + ], + [ + 15.444822021173453, + 47.247708340802895 + ], + [ + 15.497976349912156, + 47.39393813805563 + ], + [ + 15.549799967027868, + 47.540591585633614 + ], + [ + 15.605214478403314, + 47.68635775881352 + ], + [ + 15.657120560294516, + 47.833130750240834 + ], + [ + 15.663088212288423, + 47.8494633687352 + ], + [ + 16.467277376768234, + 47.844325046514086 + ], + [ + 16.440149824410025, + 46.85663988190739 + ], + [ + 15.445301346124024, + 46.86289733964962 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/GRANULE/L1C_T33TWN_A013118_20190910T095200/IMG_DATA/T33TWN_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33TWN_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.311863606240896, + 46.85663988190739, + 16.467277376768234, + 47.8494633687352 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE.json new file mode 100644 index 000000000..b9c6a6571 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 98.647794798292, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33TXN_N05.00", + "s2:mgrs_tile": "33TXN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0104, + "s2:mean_solar_zenith": 43.7863531473642, + "s2:mean_solar_azimuth": 161.36129143083, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.33660021997006, + 47.84592105208886 + ], + [ + 17.80284668292451, + 47.81947440295927 + ], + [ + 17.751084998620154, + 46.83262831925138 + ], + [ + 16.31188688551243, + 46.85818197246455 + ], + [ + 16.33660021997006, + 47.84592105208886 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/GRANULE/L1C_T33TXN_A013118_20190910T095200/IMG_DATA/T33TXN_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33TXN_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.31188688551243, + 46.83262831925138, + 17.80284668292451, + 47.84592105208886 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE.json new file mode 100644 index 000000000..1bc78c90e --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE.json @@ -0,0 +1,695 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 28.8718910052556, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33UWP_N05.00", + "s2:mgrs_tile": "33UWP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0001, + "s2:mean_solar_zenith": 44.9535062944708, + "s2:mean_solar_azimuth": 159.783525917098, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.6316591777781, + 47.76113449967347 + ], + [ + 15.657120560294516, + 47.833130750240834 + ], + [ + 15.710616804532526, + 47.97954239571095 + ], + [ + 15.764066021857507, + 48.12606560428376 + ], + [ + 15.817813091177218, + 48.2726265904545 + ], + [ + 15.872519109449508, + 48.41900045837953 + ], + [ + 15.927608933566882, + 48.56530379366712 + ], + [ + 15.982996310908666, + 48.711556982150206 + ], + [ + 15.996306617907225, + 48.74655675551862 + ], + [ + 16.4932694755772, + 48.7433372246506 + ], + [ + 16.464786866939885, + 47.75581864580811 + ], + [ + 15.6316591777781, + 47.76113449967347 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/GRANULE/L1C_T33UWP_A013118_20190910T095200/IMG_DATA/T33UWP_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWP_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.6316591777781, + 47.75581864580811, + 16.4932694755772, + 48.74655675551862 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE.json new file mode 100644 index 000000000..89c500b4e --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE.json @@ -0,0 +1,695 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 59.3207671111008, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33UWQ_N05.00", + "s2:mgrs_tile": "33UWQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0001, + "s2:mean_solar_zenith": 45.8092607157278, + "s2:mean_solar_azimuth": 160.023209526894, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.96301645244071, + 48.658799149109164 + ], + [ + 15.982996310908666, + 48.711556982150206 + ], + [ + 16.038585054609282, + 48.857728924808406 + ], + [ + 16.094078869579587, + 49.003838699992016 + ], + [ + 16.149831938493833, + 49.1498699202275 + ], + [ + 16.205776390297686, + 49.29591464931502 + ], + [ + 16.2622273238065, + 49.44191609181968 + ], + [ + 16.318508423928247, + 49.5880174129141 + ], + [ + 16.3403037294286, + 49.64392082625591 + ], + [ + 16.520595653725128, + 49.64273706516441 + ], + [ + 16.49066964052278, + 48.65538534877128 + ], + [ + 15.96301645244071, + 48.658799149109164 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/GRANULE/L1C_T33UWQ_A013118_20190910T095200/IMG_DATA/T33UWQ_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33UWQ_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.96301645244071, + 48.65538534877128, + 16.520595653725128, + 49.64392082625591 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE.json new file mode 100644 index 000000000..cd87da0f4 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 51.9659291110514, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33UXP_N05.00", + "s2:mgrs_tile": "33UXP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0108, + "s2:mean_solar_zenith": 44.6440183841524, + "s2:mean_solar_azimuth": 161.619158319578, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.360279246283664, + 48.74498411169783 + ], + [ + 17.852438708473066, + 48.71769475117851 + ], + [ + 17.798094715302927, + 47.73104447774509 + ], + [ + 16.3343313489668, + 47.75740973734738 + ], + [ + 16.360279246283664, + 48.74498411169783 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/GRANULE/L1C_T33UXP_A013118_20190910T095200/IMG_DATA/T33UXP_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXP_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.3343313489668, + 47.73104447774509, + 17.852438708473066, + 48.74498411169783 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE.json new file mode 100644 index 000000000..efe574ef5 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE.json @@ -0,0 +1,667 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 47.52082773448, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE", + "s2:generation_time": "2023-04-29T15:13:37.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI1C", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L1C_DS_S2RP_20230429T151337_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L1C_TL_S2RP_20230429T151337_A013118_T33UXQ_N05.00", + "s2:mgrs_tile": "33UXQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0108, + "s2:mean_solar_zenith": 45.5027769297487, + "s2:mean_solar_azimuth": 161.867557996355, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.3851737331767, + 49.64443670244057 + ], + [ + 17.904572762902152, + 49.61627372192671 + ], + [ + 17.847478451946774, + 48.62982157570405 + ], + [ + 16.357910769851937, + 48.657027178567795 + ], + [ + 16.3851737331767, + 49.64443670244057 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/MTD_MSIL1C.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/DATASTRIP/DS_S2RP_20230429T151337_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B01.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B02.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B03.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B04.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B05.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B06.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B07.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B08.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B8A.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B09.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B10": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B10.jp2", + "type": "image/jp2", + "title": "Band 10 - SWIR - Cirrus - 60m", + "eo:bands": [ + { + "name": "B10", + "description": "Band 10 - SWIR - Cirrus", + "center_wavelength": 1.3735, + "full_width_half_max": 0.075 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B11.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_B12.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/GRANULE/L1C_T33UXQ_A013118_20190910T095200/IMG_DATA/T33UXQ_20190910T095029_TCI.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L1C_N0500/2019/09/10/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337.SAFE/S2B_MSIL1C_20190910T095029_N0500_R079_T33UXQ_20230429T151337-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.357910769851937, + 48.62982157570405, + 17.904572762902152, + 49.64443670244057 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI1C" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE.json new file mode 100644 index 000000000..e0c1ec285 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE.json @@ -0,0 +1,1409 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 44.521128, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE", + "s2:generation_time": "2019-09-10T12:45:13.000000Z", + "s2:processing_baseline": "02.13", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.13", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_MTI__20190910T124513_S20190910T095200_N02.13", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_MTI__20190910T124513_A013118_T33TWN_N02.13", + "s2:mgrs_tile": "33TWN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:nodata_pixel_percentage": 33.393028, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.675055, + "s2:cloud_shadow_percentage": 3.996761, + "s2:vegetation_percentage": 42.600289, + "s2:not_vegetated_percentage": 3.682366, + "s2:water_percentage": 0.033344, + "s2:unclassified_percentage": 4.453947, + "s2:medium_proba_clouds_percentage": 7.334322, + "s2:high_proba_clouds_percentage": 20.980535, + "s2:thin_cirrus_percentage": 16.20627, + "s2:snow_ice_percentage": 0.03711, + "s2:mean_solar_zenith": 44.0991584183932, + "s2:mean_solar_azimuth": 159.531813362975, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.444861597282598, + 46.86290010560831 + ], + [ + 15.31183071907207, + 46.88149751987032 + ], + [ + 15.338289611196274, + 46.95521678246418 + ], + [ + 15.390966472422209, + 47.10161813498074 + ], + [ + 15.444791927935675, + 47.247653834030366 + ], + [ + 15.497949881270555, + 47.393882520175886 + ], + [ + 15.549772019723136, + 47.54053618762919 + ], + [ + 15.605219911107202, + 47.68629327930668 + ], + [ + 15.657081905205992, + 47.83307797270472 + ], + [ + 15.663067914137011, + 47.84946349842912 + ], + [ + 16.467277376768234, + 47.844325046514086 + ], + [ + 16.440149824410025, + 46.85663988190739 + ], + [ + 15.444861597282598, + 46.86290010560831 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/DATASTRIP/DS_MTI__20190910T124513_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "preview": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/QI_DATA/T33TWN_20190910T095029_PVI.jp2", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513.SAFE/S2B_MSIL2A_20190910T095029_N0213_R079_T33TWN_20190910T124513-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.31183071907207, + 46.85663988190739, + 16.467277376768234, + 47.84946349842912 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE.json new file mode 100644 index 000000000..f4fed80ed --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE.json @@ -0,0 +1,1377 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 78.167575, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE", + "s2:generation_time": "2019-09-10T12:45:13.000000Z", + "s2:processing_baseline": "02.13", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.13", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_MTI__20190910T124513_S20190910T095200_N02.13", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_MTI__20190910T124513_A013118_T33TXN_N02.13", + "s2:mgrs_tile": "33TXN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:nodata_pixel_percentage": 0.0, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.360523, + "s2:cloud_shadow_percentage": 0.336392, + "s2:vegetation_percentage": 16.008423, + "s2:not_vegetated_percentage": 4.138201, + "s2:water_percentage": 0.230855, + "s2:unclassified_percentage": 0.758023, + "s2:medium_proba_clouds_percentage": 13.026018, + "s2:high_proba_clouds_percentage": 4.158072, + "s2:thin_cirrus_percentage": 60.983485, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 43.7864951023904, + "s2:mean_solar_azimuth": 161.360399994209, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.33660021997006, + 47.84592105208886 + ], + [ + 17.80284668292451, + 47.81947440295927 + ], + [ + 17.751084998620154, + 46.83262831925138 + ], + [ + 16.31188688551243, + 46.85818197246455 + ], + [ + 16.33660021997006, + 47.84592105208886 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/DATASTRIP/DS_MTI__20190910T124513_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "preview": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/QI_DATA/T33TXN_20190910T095029_PVI.jp2", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513.SAFE/S2B_MSIL2A_20190910T095029_N0213_R079_T33TXN_20190910T124513-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.31188688551243, + 46.83262831925138, + 17.80284668292451, + 47.84592105208886 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE.json new file mode 100644 index 000000000..cbc5a6df6 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE.json @@ -0,0 +1,1405 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 18.279976, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE", + "s2:generation_time": "2019-09-10T12:45:13.000000Z", + "s2:processing_baseline": "02.13", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.13", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_MTI__20190910T124513_S20190910T095200_N02.13", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_MTI__20190910T124513_A013118_T33UWP_N02.13", + "s2:mgrs_tile": "33UWP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:nodata_pixel_percentage": 54.92236, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 1.352937, + "s2:cloud_shadow_percentage": 2.364761, + "s2:vegetation_percentage": 57.963973, + "s2:not_vegetated_percentage": 15.533578, + "s2:water_percentage": 0.356046, + "s2:unclassified_percentage": 4.148561, + "s2:medium_proba_clouds_percentage": 4.697439, + "s2:high_proba_clouds_percentage": 6.792469, + "s2:thin_cirrus_percentage": 6.790069, + "s2:snow_ice_percentage": 0.000169, + "s2:mean_solar_zenith": 44.9536568849222, + "s2:mean_solar_azimuth": 159.782654740994, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.631662816257208, + 47.76113447645779 + ], + [ + 15.657081905205992, + 47.83307797270472 + ], + [ + 15.710570169434488, + 47.97949160816187 + ], + [ + 15.764039003164896, + 48.126009379104055 + ], + [ + 15.81778554333848, + 48.272570340647 + ], + [ + 15.872493644825884, + 48.41894350808384 + ], + [ + 15.92758789432043, + 48.56524552456526 + ], + [ + 15.982974989379908, + 48.71149865233935 + ], + [ + 15.996305449661863, + 48.74655676308699 + ], + [ + 16.4932694755772, + 48.7433372246506 + ], + [ + 16.464786866939885, + 47.75581864580811 + ], + [ + 15.631662816257208, + 47.76113447645779 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/DATASTRIP/DS_MTI__20190910T124513_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "preview": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/QI_DATA/T33UWP_20190910T095029_PVI.jp2", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513.SAFE/S2B_MSIL2A_20190910T095029_N0213_R079_T33UWP_20190910T124513-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.631662816257208, + 47.75581864580811, + 16.4932694755772, + 48.74655676308699 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE.json new file mode 100644 index 000000000..8c94ccb6e --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE.json @@ -0,0 +1,1377 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 51.639935, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE", + "s2:generation_time": "2019-09-10T12:45:13.000000Z", + "s2:processing_baseline": "02.13", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.13", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_MTI__20190910T124513_S20190910T095200_N02.13", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_MTI__20190910T124513_A013118_T33UXP_N02.13", + "s2:mgrs_tile": "33UXP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:nodata_pixel_percentage": 3e-06, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 2.167203, + "s2:cloud_shadow_percentage": 2.602274, + "s2:vegetation_percentage": 24.387474, + "s2:not_vegetated_percentage": 12.379172, + "s2:water_percentage": 0.309763, + "s2:unclassified_percentage": 6.513844, + "s2:medium_proba_clouds_percentage": 19.067624, + "s2:high_proba_clouds_percentage": 16.676113, + "s2:thin_cirrus_percentage": 15.896198, + "s2:snow_ice_percentage": 0.000332, + "s2:mean_solar_zenith": 44.6441560946082, + "s2:mean_solar_azimuth": 161.618278923701, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.360279246283664, + 48.74498411169783 + ], + [ + 17.852438708473066, + 48.71769475117851 + ], + [ + 17.798094715302927, + 47.73104447774509 + ], + [ + 16.3343313489668, + 47.75740973734738 + ], + [ + 16.360279246283664, + 48.74498411169783 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/DATASTRIP/DS_MTI__20190910T124513_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "preview": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/QI_DATA/T33UXP_20190910T095029_PVI.jp2", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513.SAFE/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXP_20190910T124513-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.3343313489668, + 47.73104447774509, + 17.852438708473066, + 48.74498411169783 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE.json new file mode 100644 index 000000000..16b707d2d --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE.json @@ -0,0 +1,1377 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 38.0614, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE", + "s2:generation_time": "2019-09-10T12:45:13.000000Z", + "s2:processing_baseline": "02.13", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N02.13", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_MTI__20190910T124513_S20190910T095200_N02.13", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_MTI__20190910T124513_A013118_T33UXQ_N02.13", + "s2:mgrs_tile": "33UXQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0, + "s2:nodata_pixel_percentage": 0.0, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 1.411389, + "s2:cloud_shadow_percentage": 3.577536, + "s2:vegetation_percentage": 34.950623, + "s2:not_vegetated_percentage": 14.769036, + "s2:water_percentage": 0.22127, + "s2:unclassified_percentage": 6.992349, + "s2:medium_proba_clouds_percentage": 8.995432, + "s2:high_proba_clouds_percentage": 19.044973, + "s2:thin_cirrus_percentage": 10.020995, + "s2:snow_ice_percentage": 0.016397, + "s2:mean_solar_zenith": 45.5029104836805, + "s2:mean_solar_azimuth": 161.866690183624, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.3851737331767, + 49.64443670244057 + ], + [ + 17.904572762902152, + 49.61627372192671 + ], + [ + 17.847478451946774, + 48.62982157570405 + ], + [ + 16.357910769851937, + 48.657027178567795 + ], + [ + 16.3851737331767, + 49.64443670244057 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/DATASTRIP/DS_MTI__20190910T124513_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "preview": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/QI_DATA/T33UXQ_20190910T095029_PVI.jp2", + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A/2019/09/10/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513.SAFE/S2B_MSIL2A_20190910T095029_N0213_R079_T33UXQ_20190910T124513-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.357910769851937, + 48.62982157570405, + 17.904572762902152, + 49.64443670244057 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE.json new file mode 100644 index 000000000..82edd7921 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE.json @@ -0,0 +1,1437 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 53.0536, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33TWN_N05.00", + "s2:mgrs_tile": "33TWN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0078, + "s2:nodata_pixel_percentage": 33.846307, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.107138, + "s2:cloud_shadow_percentage": 7.367544, + "s2:vegetation_percentage": 34.961432, + "s2:not_vegetated_percentage": 3.429612, + "s2:water_percentage": 0.036587, + "s2:unclassified_percentage": 1.04402, + "s2:medium_proba_clouds_percentage": 13.516408, + "s2:high_proba_clouds_percentage": 21.180651, + "s2:thin_cirrus_percentage": 18.356542, + "s2:snow_ice_percentage": 7e-05, + "s2:mean_solar_zenith": 44.0990034305175, + "s2:mean_solar_azimuth": 159.532696066021, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.445301346124024, + 46.86289733964962 + ], + [ + 15.311863606240896, + 46.88155190097966 + ], + [ + 15.338319066528848, + 46.955271231045074 + ], + [ + 15.390995983857032, + 47.101672701706896 + ], + [ + 15.444822021173453, + 47.247708340802895 + ], + [ + 15.497976349912156, + 47.39393813805563 + ], + [ + 15.549799967027868, + 47.540591585633614 + ], + [ + 15.605214478403314, + 47.68635775881352 + ], + [ + 15.657120560294516, + 47.833130750240834 + ], + [ + 15.663088212288423, + 47.8494633687352 + ], + [ + 16.467277376768234, + 47.844325046514086 + ], + [ + 16.440149824410025, + 46.85663988190739 + ], + [ + 15.445301346124024, + 46.86289733964962 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R10m/T33TWN_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R20m/T33TWN_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/GRANULE/L2A_T33TWN_A013118_20190910T095200/IMG_DATA/R60m/T33TWN_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5190240.0, + 609780.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33TWN_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.311863606240896, + 46.85663988190739, + 16.467277376768234, + 47.8494633687352 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE.json new file mode 100644 index 000000000..27157ae8f --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE.json @@ -0,0 +1,1405 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 78.362733, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33TXN_N05.00", + "s2:mgrs_tile": "33TXN", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0104, + "s2:nodata_pixel_percentage": 0.0, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.008676, + "s2:cloud_shadow_percentage": 1.213184, + "s2:vegetation_percentage": 15.38761, + "s2:not_vegetated_percentage": 4.514524, + "s2:water_percentage": 0.263413, + "s2:unclassified_percentage": 0.24986, + "s2:medium_proba_clouds_percentage": 14.276174, + "s2:high_proba_clouds_percentage": 4.266522, + "s2:thin_cirrus_percentage": 59.820038, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 43.7863531473642, + "s2:mean_solar_azimuth": 161.36129143083, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.33660021997006, + 47.84592105208886 + ], + [ + 17.80284668292451, + 47.81947440295927 + ], + [ + 17.751084998620154, + 46.83262831925138 + ], + [ + 16.31188688551243, + 46.85818197246455 + ], + [ + 16.33660021997006, + 47.84592105208886 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R10m/T33TXN_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R20m/T33TXN_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/GRANULE/L2A_T33TXN_A013118_20190910T095200/IMG_DATA/R60m/T33TXN_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5190240.0, + 709800.0, + 5300040.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5300040.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.31188688551243, + 46.83262831925138, + 17.80284668292451, + 47.84592105208886 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE.json new file mode 100644 index 000000000..a94894963 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE.json @@ -0,0 +1,1433 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 34.630349, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33UWP_N05.00", + "s2:mgrs_tile": "33UWP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0001, + "s2:nodata_pixel_percentage": 55.381244, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.106483, + "s2:cloud_shadow_percentage": 6.056742, + "s2:vegetation_percentage": 46.635726, + "s2:not_vegetated_percentage": 11.429635, + "s2:water_percentage": 0.200846, + "s2:unclassified_percentage": 0.940219, + "s2:medium_proba_clouds_percentage": 9.542563, + "s2:high_proba_clouds_percentage": 7.036104, + "s2:thin_cirrus_percentage": 18.051681, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 44.9535062944708, + "s2:mean_solar_azimuth": 159.783525917098, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.6316591777781, + 47.76113449967347 + ], + [ + 15.657120560294516, + 47.833130750240834 + ], + [ + 15.710616804532526, + 47.97954239571095 + ], + [ + 15.764066021857507, + 48.12606560428376 + ], + [ + 15.817813091177218, + 48.2726265904545 + ], + [ + 15.872519109449508, + 48.41900045837953 + ], + [ + 15.927608933566882, + 48.56530379366712 + ], + [ + 15.982996310908666, + 48.711556982150206 + ], + [ + 15.996306617907225, + 48.74655675551862 + ], + [ + 16.4932694755772, + 48.7433372246506 + ], + [ + 16.464786866939885, + 47.75581864580811 + ], + [ + 15.6316591777781, + 47.76113449967347 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R10m/T33UWP_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R20m/T33UWP_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/GRANULE/L2A_T33UWP_A013118_20190910T095200/IMG_DATA/R60m/T33UWP_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5290200.0, + 609780.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWP_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.6316591777781, + 47.75581864580811, + 16.4932694755772, + 48.74655675551862 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE.json new file mode 100644 index 000000000..dad9111bc --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE.json @@ -0,0 +1,1433 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 46.90851, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33UWQ_N05.00", + "s2:mgrs_tile": "33UWQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0001, + "s2:nodata_pixel_percentage": 76.892251, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.001077, + "s2:cloud_shadow_percentage": 5.51787, + "s2:vegetation_percentage": 31.712502, + "s2:not_vegetated_percentage": 15.536624, + "s2:water_percentage": 0.066722, + "s2:unclassified_percentage": 0.256695, + "s2:medium_proba_clouds_percentage": 9.585929, + "s2:high_proba_clouds_percentage": 3.552645, + "s2:thin_cirrus_percentage": 33.769935, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 45.8092607157278, + "s2:mean_solar_azimuth": 160.023209526894, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 15.96301645244071, + 48.658799149109164 + ], + [ + 15.982996310908666, + 48.711556982150206 + ], + [ + 16.038585054609282, + 48.857728924808406 + ], + [ + 16.094078869579587, + 49.003838699992016 + ], + [ + 16.149831938493833, + 49.1498699202275 + ], + [ + 16.205776390297686, + 49.29591464931502 + ], + [ + 16.2622273238065, + 49.44191609181968 + ], + [ + 16.318508423928247, + 49.5880174129141 + ], + [ + 16.3403037294286, + 49.64392082625591 + ], + [ + 16.520595653725128, + 49.64273706516441 + ], + [ + 16.49066964052278, + 48.65538534877128 + ], + [ + 15.96301645244071, + 48.658799149109164 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R10m/T33UWQ_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 499980.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R20m/T33UWQ_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 499980.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/GRANULE/L2A_T33UWQ_A013118_20190910T095200/IMG_DATA/R60m/T33UWQ_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 499980.0, + 5390220.0, + 609780.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 499980.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33UWQ_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 15.96301645244071, + 48.65538534877128, + 16.520595653725128, + 49.64392082625591 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE.json new file mode 100644 index 000000000..6eb71bc67 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE.json @@ -0,0 +1,1405 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 62.801784, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33UXP_N05.00", + "s2:mgrs_tile": "33UXP", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0108, + "s2:nodata_pixel_percentage": 0.0, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.023583, + "s2:cloud_shadow_percentage": 7.28609, + "s2:vegetation_percentage": 18.046941, + "s2:not_vegetated_percentage": 9.782058, + "s2:water_percentage": 0.216944, + "s2:unclassified_percentage": 1.842598, + "s2:medium_proba_clouds_percentage": 25.349292, + "s2:high_proba_clouds_percentage": 17.161708, + "s2:thin_cirrus_percentage": 20.290786, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 44.6440183841524, + "s2:mean_solar_azimuth": 161.619158319578, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.360279246283664, + 48.74498411169783 + ], + [ + 17.852438708473066, + 48.71769475117851 + ], + [ + 17.798094715302927, + 47.73104447774509 + ], + [ + 16.3343313489668, + 47.75740973734738 + ], + [ + 16.360279246283664, + 48.74498411169783 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R10m/T33UXP_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R20m/T33UXP_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/GRANULE/L2A_T33UXP_A013118_20190910T095200/IMG_DATA/R60m/T33UXP_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5290200.0, + 709800.0, + 5400000.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5400000.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXP_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.3343313489668, + 47.73104447774509, + 17.852438708473066, + 48.74498411169783 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE.json b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE.json new file mode 100644 index 000000000..e3e71707c --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE.json @@ -0,0 +1,1405 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE", + "properties": { + "providers": [ + { + "name": "ESA", + "roles": [ + "producer", + "processor", + "licensor" + ], + "url": "https://earth.esa.int/web/guest/home" + } + ], + "platform": "Sentinel-2B", + "constellation": "Sentinel 2", + "instruments": [ + "msi" + ], + "eo:cloud_cover": 50.333804, + "sat:orbit_state": "descending", + "sat:relative_orbit": 79, + "proj:epsg": 32633, + "s2:product_uri": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE", + "s2:generation_time": "2023-04-30T08:37:12.000000Z", + "s2:processing_baseline": "05.00", + "s2:product_type": "S2MSI2A", + "s2:datatake_id": "GS2B_20190910T095029_013118_N05.00", + "s2:datatake_type": "INS-NOBS", + "s2:datastrip_id": "S2B_OPER_MSI_L2A_DS_S2RP_20230430T083712_S20190910T095200_N05.00", + "s2:granule_id": "S2B_OPER_MSI_L2A_TL_S2RP_20230430T083712_A013118_T33UXQ_N05.00", + "s2:mgrs_tile": "33UXQ", + "s2:reflectance_conversion_factor": 0.984745756818796, + "s2:degraded_msi_data_percentage": 0.0108, + "s2:nodata_pixel_percentage": 0.0, + "s2:saturated_defective_pixel_percentage": 0.0, + "s2:dark_features_percentage": 0.000246, + "s2:cloud_shadow_percentage": 7.545094, + "s2:vegetation_percentage": 27.752319, + "s2:not_vegetated_percentage": 12.371027, + "s2:water_percentage": 0.184502, + "s2:unclassified_percentage": 1.81301, + "s2:medium_proba_clouds_percentage": 15.143655, + "s2:high_proba_clouds_percentage": 19.431418, + "s2:thin_cirrus_percentage": 15.758727, + "s2:snow_ice_percentage": 0.0, + "s2:mean_solar_zenith": 45.5027769297487, + "s2:mean_solar_azimuth": 161.867557996355, + "datetime": "2019-09-10T09:50:29.024000Z", + "title": "S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 16.3851737331767, + 49.64443670244057 + ], + [ + 17.904572762902152, + 49.61627372192671 + ], + [ + 17.847478451946774, + 48.62982157570405 + ], + [ + 16.357910769851937, + 48.657027178567795 + ], + [ + 16.3851737331767, + 49.64443670244057 + ] + ] + ] + }, + "links": [ + { + "rel": "license", + "href": "https://sentinel.esa.int/documents/247904/690755/Sentinel_Data_Legal_Notice" + }, + { + "rel": "alternate", + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/", + "type": "application/octet-stream", + "name": "product", + "description": "product" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wms", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwms&service=WMS&version=1.3.0&request=GetCapabilities&cql=identifier%3D%22S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE%22", + "type": "OGC:WMS", + "name": "OGC WMS", + "description": "WMS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE" + }, + { + "rel": "http://www.opengis.net/def/serviceType/ogc/wcs", + "href": "https://data-access-v1x.develop.eoepca.org/ows?rel=http%3A%2F%2Fwww.opengis.net%2Fdef%2FserviceType%2Fogc%2Fwcs&service=WCS&version=2.0.1&request=DescribeEOCoverageSet&eoid=S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE", + "type": "OGC:WCS", + "name": "OGC WCS", + "description": "WCS URL for S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE" + } + ], + "assets": { + "safe-manifest": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/manifest.safe", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "product-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/MTD_MSIL2A.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "granule-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/MTD_TL.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "inspire-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/INSPIRE.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "datastrip-metadata": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/DATASTRIP/DS_S2RP_20230430T083712_S20190910T095200/MTD_DS.xml", + "type": "application/xml", + "roles": [ + "metadata" + ] + }, + "B02": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B02_10m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B03_10m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B04_10m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B08": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_B08_10m.jp2", + "type": "image/jp2", + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ], + "gsd": 10, + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_TCI_10m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_AOT_10m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-10m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R10m/T33UXQ_20190910T095029_WVP_10m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 10980, + 10980 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 10.0, + 0.0, + 600000.0, + 0.0, + -10.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B01_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B01_20m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 20m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B02_20m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 20m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B03_20m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 20m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B04_20m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 20m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B05_20m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B06_20m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B07_20m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B8A_20m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B11_20m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_B12_20m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "gsd": 20, + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_TCI_20m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_AOT_20m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_WVP_20m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-20m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R20m/T33UXQ_20190910T095029_SCL_20m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 5490, + 5490 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 20.0, + 0.0, + 600000.0, + 0.0, + -20.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B01": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B01_60m.jp2", + "type": "image/jp2", + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B02_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B02_60m.jp2", + "type": "image/jp2", + "title": "Band 2 - Blue - 60m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B03_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B03_60m.jp2", + "type": "image/jp2", + "title": "Band 3 - Green - 60m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B04_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B04_60m.jp2", + "type": "image/jp2", + "title": "Band 4 - Red - 60m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B05_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B05_60m.jp2", + "type": "image/jp2", + "title": "Band 5 - Vegetation red edge 1 - 60m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B06_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B06_60m.jp2", + "type": "image/jp2", + "title": "Band 6 - Vegetation red edge 2 - 60m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B07_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B07_60m.jp2", + "type": "image/jp2", + "title": "Band 7 - Vegetation red edge 3 - 60m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B8A_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B8A_60m.jp2", + "type": "image/jp2", + "title": "Band 8A - Vegetation red edge 4 - 60m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B09": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B09_60m.jp2", + "type": "image/jp2", + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ], + "gsd": 60, + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B11_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B11_60m.jp2", + "type": "image/jp2", + "title": "Band 11 - SWIR (1.6) - 60m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "B12_60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_B12_60m.jp2", + "type": "image/jp2", + "title": "Band 12 - SWIR (2.2) - 60m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "visual-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_TCI_60m.jp2", + "type": "image/jp2", + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ], + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "AOT-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_AOT_60m.jp2", + "type": "image/jp2", + "title": "Aerosol optical thickness (AOT)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "WVP-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_WVP_60m.jp2", + "type": "image/jp2", + "title": "Water vapour (WVP)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "SCL-60m": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/GRANULE/L2A_T33UXQ_A013118_20190910T095200/IMG_DATA/R60m/T33UXQ_20190910T095029_SCL_60m.jp2", + "type": "image/jp2", + "title": "Scene classfication map (SCL)", + "proj:shape": [ + 1830, + 1830 + ], + "proj:bbox": [ + 600000.0, + 5390220.0, + 709800.0, + 5500020.0 + ], + "proj:transform": [ + 60.0, + 0.0, + 600000.0, + 0.0, + -60.0, + 5500020.0 + ], + "roles": [ + "data" + ] + }, + "thumbnail": { + "href": "s3://EODATA/Sentinel-2/MSI/L2A_N0500/2019/09/10/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE/S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712-ql.jpg", + "type": "image/jpeg", + "roles": [ + "thumbnail" + ] + } + }, + "bbox": [ + 16.357910769851937, + 48.62982157570405, + 17.904572762902152, + 49.64443670244057 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/sat/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "S2MSI2A" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/S2MSI1C.xml b/tests/functionaltests/suites/stac_api/data/S2MSI1C.xml new file mode 100644 index 000000000..bfdf6b587 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2MSI1C.xml @@ -0,0 +1,376 @@ +sqlite> select xml from records where identifier = 'S2MSI1C'; + + + S2MSI1C + + + eng + + + utf8 + + + dataset + + + 2021-02-16 + + + ISO 19115:2003 - Geographic information - Metadata + + + ISO 19115:2003 + + + https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi + + + + + + + + + + + European Petroleum Survey Group (EPSG) Geodetic Parameter Registry + + + + + 2008-11-12 + + + publication + + + + + + + European Petroleum Survey Group + + + + + + + http://www.epsg-registry.org + + + + + + + originator + + + + + + + urn:ogc:def:crs:EPSG:4326 + + + 6.18.3 + + + + + + + + + + + Sentinel-2 MSI Level 1C + + + + + 2015-06-21 + + + creation + + + + + + + 2015-06-21 + + + publication + + + + + + + Sentinel-2 MultiSpectral Instrument Level 1C + + + onGoing + + + + + Firstname Lastname + + + European Space Agency + + + Position name + + + + + + + TBD + + + TBD + + + + + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + + + https://www.esa.int + + + WWW:LINK + + + information + + + + + TBD + + + TBD + + + + + pointOfContact + + + + + + + continual + + + + + + + sentinel-2 + + + level-1c + + + + + + + + + + None + + + + + grid + + + eng + + + utf8 + + + imageryBaseMapsEarthCover + + + + + + + 1 + + + -180 + + + 180 + + + -56 + + + 82 + + + + + + + + 2015-06-21 + + + + + + + + + https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi + + + + + + + + + + + Firstname Lastname + + + European Space Agency + + + Position name + + + + + + + TBD + + + TBD + + + + + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + + + https://www.esa.int + + + WWW:LINK + + + information + + + + + TBD + + + TBD + + + + + distributor + + + + + + + + + + + http://example.org/ + + + OGC:WMS + + + TBD + + + TBD + + + download + + + + + + + + + + + continual + + + This metadata record was generated by pygeometa-0.15.3 (https://github.com/geopython/pygeometa) + + + + diff --git a/tests/functionaltests/suites/stac_api/data/S2MSI2A.xml b/tests/functionaltests/suites/stac_api/data/S2MSI2A.xml new file mode 100644 index 000000000..a9909ae2e --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/S2MSI2A.xml @@ -0,0 +1,375 @@ +i + + S2MSI2A + + + eng + + + utf8 + + + dataset + + + 2021-02-16 + + + ISO 19115:2003 - Geographic information - Metadata + + + ISO 19115:2003 + + + https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi + + + + + + + + + + + European Petroleum Survey Group (EPSG) Geodetic Parameter Registry + + + + + 2008-11-12 + + + publication + + + + + + + European Petroleum Survey Group + + + + + + + http://www.epsg-registry.org + + + + + + + originator + + + + + + + urn:ogc:def:crs:EPSG:4326 + + + 6.18.3 + + + + + + + + + + + Sentinel-2 MSI Level 2A + + + + + 2015-06-21 + + + creation + + + + + + + 2015-06-21 + + + publication + + + + + + + Sentinel-2 MultiSpectral Instrument Level 2A + + + onGoing + + + + + Firstname Lastname + + + European Space Agency + + + Position name + + + + + + + TBD + + + TBD + + + + + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + + + https://www.esa.int + + + WWW:LINK + + + information + + + + + TBD + + + TBD + + + + + pointOfContact + + + + + + + continual + + + + + + + sentinel-2 + + + level-2a + + + + + + + + + + None + + + + + grid + + + eng + + + utf8 + + + imageryBaseMapsEarthCover + + + + + + + 1 + + + -180 + + + 180 + + + -56 + + + 82 + + + + + + + + 2015-06-21 + + + + + + + + + https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi + + + + + + + + + + + Firstname Lastname + + + European Space Agency + + + Position name + + + + + + + TBD + + + TBD + + + + + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + TBD + + + + + + + https://www.esa.int + + + WWW:LINK + + + information + + + + + TBD + + + TBD + + + + + distributor + + + + + + + + + + + http://example.org/ + + + OGC:WMS + + + TBD + + + TBD + + + download + + + + + + + + + + + continual + + + This metadata record was generated by pygeometa-0.15.3 (https://github.com/geopython/pygeometa) + + + + diff --git a/tests/functionaltests/suites/stac_api/data/records.db b/tests/functionaltests/suites/stac_api/data/records.db new file mode 100644 index 0000000000000000000000000000000000000000..13e05e6cbec3749fd6881f9176ad178f4647ceb0 GIT binary patch literal 2768896 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

NmAA!{-7)F+eZgw7HP(Zn`l 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

lDfEYUa!>hx7mcRXdKn6?Ptv#&WxAEVge~ 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 z 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 P8>HHPSz{d*_Dn|!g>rfns3;W6ydh{zq zGEe^B&_;;a3agM~s#Qs$jhOg8arY@3V4ZmiiyI6&)1jsx`M_W>j;9nG!N^k(XmEru zD-1%kFcc`&9WbpPES$9w6J<4hG&TC=)eZ1Lx-G728UDBi3Vs$ zL*r?GMC`bDN-_~z5Nqg&pjhA^xp(u(u?`Lf1>8Th5W$+8k9|kBFjPsCQTc3|u!IG2 z3cyX6X75zl6P|l2w#UFxE(pIqYaE0Qp*z`-{bjy=_S0ACeT@i~1!m2zM1RsUZw-s; zDYlDr3*u+Jn7V4@oelFvOrFhgZM+Z6-e13s*k>Wib?J~qZ~?8gC{68N{(9C%WU5AO zqDx1W{8tx6pqUCXQ!-2wWHb_VQc)!l#3Q|>c}V*sTGC3wjhgd@P{dn4@l+jx7<0v( z#CJ8v#CQ-xWSAnPV~KYvf|zP$q1B*x7_z{G)q)nil&mOucwaGi(8_>hgQ>WYB=kbp zQ0N;e=qMd3pH)6B(1;?3Go@HQw6m&{#0i~TP7s-ro`lsxMNFrXCU2nv>C%Nh0XxK& zl7CIb6O7V(f}ReBO7~fxNsw3Z36=t-SkzZcZH=PqsR?hPHR)>$i`sXyIL@oZhm*$X|Vx8k-eTA`Fz?_|rm4s@bx;069jW}ZBnjM@Qs^b|Iz7)r&*arr>Cu(jQj<>&-$ObC z-Ly8guIDWQW|B|w?4f!}B+uv~;Z)@*^?;NE6|1rLO25iy?lh$QVPYhA;DaI<7f{ji zDA0hv9>ZBRKmIzd4WM1sW4+;(T08yfke) zF%?eOb2&YT{`r(mAj18SR)+c6?WRLF8g~x+Bj-?P&PZG3uePP<`Fc%0OTessQMK;Q zVf4no`bEw&7Re*>t)qbu_1r`qZQxg64Sf>!+3Z*!0cVt+Q`DY?fTPp-?6PvcD$~*V zJncS>LmZpMWxP92UKt$Q&j8y&0&%_bt{H%Io&Sam&#b_%(Q(2ECX#KR`y4e~3s$FfQ z^1ci!(4ZoxHtJmubi;FP}=Q-CR&zd>43D%96HGx7ycq zJzq9e!meWqFOSY%5hPw5buuR1C4&Wq%P@7#y;4kF4npcX3vXW9j6MhM3rhpxZ@`fU zjAFncL!zd4Tr5^Y#vksbArW-|SOI5NeIv*9J2<$%!V|6|3XE#KGQ4)*3GHday%Nfz zo`f=5bY9r7bjj&}RS6LIm539Q*MzXDeBvME&!;p_diCDY#QB~|N{ybr&uoh4VpEG}9tXJgMAXB>5WetLeX=6HosNJ{2bLE0!!^vv9QWHyM=yrfUz#Tff!A8^Y7N7QW* zGz1Gxfv85W?j=+i#4vp?x*Mx?;~?cuvk*N-hjb<~Vq~MYSVhM4hr$cZ#N(YyJ$cJ; zqJ{;gmzv@|KRQ01U0pr@(EYCSYW87vdVbNFozE_gk2>docPmx}3l5%&v|)Cuc%2%UL^eaCo9_cP${o?iPX#Spe32$#MXR|a6{Msnd zOI%BLuHu$Pm!BD&h(G*1xA%FXg*QpS@&zhyiuZ=0aAx-lp+ekN*y3`0MdV#2S;#?+ zaL;|rOYq-x57RYF+!R~V@zKT(h&B)t3{d!QVq@ZBx_s&GiGeSci`**YX(IRq*SU4EH{FeS>hLo0D+$4P+(dw&T zoGoVCG6*8K5}chR5UR(XUXW3tBUK(xI)5XqR@XBvr+8%w!_kYGD`+$g;Q7TovA3UK zSAjipT%4c&>P?cshXcbDd_qMUlmimosf)PyP4Qe@{g0F}q&s zOx!eT)=?vcmSiAq7q6l#jTXGbVfA8!s{Yd2>!dk%q6RSesWa`D`d|sg zyz0!H;#E(D#!Pa+gl3LhvImBm<<~3So@yJ@7G{tT6U-noElb*A#@Tbrp5IU-at<#Q zYnqO8XwdlfAXTeT#JtBjD3zm_5#${4I=w8P4dXe7I!|NAp-owE4xIyvpYq$O26C#Q z;~a5`c!Qab=-DxIzuwZntG3_df`YSloq@56aa0R!^*>(~UB|%JtP!2fg4lJNC}MHo zdC^a*xaEPH$meNy4rxy)pM5vymKL_II&V(qZ{NS{oSaAH>Di>`mdVx!PPHQ=D^2FGZ>=2<8A zWK#hT9$4Ut<~}9_jKs8&*f?SiXf0D~e8Q|xs!lZ=re~E?GmC5$ zwpK4PGf(d?%L)`O&;M|AkBl}ZTr`YubY|_5pD@aS+YK4%khGXL zxww`ocTp6gRLbD+#p^Q1tbXHS~QLt+#<85w|+UWn9Ni!Kd{UBuP$Z>V)Vh{ zp?TQ);`9AySAjCA`NvVM4)s6#*!%%MIemQm|NTrf2Wk4ADE@y#iSOY5zx_V=|J?L0 zp0pMGe@pVThW~F(o|f?ct;y38{=YSOTEhRgBu{Jj|CZ#*F2kGnwnhB^W6E=l9m`Gc z#%n(}8;{3Z#9y`~Piy%9*5p~ilWr6L-&q}=BCjP%IdD_DNZ%ZEg|KHu}^R$Nl-OPSJikT!|F_2fXGUcAkoC8T|KFg9@3ATC&K-6d|9?lC z9|8XVewp_8e~1+u-fcTVs%l1|t8|*#PW1uFYmyiJ#=2k2YU5GHWL@lKR7~L#{qgE{*n;6 zXcP8u|2^EFg%sSsgVTh=@E}&!@4~D1;6Qw}eRquu0Nfrh+lhhgWefASHYJN`U(N-9 zH-p#NacysYS@wbp0IqHr%)f^K(!<4bQjlhlyvEA2Ilia>@*_MBylA*L_&-0*mTm3Q zeF*&G0+@7gdVuaC+JVqU^Whqs&IePJB3zow`)45~K1^W8p0Jaoy3uq(kvfa>*HctdR)HM+q6g`KbX6q)RpT~g! z36;}2ZWr~Q4B*kp06JJj65KQEbmQE(M|aeN)Y+r|HKkhKJ^Fu-{@iL{quafjX!Gi|NT-gW;aFrJ^J5pXOI5h zqyKju{eQos!wB!u|9kZR$@#&L0R8{1F`y~nJ^KIYq5psHvC;q5|1TaJ|3Ck@VN1am zE7BlcI+-DO|99Sha5&!J%P}tQdi|{9|3j#|+xE7O|KD1^@5hbT3;h44 zczuJl+FE9~*5tW`|2Lh#1NQbn{iOZ5t{*I`yD!fg{$DSA*Xw5u|GyjY`ayeJ!~g#X z{AUgSzb#xvi}7s@|8Iq8$Ngs=|G)e3KqAlUc#YM1=j&$;|G%}gm)r9n=k6v*0L2pt`j{V&@KG`ZaC0`@~ogQr5o6Z zp#7jctN8z(z0o_+NqA76HT?f>41yk%XAS?q^8rp$k{jryZNs~7Z>#wK@FwrN|E%Nx zcVpD>kOSSq|L?{$_Jabgv_N*w?|w*F$N%qqlX@HfzZ(+?4_Mr7{Qu6^&~5zxQx<3) z|KED_TF3uqzjnLr+a3J>7JCfF|CgVO|8ITv_OtQ-_YCb;@&AcN=O3?r|8jQv&D;6> z;_Lp=*S**N-%7#Yh?EW9SCTgPCT&B`Z7qY=JYYE=v3Pu{O!H*dd!}^y!^b z5&nVnDCrg4PMEdG3=c5@b(-v)g$Dxfl`o_xUrHq?l~1G+l)?#Bf>J4PDnY4SB9)*N z;G;=UDp!zPBLiUlfy^rdS#p{LrOCM}FNr)qO@h)S;*pfcu_i&OzkUM)lp4if$D0JD z{>pGvz<=nivE)BZf>M8#bpm8k2}&hLX%du503!R#fO9n#?dwhSETIq63*t@|I7Pv?s}jx=F3K$WWS3SxW=Yg)g=n%sPk9NhO{% zq|lJfcR-Y+CzW=)z9%!XCySTC^+K#Auc^G<&G%d^EgwK)eGe=-IZQzoo9_Whs;1`F zeP>thcGZ_|B8yeLVk@Elm+{UwD-#vI?1PBQ7sBv48o z*W_SLo^sDB;fEAc3GL;-On%qozfAsezZ*OqcI3;6xXByIx}<@s446r#DQ{0skmD?> zrh`UXV_%aUT(a}}c@kwNz1y&!2ej>e!3!RCWM++`rFaSm{IDYvTxzLN!uQ7eH(5oK zZgY?{=L|2IMJ0__GPjp2DY;zLfKNc~(HjkQI}{-IshmYI!OA|Agk+8f5S8>fal!QTt?xT=7IYLPqbSr6lS0=^! zNBmse2it^(kA+22Np~3o(g3No9Gy}K1uk&#eiUEq6k`ZIIXhic2!F@rrSv{3O}YDL`Au4D-z&AXFe!&plgL{blV5F-=DH$gG?heW#P;T< z-a=Kt&%EVR(nK}+ugf?h9UhE}wj~!{oIUD=Uj|l1n=m zxZAZ!gVpPF1L{joKmj-3V`LsTN_>`zHg9UNN8BbEv|NZu0xe!t^5+Dt2K3sbP#0$^ zYoO>!@=BL3HDZ${U9i;9G^x=QNCP4rdM-~Hk~r)ZL9aN@p~Dfyv=^Twi#?P(tj`jZ zD5<$}1}~}%t`u9@B9jG>E>=_XB^jCYW6qXYEp!tJ0PLp++0JASQ=j=N%VN^b#)?A7 zA((=)Ykd>#JuZ(-oK#DdlUeI3$FKO8hApY&`kg^f9`mS?RjpG6Oa?49Z4IT>HcbJN za{B`W9U6jCy|2zlL&pG%4@Bd_u%$Ls3}!M++Flhp5;iI&v`5Pl%%Wl>1(6>h=#W9a zPgfw^EPTNnAj=^V4mqSHv+JknsAehNH2@PGLH$cvj!HwCY7QK#049;2CbFZs2=Y-P zdOxLfqs|mZf_mr+Ptt+L=X3hF!~Nn(5dDW5r1(2|9oOZN?iq`R?7aNKah2-0B);fE zG>TGoC&P4c1&oCU1Rh=dBk0(FjX`IL0>M0gd-I zkCjiikGw%DUVaqf5aq2KVJT4|(*7brav!>*z^OVEsl@eVa&Ur+>heso0r&PwRQFi} zRLR2imMUR5!>^>_>?4W8`&xxc9nq=a7OO;Su^137yAEqHs zzEkZ%B^T%ONidFNp-D2%qbt$4wxE)Y>)j>cI6@X-D7`l!$g{-4Ci%D?S|uPSUnLfU11OUI8ntq(faA5uA~ZF65f_aG)p1_^nE|y7h&GUF85f6+tzZUpsu`meFQ3O$ z&t$2=D;+TbPi!D|A}_y)ds4SXCK9GObtSnH*QuBwc}vnsZMdTLC7&VW!Tiett^}A8!@d3bFFNfo>dt) z^|6z6bHaq0%$rPs`AnHyGH^0?TB$6Y>7h5NI6YHmEL^EchF{0BAkt%62Pq~$)*5&jdD5k2jlSKO?_Ex^!MGjoYI(=hevgdyFi)wGEC9T6(zgU17@+4nom*-dK5_TrxXPlk3q@?4VG=9yrSgw!fB(I=IX(QXyu7>l?rn~jT2m;>L}!8^*NeK6v|#!CFrK;!~1qr3Bc2zi#l0SW!Yvxl|fmN z5DirpW)PVM%aa-`nQ6q{_z$=jS{SR+xiF8Av`-CbTa+SnOU!EpCtQ6a1cOGvP z*uAvUYOT-f^of*<2WslZJ|iRY%AL5hH}!FRdUSR5I$5l5(hVP z8a|k#YKr&#=s4-PpMU6n*LgMjFgrcJ=*-S%7sp4P^UI_sPutmF$nx;Xk1%QYB<4T4 zb1H7@!alhfQnBQbIRwN)QFO?Mhm3xhtmI5km)^LB;p$9I1f62KVP{i=IXr&iSYny5 zIlI!lh<~qVNAsj`X0vZDXEO~0G@Q7mYsT(->8@4W(&F;7L0VaUHp=aNp6HC2`e6B$ zU^>&aZ<@U9?iap*xUG24<@k!oyT&2lpcWXf4*&HW_e^s8B$GDL!hbze7tO%KI5aVm zxO^Lr8~;t0F5NjX(B~wd9*bXNEj%(s<>JE{rinOh4u<&2D;?KOKtq4%&85oZm;sQt z^Z>L`H$|MqMY|bBozO~}PAf~#&(4i)v-9;dso@nhEsF+Is&c1i?Am-u#NyiTjxG}H z5=Aou@NPC=atMf6(pY=>E&anxok}?GCPWso-0AFaXjaPOG#2T)JCgL_*h?u)zd4hi zO?lkfGKXvFvZjYK-<5It`9-DBrb)^_zmQ|y?Go%NuqXIjoS**c%{d9vbvKEhkd?xF zns2Y(yMVOKN1X+7kj2d|XRj1R{TsS^iNnm!h*W*0&irML11-rw+{Q%7Oqr&7FbGzM z;;)5UhIhEdgX2tlPX%wDM`+2!5dV_5kx zrs>w$@m!{(mu|t;>ZAw*cL|{yOVzKWhA&yHS}gA{VUOkvX%8~jc-2#(F%z8^^H6H^ zs&~mA;;WQ>mFbbRjhQ7<(lWt}7}K((9cG+8b%l3I}O^HoBb3*avFeq3|(9m&?xJ10+FvF2U z=W>p`rGHm#e>bxYSFBxUV60*sjUtb=-{W)ybqsu+oy||qX6YP86E_E**TfLBT%OSp zhB_x_WmoqcK6rJ0{QjN0T^*SAm>v!etOJaPLuuKYClqA&#p&$L(dmn`bJm?cN}`Z1 z#qsmmcXMv3BYV|(b0YEm%g)Jp%9Nf>dT!oQ^P5h!Y<%#+JXh!N;OhA8?A=l4msfEV zmp$}^&sYhIZESq%150E~{_0~wfH9Ma?ZiNTQw@gLd8@dl8V<*Kgi|xYJ8A|dsRu`j zRGBq6$L-7lCZOa)rVpv3fj)Ek9DI9n{6`5GF{IRPQUX)tyO(E2C#l||$ejC>LF4=~ zT|{iNEH4GgOw;?zoEG~Zc>af@i-Z97GNr-8c%Y2_xX5atdpDT)zy&PK+tm)&J4Pr zj}x<_IVYIJaO7Q%WJH*<^mwd|7r8;aC<@5v;nuQqE^v!%e7^O|f#qnXdijA}&VO|= zI}oD}nuqrDu#X=*;`7;?ldDib-G6o!D9b&69M$Sj|C8$+0za8AmQ9x~aq#Zss%-w+ zNuKxqifhwmiF?*ZvW`@%fmt*(k^s_vY@9ZWc z0TY7tJqvwBvc$=HNh&%+Qqw^>t5)q2dNWQKH4AFB zP{%ZAL71~}XXKfQib3q&*DTa!9BbJ)-)o^R({_4d^*xJqndoGo`Q9wn={_0WS^Z!~ zj5w`t&EsV8aIxYhQs;9GU5S+fHj8Unb~MZ3tE#KEB6gVw9gEe7rh`_~rct$aU_iiH zR>%}~EsSNN)ok&iOQmB`-8b_1^?A)~WFg)3ts{z9t#mKN>G>kO7(V-w1-b~CgYK6h zR)(-jlcn@gpDfKPNalAXn#ImYdeT?*`vMQB%wCbqoF4gLX-kT1m^#Qe! zc2q-`6>3x141<9EE=S7+JfwBMV zX&${W4>Ru8^w+pIVjZ0fX2sJnn_peLf0>z_t1F*7FHg^3c89lS}C@T0rsbBJ)bLpQ!@QT@!nPd4~I$9%;Jz zoIF;{8fs*tYng>21nJE@X7z07baj&I%}k?y>)5iP<|FET{rvBqUmRV2`@W>7{MB34 zgch1)ZK^SjK4~*$99b^(fWJFoZavmw2HBy@MZ430-*pgOn;>&y0RK)SvcR6q-WC4z|pr@UAHWqRX5XIy%d4R z)@)*Cze}hH<<@w9eH#!%as0t+f`>*pvy{st>a`R^X2(`ex7>ZkmJlqHV2-czka?}0s0e}w=$D? zbb9{g{VY>3&%2$sSH~t{ULRe);|*>j9O(#(4pjT_xd-X89nh1grRF~8WHVQ%v*S#q zu6oGx8agKP>zCc*;AB2a_aKG2o>;S}x%hhWT3OR^&*;)P%hFOarf+8A&fjPJmN8o< zW%Z!?X@wbgEjXB0Yu11TG2`u8KFRy7NT$d!7Mis>blECq~*c z;jS^8m`u!tnIs6R&w&zU{VsF0wP>SR8K$qtWNOwk{gUgs!I~-)X=`~Xa|BggjdsOI z4w;i{n$W6oKA+8xGHkbgTHij*E=4<2i1}tre0FmDp6VD{NZy;t#8{l6fz1+1%_Gy$ z@#C7e<-wVHuJJ703^|6J2z0@pNLzcwGVWN!US%?gqJ6PZY;kaYd2%66Wz7ES=vT_( z_O_DwHoH2$Jb5{L_0r%!J)j!W)?hHBunf#Hs#dbvy`~Q~P`d0h$_}=nbB5{3*MyEL zF$&0+%giLCjhua_&rSB6^ZMjNdgunz_7C`ae);YwKg9@?OC-GxjTtM_j6?I2*DNWE z=a~trMMh!S&K=tEQinCGEj$dkbe5uO#{_L=Pt!27+v?qR6x{?5eWM}DbZ;7d-3Ut^ zT;Ggu#`6td6D_6rSWHKmAr%ZV>h&UUwkXtER+_uF=U2*a(Zy+KdT#?ntGKQiEB~dUtZ16{y!$Bh>J&W|h=rO>6b?9drYzh zVxB0|S(#agF)k*n3^Cc9U#??|8q3OqXw>ZT)I@1+vI3E{BRihlku9d(IOh%FeZ^3Dskt~u^pLF5ULR?O&@~*dV>L%-33K@+ z6&ZtZgV!0QOBX|3RF(jzQzMrPbqQ!XkhKuy{mt!<*T^nmaRL+@(1y$}aX2qOwiIK7gF~I-Rog zbbL&UoY=@PFK1D^5~mmL)A{N9)Id6a88}?dKAc>gO}Wr+=)~@$(*s8L z?nSVn$k-30o4y?|2VS)0+&1s#BSBczJD79d}t_ROfbBuj4x1Iq(PDp_kGisz` zEOf^VOsMERn|##rHk+t?PRL5{HqFfPqKYy$G_D@0ffki5&smx3%TjL|y4ye1_V4Av z`{prHZB5B*esOurPhR&|2$?b3^4=9dQ$Gu#d;Bmll?z=T(n(9--R!i3Z>tHdHR`k~ z_5JzBqxAl@%l0)nc6M~(I4j85^XlyUjfV`iStCT~B# zJyDce?8-na4bSyhmY-z&r*0B2^k=Kb? z$LH0;#(NhNomQ(nKV24~GMgiqXo{HCyz~w}YUO9|FVA&E$C>e}$<0w*Dsz#?=X!h1 z(zKoIw~kdcMaelc-OHxwGmHGMu1`qrzwI@!*T7x_dkyS0u-Cv|1A7hZHL%yfmNf9^ z-1m2X`yc++KlN|^-t4D;`cM4*-~NYx;V*9KQTy9|xd#61tDpY*fBA#o{>AgG%vlf1 ztm*TNUQMuM3xLlBz%?Q)__PUuY?rUOq~{Glu+~*Fk(a$2mfxFwF=iaBOy#B=cK>czYH$qURJ z|Mj2!E2?|CuWn1QD|6ll>h(ay{=n+KXtlcUf7-p({a^m0fA^=q{=0wqlhvI`nk8l- za9?xUym#TJ8+ugp~+k;2zs;=wnY~#*o>|YoOXjde6j|$wZNaQJJ?tr(^~SQ^GV7f8IpKQk ze%EHrs6YJKfA-T~|F8eXCyhEg|C-%5&Hkp^?y=~D)b5Jx1{@mI ziPuN1^o8Y6+uI+%EE^p9;8E?iw-6vZo*%pFS`nbX5MVL(%{HIM8t<%m`btQB+!`1( z0@N0*oveZ3LV)b8+eraN3jr#o&dztwgvN~kc8l+54NMjSWFP%bn$WZnz^=aC6u`t? zHDq>h?x+BZmKc_2M+I24#D)3WMIV@e=%z0Ow6&8pfVR95z^>&dDZm=FclNQiWhLvR z-oXL2_2lL5_~oiXcDc6pY}1I%D#&6gF|e1m9{$-&F!%IPuj#uB4*Z1JYd*Q2bdNC0 znh(C`5kz@(Zkit~)7RNX8z|$aC<{PdoV1CUpe7GCQ+JyxXc#S^e?ey&2Ef2^ZJY+y zCovD`RsV6N^pzR_hOa~aB^{7m_cpX zt=}5f>VUH9{sm-*tjKT0NNq|bp9{bas+`Xacs&HH3nJuCY27t(eCREM6-X$4Zpt5u%^P=_ST=K`k}hSX?t3G@)8u;ImYY3K%m zFlH^asX9yU3&Ln;W@B`~Y^krH-$Nu*E9ZrN2STyD?w3)~KVw(MQG+0mb=U$9l-&Ge zDINtfXf3cG-FZ^;OBdT8;%WatDQT@9GVUN)#59O35-kGbbAg4kF6vb#2);i7#lukR zusz&?A2l?|VI?Sj1^}Ig95`-3m`wfftiS{nzCl-8I7|&Th1QxVO=PKGP0&p_{xI)XywIu@XI z@K(V+Qg1=R5V$lbx&@d3>a?I?;n53{wBaTV2D?%(1kdjlAzBGeyqIT$!V1bPKs@FG z|6PO$J$7b_c|n)}WK_WM_{MUH+cjbV9)KLmzuMPQq!Dp&e&Dvn6AI5!T%l|9;A*U%=kY@qMdT2v$AK-KJkbnh`5qJkgT$nkE%mJ(ogY*skXF@C!fNRD6fbc6J zArS3g^2442f7~!Z1l^c$cR%Z=21bD3NK1mxB8#}#MCO@De24m=xGRWQ$t47uVkc}U z4AS~7cs!LqW%7RK^P=uTih&dJorsXY~0$ARB5=($zd`eq@ zi6fs9h>LHtqHq9LMNj}f?o-3T$nA6+NsH~j(z&vN9fi*7Qf^V?#)tW@b0Y$`_%gIF$gpQv*M?X5@L(|3*37C_6DHG z7S@j3>9o7F*awQoR%fi?vDH!FS4GLqpY&*)^#FY&D-POG+|x?%59N5%Q0;Mn2AdDv z*L<8EEEcb{Uph{eEkIjSB*@ybkR>%-u6(nYBlu_fUZDsIo4}G!GGvX#6?8vWV;8_u z&|l?hOxNlL2=7)a+>Dy5A_3D!!RzHkF9l+cH>NM->m2Gi(SdY!Bv$v>se=ABPh*i- zhAk!0ex0WgMo&~iit8n)t+6y-6Edbpy#RqfK*&f-4OY33*TS7JSDQz*DMhfa{Vj^1 zkay`ugyJ9sMn#hpG~tp&F+4WcyGsLhyuGU_;Vnl)fSGEj&!4wTbMvTLVS}v>Z3SJ> zbCD*dzOwXOY=gSnY4lZpLjw{%2#N~}mVQE^zUlLZMl?M|eGFZTO8cZMRFsqG&}!o;J8?YmPCWLOBPG{0*_l%+ZnVj2nEB)l2k$=8ZWAs zkj7=K5DJ3yQ5HDbhU(T`8?rvVxrW19QHmju``Crxr3}HtuCVxNb)B7ghg(0~zZIg{ zt(p6--{$_aYxAaOHe7(C$xp5S|7vTi|L-^KQoFtOobx_s*UH-cu6M0$arJ-gfe$R6 zf0+PVT>WoHfGw{6wM>jsRO+ z{clHrEw28zBEU9R|Jx8?tE>NyA;7j*|2LL#>#P48pWMRg|K?}6u=>C8;h(+wf6pCu zclG}sVRnA?f0Io6)&E^z{r{`ItpD#<|F^&TZ&B0IsXYtU=dJCU(poP5OE4*67$#oH zLPuH5zghi9Qi)n|iVm}g1kKx6<(C=l&;l}IW-G|Ger)n5tN#`tt@ha&AQ@xQ!|s>= zGc#`P_tVS&B3x$wt;26x{_l0{X81bYA=9Q zN(-3HDz^#kAG8-B$(NT4(k91~fMvfIz`S#%+}O>%0Q>d-{rdlY{r@iG%Z6o%ANTtI z!@YRz&VK!Wzy4oYlAq%G|0e6T%D-R#zb8lGe*Hh||4qMszy5!nI`H=T|37E_|8H&! z{2%V1>;2siuAYAh$Iw=n|Jx8?tIPjw2(Z=V|272J>hgaZ0&I2pzYPJly8PdU09#%D zZ$p5sF8{Y6z;>7a+Yn%@%l~Z%u+`=N76jPt^8fY)*z)rKmkY4{<^K(3Y+?C-!;@QC z{@?WMR+j%aJp6ks|KGX8E-(Mz5#~p*{C~ep`{n=LU;ZCw{olHBlc|0W{@)h(-)g@^ zXR`Ie()XFo>IMMEvMww$@hHFCEdNhNvh|^%0CctTya4})XkiR14n#h(&g_C_`5z`7 z5BOM?YfJ(|YtsAW{|A@<5o!S8HbCh$Dgd)qpV$j9v=;yf{Sd@h;$gu4TK=DO=zc=? zmiiB65LE-q<$pgphGoMdze<}fxd5ge`ODELjB!6e6)o5Q9kz=A;|74g8^tI-!3BVk zK=RBlT>qaIr^ENe;Lzx z|KH!C{jsnA-!FC3jo+{T@A3an8UMd&Epfm8Kl^UJU;l^XzYqW4^yT;K{~Oo;{{`#+ zf9v)l{U@>!g#+c0DMa6YT*iw>X0+x9Ww!rb;jsVN84qG56ZbyK{ zRtNlwJ8DA9tqxmAmC;TOEVnv@8*e9_c(K(1_+>{0SZ;OL0zr2>CbZn@u!U?Z?Fg{k z>aYb8@Kyx4-s+Gk;azm%?sBU`$f-Z9V++w>qp2OPXQM%~pqsh36lye*bcI z`pw(<{Nn5W(bv7#{@-GDb41QO?^muro(X?x7)GBrvcj9Yi%Q%Efh+>>wy-=T@=<)Wudz^SzQCpeSxWyAFMEJ~zn@5>1xL z4w_s9gIe+;N^`qPc7W~G3Tw`6k{#fYT;xKqCaWZ&v|j9W$ZFX#(Ls|Rp-FTQT31OA zD$zl=PHz$&ga!VGCptji-VHq}4pAii0Q+|n9fTFVNpuj7_E<`j=wO%}k(KCRg`~8I zN!@TzSraIea0pO)ecZYD#4QM`-rT}Z_0RA0vP^Uk{z?3?^7VOzE!U+*cN)^@s5G@w z=ZC`_4!jpW_~MhNlH%76D|=YjYl$s-@8=7ed`T8ulZ%I)5%e@>1FPINCnN!c?G3pw zMBMq=vN$^Yklqic)7rF9$H#c^aUOuiV_~1wRwYp4_)Zyqz@HZm*V zSdh3Wr>k41Pf+hqv2_n7csnQRzp^0=J7^PdqfXqN&O#2`l*a1)bPRZJhsJc8!p2(M zW;z|&83U3(LdY=6`SsMPi~uOY?Z-Hjpkc8=W7NS5FH?ZM8&f2?6K0&$ClWv?Nw2W} z6iZS%9ZqxqNnhP{5y^+X7h_}@8BC`4Z1KyaFRR5^+6EybHC3DplhKqs2x*7m{g)>MVMuKa zd64Q}+$gI1u*b8FB-g-odqZ^}JGqbQUKNC=J5^CRZu~`o4}K`cLt>6*E5cu=tyrO| zutTY+IW%RJ-Xcv{(jz370rMRsT>>&i3^z<_TexOhjlnnUNMSkICRO$CJ>rr^x{Q2GD@-(_9}OTv(hNCLzcwRxXkK) z5%s`+n|u*+`;b6|F`-4Ki;ejr(p|~klV!e$(7LZ?gg8H*&*sms=9jah6eTU%>d)W3 zL&AJb!p*O{6x|IgbCWP4vl~sqh%{y+H*XR~B>pw2AJU?SFTF`7QRYU>N*E#YP(DTE z^j?~T5pmfjVMOvLGzlZpFKH4+REmkFHOpO+JwxUcpPGabNuQ$wwmE$W=5&_Y*9upX z6k4w&DZH*pAEG9bBqbd0p@4U<%0i_+`KTxkVT5XK5?|#oU8JXQ zoiHLScR-9z=O(st;47#bzZm)@CYd%pG~*}kNy;0*E7 zc&PZVJ*v!6%X?JHi1hA0J7q*Ve4A26Xewl2_gbcVVOT#PWdtSmjUoGKbk|cxERsd= zPjY84@FhtjB(6`!g-ZUAD6Hy4?_P4brCCoNr6k-^FMX;_9;HeVmTu-U<;`{42>pd+ zz9YGgko;eR#x33Awfcgz5t|)XA)B-jLR>e!=GC+jqtNeP>FF0qKO2z8NX^*anjA^G zpV-&fPVSNZM*13r)pS-afY_0tnjC>_hv4bzGtSColB9LZ{11s9?sjwFfxHoEoR-&p zQQnC330HD6WdHxk`Po(H&50ZdFFPmanTD7=8xdxd`dvA9{XDa4_h)~oqRx+wpWnAL z>3bfnL9#Hz)+Z-a0-JSV*@WSM(+;Sn+y&| z^H~H)s9n%oikdR@tLWYlsb{0-f;Y!d5PA7ZgNUny?Q8s47|qOwP1CgiiuuBT^$ zYneXcUyS+e|Lrxf*T7x_dkyS0u-Cv|1A7hZHL%yfUITj#?1Tn>^0%MD{{Q>2X?GF@ ze*8?PKn+XGX1Fc z|Nq*y_Wl0g zqCw2|YTFF#nwMhFE^ON>{D?r&aT{SAw+Y7gAp?PHy5VCS+LAuB-MMObW%qyh7$-0u5Jy9%5=_!^ z`~Tft_luN_6POsa8>U8}0TAcZzlK5YH_H04bTr2pR_>We|SQLI6xVDW$F8LBbRYst^F7hYV@t;b;g3GYG7q zxwosQKsFYQJ`*)0sf{bK`-(~lYhaKF^eh-i-i*kb^800VHp32Tn`7=Ub1xR*b2j{!*j$d4I_ z>@fhvF>-)mI2sRfE_iV z8vuY^OuJ}8HwgfC)P%a%0Dv78UYropz5q4X@}HGBj=M-+VRz;GR3I003ghU(TA}S^|K3gt-O)q~^a|l=dkvH_5aB z0HlUKnE=36)dvy)BoaKF006sSF&d*&EJkCyWy5G3^8aEq_Bo8kA^$H%V@z^k9}GP> z;`k!}FGl0g35U_xv0^l~tvf{EA^$H%V}B=O{Qv)LcvNL;fK1uQ zY-cK_^5(Pc%>AKycDzXd(45~S06@7n(l_y2lK=oo@8Y^90YGzIlK=p{Y&LaYCjhA5 z5G`geK5bnm0I1^#^^_rGz>)zdW*5<-ow@niBmf{)^Xno3K*&H#szm~TdeYd2+1Yy8&$fGYSR0YII;NB~eznc6UpG91@97VuEehk*RBi*Gmz$)&wcxZ^|Dmz0zt zKet7<+mIz=$5egU#(Q4^fNXj1xTU@As0+!yOaPD{!WymK8@hgVo_bw!|Ayt?qfr0Z zYR*isZ-(kT>bpMy09H-bg}V~7V6XVMU5a_QKfz5HYYB&U?Wr#oY3!#(ugY$ai@GU^ zY@}C6s%gbuAHM%c;3p{^@b+UOoyvQ!5*EDvHUuNrM`Mi5 zn$bI+hYW3tM*eNb^%(#8sJ3a-YIA%tqS7&+B(9YmWdQi=-zvLOAxlbWC*{g+n)f1^TSq?Mt79>VCUC>X!d(o;)5g!Krf$63F8rz0Y!vgHpH3BbO4A!=?z+e z6QdAS9W;SPKb9muh!NCJ)40Gx2(6-*=>Vu7XKy)mQ;E=B?coF}{ljDPh8W_NkOuKx6YNcRUpaVvo z36kJsXo#Km2^qT3BFy)bN<2K2g96)sUlj)&z-0%1v8iAEcBd2E{_a)afRXG2jA#T1 zAo)Y$K!F3sovw}hF$!WImbH^y>VW_VAQNCr&<&4birK$E?kFA{3M@%idWuPo)34(w z-4V$PH;R?&C~&~IBgX_3L3{%y#X}1mFz(z=UywNNCKHhpJuh}tEW^2Zs7&j4&@xJh z20xx0uJsV4uI3HENQ_;+Sm<#x7ZW{>QaLq*8sSE$0hVc4>E$0OW_pn+?DTzFErxn= zW{`S{{khjboGG^Y)L9toL*pI>`v}2J79_$ec>`2aZ%|>5c9cbH7_R^D{HNs$zkj&> z*?DpLhtEHp{XC>N{1XLaC^-ZRYVro)^9_G*((Dw6Z|)Z!U-#6SCe2Rq`HGDVr>|!e zudio>+c#-;!ta|jJH_!E;{Ndb3Uo4bR((G{DMc#l)u@I-l(p;$ysE7znY6V42 zDg}*xrBVn-y?R>kC@=B`gxI$7gYb%F-hik!jXZx{%^RSGRx-l$Rx*AhJ4~{EEYb}q zvBqMM27^s3@&?dfvD7Ps7``BJzLhs1tq{F7O!*X$w65$Eg2lyRz+$GJw<_Av?DG8T zJUqE{Txo=sc>}n~Ix66H;(%Ozae+AdXpV#UV39cB4kI(F{=+o2>3J*?2asv(=1t;& zM9PtSy{uF~p|u~<;>*LbH*zi#2h`OibN$M*Kz#CRL>uI8X^SiI&LVL@u5DVud}`E@ zPm9C>q2o``_E#kc6apNV31@ckW#3N=+z*p?T&1B0W^P3b%-q!VU4CQ2up4ey*#Q=b z1JrZU#%OIFjxIC~H;Dt%rclRC;sA!6Bt;_GO5y;QEE5N$@F}=hkYoW0roGc6&~Wg7 z@kQZ6yiCv0HQ|8vK8GG(rEx-lsLwh15e61dVvI!fKhnejpBP2OBpx?$0FTlguEaxv zue3g*s(7S7JV*+!*;R6ReD#ahv!nU@OU5QSz~yYF8vzx{8Pg9=Pa|Uoo_;rRfJSLa z`mc%XYQ&O}sh7+}$w$N+3)z+AD(ST)he|))b0L=dN#Mg7gq7tz8qh!vC_?f8o3nY| zko7CAISi#uW3WsXpjGCP8xseJD}pz)AzFGKoM8Jy5(mVS36M76cH#gbB;8JpY|)T^ zS>gaU3cWu1fBIMG06LR0Zjl>}DwRULEE7VlfIZcZy1PysAUZ;w@rlx`B@SRHw-X0Av`8GlgEN-8P8^^|n5;$Di32pe4<$yqP8`4wGHP2S4#-_& zqbz5UI6&K;Bn254-6H&FQu>~SWV`jt1BnANgYsEtH;Ds0b(uKeU*7M#*=u00fxQOy z8rW-KuYtV=_8Qo0V6TC_2KE|gTLVA&I|ql;gYMzMau-YQ=w>VaV(a|bp(L3vE)U1k z7f|u@@76Z!Ti59~oAoneAl>iD#lfqq7w_gLYruk>_6cA?5)*IQ&e%IT$ok`>mG#Z# z(b@ac*}*As7czYkSa8`re0OkL0Sgr!ozGwRxk)jAeQtLpv2=1HNjK>YcePF|`>aTk zRo2~=WN;%1j<;QwWU?YjCck&JPHaJ4kt7R?yDG`Y4;MF*Set(0lGs}EP!#ra6NN|F z4DzJw8C24!>lGy+M-+iAE@B^)5dXYEMJo(X6_o~5WmRwT(@=-riM zydp^u7`rRU^hOfUryZ6=*Z#UafveeNNmkmE?%{8w_w`tfyuSTSr387ntB#Vs{k0@r zsdRQ%lyvTIL^<5$4oiCWH==Y8pQeGWGcG*M7W~_j+E%@3;BoQcWHIRIwz(F1i!!3c z*}yxL5iK^2OUj7e(SkCf&BdrMS!}^t!{>|~%z1Q}P|NLrp`N2N_ zZ}R!W?D7iO?i*099E7oWE!;wDYXr|=6l<)^E@38&!aM6`#PBcS)7?_iOF9B)9f zfK36)2H;;{S(v2)%m&~ZkPXmm@KOQs^#N{BO!R@E0uK#;z`*YVzc;{Lz=&%q2}naA z7?>t6pefh{SCeI+@ zy@t;qv%P!=sGR`DPoX8{KZEcedX1mKDto~(pk2sY07U^n9l9qJLq0hJpx-A4y(z4> zpqSvQywNlmaFE)d*q);so9_ki>^++#_WB;`3t;c&a}gOd*CoMUz{^Mg>bKBe3_W`~ zup;ETqQHO-3ZO|A!e=A8pHwNcAnAl~TVOQ+>VTm1k|XZfIPg%+0(C+WV+2|q*nTt# z3@_QC69U*=GGzdWVil*222a`j8U|37_ibI4hFDyD7J>516Uh8 z%{QKhQ6uac<3Lds>>42*35*-eS*kf@fF}W$&+nnz=!O^q%o+@s5Mx3>IYFc6_lAFi z`5=0rhKUmnsUZa!>Of%L2n-jXmcC2sAmj&BHp$eXpW(r)WX+Gs>lbMBv|CTFT%CYR zIkTubhCo)3?D<}F9n(frpF`Ktb?bDRLuwIBH+<`u$&I*b(OAz;Dr?oEdbM1 z2a2?y>WJ$Bnfo5Tj=+8a01IK54q(I6(RE=FaD;q=t@qrd50?XIo>PzoiQd3bW-wH~ z;I?>6ie9(qOKX^a!Qng0*WReSCFsZ`<>X&gHIXw(G+~=Z6GkT$CtWgHFr(bxZwL-B zUtrjfo{{2&iY8}fx5M=MQ~!Y9IbP)f9jo;?@05EBxI-3Ev>WIP4tweWS%yF`B#dz5 z8PR*C(;S1^jfF8330{4MD6~+~gjy%Um|F@dzVo(8l|d-++Z1#VUC1-sAYSo6m{D&r zWym~uDWDp5k0Lh^e-mR92O2UD6eJu{*d||* zhX{s4cuE`bm&r?pN>sNB6+=i(kXaOhHb7KH;1&rRs@8XTK%Y(N z2TKKAWV_8eE68^%tRP`@Q0qMsBDnJ^BwukHj5wX-n5=^Ls$Idt?Lq`F=yV0+FbIt3 z(l-HUoIuHO2mQ`i{@5w&L=%y~HKvl{HX>MvK@@1)#lK3KH}3|U0@3D8bl zGh_swilssdUI9Z0;NwVd1PGR)0}z%U{52w-2EJG_7*W_Ns2PIGZ!rozL&0an~2O;1Bt z{2NQ|4c>*MNvQ+z73MfqF$u_g6XKUcJN)p>)h=WM}nCEYYBe=lFzJ3}^MMiLy>Kh7%3p#62f8E9a^gOQLC2 zNgFIH^^YDXZ;2&t=`9hYRF%#Ph2^bcNdjhEywJkha{9ue!0)sUq3l5x;}ww^v%5lh zdJ(zd1!@R9RA|wtgxpK8LaL=QM_&GVGMyZI>8&XQiX<;~Co&gxLt>J1Ch7Hz zVpw!9&2qkkHf5}}##lrpnrTg>kWUSafNG}HGL0Wg$Q)rKJIxa@Zvjgqo~au-OIOm} z>T4RBqGWO3Zn`w8qNrx{_=;+Vu@%)!I!vLNar=UYYpVO2=e}4P-l7m<^@TGmBwj(n zCj9vv4h^yvr;%a|i}*uWqC2cW^drWI<|D^P>E|fNNI6C^8Pz+cKMANgfxjZ}*t5p; zgagWp33wLbAG%;3>T2Si6DBoP@l$3v)$GU)OpP&(1RD>elr+L_NmJ2T`~lgJH@BoS zpSXM!7vE1S1mhp=Y2BqE)`BPn^-kPu!s#ZASzHp*Je366TldN`zsS;1b){H}kjK}$O;dC0=LJoTnoKpvAJWvM8(1_o<5W&VQxhVkczD8Y^vA0N2C69D z8kwQBWCDTLh_Gm;^0SgRL^f)tCs<>X!qUYbD-MSQqL^(4X(vJ@RO~i*$CwI3dKqRm zxzmF-U=wuuvRLb4WW{tdO|w`0HW;{=Q%ckH7t65ds)%leT4%IXzAeaZm~{pTDWkxk zA@fpx6;*^c%rvB6Mb|+ceNH23x>sU)gh)*1xNcj#N)b%_ZSeRUmMZc2d8vE>LB@DO zb5wB(^_H5=OMr4;Cd5&FjzhZdMBvm+Yc>5Q^dgp7|TDkdU&i78`IZA`v#lqa&| z^P^0ERgzu|1yY_^AiyQcIa65kMqF=dRvcsZpC-N`Z7vDLz^6}sggK)pG5w_;TM_oj zO_0ST9+MJiV6I^xlokb#K3owGvL_ssIsl0SIyvIcgeOjzwyv`#N(@Li3x&pgltD8r zD6e0a8?wp;gHV^#hYU#XTV&Id)i4%ym(QW^8i~InPaFF@7UT^hxP)loP1L>3H56j4 zk>*LX;p$7mpc+{UJQ~l26V`J?up%82@{90DWGxmh-;E$htUJgdG3JCk#!bC^##^eP zRu+x(Sdbbk=S0WB*o8I{5fcp)33XjE@Gy8!X%Y&FsGZJRrc0KE3!9P1bbVy0q_lMR z6CCwI$D~-yy&*Ny_>y*=;OOWgL6Oi!jq+|bKUzdHp0If~N1DI2ul}HNK<7V(~h(d!giB2`CTpM)TP3PkCnU{X>R63PY1qsxRT2Gr-%u6w*(A*e1 zIHIC6@J#29n0MHhbT@I*Y6&yc)Z=1beYMfGJP9p!t%Qvs6q=(&5KcR&*9!#Lr zjf^{}L*2iMeu>5DmR++z@dLA#&4HfCj4stF*{V=l zRfP9EfkVx%a6~bMQY6D(XNu}&)Lz}tp>n*xtPtS_dE|mJYMMTJrcm=e6n7y+9c4Vp z)UJu72F$X^IhkogAt_Sm8JnE(V!k54Lv#Xt z-+A?u_rLXb{zA)1-T(A2{?6a~`nP}ayq2lNndddrARdbX&%0*Z)4Mz{#66uIhXT0s z%d7OSYSqQz%h~gj`OJR(=4e(0tFg)61-u5wZ)fk07C+Wc-_2)duV$~-E=qTMt*N=^ z;&4nJTpqnTIXauqjxOhK531R@x|kg=TejJENAE69XIJ+WHZwK{S10*-?a7(DI{0uh z`-~?}?!PV=xHi;~LGi__GhUBrBI}g0LoTa`y7iVv_^WdMGRhrGOzWH!+_5SFz`S#-F z$*b=cN4_2(cfal(_q_T)KRb^$zB&B)>+{QZNAqu#itY-QaHr(+lhaweti0)S%C5Tq z{{Q>CKmGOp{ZIecs(bd!-%xemeejd2?!WizU;p`^{>h*GOX|DwpJd*X3&zzm?al*z zt_YO{9l^!672{goX;@cVkTJ7_+VWG-fu?M`Gy~c=J z+v4WGx|kiDzd1f=I=Wf$f1s0@iOU}}+^P=y=CM-JmOS?E?)BumS>0c5$P0V+Lr>%0 z|HrTY_J8uzKl$~)_8Il9t}~Be8YX*!in`f|!!-FyeGBH9*QnW=n+b>PTPb#7Bb8ci zGO(`Yrc6W$?^WL#fXuGd9LM?uMKemV=Oy)>A-PkHzcOUa;Jl`jn!S_{)OQqr@6R=; zC}`ae8D6uy(($qfvDRHN4vHPkDnwsXGe7SgnD7d9(GTK8djBy%&9&Ve*Y*7g>r&tU z+drQD^wQ*W%SQ<&AqAKqhfj<-f4{IN+{BBi*5quv8%CT)ceN z8kuv^n#UfO)ouD#MjtDU2Chb&6LmTfQtZI6(#Xv-DXUB4E$eRf#Hr}?XY60`mPy|G ztFswVva9=lZibNM{6AzeB|VVM6Cq8{wR$Hv-HoL1fc^FO{&-ADWC z{z1Wf0b1MO+u7~;*uMSUCg1+N>i!@9hd=(E|NY}{|L1@6XXcrH_E*39+1vU2;_9y+ z9DKAWdE7a_eAD!uW1_m4FHX*0pLZ_aUi`it;PdnO(dqdgpP$Ws_Ux;logKZK?Jpwet!1gd8WnZwwqUJ=CkkS2XE)^PIH6T@6T#9 zn5&yb{G<8oXMgM2SDz~UO8OXF}=wJP{clNm7SK5cpT`h65N}^AF zyTpq^e4@NZm&b2UKFkjOp!xg!Kb(F1!|J9V{PmQe3j4x~CJKRiEuHM{)kU;i6_@P~h8MHb%ue|r7h@5`z8euIsbWjrzdzl~+R#s8P{KAZn< z?WS$<|E)c=*@M}zEt@Ho2CdtUP(B-`fyYf+Mw_Qd|} zW)=Q%mtOB*i#zy1GxiTP^4sSBYpqhY&;Qq&DBI`%YfY5&>~H$RHqNxRZ2f&)W!wCJ zkD=}r{=c=`Ee0Oj<^NlI;_9Gd>->KkpWFif-{xn}UoH0ZZjb+O1#8TIcK-HNOqfFKL;SJw01kqeh!&R2f4F5vKnV>$-;?6{+q3)G3LgqA zTciPCw#x3;>!4Qy-(d)Lv4-8R{@I=%IMA>&0o@4!Wk^nn!4HKDk~@b-AvVi?=_R?J zE%-RW24Ow}Y4szVD4%kb9lN$wdxXBC(>r)X@V*2n6oR!S*&h}n9B7a-2v&*$EhRvK zHiXQ_kB1l%Wl!);*|z({*#5fH4!TZU4TKE7Nt{>8K<9x8zBll) z+eq&!yS8_l7;w;0-N^8WVq5lBc>=Z6FlX$nKYJcR%Ip#G+#c}A516o|%z$7e86MWGfFKELRzTpEjLB>#+OiaxG>>*o;wP*bWvU&|Nrzd zR`CC&$L$IKUwUJC(y<5p|CTrJ1^>V8-Fw0RZ+ZDA;Q#MD;hFLO|Fn1f{~d|G0Q~>` zGVK-rPimx^0>Df^=J$Ds0suJih-`*mI0ZmP9$t`n1k$$}*(M)A%>Y2gWAdU$+DbET z5@-+pyaCF#GX!5IP8Z}laN#~Vl1Vi+8ktS11=?CbyD(xC$QkQnc01BoM+Qq$Ka%52 z++0+la88vo&3~Hd3&M< z*x&=`Hh?3yIwGYlZ@pDIw@BBLF8wG;T-U3AkzGR7=H)=NJxsl0oMaoZufvyA1VO=pzJ}xa_~d~0PQX1BNWVU z;?^EDZ;nG;8HPok!XpRy!7dIYqignp~&R8w`43m_8=!cX*UoDLH-rSYZ6S*-t2Ki4>!0r4O9FnF7Np#Dd= zlYU0S$=ai=KUksuISqM0hlGb&mnYev9*g?#&~j1=&4YybkFbIc&JbrpR$i(c!MY~$ zg@yr<`Si$8Pquoho?OR#Ie4q0;7(S-Gr`?b|a6q!Z zL5qs&k?j~STeAubO?`=G9$*!~*LN97c0m^5wauFfu)krJ=dNC=hWV3bc0gunGTZja zXp5TY5&1BbAie1joGiT{AHHMOL$I^Z?ZDQ7_k!PNgxQZUYx++I5AYeZ+QHFex=Nl& z-|CS*v4;5%?t}SbioLG$GG|oFF{t|5jc3V`<{HuuSSftq zv&HNJ=cDuJ1DiJ|amT!{5*MW`g8Ud8AJ3NFHsUrbYUHoy^NZ<(?t}d4t8ZiT7dB^; zWxhNm_gy}|SmwFNw0QpIvL1$E~wnr?kw3aF2~Gf}j^R#+t_MoG*$T4DPu-H*kJiSvP_6-1l$-#1#cV z`JpA)z%2zpThjl0_N)no$}cSk@I1F9RSE#NkB?W9G6jH(c*iSAnF1g(WgM+_l_>yR zNZi(7#?+< zlqdk$tv=>DDN_I(bBkv?>o)Op*C34JZ6_rP00LKzSdt0_z)^eQc8LOjbV^5DClv~S z?xByncJwC|3V?yDNypmas}um8y;~Rf|9{S#7X@(sQ8VBj^-`q(IQZGt3OB!H6nRSl zK=kE-o7fIfsuTd7qn4xu*(8Bv1gLYs$t*cA{U|{X>N>Zi(=M?ix1 zCqR`0ptr{jfK3hn;h6iXHtpqdF=hT+>_6{wH|p^m0A({t`@SU(fLQSS-0WY>|Nr~1 zvNyARa{%0xXvG20vHCw(oLf;Y7vC)M>-W=1{@n+TS3%tE2Kd%*uJb?Mtz0Z)dl_nI=4V%wgK7z z#RHWIfRPWt8*ooO(3;>E`3RR0ipT$yqfa@2;PDxPwBdg+&;#&K17I#>F%DGc5ZK?4 z*w%nz19>6uHy?mJqCJ7|jXL0^1o!Yv06l=Pg-n?i7a*m7NQT?unf&oWK(xIDOtODG zqO|4TG)#&l7j0(xXC3nOo3vvT8#PzU1a8injwNaKX zkafVTi0Z3_d$$_EVbv+}C*276CapXw4^2c`>z*h%6VbOCL-`7_bnDP(_dwK*`*6BKNs11CyFzav+jD8L(4vTcG@?jfmYQ zD>!YBPofD(pnuVsL)s{91xf%O!EZ3y42)q$8|=_7JE*^dv2{R%cPM+uRSH6md@&V4 zDoMv%^k40C@@g}J#vUcN{|g1k^sza zaX#>gwky%0ZEgVAJS5VKkS@FdZyBcZ1KQ=lme!@PLw~61daw#~TY!{XJQo|F)@)mx zA7X;T9{9cvm|$)fmgi}JdUygJkzwi>&Pe6<8rVv2IKYBB8Q@7yr?&#Y9>Ebhq!LFX ziz}kf+edwL2x`CI2TSMu@zzm;^tpY&#Ux}O@$jH0=r_8+iibdn`=buFhQ-A?FdPUJ zC5t5OXgFq$D4%lkieUp3`)GhXVIsqhaCg9b1H9}2;4+!uX*5_JwaG<3G@?G=sb$o_ zN2Dm8j%y?EiIf+Qr`HQ2fbe=YIUb2({YnGE>v6zMhDNCj|J2&&ac`@uK#0kQI8qzrlja^7P_wg}Ua<5N6O4Gm<* z(DXAzr(M!<&}m?>J^WUW()RUI365>@V$6Vk2Iw~$pvLH1fO}Jnp1zPiBVgUMpMY~` zmL_~N{zV5`4kn~4puy8(*C*3h$u`epJx@!4fC9KVB2)G*(D5$qu19O=p{gFoef!gF zJ6Qo0lu=~-1CPO5@_(Sy!{JfUe8&O`$gk=#ET~FP@L_J-OcVqtCc_3YB9js$kYx;5TDHGddiH?tj8$m&!~O_~aE6L&DMySY3ja*& zq6uWQo(#Ll7;iwifZyeq<{(vdx!$E|b!}P@ zxIjLD`D@o4V|!E#w$1<8dS9dAnn>inUG9+oDF+Ud4;XW(WY9O>ga2ttxJJfIcnaP{ z-QhhPH-R~)e;CpO40$HpDR>V&27O04aW%qXJ-m=V_Q^a_*UTTW;)5{89Bmx6P!Xxsu^7U+%-GIVHbvU@-Qf}U^- zQVcMR2=F#uu1CXxsRKRmacsyigxW-IKDekMb$|&Xt6owMsdr?2C`nF>A0myy=_ql2 z7GG(4G?yMt0{$F~!hXId3CXIgxJ1Oy7!O0eL7j7qY&du7T{j6M32w84FQq?32I`uz zL&t0M)m_TirN8cS9s5Nl$IBc$CdNthC_;~VNCZM02c=6JIT=22O=vlEAIQu9l!KP_ ziVhRG9iQ;O;}mRZz`F)G8`=l;ZqGq|Q&u`B>Ye%yo5e?&^;XEtFtLkk$Jy{f zX4*iH`emHSN16E_+4?-bk3IJ}Pw$J&{Eu8TO5{dH^v}?O*TMfIITyXNq%G817j<_v zdww!>oX~F!7&^r0oges(RJM9o?7+fVY1Rln)xt$BY2@MqS%E}I zDs4b{V3ncAKv?GyvgR=OAJNzu67g$WI1c&b+rayeUWrNQc?VCVjc{HUi5eL*WxOxb z0D@zI;U=ya^RhFd8|J=(#sVsY)o{DYv0#lm=D|ZTLZ`6q6|6WG5P~m3vS6#Hg>xNO za!ayc?Wb?|k}R}0E+>)&YJoP-hxcKX(7dfk7L+=XEa0^n9y0jhy=vbq!(1;Uaa7@lq`p10UK^CV~ZQYNT?{ z9Fjr?=8<|FdVh@Axt~h1C^1q`)rF$YQXOEoR`}WY3Pfm|+HN~RqktLaOxK6k#VV;L zM#+pRoUAD;-V0qYD8Ossg>9+Scb66iuMi*p*K(0c&Lt?k7=zG5p~oQG;e3$o@S8qf zhXFf!qe;U453yHS@Yv-om4n=hwMsi0uv)C@e!82XOH`GS} zUS<+TWcUZQszzzkI76m1Xc0|X`^=&E!!IcX)`KGXgPIv7>Co-+EZOOJGRYT<)A#L< zjr06{eleRj@>xEgj2p9S;O6m@4jOs*=4V)*gI8g_JomC33p-XCsmQ$udvI%!nnb>s z|yc$jQ{aN^sxB&p~D;43jKpPZ&}S{D8u6mjs*wYG(egT zZQXNuGi?UrK@#<%eIW0_hjs94OgU)Dybs^n#h)?lLTde{K2v|mNRH9Dymft#>5T_? zwgEkRutibMV2N@WQ2$3OA2HJyg{NbPOG~!D$Dz@Z{bSG165nmR}#YknN2y8s?9J^4=A=YR+ zJZ?76`Gu;*Hgw0_)N$;nmQYSQnS3<2&u14uy`3SteK>3E`Z=ZIKE9pb@N3kN4l(OA zv`ZJ?Ol4+bZEMA{z$h?dG@s#5Gy0|sYwqHCnV~YOV`PVrU6j$KBwhN_9`(nP7j^Ff zhxX^70W0U;U;<+#%sd?H$AdcrrT#|_1E|)Kqtuvz#Q?-c14T}pa?~u&Z?YIG3LU+n5EN(=n-QSg#q!s%lM&3yXjHs(yGdZ38N!5 z&WC3VXln!N1Wr(TL-dJahU%H74ZIXx;#FvG^oDkc&SKzw)L8uEtT$-4qFAhzQgGS< zBZ>ia!6jvz*vY$6-VXJ-3v`uh9sJnq#fj5kuJj4TiCcfk;Qa3C=J{-LbIHAnCR0mh z=S_G}nUOSCzkh8rdwr3=9bde@!skt5Pe#S z{vakxIXiA;Bh|g6d$yW%hg;v!e0ZlybK6$HU0YaK`Qn2Pf#qcu+;o==C#?q7i}*vu zQh&PSuxM^=Gm!4l7`Ue8bH-JzzV*_w*IGJ;cJ&pAv3`aFI6z~O&Et2|$scqd4y~+R zJs*m^Ji8jF#_yn#aWrSCZPyEy*A6x_C#W$Vbq)OHI!u8F_{#U=xejJT;~2T1?RWdF zj>BVTlPrI6HfMv8mWge`af^-PFA=!M3?Ir{dZB zUt+1g`X8*Pe=7ce`Qd64*dKe{O?}yu@c%T!XAb_@TGkEJy!SmC|6h4%33+;p|92_t zSS8uO|I-&8uOt=xKhE@cC8^;5kGP$%`t^F zu7RhIn*r~r7e|p?F2-JlYaMjG6v(Y@qsUuiU<584t0)`z|3hyqJ1WHi@w!roIyheQ zazK15iBXWpYh4xm|DjJ(c3M{j|9`~J%K`D)x`@6xX6vfp|Bt$zRPg_YKD6J}PB!rW zZ0j7Y^V-1wA9I_p;{T7hZ`{QHANqWLM^o9v{~vL!IJ95)DQV~V09$<(|9_axxrG0} zZ{|_P|L@WCtN4FowDwiKckusv>>Kam|Mxh=cyxqT#Z2zv|Fx3O1_8)V*O{N0>Z!J9>RpnTH2mW7=wi$$b2menLm65ST+9gaAC;%df z#Qq1Si75WSG!Y{gm?okb6Q+sCRw9rB`%g$#VE>6l4eUPwie`sQm?oq2#P=Af$2rgi zeXa%eKQK*v=e*eeglPi(5tt_aCvGsX|Adj6(K#?p#Bn7|6H$GHPl^3cm?q=giGU)s zDKJeuQ%nDi9jtC-$76kphji!OE6P_EDM%_ zj<^qE$_!l=JY~4D5MV=;+7f~#iX0TDbb-bwI3 z5t(AH&`uP+U;_w|5*q+9q%3H~-39)iCbz=>V+6cTu$MqBAV?5VT0p#7t1I0U&=;Td)Bb9qqCqWC26vFh*S5 z{+bOSlu)n%5cQcJmDm81{GZGQKZa#R>mU6E#q_ZmR+p|b!f4Du+m-U>`Vh$#?jfP-OwKnt8#O+8p92z&(>12!5Yu83X5 zj`L7KKp>I<7t*keXEi+2Yk?~!BoerBFYv=uJ?8-<0#K)|f}I1P%Cpom`~#prAwZx^ z78ofD#Qz;$f`s_TT2Uya0tf}#Hek?Es1eKu&@h15!OkgaK?RTzO^g->)-(8jKz=}w zsZJdccf|s+7eMa-Is$(Ll(&Osa8K$@JtQsw;y@Fk6?+R*D>fI%R{RhiIgq@8aK#S= z$`!ANr38|fcCpf5G zh24Y&z%LSzN;qzyrjbvybReZc4J3p#zK>ARgo>shSU#$apVC|)py91(RZGC75)_Vu zE62n?mJ9%2r!O|VpD^5V%)KGU1R3+#9b^EsHlo&p5{3RwT9h8Dl@LaHl)z%rDlvZi znEEkBsMF9m`q-`>q9ZBAnlzz86wmjZMQMk0`9OsNOiVKfKr!8s zpyCcaegKPU1_3S(aE;9dn-yeC8xEi`V~YSA3oaB6#Xu-P$9RDN9^0=|7eEja0GX~J zK*)3(0YnC*B^Vjn6WkJgGlRtdB~w;`$wLNU0Zyi_1E9>HDnQC~Y6+-}wIh6BFk+Yy z4oYW%AK;H;FrLXDk7)S(aloeg!t_9Y8!w+QHU(~mb7Hu?hWgN2V$`A4@t{ELGZGD? zK0*XS9~?*^^Z6c#da^Jl@RE96dR~|6ixF)IJ;3X zN(n!YZjr%1LQO!uP&!CefL5o{G0a5Z;NS}MizO8SLk}G&7|?2ggyH`{!!V!|5#u#c zF$}@zS{Q@lnncG?S`jiB6IJc_8>cE#hLVYvk%KD`GmHxYHN*Kp&Hxz-^bFM%2pUGM zfueE56G$4d=b~w-UJ*6CE1_!m9>^N2n<~bv0%3!uMcEV_T-GvgEZ{agGhuFmgDbTF z!5j&FBdRSyaKHlsxS|(W@e0uOAVcENaO9{rQ)Z6wTykh6o(SL~)M(<+P-aXX9VZSA z{zsm~9l`(TFmY(mF`$2VBtXeyS?E{PR)NG4Ige$5uYz93FNrLGo`xop_%*Nw^qx31 zumYM-!K0xw59}7I#}fP_RwS4*%47kwZ_MN#;wOX_K1XHKHXliTgPA&MVyHl+d^VGT zWC8Tk0gx8)fCK?mt76OwXts?tP&N_<6kxXkzy?_WLqR;EBLJFbg*t%dX&oonIu^^r z3%pyR4xp_Ca%LNK0F}t_0751{D%WA*Ep-6Rt)LFD8RK%eVMP{z_YFMXF6scfobu&@ zIsli1zb(Pnz@4|8yb1X!r~`zZ;%0Oo)`erJ1W<1=UkMaGb}7PMl)PwoN>0%ebpSOj zC|}^cKzc#)T&Cn_t?+wPs?-YX-(joRFsOOIh3c_BhfW1`K%BQ9lb@-e4zQ*~suk1$ zQE@0LQ3o&@0dvo{L>+)33!+bOT4bWp1>})x0-zbN$AH%2&J)01$K;e$$Aknls)t}r zoA@qakwS9=ppT;gNRJZ|s83_%xk7alY*Hsg!`lvtx`ja9#f+&@Iuqc&{Bdltq7LAs z070xO*so}L5szTTlm}4VNTZHk|@#ix!wUF@d87EGMH<=2~Lp{lUjXL&UAe%$~jk@2wx_R@#t%1mgm7z zWo$d>Y#1H{rH%8V2dD$E%7Qu|cwMk?rtm3fA>S z9stMt_6~Ibjg1CK)1j?br~_!#^r;!%Jt%bOp9HUq4Gqq{fRxjk`7X0jkG>qfLt3(f zI0tYJ-W<5$8yP?aQ6*kVX1Sn)bIlNK1!WKO2U&QSpjb|RNpT#8AR{f=KcZ+?r7Nfd z)@Rn#0iJn0bpY}v9)T)#0L6fou0kDvBZEGP52X{1?V9N4PzO+B_~zg=-J}k{gE|vtCpzA5_N!UvY$*H;8=u*u#&%`4&WQGeW&Cu*tu|r7iW+ejIVfJDg9)A zT@jD2_!d{Jfn~bC#13mcGe~8yTac4d-*|88f5h`fTpKxNMI&@`F}J5u(rdnmwrb?G4(>NSE&P>#V6_jjKlGrYgkSUl*z7$ zalt{+Z&2&eL%NExrVh{+Lbjj|a9N#|4X%F)A)WWIxAq4e!o z&kY8Ltswrb)B(D~t#5e5CKo<=`_FgmeqrSWbpY-U+EulV=rVhZ<^G4hUwOgeQP?c`oY*Gg>{&!s?Xk~7KI>2>U zU%93Zpf$TbeoGyIlZy2bnWWd$0rV5hNj{rcXH6YIftZX)0>_dag$@pYpboGPbGRqR zOhFw$zu{`7J1@k2NFBhSGWOKsR2A}%Noo4#u6q<2K;kR#W!2~0Pc)FI11QLfI^f^_ z5<&VeDDzkUni3!oxX)r5^-i0BS+)K8nkBo}%T9NZ|9E?i#T@3y-@v1mFBjjvpDu33 z7wOyUv+4QA;>@oGllHH&Nyex1&DG42@^`Io-psBq$II{LR}dJn+R9e;=TM_Wet_hf zSg)xv7x#`CK3j(+BFv*mZfA|b0GvlV24{1 zJB3Io-J>SpvOQ8E5}G>+Vcf}~dZ%4AQ2@C^2*!s;Dn!cRo`i6X>KJRHfNv)u-1j*` zAy&xk5P~4e!xbXII<~mjc3>ew2#LWDwIX)Pknm_B1NjUNO^7m*0~W@;6t9ATV7qcJ zFWrDY5RbH<*QU&e#Q*=Vb@oGcXMHydg3T1=m5$l5yhvH=7HdO4b!IHvIqTffC-|f7 zH#Vos{E}a9pEmDUZD9S0kv)+bED*aR#PYa{{;WB%q@7lcT`lH2+wQUJ!iGSkZXt*# z(vPsil2UiD+r!Tjc{9O5?qah%9w{tXU5_vmR_}=vE5b}Tc29~3!ARhgl93VSV^DxI za26MgRbwkD9kU}J*|#`v^f*Ccao*6;SUmJR_Y?CI=Oc35RH~eh&~QRUBIJtitOkk(qBUT#%=QuX{FeS;07;PeDJssKFh;@(S$kt}eO_8asYxG81 zHlQ>Sm)>hcSiI}ylrZ8X*e*jpw#+zX_Cs#(63MAXn8m;V{&vFzVi~20 zZFRm9m1N>EVr0BZI2Hj$ex)3d!!20%ZPh7qo2XVuG5m_vR3h#CX@qgJ<6;bni_$Jf^EF~hSgba|P$UkL6`OsINRYxl z5ewP=S~hF<@7UWngB%eioJBR{O>?V|FUS@_V1~l6lh(lM$l-*z1gfb8Pe+h3Yt`;K z@*jW>;#Yk#lCa;HQbK4%LyFP8xdOsCQ_qCl$t*##+85r&4NXH%0-f++tXS$fta4KIwN4M6W1&2Uzj+7 zTv3+dd|Hg;7wnU=KrI}Dkt_uzkl!6R(+(waX}80u_$>5^@@}1OHgmf6xPD^xv=NSTM*%jnbnn|2sm&t088Ms5{I)VfV!}kWC z&k2G-+3loo>N$WooX<}UD&qNsq@p2%mW}2jM4WoY;E{*eRm+W)83Kd-x;KZ_vzZt` zB3eNt++ef7K*dNQ5}S>*0=5fGS=O@*M8_KlX}lOsgMDiPPk5S}3Oq4(`g|(iBi^L| zEwDXIs6TJOKT|Td98y|Re0S`a8+C+n(xM_XkoFj9me^N`6dG(XN7^|02EqbYfwu_b zc|u``fT0jHO~j3~c$}rVPzVY@Q;iTPikq+&7R2UiK_~z}PXRc*-0fV>MQS^Qh#X%S zTI58vhhm@5&~aKNA&wfOVZNx>+=lGw>T2||z1x(FRN*QbGQxil6O-YC3IyX&S&^;I z&15%&a7hN~M`ArToXMCM(T!#!p$bz}qd|fQz<@=t0M(Q^O39hfqD< z!macO5tUEX2V=F)&6rENUE;!hjBbjcFoKc!)+R3_fg02mA^u@sE+o>~$+pcNLZlH& zQC27*Vgb=Aol?XAMiwaps7JIUz&FI?t@{YK>&E%@Y%zm&n~|Lq%6d8zGNU`I$Fqt@_ zy^?;wbD`0AqJsy6C?anVLCzedPQt6Hhd^^FU2FoH({|(CVnPa@)#}~wEs@v6VQ|FFiq=`71h-yR(tdoRD=^?=<&XXL6 zKt?~lxxfX0W++9XkzR#wcFs26NTCsVujwoziw9Cg&RhrgDTuk0YX)OmC!4`V&>zI^ zH-`}(OVI79yI= zQH6GwGSPrvTg7Rm4N^yWDQ=4?I-6z2z@c{hSR}DPX%TEh-9$ET`h>`8O6y6P=TIh1 zHDRfIG)|02G7pN>Fr@E_Z*!9|Fu>*ulQajMC*LNg=O8C$dFy;sMh&b|$e3DrHF;Iy z_&VqJcvmNqw;5z2)uG;x0vX|ylJwvh9BO00U|5T=u-gQP6en%4;snhpQ_L4I(?|+w zmltVeR;j;0@fB%hfZwgczy?hG$Tyl|zD)bYJw21A4Dkly13y`?<@6%ADKz|Zu%bC0SjRCk^5`Yg=z3ymuJ?&i$vA)ZTyDxFy!jv zFl7;94D7M#W1Pq>@(UcczH-$(xt&31f+SH}tJ9}xYKan7XI7zqR2>@FJo|Y8Gb&;g z&w@K|wHs#_von0rb>8?ey*h_%Bc*`B!QtP)(lAPNa^%E_3dIJ3jsU+E2~Md%0Np9b zlKDd=e`<|^X1C95w%llb6;46 z$}PH%VuWT<;Y$906JyAf&R zNaBbE-4#AkjYc~1?q#Q-m58Oo8Tx#d*WD>-C90`3$UVk>beEu&$ft5@&o4+&fdvNp zvvzzNHP{VM(--QHs!>!<=e|rqHzKVbISD+}zI10KQ#l&z$SZWGoRx^JqZG6n)pa;F zxe@slYd9(Y^Uv(-R}1U~J1Qh}2jj3dxpN^rp={gGq^zW|p+XFZ3>!P{gLT-1)r9|S zLc1I!Z+rR%==7dn?<(64Fqi{YP^0dOup7Y2mfRa4xYKDfQ+M6!Ss_bdB`ZLsBx>f! z9a*?`I4S}^po}p@WSM_lHs38TSuqS4YRXaV8mCLnZYnUFU9CR50*dfLOd)aNAktIA z_p}C+5^%u=EzeznN#PP$V@L^>VGXavLM#iiY+iNP#qO~05xfINBCIf?to=&I*HZ>2 zC@f~W2LXGfm#E#25JrLQv+Z9pDjT4bwvJ~cehyYUo8Ir z&AZRT|KC;Ki{k&EyO^7+hluld{C`>YPr&~lx(pjTiHykaSv5I)Au79sOc#z)h{_J& zvDQR+cP|ogua_j(^dpCEPSu^eE%^UK7h+>qj^(LCZ4;|)i+eomqwxO+Q4>3bsO+Y( z3~`h-QQ0YDndlgWsO*Am!T%q;IaPPJj?|p0J6Ehs9-%pH>`JlHc&I|Gc4F>zvE?17 z1FndjGE{bx4o-;bPSJksWMdbI_4Pd%=bas%{qz&X?hWz(|Ci9*6{#G%4r^pp=zKS< zpI~d^gW0usMs!rUy{%CRjO+z3x;gQ4;{U;`kf}#l`*zsB`2H0)z#(t|m=Eqt0{sK- zHRD!r8f=I4Yb}6_z&e^}=74ehJ((XM{cvxOafunuK&1y%8$$z|1dD@7&_?7VG2_s4 z!~9Xy6L9@|#Osq@WdPMK8UWRfZvw&(y8?LUz{amA1u*u6+3z#}Y=gf|=>85`1O#KI zk`=nYOU9{g+muqlAMwc`|Ax8d2GQ8@PIoc?)@v$n0QIXJ0B_#$+JXasbVFdTDJt-Z z0R5AHisU|#DY3x(lP-)5HOdwk{~>G}1Z{OuMj7LeDEH&~8vuR-cP=WKZ5@`-cp$m_ zL-#)?DFLHG4W|I{m(lv*CCS1U9 zs{s_&pnp=Hfx^EWzs;L9=)VU2KR4+A9v{T~|Ns5^5J3NT%l5^9{$E728uTxh+tWb* zcPpj{v#vq^KL_alxp$FFI}+SM&2zGAd`5~5CXwr%_)p_6cy3W%HVo&>m2)Fhhw=6o zTA|Md`ag8beKyel;R{+03wi?R|Ih`kh7LUe^nd7rZiE-HYJAMjXlL|JB?ZZmcP~2y zt%NDDEAhqFXeE^C^FfFQ(MEUGXeHd~384SO7c>C>A`Mc$qo;uW4_?@6=+x&!rw?7w zjqs|^2Us73pgY5t${|=sUZFeXtb}PDrJ&VNuEVj(jc_l*Ee@pjz7rC5IQ?x6`oI1( z(7%x$#|--acl*R5*6*q{P-~#pK&^pV1GNVBr2ztO2w-gxwMU*MlLZmXO4=-Fx8^f$( z;BDi@B8TF=>*0rdVNw_Yv1d2ai*sTYOL<|8btQU=qz)!Zn@mp6rX2G0bv_ajnUHe> z8hg?jk?4U~#K|nO2|*4|e4}Jkp1Ou^$ry1{R!n9$b6A$lu;=EXxpqu4ayh$VACcS8 z&3V2g7b0QArnE9s2yf3DZw;t4*qk>-29o)LQwHniONvOc6plWQFMYa+bxgv-!}5jTE!1x97HWpMKQek*nHSTmKkzmRHaq(9Z^3FS25gWN*jy=Joh|I_CEA_3~YyO->i{d?HmCWMR#u+k8<Uv5t4`udvHdfDOK1taI$eF~vaJ)2>oRb_G^@|!3$$#6BYNm}L zFy#62ZY`!!&!`M=jM~?OHGi=e-rQVG zR?o<7+5cew%U{<{#%5CLx=@oBu@w z>*mYvmNRq2{%LlV`{=9jW$yca!+h=J2PS`$cPGu0-^@N-T`*BQ`8y_&Cx6YX@cPYo z5tz--CuowqUroL zA1|qRs)@{)lN`hO?GIr%8+G#F{o9I7rsYj@qyBx@LsfD%yIDpxoRTMTI{8V9+k8|? zYs#bk{@;JejlGtw)XGfnT%++(=zsk7IJRF=4Mx{3f&W z{9?LTE~E?m^WXpO?|$?B>%YEYYy9StZQSp<`g;AWnEp@CoxH!Bv3eWN6;z|Gb_b6a7d6%apjn$gSr>Z#3b=f+fE!zv+sTV*EQ8!t`-kbG@!@jTm|iVOYS7NuH7_c*`TM{9o%Q%P zx3&DYzkB`tc$vSQUH=p{yyYz=%`wNmxOs_J-#)nXw%M7B0Pdk*{iloZlF*6Edn)Zo zBH#ClQVEE7_(Q(@VRmzMKD~PT+%MmF`W7pCihT8w$1mFb*TUBts5MY)pw>XGfm#E# M25Jrbf;8~|0nKO02LJ#7 literal 0 HcmV?d00001 diff --git a/tests/functionaltests/suites/stac_api/data/sentinel-2-l2a.json b/tests/functionaltests/suites/stac_api/data/sentinel-2-l2a.json new file mode 100644 index 000000000..f8559d66b --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/sentinel-2-l2a.json @@ -0,0 +1,552 @@ +{ + "id": "sentinel-2-l2a", + "type": "Collection", + "links": [ + { + "rel": "items", + "type": "application/geo+json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a/items" + }, + { + "rel": "parent", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/" + }, + { + "rel": "root", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/" + }, + { + "rel": "self", + "type": "application/json", + "href": "https://catalogue.dev-1.hsc.eofarm.com/stac/collections/sentinel-2-l2a" + }, + { + "rel": "license", + "href": "https://scihub.copernicus.eu/twiki/pub/SciHubWebPortal/TermsConditions/Sentinel_Data_Terms_and_Conditions.pdf", + "title": "Copernicus Sentinel data terms" + }, + { + "rel": "describedby", + "href": "https://planetarycomputer.microsoft.com/dataset/sentinel-2-l2a", + "title": "Human readable dataset overview and reference", + "type": "text/html" + } + ], + "title": "Sentinel-2 Level-2A", + "assets": { + "thumbnail": { + "href": "https://ai4edatasetspublicassets.blob.core.windows.net/assets/pc_thumbnails/sentinel-2.png", + "type": "image/png", + "roles": [ + "thumbnail" + ], + "title": "Sentinel 2 L2A" + }, + "geoparquet-items": { + "href": "abfs://items/sentinel-2-l2a.parquet", + "type": "application/x-parquet", + "roles": [ + "stac-items" + ], + "title": "GeoParquet STAC items", + "description": "Snapshot of the collection's STAC items exported to GeoParquet format.", + "msft:partition_info": { + "is_partitioned": true, + "partition_frequency": "W-MON" + }, + "table:storage_options": { + "account_name": "pcstacitems" + } + } + }, + "extent": { + "spatial": { + "bbox": [ + [ + -180, + -90, + 180, + 90 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2015-06-27T10:25:31Z", + null + ] + ] + } + }, + "license": "proprietary", + "keywords": [ + "Sentinel", + "Copernicus", + "ESA", + "Satellite", + "Global", + "Imagery", + "Reflectance" + ], + "providers": [ + { + "url": "https://sentinel.esa.int/web/sentinel/missions/sentinel-2", + "name": "ESA", + "roles": [ + "producer", + "licensor" + ] + }, + { + "url": "https://www.esri.com/", + "name": "Esri", + "roles": [ + "processor" + ] + }, + { + "url": "https://planetarycomputer.microsoft.com", + "name": "Microsoft", + "roles": [ + "host", + "processor" + ] + } + ], + "summaries": { + "gsd": [ + 10, + 20, + 60 + ], + "eo:bands": [ + { + "name": "AOT", + "description": "aerosol optical thickness" + }, + { + "gsd": 60, + "name": "B01", + "common_name": "coastal", + "description": "coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + }, + { + "gsd": 10, + "name": "B02", + "common_name": "blue", + "description": "visible blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + }, + { + "gsd": 10, + "name": "B03", + "common_name": "green", + "description": "visible green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "gsd": 10, + "name": "B04", + "common_name": "red", + "description": "visible red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "gsd": 20, + "name": "B05", + "common_name": "rededge", + "description": "vegetation classification red edge", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + }, + { + "gsd": 20, + "name": "B06", + "common_name": "rededge", + "description": "vegetation classification red edge", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + }, + { + "gsd": 20, + "name": "B07", + "common_name": "rededge", + "description": "vegetation classification red edge", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + }, + { + "gsd": 10, + "name": "B08", + "common_name": "nir", + "description": "near infrared", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + }, + { + "gsd": 20, + "name": "B8A", + "common_name": "rededge", + "description": "vegetation classification red edge", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + }, + { + "gsd": 60, + "name": "B09", + "description": "water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + }, + { + "gsd": 20, + "name": "B11", + "common_name": "swir16", + "description": "short-wave infrared, snow/ice/cloud classification", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + }, + { + "gsd": 20, + "name": "B12", + "common_name": "swir22", + "description": "short-wave infrared, snow/ice/cloud classification", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ], + "platform": [ + "Sentinel-2A", + "Sentinel-2B" + ], + "instruments": [ + "msi" + ], + "constellation": [ + "sentinel-2" + ], + "view:off_nadir": [ + 0 + ] + }, + "description": "The [Sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) program provides global imagery in thirteen spectral bands at 10m-60m resolution and a revisit time of approximately five days. This dataset represents the global Sentinel-2 archive, from 2016 to the present, processed to L2A (bottom-of-atmosphere) using [Sen2Cor](https://step.esa.int/main/snap-supported-plugins/sen2cor/) and converted to [cloud-optimized GeoTIFF](https://www.cogeo.org/) format.", + "item_assets": { + "AOT": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Aerosol optical thickness (AOT)" + }, + "B01": { + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 1 - Coastal aerosol - 60m", + "eo:bands": [ + { + "name": "B01", + "common_name": "coastal", + "description": "Band 1 - Coastal aerosol", + "center_wavelength": 0.443, + "full_width_half_max": 0.027 + } + ] + }, + "B02": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 2 - Blue - 10m", + "eo:bands": [ + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "B03": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 3 - Green - 10m", + "eo:bands": [ + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + } + ] + }, + "B04": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 4 - Red - 10m", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + } + ] + }, + "B05": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 5 - Vegetation red edge 1 - 20m", + "eo:bands": [ + { + "name": "B05", + "common_name": "rededge", + "description": "Band 5 - Vegetation red edge 1", + "center_wavelength": 0.704, + "full_width_half_max": 0.019 + } + ] + }, + "B06": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 6 - Vegetation red edge 2 - 20m", + "eo:bands": [ + { + "name": "B06", + "common_name": "rededge", + "description": "Band 6 - Vegetation red edge 2", + "center_wavelength": 0.74, + "full_width_half_max": 0.018 + } + ] + }, + "B07": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 7 - Vegetation red edge 3 - 20m", + "eo:bands": [ + { + "name": "B07", + "common_name": "rededge", + "description": "Band 7 - Vegetation red edge 3", + "center_wavelength": 0.783, + "full_width_half_max": 0.028 + } + ] + }, + "B08": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8 - NIR - 10m", + "eo:bands": [ + { + "name": "B08", + "common_name": "nir", + "description": "Band 8 - NIR", + "center_wavelength": 0.842, + "full_width_half_max": 0.145 + } + ] + }, + "B09": { + "gsd": 60, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 9 - Water vapor - 60m", + "eo:bands": [ + { + "name": "B09", + "description": "Band 9 - Water vapor", + "center_wavelength": 0.945, + "full_width_half_max": 0.026 + } + ] + }, + "B11": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 11 - SWIR (1.6) - 20m", + "eo:bands": [ + { + "name": "B11", + "common_name": "swir16", + "description": "Band 11 - SWIR (1.6)", + "center_wavelength": 1.61, + "full_width_half_max": 0.143 + } + ] + }, + "B12": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 12 - SWIR (2.2) - 20m", + "eo:bands": [ + { + "name": "B12", + "common_name": "swir22", + "description": "Band 12 - SWIR (2.2)", + "center_wavelength": 2.19, + "full_width_half_max": 0.242 + } + ] + }, + "B8A": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Band 8A - Vegetation red edge 4 - 20m", + "eo:bands": [ + { + "name": "B8A", + "common_name": "rededge", + "description": "Band 8A - Vegetation red edge 4", + "center_wavelength": 0.865, + "full_width_half_max": 0.033 + } + ] + }, + "SCL": { + "gsd": 20, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Scene classfication map (SCL)" + }, + "WVP": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "Water vapour (WVP)" + }, + "visual": { + "gsd": 10, + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "data" + ], + "title": "True color image", + "eo:bands": [ + { + "name": "B04", + "common_name": "red", + "description": "Band 4 - Red", + "center_wavelength": 0.665, + "full_width_half_max": 0.038 + }, + { + "name": "B03", + "common_name": "green", + "description": "Band 3 - Green", + "center_wavelength": 0.56, + "full_width_half_max": 0.045 + }, + { + "name": "B02", + "common_name": "blue", + "description": "Band 2 - Blue", + "center_wavelength": 0.49, + "full_width_half_max": 0.098 + } + ] + }, + "preview": { + "type": "image/tiff; application=geotiff; profile=cloud-optimized", + "roles": [ + "thumbnail" + ], + "title": "Thumbnail" + }, + "safe-manifest": { + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "SAFE manifest" + }, + "granule-metadata": { + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Granule metadata" + }, + "inspire-metadata": { + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "INSPIRE metadata" + }, + "product-metadata": { + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Product metadata" + }, + "datastrip-metadata": { + "type": "application/xml", + "roles": [ + "metadata" + ], + "title": "Datastrip metadata" + } + }, + "stac_version": "1.0.0", + "msft:container": "sentinel2-l2", + "stac_extensions": [ + "https://stac-extensions.github.io/item-assets/v1.0.0/schema.json", + "https://stac-extensions.github.io/table/v1.2.0/schema.json" + ], + "msft:storage_account": "sentinel2l2a01", + "msft:short_description": "The Sentinel-2 program provides global imagery in thirteen spectral bands at 10m-60m resolution and a revisit time of approximately five days. This dataset contains the global Sentinel-2 archive, from 2016 to the present, processed to L2A (bottom-of-atmosphere).", + "msft:region": "westeurope" +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/simple-collection.json b/tests/functionaltests/suites/stac_api/data/simple-collection.json new file mode 100644 index 000000000..5f6891676 --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/simple-collection.json @@ -0,0 +1,136 @@ +{ + "id": "simple-collection", + "type": "Collection", + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v2.0.0/schema.json", + "https://stac-extensions.github.io/projection/v2.0.0/schema.json", + "https://stac-extensions.github.io/view/v1.0.0/schema.json" + ], + "stac_version": "1.1.0", + "description": "A simple collection demonstrating core catalog fields with links to a couple of items", + "title": "Simple Example Collection", + "keywords": [ + "simple", + "example", + "collection" + ], + "providers": [ + { + "name": "Remote Data, Inc", + "description": "Producers of awesome spatiotemporal assets", + "roles": [ + "producer", + "processor" + ], + "url": "http://remotedata.io" + } + ], + "extent": { + "spatial": { + "bbox": [ + [ + 172.91173669923782, + 1.3438851951615003, + 172.95469614953714, + 1.3690476620161975 + ] + ] + }, + "temporal": { + "interval": [ + [ + "2020-12-11T22:38:32.125Z", + "2020-12-14T18:02:31.437Z" + ] + ] + } + }, + "license": "CC-BY-4.0", + "summaries": { + "platform": [ + "cool_sat1", + "cool_sat2" + ], + "constellation": [ + "ion" + ], + "instruments": [ + "cool_sensor_v1", + "cool_sensor_v2" + ], + "gsd": { + "minimum": 0.512, + "maximum": 0.66 + }, + "eo:cloud_cover": { + "minimum": 1.2, + "maximum": 1.2 + }, + "proj:cpde": [ + "EPSG:32659" + ], + "view:sun_elevation": { + "minimum": 54.9, + "maximum": 54.9 + }, + "view:off_nadir": { + "minimum": 3.8, + "maximum": 3.8 + }, + "view:sun_azimuth": { + "minimum": 135.7, + "maximum": 135.7 + }, + "statistics": { + "type": "object", + "properties": { + "vegetation": { + "description": "Percentage of pixels that are detected as vegetation, e.g. forests, grasslands, etc.", + "minimum": 0, + "maximum": 100 + }, + "water": { + "description": "Percentage of pixels that are detected as water, e.g. rivers, oceans and ponds.", + "minimum": 0, + "maximum": 100 + }, + "urban": { + "description": "Percentage of pixels that detected as urban, e.g. roads and buildings.", + "minimum": 0, + "maximum": 100 + } + } + } + }, + "links": [ + { + "rel": "root", + "href": "./collection.json", + "type": "application/json", + "title": "Simple Example Collection" + }, + { + "rel": "item", + "href": "./simple-item.json", + "type": "application/geo+json", + "title": "Simple Item" + }, + { + "rel": "item", + "href": "./core-item.json", + "type": "application/geo+json", + "title": "Core Item" + }, + { + "rel": "item", + "href": "./extended-item.json", + "type": "application/geo+json", + "title": "Extended Item" + }, + { + "rel": "self", + "href": "https://raw.githubusercontent.com/radiantearth/stac-spec/v1.1.0/examples/collection.json", + "type": "application/json" + } + ] +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/data/woudc-total-column-ozone-totalozone.json b/tests/functionaltests/suites/stac_api/data/woudc-total-column-ozone-totalozone.json new file mode 100644 index 000000000..72d6a560e --- /dev/null +++ b/tests/functionaltests/suites/stac_api/data/woudc-total-column-ozone-totalozone.json @@ -0,0 +1,256 @@ +{ + "id": "woudc-total-column-ozone-totalozone", + "type": "Feature", + "time": { + "interval": [ + "1924-08-17T00:00:00Z", + ".." + ], + "resolution": "P1D" + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + -180, + -90 + ], + [ + -180, + 90 + ], + [ + 180, + 90 + ], + [ + 180, + -90 + ], + [ + -180, + -90 + ] + ] + ] + }, + "conformsTo": [ + "http://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core" + ], + "properties": { + "created": "2021-02-08T00:00:00Z", + "updated": "2021-02-08T00:00:00Z", + "type": "dataset", + "title": "Total Ozone - daily observations", + "description": "A measurement of the total amount of atmospheric ozone in a given column from the surface to the edge of the atmosphere. Ground based instruments such as spectrophotometers and ozonemeters are used to measure results daily", + "keywords": [ + "total", + "ozone", + "level 1.0", + "column", + "dobson", + "brewer", + "saoz" + ], + "language": { + "code": "en-CA", + "name": "English (Canada)" + }, + "languages": [ + { + "code": "en-CA", + "name": "English (Canada)" + }, + { + "code": "fr-CA", + "name": "French (Canada)" + } + ], + "externalIds": [ + { + "scheme": "WMO:WIS", + "value": "urn:x-wmo:md:int.wmo.wis::https://geo.woudc.org/def/data/ozone/total-column-ozone/totalozone" + } + ], + "contacts": [ + { + "name": "World Ozone and Ultraviolet Radiation Data Centre", + "links": [ + { + "href": "https://woudc.org", + "rel": "about", + "type": "text/html" + } + ], + "contactInstructions": "SEE PAGE: https://woudc.org/contact.php", + "roles": [ + "publisher" + ] + } + ], + "themes": [ + { + "concepts": [ + { + "id": "dobson", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_dobson" + }, + { + "id": "brewer", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_brewer" + }, + { + "id": "vassey", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_vassey" + }, + { + "id": "pion", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_pion" + }, + { + "id": "microtops", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_microtops" + }, + { + "id": "spectral", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_spectral" + }, + { + "id": "hoelper", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_hoelper" + }, + { + "id": "saoz", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_saoz" + }, + { + "id": "filter", + "url": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode_filter" + } + ], + "scheme": "https://geo.woudc.org/codelists.xml#WOUDC_InstrumentCode" + }, + { + "concepts": [ + { + "id": "atmosphericComposition", + "url": "https://wis.wmo.int/2012/codelists/WMOCodeLists.xml#WMO_CategoryCode_atmosphericComposition" + }, + { + "id": "pollution", + "url": "https://wis.wmo.int/2012/codelists/WMOCodeLists.xml#WMO_CategoryCode_pollution" + }, + { + "id": "observationPlatform", + "url": "https://wis.wmo.int/2012/codelists/WMOCodeLists.xml#WMO_CategoryCode_observationPlatform" + }, + { + "id": "rocketSounding", + "url": "https://wis.wmo.int/2012/codelists/WMOCodeLists.xml#WMO_CategoryCode_rocketSounding" + } + ], + "scheme": "https://wis.wmo.int/2012/codelists/WMOCodeLists.xml#WMO_CategoryCode" + } + ], + "formats": [ + { + "name": "CSV", + "mediaType": "text/csv" + }, + { + "name": "GeoJSON", + "mediaType": "application/geo+json" + } + ], + "license": "other" + }, + "linkTemplates": [ + { + "rel": "describes", + "type": "image/png", + "title": "World Ozone and Ultraviolet Radiation Data Centre (WOUDC) stations", + "uriTemplate": "https://geo.woudc.org/ows?service=WMS&version=1.3.0&request=GetMap&crs={crs}&bbox={bbox}&layers=stations&width={width}&height={height}&format=image/png", + "variables": { + "bbox": { + "description": "...", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 4, + "maxItems": 4 + }, + "crs": { + "description": "...", + "type": "string", + "enum": [ + "EPSG:4326", + "EPSG:3857" + ] + }, + "width": { + "description": "...", + "type": "number", + "format": "integer", + "minimum": 600, + "maximum": 5000 + }, + "height": { + "description": "...", + "type": "number", + "format": "integer", + "minimum": 600, + "maximum": 5000 + } + } + } + ], + "links": [ + { + "rel": "alternate", + "type": "text/html", + "title": "This document as HTML", + "href": "https://woudc.org/data/dataset_info.php?id=totalozone" + }, + { + "rel": "preview", + "type": "image/png", + "title": "Total Ozone Preview Image", + "href": "https://woudc.org/data/preview.png" + }, + { + "rel": "enclosure", + "type": "text/html", + "title": "Web Accessible Folder (WAF)", + "href": "https://woudc.org/archive/Archive-NewFormat/TotalOzone_1.0_1", + "created": "2015-01-23T00:00:00Z", + "updated": "2015-01-23T00:00:00Z" + }, + { + "rel": "search", + "type": "text/html", + "title": "Data Search / Download User Interface", + "href": "https://woudc.org/data/explore.php?dataset=totalozone" + }, + { + "rel": "enclosure", + "type": "application/zip", + "title": "Static dataset archive file", + "href": "https://woudc.org/archive/Summaries/dataset-snapshots/totalozone.zip", + "created": "2015-01-23T00:00:00Z", + "updated": "2015-01-23T00:00:00Z" + }, + { + "rel": "service", + "type": "application/xml", + "title": "OGC Web Feature Service (WFS)", + "href": "https://geo.woudc.org/ows" + }, + { + "rel": "license", + "href": "https://woudc.org/about/data-policy.php" + } + ] +} \ No newline at end of file diff --git a/tests/functionaltests/suites/stac_api/test_stac_api_functional.py b/tests/functionaltests/suites/stac_api/test_stac_api_functional.py index bf26bcb91..d71075359 100644 --- a/tests/functionaltests/suites/stac_api/test_stac_api_functional.py +++ b/tests/functionaltests/suites/stac_api/test_stac_api_functional.py @@ -3,7 +3,7 @@ # Authors: Tom Kralidis # Angelos Tzotsos # -# Copyright (c) 2023 Tom Kralidis +# Copyright (c) 2025 Tom Kralidis # Copyright (c) 2022 Angelos Tzotsos # # Permission is hereby granted, free of charge, to any person @@ -95,7 +95,7 @@ def test_collections(config): assert status == 200 assert len(content['links']) == 3 - assert len(content['collections']) == 0 + assert len(content['collections']) == 4 assert len(content['collections']) == content['numberMatched'] assert len(content['collections']) == content['numberReturned'] @@ -140,7 +140,7 @@ def test_items(config): record = content['features'][0] assert record['stac_version'] == '1.0.0' - assert record['collection'] == 'metadata:main' + assert record['collection'] == 'S2MSI2A' for feature in content['features']: if feature.get('geometry') is not None: @@ -153,70 +153,90 @@ def test_items(config): # test GET KVP requests content = json.loads(api.items({}, None, {'bbox': '-180,-90,180,90'})[2]) - assert len(content['features']) == 3 + assert len(content['features']) == 10 - content = json.loads(api.items({}, None, {'datetime': '2006-03-26'})[2]) - assert len(content['features']) == 1 + content = json.loads(api.items({}, None, {'datetime': '2021-02-16'})[2]) + assert len(content['features']) == 2 content = json.loads(api.items({}, None, {'bbox': '-180,-90,180,90', - 'datetime': '2006-03-26'})[2]) - assert len(content['features']) == 1 + 'datetime': '2021-02-16'})[2]) + assert len(content['features']) == 2 content = json.loads(api.items({}, None, {'sortby': 'title'})[2]) assert len(content['features']) == 10 - assert content['features'][5]['properties']['title'] == 'Lorem ipsum' + assert content['features'][5]['properties']['title'] == 'S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE' # noqa content = json.loads(api.items({}, None, {'sortby': '-title'})[2]) assert len(content['features']) == 10 - assert content['features'][5]['properties']['title'] == 'Lorem ipsum dolor sit amet' # noqa + assert content['features'][5]['properties']['title'] == 'S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE' # noqa - params = {'filter': "title LIKE '%%Lorem%%'"} + params = {'filter': "title LIKE '%%sentinel%%'"} content = json.loads(api.items({}, None, params)[2]) - assert content['numberMatched'] == 2 - assert content['numberReturned'] == 2 + assert content['numberMatched'] == 3 + assert content['numberReturned'] == 3 assert len(content['features']) == content['numberReturned'] - params = {'filter': "title LIKE '%%Lorem%%'", 'q': 'iPsUm'} + params = {'filter': "title LIKE '%%sentinel%%'", 'q': 'specTral'} content = json.loads(api.items({}, None, params)[2]) - assert content['numberMatched'] == 2 - assert content['numberReturned'] == 2 + assert content['numberMatched'] == 3 + assert content['numberReturned'] == 3 assert len(content['features']) == content['numberReturned'] # test POST JSON requests content = json.loads(api.items({}, {'bbox': [-180, -90, 180, 90]}, {})[2]) - assert len(content['features']) == 3 + assert len(content['features']) == 10 content = json.loads(api.items({}, - {'bbox': [-180, -90, 180, 90], 'datetime': '2006-03-26'}, # noqa + {'bbox': [-180, -90, 180, 90], 'datetime': '2019-09-10T09:50:29.024000Z'}, # noqa {})[2]) - assert len(content['features']) == 1 + assert len(content['features']) == 10 - content = json.loads(api.items({}, {'datetime': '2006-03-26'}, {})[2]) - assert len(content['features']) == 1 + content = json.loads(api.items({}, {'datetime': '2024-11-28T09:23:31.024000Z'}, {})[2]) # noqa + assert len(content['features']) == 2 content = json.loads(api.items({}, {'sortby': [{'field': 'title', 'direction': 'asc'}]}, # noqa {})[2]) assert len(content['features']) == 10 - assert content['features'][5]['properties']['title'] == 'Lorem ipsum' + assert content['features'][5]['properties']['title'] == 'S2B_MSIL1C_20190910T095029_N0208_R079_T33UWQ_20190910T120910.SAFE' # noqa content = json.loads(api.items({}, {'sortby': [{'field': 'title', 'direction': 'desc'}]}, # noqa {})[2]) assert len(content['features']) == 10 - assert content['features'][5]['properties']['title'] == 'Lorem ipsum dolor sit amet' # noqa + assert content['features'][5]['properties']['title'] == 'S2B_MSIL2A_20190910T095029_N0500_R079_T33UXQ_20230430T083712.SAFE' # noqa headers, status, content = api.items({}, None, {}, 'foo') assert status == 400 + # test items from a specific collection + headers, status, content = api.items({}, None, {}, 'S2MSI2A') + assert status == 200 + + content = json.loads(content) + + assert content['numberMatched'] == 11 + for feature in content['features']: + assert feature['collection'] == 'S2MSI2A' + + # test items from a specific collection with a temporal query predicate + headers, status, content = api.items({}, None, {'datetime': '2018-10-09T21:00:00.000Z/2019-10-23T12:51:01.271Z'}, 'S2MSI1C') # noqa + assert status == 200 + + content = json.loads(content) + + assert content['numberMatched'] == 12 + for feature in content['features']: + assert feature['collection'] == 'S2MSI1C' + def test_item(config): api = STACAPI(config) - item = 'urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f' + item = 'S2B_MSIL2A_20190910T095029_N0500_R079_T33TXN_20230430T083712.SAFE' headers, status, content = api.item({}, {}, 'metadata:main', item) content = json.loads(content) @@ -225,7 +245,7 @@ def test_item(config): assert content['id'] == item assert content['stac_version'] == '1.0.0' - assert content['collection'] == 'metadata:main' + assert content['collection'] == 'S2MSI2A' for link in content['links']: assert 'href' in link @@ -244,7 +264,8 @@ def test_json_transaction(config, sample_collection, sample_item, # insert item headers, status, content = api.manage_collection_item( - request_headers, 'create', data=sample_item, collection='metadata:main') + request_headers, 'create', data=sample_item, + collection='metadata:main') assert status == 201 @@ -254,11 +275,11 @@ def test_json_transaction(config, sample_collection, sample_item, assert content['id'] == '20201211_223832_CS2' assert content['geometry'] is None - assert content['properties']['datetime'] == '2020-12-11T22:38:32.125000Z' + assert content['properties']['datetime'] == '2020-12-11T22:38:32Z' assert content['collection'] == 'metadata:main' # update item - sample_item['properties']['datetime'] = '2021-12-11T22:38:32.125000Z' + sample_item['properties']['datetime'] = '2021-12-14T22:38:32Z' headers, status, content = api.manage_collection_item( request_headers, 'update', item='20201211_223832_CS2', @@ -271,7 +292,7 @@ def test_json_transaction(config, sample_collection, sample_item, '20201211_223832_CS2')[2]) assert content['id'] == '20201211_223832_CS2' - assert content['properties']['datetime'] == sample_item['properties']['datetime'] + assert content['properties']['datetime'] == sample_item['properties']['datetime'] # noqa assert content['collection'] == 'metadata:main' # delete item @@ -290,11 +311,12 @@ def test_json_transaction(config, sample_collection, sample_item, matched = json.loads(content)['numberMatched'] - assert matched == 12 + assert matched == 30 # insert item collection headers, status, content = api.manage_collection_item( - request_headers, 'create', data=sample_item_collection, collection='metadata:main') + request_headers, 'create', data=sample_item_collection, + collection='metadata:main') assert status == 201 @@ -302,7 +324,7 @@ def test_json_transaction(config, sample_collection, sample_item, matched = json.loads(content)['numberMatched'] - assert matched == 14 + assert matched == 32 # delete items from item collection headers, status, content = api.manage_collection_item( @@ -335,7 +357,8 @@ def test_json_transaction(config, sample_collection, sample_item, assert collection_found - headers, status, content = api.collection({}, {'f': 'json'}, collection=collection_id) + headers, status, content = api.collection( + {}, {'f': 'json'}, collection=collection_id) content = json.loads(content) @@ -352,7 +375,8 @@ def test_json_transaction(config, sample_collection, sample_item, assert status == 204 - headers, status, content = api.collection({}, {'f': 'json'}, collection=collection_id) + headers, status, content = api.collection( + {}, {'f': 'json'}, collection=collection_id) content = json.loads(content)