Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
82061b3
Create Landsat9
aostrowiecka Sep 4, 2025
7a68675
Rename Landsat9 to Landsat9.qmd
aostrowiecka Sep 4, 2025
516ed48
Update _quarto.yml
aostrowiecka Sep 8, 2025
19c18bd
Update Landsat9.qmd
aostrowiecka Sep 8, 2025
2a3eb9e
Update Data.qmd
aostrowiecka Sep 8, 2025
fc98407
Update Landsat9.qmd
aostrowiecka Sep 8, 2025
b61b65b
remove orbitDirection from OData
abuiquoc Sep 9, 2025
fc6c981
remove additional ) from query
abuiquoc Sep 9, 2025
a6bb32c
Update collections.json
aostrowiecka Sep 10, 2025
8d28e17
Update Landsat9.qmd
aostrowiecka Sep 10, 2025
d0e174a
Update OData.qmd
aostrowiecka Sep 10, 2025
8ff9046
Update OpenSearch.qmd
aostrowiecka Sep 10, 2025
d2037f9
Update S3.qmd
aostrowiecka Sep 10, 2025
bc0dd60
Update data_availability.py
aostrowiecka Sep 10, 2025
5c133d6
Update Landsat9.qmd
aostrowiecka Sep 10, 2025
773fc1b
Update collections.json
aostrowiecka Sep 10, 2025
9419512
Update collections.json
aostrowiecka Sep 10, 2025
50d29e3
Update collections.json
aostrowiecka Sep 10, 2025
929ba78
Update collections.json
aostrowiecka Sep 11, 2025
00b841e
Update collections.json
aostrowiecka Sep 11, 2025
8a55b7b
Update data_availability.py
aostrowiecka Sep 11, 2025
01ee076
Update data_availability.py
aostrowiecka Sep 11, 2025
60536aa
Update S3.qmd
aostrowiecka Sep 11, 2025
a6077ff
Update collections.json
aostrowiecka Sep 11, 2025
0c53ac0
Update OData.qmd
aostrowiecka Sep 11, 2025
ccad616
Update OData.qmd
aostrowiecka Sep 11, 2025
788f3d7
Update data_availability.py
aostrowiecka Sep 11, 2025
1ee7d41
Update collections.json
aostrowiecka Sep 23, 2025
386119c
Update Landsat5.qmd
aostrowiecka Sep 23, 2025
8400e85
Update Landsat7.qmd
aostrowiecka Sep 23, 2025
c26bddd
Update data_availability.py
aostrowiecka Sep 23, 2025
47eee67
Update Landsat9.qmd
aostrowiecka Sep 23, 2025
0560cf2
Update Landsat8.qmd
aostrowiecka Sep 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions APIs/OData.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,9 @@ The following collections are currently available:
* **ENVISAT** (ENVISAT- Medium Resolution Imaging Spectrometer - MERIS)
* **LANDSAT-5**
* **LANDSAT-7**
* **LANDSAT-8**
* **LANDSAT-8-ESA**
* **LANDSAT-9**
* **COP-DEM** (Copernicus DEM)
* **TERRAAQUA** (Terra MODIS and Aqua MODIS)
* **S2GLC** (S2GLC 2017)
Expand Down Expand Up @@ -449,17 +451,17 @@ df[columns_to_print].head(3)

:::

To get products with cloudCover\< 10% and productType=S2MSI2A and ASCENDING orbitDirection between two dates:
To get products with cloudCover\< 10% and productType=S2MSI2A

::: {.panel-tabset}

