rstac
rstac copied to clipboard
What is the recommended workflow for grouping bands from the same scene?
trafficstars
Is there any better way to create multiband rasters from URLs? And maybe you should implement a function to group the same scenes?
library("rstac")
library("terra")
stac("https://earth-search.aws.element84.com/v1") |>
stac_search(collections = "sentinel-2-l2a", bbox = c(16, 53, 17, 54), limit = 2) |>
post_request() |>
assets_select(asset_names = c("blue", "green", "red")) |>
assets_url(append_gdalvsi = TRUE) -> urls
group_urls = function(x, n) {
group = strsplit(x, "/", fixed = TRUE)
group = sapply(group, "[[", n)
group = split(x, factor(group))
return(group)
}
x = group_urls(urls, n = 12)
# $S2A_33UWU_20240214_0_L2A
# [1] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/WU/2024/2/S2A_33UWU_20240214_0_L2A/B02.tif"
# [2] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/WU/2024/2/S2A_33UWU_20240214_0_L2A/B03.tif"
# [3] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/WU/2024/2/S2A_33UWU_20240214_0_L2A/B04.tif"
#
# $S2A_33UXU_20240214_0_L2A
# [1] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/XU/2024/2/S2A_33UXU_20240214_0_L2A/B02.tif"
# [2] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/XU/2024/2/S2A_33UXU_20240214_0_L2A/B03.tif"
# [3] "/vsicurl/https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/33/U/XU/2024/2/S2A_33UXU_20240214_0_L2A/B04.tif"
sapply(x, vrt, options = "-separate")