Add selected Landsat scenes for five lakes
Closed this issue · 7 comments
Same as #289, but for lakes:
For a story about lakes in the EO Dashboard, we would like to provide a collection of Landsat 7 through 9 surface reflectance scenes for each of the five lakes, to show the long-term evolution of the lakes.
The collections should like last time contain Landsat Collection 2 Level-2 scenes. Three out of the five lakes are covered by one WRS path/row, while one (Aral Sea) requires four and another one (Tonlé Sap) requires two.
Only true color is needed, so only red, green, blue are needed, like with the collections we already created: https://staging-stac.delta-backend.com/collections/landsat-c2l2-sr-antarctic-glaciers-thwaites
Acceptance criteria
- We have five new collections in our Staging catalog, one for each lake
- Showed a sample link that previews a single map tile or COG, demonstrating how to construct a working URL
- Notified the EO Dashboard team that the data is up
@moradology, could I ask you to specify the format in which I should provide the collection information for these four collections to create, so it works well with the script you used previously? And where was that script again, please?
I was going to copy the collection metadata from the Landsat collection we created last time and fill in the details for the lake in question, like
{
"id": "landsat-c2l2-sr-lakes-aral-sea",
"type": "Collection",
"title": "Selected Landsat 7 through 9 Surface Reflectance Scenes for the Aral Sea",
"extent": {
"spatial": {
"bbox": [
[
57.943992614746094,
43.634998321533203,
63.003005981445312,
46.997001647949219
]
]
},
"temporal": {
"interval": [
[
"1986-04-10T00:00:00Z",
"2023-06-12T00:00:00Z"
]
]
}
},
"license": "https://d9-wret.s3.us-west-2.amazonaws.com/assets/palladium/production/s3fs-public/atoms/files/Landsat_Data_Policy.pdf",
"summaries": {
"datetime": [
],
"cog_default": {
"max": null,
"min": null
}
},
"description": "Selected low-cloud-cover Landsat Collection-2 Level-2 Surface Reflectance scenes covering the Aral Sea. Products from multiple missions and instruments are combined in this single collection for the purpose of visualizing RGB images. Note that the full item records are not interchangeable across instruments for purposes other than visualization and that the assets available are not the same for each instrument.",
"item_assets": {
"red": {
"type": "image/vnd.stac.geotiff; cloud-optimized=true",
"roles": [
"data"
],
"title": "Red Band (B4)",
"eo:bands": [
{
"gsd": 30,
"name": "B4",
"common_name": "red",
"center_wavelength": 0.65
}
],
"description": "Collection 2 Level-2 Red Band (B4) Surface Reflectance"
},
"blue": {
"type": "image/vnd.stac.geotiff; cloud-optimized=true",
"roles": [
"data"
],
"title": "Blue Band (B2)",
"eo:bands": [
{
"gsd": 30,
"name": "B2",
"common_name": "blue",
"center_wavelength": 0.48
}
],
"description": "Collection 2 Level-2 Blue Band (B2) Surface Reflectance"
},
"green": {
"type": "image/vnd.stac.geotiff; cloud-optimized=true",
"roles": [
"data"
],
"title": "Green Band (B3)",
"eo:bands": [
{
"gsd": 30,
"name": "B3",
"common_name": "green",
"center_wavelength": 0.56
}
],
"description": "Collection 2 Level-2 Green Band (B3) Surface Reflectance"
},
"thumbnail": {
"type": "image/jpeg",
"roles": [
"thumbnail"
],
"title": "Thumbnail image"
},
"cog_default": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"layer"
],
"title": "Default COG Layer",
"description": "Cloud optimized default layer to display on map"
}
},
"stac_version": "1.0.0",
"dashboard:is_periodic": "false",
"dashboard:time_density": "day"
}
Would that work? And do I need to provide the summaries -> datetime
part, or does the script/ingestor create those from the files or something?
With the collection JSON and scene lists ready (in NASA-IMPACT/veda-data#13), the next steps are to create the item STAC metadata and load it into our STAC.
I think this is a way to do this:
- Query the USGS LandsatLook STAC https://landsatlook.usgs.gov/stac-server/collections for the scenes I listed
- Load the STAC items, keeping only red/green/blue assets, adding them to the collections
- Load everything into VEDA STAC
Happy to hand this to someone who can do this more quickly than me.
Hmm, @ividito, I can confirm that the collections are up: http://veda-staging-stac-browser.s3-website-us-west-2.amazonaws.com (search for Landsat)
Trying to construct a demo URL to make sure things work.
Preview unfortunately gives me an "Access Denied" (example for Tonlé Sap):
And also a sample tile that should exist (I think) fails, first saying Access Denied
and on repeated request "'/vsis3/usgs-landsat/collection02/level-2/standard/oli-tirs/2023/127/051/LC09_L2SP_127051_20230221_20230309_02_T1/LC09_L2SP_127051_20230221_20230309_02_T1_SR_B4.TIF' does not exist in the file system, and is not recognized as a supported dataset name."
@j08lue is the tiler deployed with AWS_REQUEST_PAYER="requester"
set?
FYI: The landsat-c2l2 bucket Is requester-pays. If not set, the tiler will throw error that it can't find the data or is not supported
Thanks @vincentsarago! We did implement requester pays support in the config back in March where we deployed a collection with assets from the same bucket (NASA-IMPACT/veda-backend#158) -- ah, but did we activate that for the staging
deployment, @anayeaye, or only dev
?
@j08lue that's right, we've had the request payer environment variable secret updated so the next main-branch triggered deployment to staging would bring it along with the updated backend but we are delayed promoting the develop branch. I just manually added the AWS_REQUEST_PAYER
configuration to the staging raster API for now. Your mosaic link looks good now