# HTTPS Request

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name eq 'SENTINEL-2' and Attributes/OData.CSC.DoubleAttribute/any(att:att/Name eq 'cloudCover' and att/OData.CSC.DoubleAttribute/Value lt 10.00) and Attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'productType' and att/OData.CSC.StringAttribute/Value eq 'S2MSI2A') and Attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'orbitDirection' and att/OData.CSC.StringAttribute/Value eq 'ASCENDING') and ContentDate/Start gt 2022-05-03T00:00:00.000Z and ContentDate/Start lt 2022-05-03T04:00:00.000Z&$top=10`](https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name%20eq%20%27SENTINEL-2%27%20and%20Attributes/OData.CSC.DoubleAttribute/any(att:att/Name%20eq%20%27cloudCover%27%20and%20att/OData.CSC.DoubleAttribute/Value%20lt%2010.00)%20and%20Attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27productType%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27S2MSI2A%27)%20and%20Attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27orbitDirection%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27ASCENDING%27)%20and%20ContentDate/Start%20gt%202022-05-03T00:00:00.000Z%20and%20ContentDate/Start%20lt%202022-05-03T04:00:00.000Z&$top=10){target="_blank"}
[`https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name%20eq%20%27SENTINEL-2%27%20and%20Attributes/OData.CSC.DoubleAttribute/any(att:att/Name%20eq%20%27cloudCover%27%20and%20att/OData.CSC.DoubleAttribute/Value%20lt%2010.00)%20and%20Attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27productType%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27S2MSI2A%27)%20and%20ContentDate/Start%20gt%202022-05-03T00:00:00.000Z%20and%20ContentDate/Start%20lt%202022-05-03T04:00:00.000Z&$top=10`](https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name%20eq%20%27SENTINEL-2%27%20and%20Attributes/OData.CSC.DoubleAttribute/any(att:att/Name%20eq%20%27cloudCover%27%20and%20att/OData.CSC.DoubleAttribute/Value%20lt%2010.00)%20and%20Attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27productType%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27S2MSI2A%27)%20and%20ContentDate/Start%20gt%202022-05-03T00:00:00.000Z%20and%20ContentDate/Start%20lt%202022-05-03T04:00:00.000Z&$top=10){target="_blank"}

# Python
```{python}
json = requests.get("https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name eq 'SENTINEL-2' and Attributes/OData.CSC.DoubleAttribute/any(att:att/Name eq 'cloudCover' and att/OData.CSC.DoubleAttribute/Value lt 10.00) and Attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'productType' and att/OData.CSC.StringAttribute/Value eq 'S2MSI2A') and Attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'orbitDirection' and att/OData.CSC.StringAttribute/Value eq 'ASCENDING') and ContentDate/Start gt 2022-05-03T00:00:00.000Z and ContentDate/Start lt 2022-05-03T04:00:00.000Z&$top=10").json()
json = requests.get("https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name%20eq%20%27SENTINEL-2%27%20and%20Attributes/OData.CSC.DoubleAttribute/any(att:att/Name%20eq%20%27cloudCover%27%20and%20att/OData.CSC.DoubleAttribute/Value%20lt%2010.00)%20and%20Attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27productType%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27S2MSI2A%27)%20and%20ContentDate/Start%20gt%202022-05-03T00:00:00.000Z%20and%20ContentDate/Start%20lt%202022-05-03T04:00:00.000Z&$top=10").json()
df = pd.DataFrame.from_dict(json['value'])

# Print only specific columns
Expand Down Expand Up @@ -588,10 +590,18 @@ To check acceptable attribute names for Complementary data:

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-7)`](https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-7)){target="_blank"}

# LANDSAT-8

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-8)`](https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-8)){target="_blank"}

# LANDSAT-8-ESA

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-8-ESA)`](https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-8-ESA)){target="_blank"}

# LANDSAT-9

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-9)`](https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(LANDSAT-9)){target="_blank"}

# COP-DEM

