.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_auto_examples/summary_stack.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr__auto_examples_summary_stack.py: Explore collection metadata using earthdaily =============================================================== .. GENERATED FROM PYTHON SOURCE LINES 7-9 Import librairies ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 9-17 .. code-block:: Python from rich.console import Console from rich.table import Table from earthdaily import EarthDataStore console = Console() .. GENERATED FROM PYTHON SOURCE LINES 18-20 Init earthdatastore with environment variables or default credentials ---------------------------------------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 20-23 .. code-block:: Python eds = EarthDataStore() .. GENERATED FROM PYTHON SOURCE LINES 24-26 Explore available collections ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 26-32 .. code-block:: Python table = Table("Available collections") for t in eds.explore(): table.add_row(t) console.print(table) .. rst-class:: sphx-glr-script-out .. code-block:: none ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Available collections ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ ai-ready-mosaics │ │ ai-ready-mosaics-preview │ │ ai-ready-mosaics-sample │ │ alsat-1b-l2a-cog-edagro │ │ alsat-1b-l2a-cog-edagro-ag-cloud-mask │ │ building-changes-map │ │ cbers-4-l2a-cog-edagro │ │ cbers-4-l2a-cog-edagro-ag-cloud-mask │ │ cbers4-mux │ │ cbers4-mux-clip │ │ cbers4-mux-l1c │ │ cldmsk-l2-viirs-noaa20-001 │ │ cldmsk-l2-viirs-noaa21-001 │ │ cldmsk-l2-viirs-snpp-001 │ │ cropland-data-layer-us │ │ deimos-1-l2a-cog-edagro │ │ deimos-1-l2a-cog-edagro-ag-cloud-mask │ │ deimos-l2a-cog-edagro │ │ deimos-l2a-cog-edagro-ag-cloud-mask │ │ deimos1-catalog │ │ deimos1-l1c │ │ dmc-l2a-cog-edagro │ │ dmc-l2a-cog-edagro-ag-cloud-mask │ │ dove-psb-sd-boa │ │ earthdaily-simulated-cloudless-l2a-cog-edagro │ │ earthdaily-simulated-l2a-cog-edagro │ │ earthdaily-simulated-l2a-cog-edagro-ag-cloud-mask │ │ ecmwf-mars │ │ ecmwf-open-data │ │ ecostress-eco-l2t-lste-002 │ │ eda-albedo-map │ │ eda-analysis-ready-mosaic │ │ eda-annotation-labels │ │ eda-brightness-invariant │ │ eda-calibration-sites │ │ eda-cross-calibration │ │ eda-dem │ │ eda-geoid │ │ eda-landcover │ │ eda-reference-image │ │ eda-water-mask │ │ edagro-analytics-crop-mask-in-season │ │ edagro-analytics-crops-layer │ │ edagro-analytics-field-borders-layer │ │ edagro-analytics-field-boundaries │ │ edagro-landsat-cross-cal-coefficient │ │ edc-daily-acquisition-requests │ │ edc-data-acquisition-plan │ │ edc-preview │ │ esa-worldcover-landcover-2020-v100 │ │ esa-worldcover-landcover-2021-v200 │ │ esa-worldcover-s1-vvvhratio-2020-v100 │ │ esa-worldcover-s1-vvvhratio-2021-v200 │ │ esa-worldcover-s2-nvdi-2020-v100 │ │ esa-worldcover-s2-nvdi-2021-v200 │ │ esa-worldcover-s2-rgbnir-2020-v100 │ │ esa-worldcover-s2-rgbnir-2021-v200 │ │ esa-worldcover-s2-swir-2020-v100 │ │ esa-worldcover-s2-swir-2021-v200 │ │ gaofen-1-l2a-cog-edagro │ │ gaofen-1-l2a-cog-edagro-ag-cloud-mask │ │ gaofen-6-l2a-cog-edagro │ │ gaofen-6-l2a-cog-edagro-ag-cloud-mask │ │ goes │ │ himawari-l1b │ │ himawari-l2-cloud │ │ huanjing-2-l2a-cog-edagro │ │ huanjing-2-l2a-cog-edagro-ag-cloud-mask │ │ jilin-1-cog-edagro │ │ jilin-1-cog-edagro-ag-cloud-mask │ │ kazstsat-l2a-cog-edagro │ │ kazstsat-l2a-cog-edagro-ag-cloud-mask │ │ landsat-c2l1 │ │ landsat-c2l1-data-coverage │ │ landsat-c2l2-sr │ │ landsat-c2l2-st │ │ landsat-eda-cloud-mask │ │ landsat-l2-cog-ag-cloud-mask │ │ lulc-classification-map │ │ modis-43A4-061 │ │ modis-aqua-calibrated-radiance │ │ modis-calibrated-radiance │ │ modis-mod04-l2-061 │ │ modis-mod07-l2-061 │ │ modis-mod11-l2-061 │ │ modis-mod11a2-061 │ │ modis-mod21-l2-061 │ │ modis-mod21a2-061 │ │ modis-mod35-l2-061 │ │ modis-myd11-l2-061 │ │ modis-myd11a2-061 │ │ modis-myd21-l2-061 │ │ modis-myd21a2-061 │ │ modis-myd35-l2-061 │ │ mrc-catalog │ │ mrc-l1c │ │ msg-seviri │ │ msg-seviri-cloud-mask │ │ nst-observer-catalog │ │ nst-observer-l1c │ │ nst-observer-l2a │ │ palsar-catalog │ │ palsar-grd │ │ public-crop-mask │ │ resourcesat-2-l2a-cog-edagro │ │ resourcesat-2-l2a-cog-edagro-ag-cloud-mask │ │ sentinel-1-grd │ │ sentinel-1-rtc │ │ sentinel-2-c1-l2a │ │ sentinel-2-c1-l2a-data-coverage │ │ sentinel-2-eda-cloud-mask │ │ sentinel-2-eda-cloud-mask-data-coverage │ │ sentinel-2-l1c │ │ sentinel-2-l1c-copernicus │ │ sentinel-2-l1c-data-coverage │ │ sentinel-2-l1c-ml-cloud-mask │ │ sentinel-2-l2a │ │ sentinel-2-l2a-cog-ag-cloud-mask │ │ sentinel-2-l2a-cog-ag-cloud-mask-geosys-private │ │ sentinel-2-l2a-cog-edagro │ │ sentinel-2-l2a-cog-edagro-ag-cloud-mask │ │ sentinel-2-l2a-copernicus │ │ sentinel-2-l2a-data-coverage │ │ sentinel-2-methane-product │ │ simedc-ai-ready-data │ │ simedc-ai-ready-data-clip │ │ simedc-analysis-ready-data │ │ simedc-analysis-ready-data-clip │ │ simedc-quick-ortho │ │ simedc-quick-ortho-clip │ │ simedc-swir-catalog │ │ simedc-swir-catalog-data-coverage │ │ simedc-swir-l1c │ │ simedc-swir-l1c-clip │ │ simedc-swir-l2a │ │ simedc-swir-l2a-clip │ │ simedc-tir-catalog │ │ simedc-tir-l1c │ │ simedc-tir-l1c-clip │ │ simedc-visual-nrg │ │ simedc-visual-nrg-clip │ │ simedc-visual-rgb │ │ simedc-visual-rgb-clip │ │ simedc-vnir-catalog │ │ simedc-vnir-catalog-data-coverage │ │ simedc-vnir-l1c │ │ simedc-vnir-l1c-clip │ │ simedc-vnir-l2a │ │ simedc-vnir-l2a-clip │ │ typha-classification-map │ │ venus-l2a │ │ venus-l2a-clip │ │ viirs-vj102img-021 │ │ viirs-vj102mod-021 │ │ viirs-vj103img-021 │ │ viirs-vj121-002 │ │ viirs-vj121a1d-002 │ │ viirs-vj121a1n-002 │ │ viirs-vj121a2-002 │ │ viirs-vj202img-002 │ │ viirs-vj202mod-002 │ │ viirs-vj203img-002 │ │ viirs-vnp02img-002 │ │ viirs-vnp02mod-002 │ │ viirs-vnp03img-002 │ │ viirs-vnp21-002 │ │ viirs-vnp21a1d-002 │ │ viirs-vnp21a1n-002 │ │ viirs-vnp21a2-002 │ │ worldview-cog-edagro │ │ worldview-cog-edagro-ag-cloud-mask │ │ zy-1-cog-edagro │ │ zy-1-cog-edagro-ag-cloud-mask │ └───────────────────────────────────────────────────┘ .. GENERATED FROM PYTHON SOURCE LINES 33-35 Explore a specific collection ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 35-39 .. code-block:: Python collection = eds.explore("sentinel-2-c1-l2a") console.log(collection.properties) .. rst-class:: sphx-glr-script-out .. code-block:: none [14:53:07] { summary_stack.py:37 'type': 'Collection', 'id': 'sentinel-2-c1-l2a', 'stac_version': '1.1.0', 'description': 'sentinel-2-c1-l2a', 'links': [ { 'rel': 'self', 'href': 'https://api.eds.earthdaily.com/archive/v1/stac/v 1/collections/sentinel-2-c1-l2a', 'type': 'application/json' }, { 'rel': 'parent', 'href': 'https://api.eds.earthdaily.com/archive/v1/stac/v 1', 'type': 'application/json' }, { 'rel': 'items', 'href': 'https://api.eds.earthdaily.com/archive/v1/stac/v 1/collections/sentinel-2-c1-l2a/items', 'type': 'application/geo+json' }, { 'rel': 'root', 'href': 'https://api.eds.earthdaily.com/archive/v1/stac/v 1', 'type': 'application/json', 'title': 'Platform API (STAC Compliant)' } ], 'stac_extensions': [ 'https://earthdaily-stac-extensions.s3.am azonaws.com/eda_stats/v1.0.0/schema.json' ], 'item_assets': None, 'eda_stats:items': { 'count': 22589984, 'count_by_year': { '2016': 13, '2017': 24560, '2018': 1329389, '2019': 3164538, '2020': 4013060, '2021': 4054546, '2022': 270380, '2023': 4248426, '2024': 4270753, '2025': 1214319 }, 'count_by_year_month': { '2016': { '2016-01': 0, '2016-02': 0, '2016-03': 0, '2016-04': 0, '2016-05': 0, '2016-06': 0, '2016-07': 0, '2016-08': 0, '2016-09': 0, '2016-10': 0, '2016-11': 10, '2016-12': 3 }, '2017': { '2017-01': 0, '2017-02': 0, '2017-03': 0, '2017-04': 0, '2017-05': 0, '2017-06': 0, '2017-07': 0, '2017-08': 0, '2017-09': 0, '2017-10': 0, '2017-11': 7471, '2017-12': 17089 }, '2018': { '2018-01': 59009, '2018-02': 80335, '2018-03': 109996, '2018-04': 27715, '2018-05': 38889, '2018-06': 207054, '2018-07': 176060, '2018-08': 326044, '2018-09': 173226, '2018-10': 102601, '2018-11': 20345, '2018-12': 8115 }, '2019': { '2019-01': 11492, '2019-02': 1896, '2019-03': 109083, '2019-04': 356023, '2019-05': 366292, '2019-06': 356429, '2019-07': 374489, '2019-08': 377073, '2019-09': 350356, '2019-10': 329114, '2019-11': 268138, '2019-12': 264153 }, '2020': { '2020-01': 274873, '2020-02': 295613, '2020-03': 363105, '2020-04': 367428, '2020-05': 377523, '2020-06': 368621, '2020-07': 377952, '2020-08': 379940, '2020-09': 361598, '2020-10': 321386, '2020-11': 267295, '2020-12': 257726 }, '2021': { '2021-01': 279753, '2021-02': 289577, '2021-03': 365969, '2021-04': 368585, '2021-05': 381747, '2021-06': 368355, '2021-07': 382459, '2021-08': 381743, '2021-09': 364462, '2021-10': 336941, '2021-11': 271686, '2021-12': 263269 }, '2022': { '2022-01': 0, '2022-02': 13, '2022-03': 39806, '2022-04': 970, '2022-05': 0, '2022-06': 276, '2022-07': 305, '2022-08': 247, '2022-09': 95, '2022-10': 500, '2022-11': 263, '2022-12': 227905 }, '2023': { '2023-01': 299787, '2023-02': 321719, '2023-03': 383914, '2023-04': 376481, '2023-05': 394324, '2023-06': 381254, '2023-07': 394887, '2023-08': 390863, '2023-09': 379158, '2023-10': 356207, '2023-11': 290943, '2023-12': 278889 }, '2024': { '2024-01': 289156, '2024-02': 317466, '2024-03': 380890, '2024-04': 378933, '2024-05': 388073, '2024-06': 375486, '2024-07': 389872, '2024-08': 384454, '2024-09': 374943, '2024-10': 358962, '2024-11': 303460, '2024-12': 329058 }, '2025': { '2025-01': 342616, '2025-02': 312062, '2025-03': 430358, '2025-04': 129283, '2025-05': 0, '2025-06': 0, '2025-07': 0, '2025-08': 0, '2025-09': 0, '2025-10': 0, '2025-11': 0, '2025-12': 0 } } }, 'title': 'Sentinel-2 C1 L2A', 'extent': { 'spatial': { 'bbox': [ [ -180.0, -82.85171, 180.0, 82.82026 ] ] }, 'temporal': { 'interval': [ [ '2016-11-02T10:01:49.457000Z' , '2025-04-09T12:55:47.018000Z' ] ] } }, 'license': 'proprietary' } .. GENERATED FROM PYTHON SOURCE LINES 40-42 List properties available per item ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 42-48 .. code-block:: Python table = Table("properties", "values", "dtype", title=f"Properties for {collection}") for k, v in collection.item_properties.items(): # item_properties is a dict table.add_row(k, str(v), type(v).__name__) console.print(table) .. rst-class:: sphx-glr-script-out .. code-block:: none Properties for Exploring collection "sentinel-2-c1-l2a" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓ ┃ properties ┃ values ┃ dtype ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━┩ │ constellation │ sentinel-2 │ str │ │ created │ 2025-04-09T14:03:39.777301Z │ str │ │ datetime │ 2025-04-09T12:55:49.035000Z │ str │ │ earthsearch:payload_id │ roda-sentinel-2-c1-l2a/workflow… │ str │ │ eda:ag_cloud_mask_available │ False │ bool │ │ eda:cloud_mask_available │ False │ bool │ │ eda:loose_validation_status │ SCHEMA_NOT_FOUND │ str │ │ eda:source_created │ 2025-04-09T14:03:29.366663+00:00 │ str │ │ eda:source_updated │ 2025-04-09T14:03:29.366663+00:00 │ str │ │ eda:status │ PUBLISHED │ str │ │ eda:tracking_id │ fiofKFbeGxZ2thwm8ah4Bh │ str │ │ eo:cloud_cover │ 0.715249 │ float │ │ grid:code │ MGRS-24LXK │ str │ │ instruments │ ['msi'] │ list │ │ mgrs:grid_square │ XK │ str │ │ mgrs:latitude_band │ L │ str │ │ mgrs:utm_zone │ 24 │ int │ │ platform │ sentinel-2b │ str │ │ processing:software │ {'sentinel-2-c1-l2a-to-stac': │ dict │ │ │ 'v2024.02.01'} │ │ │ proj:centroid │ {'lat': -13.62858, 'lon': │ dict │ │ │ -37.40274} │ │ │ proj:code │ EPSG:32724 │ str │ │ s2:cloud_shadow_percentage │ 0.0 │ float │ │ s2:datastrip_id │ S2B_OPER_MSI_L2A_DS_2BPS_202504… │ str │ │ s2:datatake_id │ GS2B_20250409T125309_042263_N05… │ str │ │ s2:datatake_type │ INS-NOBS │ str │ │ s2:degraded_msi_data_percentage │ 0.0237 │ float │ │ s2:generation_time │ 2025-04-09T13:25:03.000000Z │ str │ │ s2:high_proba_clouds_percentage │ 0.107734 │ float │ │ s2:medium_proba_clouds_percentage │ 0.604866 │ float │ │ s2:nodata_pixel_percentage │ 92.236179 │ float │ │ s2:not_vegetated_percentage │ 0.0 │ float │ │ s2:processing_baseline │ 05.11 │ str │ │ s2:product_type │ S2MSI2A │ str │ │ s2:product_uri │ S2B_MSIL2A_20250409T125309_N051… │ str │ │ s2:reflectance_conversion_factor │ 0.999366590270132 │ float │ │ s2:saturated_defective_pixel_per… │ 0.0 │ float │ │ s2:snow_ice_percentage │ 0.0 │ float │ │ s2:thin_cirrus_percentage │ 0.00265 │ float │ │ s2:tile_id │ S2B_OPER_MSI_L2A_TL_2BPS_202504… │ str │ │ s2:unclassified_percentage │ 0.0 │ float │ │ s2:vegetation_percentage │ 0.000128 │ float │ │ s2:water_percentage │ 99.284625 │ float │ │ storage:platform │ AWS │ str │ │ updated │ 2025-04-09T14:03:39.777301Z │ str │ │ view:azimuth │ 285.34733040077487 │ float │ │ view:incidence_angle │ 9.49744965254171 │ float │ │ view:off_nadir │ 9.497449652541711 │ float │ │ view:sun_azimuth │ 48.8341957664847 │ float │ │ view:sun_elevation │ 57.7185483564485 │ float │ └───────────────────────────────────┴──────────────────────────────────┴───────┘ .. GENERATED FROM PYTHON SOURCE LINES 49-51 Read assets and metadata ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 51-60 .. code-block:: Python table = Table("assets", "common_name", "description", title=f"Assets for {collection}") for asset in collection.assets(): table.add_row( asset, collection.assets(asset).get("eo:bands", [{}])[0].get("common_name"), collection.assets(asset).get("eo:bands", [{}])[0].get("description"), ) console.print(table) .. rst-class:: sphx-glr-script-out .. code-block:: none Assets for Exploring collection "sentinel-2-c1-l2a" ┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ assets ┃ common_name ┃ description ┃ ┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩ │ aot │ │ │ │ aot-10m-jp2 │ │ │ │ aot-20m-jp2 │ │ │ │ aot-60m-jp2 │ │ │ │ blue │ blue │ │ │ blue-10m-jp2 │ │ │ │ blue-20m-jp2 │ │ │ │ blue-60m-jp2 │ │ │ │ cloud │ │ │ │ coastal │ coastal │ │ │ coastal-20m-jp2 │ │ │ │ coastal-60m-jp2 │ │ │ │ granule_metadata │ │ │ │ green │ green │ │ │ green-10m-jp2 │ │ │ │ green-20m-jp2 │ │ │ │ green-60m-jp2 │ │ │ │ nir │ nir │ │ │ nir-10m-jp2 │ │ │ │ nir08 │ nir08 │ │ │ nir08-20m-jp2 │ │ │ │ nir08-60m-jp2 │ │ │ │ nir09 │ nir09 │ │ │ nir09-60m-jp2 │ │ │ │ preview │ red │ │ │ product_metadata │ │ │ │ red │ red │ │ │ red-10m-jp2 │ │ │ │ red-20m-jp2 │ │ │ │ red-60m-jp2 │ │ │ │ rededge1 │ rededge │ │ │ rededge1-20m-jp2 │ │ │ │ rededge1-60m-jp2 │ │ │ │ rededge2 │ rededge │ │ │ rededge2-20m-jp2 │ │ │ │ rededge2-60m-jp2 │ │ │ │ rededge3 │ rededge │ │ │ rededge3-20m-jp2 │ │ │ │ rededge3-60m-jp2 │ │ │ │ scl │ │ │ │ scl-20m-jp2 │ │ │ │ scl-60m-jp2 │ │ │ │ snow │ │ │ │ swir16 │ swir16 │ │ │ swir16-20m-jp2 │ │ │ │ swir16-60m-jp2 │ │ │ │ swir22 │ swir22 │ │ │ swir22-20m-jp2 │ │ │ │ swir22-60m-jp2 │ │ │ │ thumbnail │ │ │ │ tileinfo_metadata │ │ │ │ visual │ red │ │ │ visual-10m-jp2 │ │ │ │ visual-20m-jp2 │ │ │ │ visual-60m-jp2 │ │ │ │ wvp │ │ │ │ wvp-10m-jp2 │ │ │ │ wvp-20m-jp2 │ │ │ │ wvp-60m-jp2 │ │ │ └───────────────────┴─────────────┴─────────────┘ .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 2.219 seconds) .. _sphx_glr_download__auto_examples_summary_stack.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: summary_stack.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: summary_stack.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: summary_stack.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_