[`https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(COP-DEM)`](https://catalogue.dataspace.copernicus.eu/odata/v1/Attributes(COP-DEM)){target="_blank"}
Expand Down Expand Up @@ -1377,11 +1387,11 @@ build a filter with the specified structure as defined [Query Collection of Prod

# HTTPS Request

[`https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name eq 'orbitNumber' and att/OData.CSC.IntegerAttribute/Value eq 10844) and attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'orbitDirection' and att/OData.CSC.StringAttribute/Value eq 'ASCENDING')`](https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name%20eq%20%27orbitNumber%27%20and%20att/OData.CSC.IntegerAttribute/Value%20eq%2010844)%20and%20attributes/OData.CSC.StringAttribute/any(att:att/Name%20eq%20%27orbitDirection%27%20and%20att/OData.CSC.StringAttribute/Value%20eq%20%27ASCENDING%27)){target="_blank"}
[`https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name%20eq%20%27orbitNumber%27%20and%20att/OData.CSC.IntegerAttribute/Value%20eq%2010844)`](https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name%20eq%20%27orbitNumber%27%20and%20att/OData.CSC.IntegerAttribute/Value%20eq%2010844)){target="_blank"}

# Python
```{python}
json = requests.get("https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name eq 'orbitNumber' and att/OData.CSC.IntegerAttribute/Value eq 10844) and attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'orbitDirection' and att/OData.CSC.StringAttribute/Value eq 'ASCENDING')").json()
json = requests.get("https://catalogue.dataspace.copernicus.eu/odata/v1/DeletedProducts?$filter=Attributes/OData.CSC.IntegerAttribute/any(att:att/Name%20eq%20%27orbitNumber%27%20and%20att/OData.CSC.IntegerAttribute/Value%20eq%2010844)").json()
df = pd.DataFrame.from_dict(json['value'])

# Print only specific columns
Expand Down
1 change: 1 addition & 0 deletions APIs/OpenSearch.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ As for today, the following collections are defined and may be used:
* **Landsat5 or LANDSAT-5**
* **Landsat7 or LANDSAT-7**
* **Landsat8 or LANDSAT-8**
* **Landsat9 or LANDSAT-9**
* **COP-DEM** (Copernicus DEM)
* **TERRAAQUA** (Terra MODIS and Aqua MODIS)
* **S2GLC** (S2GLC 2017)
Expand Down
2 changes: 2 additions & 0 deletions APIs/S3.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,8 @@ eouser@aws-cli:~$ aws s3 ls s3://eodata/
PRE Landsat-5/
PRE Landsat-7/
PRE Landsat-8/
PRE Landsat-8-ESA/
PRE Landsat-9/
PRE SMOS/
PRE Sentinel-1/
PRE Sentinel-1-COG/
Expand Down
3 changes: 2 additions & 1 deletion Data.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ listing:
- Data/ComplementaryData/Landsat5.qmd
- Data/ComplementaryData/Landsat7.qmd
- Data/ComplementaryData/Landsat8.qmd
- Data/ComplementaryData/Landsat9.qmd
- Data/ComplementaryData/MERIS.qmd
- Data/ComplementaryData/SMOS.qmd
exclude:
Expand All @@ -35,4 +36,4 @@ For the latest information about available satellite data, users and stakeholder


::: {#listings}
:::
:::
2 changes: 1 addition & 1 deletion Data/ComplementaryData/Landsat5.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constellation = "Landsat-5"
```
The Landsat programme is a joint USGS and NASA-led enterprise for Earth observation that represents the world's longest running system of satellites for moderate-resolution optical remote sensing for land, coastal areas and shallow waters.

Landsat products in the Copernicus Data Space Ecosystem originate from the ESA processing. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.
Landsat-5 Collection 1 products in the Copernicus Data Space Ecosystem originate from the ESA processing. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.

Landsat-5 was launched on 1 March 1984 and ended its mission on 5 June 2013. It carried the Thematic Mapper (TM), a multispectral scanning radiometer operating in the visible and infrared regions of the electromagnetic spectrum. It was characterized by 185 km swath width and 30 m resolution for visible (VIS), near infrared (NIR) and shortwave infrared (SWIR), and 120 m for thermal infrared (TIR). The acquired Landsat TM scene covers an area of approximately 183 km x 172.8 km. A standard full scene is nominally centred on the intersection of a path and a row (the actual image centre can vary by up to 100 m). A full image consists of 6920 pixels x 5760 lines and each uncompressed band in the VIS, NIR, SWIR and TIR spectral regions requires 40 MB of storage space.

Expand Down
2 changes: 1 addition & 1 deletion Data/ComplementaryData/Landsat7.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ constellation = "Landsat-7"
```
The Landsat programme is a joint USGS and NASA-led enterprise for Earth observation that represents the world's longest running system of satellites for moderate-resolution optical remote sensing for land, coastal areas and shallow waters.

Landsat products in the Copernicus Data Space Ecosystem originate from the ESA processing. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.
Landsat-7 Collection 1 products in the Copernicus Data Space Ecosystem originate from the ESA processing. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.

Landsat-7 has continued the goal of the Landsat programme to repeatedly image Earth's land and coastal areas in order to monitor changes to these areas over time. The satellite has continued to provide data continuity for the Thematic Mapper aboard Landsat-4 and 5, utilising an enhanced version of the instrument.

Expand Down
8 changes: 7 additions & 1 deletion Data/ComplementaryData/Landsat8.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,13 @@ constellation = "Landsat-8"
```
The Landsat programme is a joint USGS and NASA-led enterprise for Earth observation that represents the world's longest running system of satellites for moderate-resolution optical remote sensing for land, coastal areas and shallow waters.

Landsat products in the Copernicus Data Space Ecosystem originate from the ESA processing. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.
Landsat-8 products (2013 – end of 2020) in the Copernicus Data Space Ecosystem originate from ESA processing and are available through the LANDSAT-8-ESA collection. For more information please visit [here](https://earth.esa.int/eogateway/missions/landsat){target="_blank"}.

::: {.callout-note}

Landsat-8 Collection 2 Level-1 products with full worldwide coverage, provided by USGS, will soon be added to the Copernicus Data Space Ecosystem. These datasets will be progressively indexed in the OData Catalogue, with full availability expected by the end of Q3 2025. The data will be visible in the search browser, but only users with special permissions will be able to download the products. To obtain permissions, you must submit a request to the mission officer.

:::

Landsat-8 carries the Operational Land Imager (OLI) and the Thermal Infrared Sensor (TIRS). OLI provides imagery in the VIS, NIR and SWIR spectral ranges. It acquires images with 15 m panchromatic and 30 m multi-spectral spatial resolutions, covering a wide 185 km swath. This allows it to capture extensive areas of the Earth's landscape while maintaining enough resolution to identify features like urban centers, farms, forests, and other land uses. The entire Earth falls within view once every 16 days due to Landsat-8’s near-polar orbit. The TIRS instrument is a thermal imager operating in a pushbroom mode with two Infra-Red channels: 10.8 µm and 12 µm with 100 m spatial resolution.

Expand Down
51 changes: 51 additions & 0 deletions Data/ComplementaryData/Landsat9.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: "Landsat-9"
aliases:
- /Data/Landsat9.html
format:
html:
code-fold: true
execute:
echo: false
output: asis
jupyter: python3
image: https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/media/images/L9_Detroit_hyperwall_rgb_nolabels.jpg
---

```{python}
#| tags: [parameters]

constellation = "Landsat-9"

```
Landsat 9 mission, collaborative effort between the U.S. Geological Survey (USGS) and NASA, continuing the Landsat program’s legacy of providing crucial global observations for monitoring, understanding and managing Earth's natural resources.

::: {.callout-note}

Landsat-9 Collection 2 Level-1 products with full worldwide coverage, provided by USGS, will soon be added to the Copernicus Data Space Ecosystem. These datasets will be progressively indexed in the OData Catalogue, with full availability expected by the end of Q3 2025. The data will be visible in the search browser, but only users with special permissions will be able to download the products. To obtain permissions, you must submit a request to the mission officer.

:::

Launched in September 2021 satellite continues the legacy of providing critical moderate-resolution satellite imagery for land, coastal, and shallow water analysis. It is equiped in two primary sensors: the Operational Land Imager 2 (OLI-2) and the Thermal Infrared Sensor 2 (TIRS-2). OLI-2 captures multispectral imagery in the visible, near-infrared, and shortwave infrared spectral ranges, with spatial resolutions of 30 meters and a panchromatic band at 15 meters, covering a swath width of 185 km. TIRS-2 provides thermal imaging in two infrared channels 10.8 µm and 12 µm with a spatial resolution of 100 meters. The instruments on Landsat-9, while similar to those on Landsat-8, have been refined to improve data accuracy and reliability. Collecting up to 750 scenes daily, this mission ensures the continuity of Earth's observational record with a revisit period of 16 days, supporting environmental monitoring, land use planning, and climate research. Landsat 9 expands the archive's volume by capturing images of all global landmasses and nearshore coastal areas, including islands, at solar elevation angles greater than 5 degrees - areas that were not consistently imaged prior to Landsat 8.

Access to Landsat-9 data is possible via API

::: {.panel-tabset}

# OpenSearch
[https://catalogue.dataspace.copernicus.eu/resto/api/collections/LANDSAT-9/search.json?](https://catalogue.dataspace.copernicus.eu/resto/api/collections/LANDSAT-9/search.json?){target="_blank"}


# OData
[`https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name eq 'LANDSAT-9'`](<https://catalogue.dataspace.copernicus.eu/odata/v1/Products?$filter=Collection/Name eq 'LANDSAT-9'>){target="_blank"}

:::

In order to get access to data at specific processing level as well as specific product types, you are advised to use queries provided in each section below.

If it is required to customize query in respect to spatial and time coverage, satellite features etc. please, follow instructions on:

• [OpenSearch](https://documentation.dataspace.copernicus.eu/APIs/OpenSearch.html){target="_blank"}\
• [OData](https://documentation.dataspace.copernicus.eu/APIs/OData.html){target="_blank"}

{{< include ../_render_collections.qmd >}}
16 changes: 10 additions & 6 deletions Data/Datafunctions/data_availability.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ def main(c):
"Landsat-5": ComplementaryOffer,
"Landsat-7": ComplementaryOffer,
"Landsat-8": ComplementaryOffer,
"Landsat-9": ComplementaryOffer,
"Commercial data": VHROffer,
"AdditionalComplementaryData": Additional,
"CAMS": CAMSOffer,
Expand Down Expand Up @@ -135,9 +136,12 @@ def DataFetch(c,i):
odata = c['summaries']['DataAvailability'][i]['OData']
except Exception:
odata = ''
try:
Origin = c['summaries']['DataAvailability'][i]['Origin']
except Exception:
Origin = ''


return type,status,access,product_type,specific_product,spatial,temporal,product_link,catalogue,footnotes,provider,satellite,resolution,opensearch,odata
return type,status,access,product_type,specific_product,spatial,temporal,product_link,catalogue,footnotes,provider,satellite,resolution,opensearch,odata,Origin

def auxillary(c):
tabletitle = "Offered Data"
Expand Down Expand Up @@ -292,10 +296,10 @@ def ComplementaryOffer(c):
empty_columns = [] # Track empty columns

for i in range(0, data_offer):
type,status,access,product_type,specific_product,spatial,temporal,product_link,catalogue,footnotes,provider,satellite,resolution,opensearch,odata = DataFetch(c,i)
t.append([type,status, access, spatial, temporal,catalogue])
type,status,access,product_type,specific_product,spatial,temporal,product_link,catalogue,footnotes,provider,satellite,resolution,opensearch,odata,Origin = DataFetch(c,i)
t.append([type, status, access, spatial, temporal, catalogue,Origin])
note += footnotes
headers = ["Product","Archive Status", "Access Type", "Spatial Extent", "Temporal Extent","Catalogue"]
headers = ["Product","Archive Status", "Access Type", "Spatial Extent", "Temporal Extent", "Catalogue","Origin"]

# Find and remove empty columns
t,headers=removeempty(t,headers)
Expand Down Expand Up @@ -679,4 +683,4 @@ def CCMOffer(c):
except Exception:
table = " "

return table
return table
Loading