我有一个充满光栅文件的文件夹。它们由 12 个一组来,其中每个都是卫星 Sentinel 2 的一个频段(有 12 个频段)。我只是想创建一个遍历文件夹的循环,并首先确定我感兴趣的两个频段(带 4 和 5)。为了从同一个集合中成对处理它们,我试图从第 4 波段中提取字符串中照片的日期,我将使用它从同一日期检索第 5 波段;
问题来了。名称是这样的:T31UER_20210722T105619_B12.jp2,但我设法只从中提取数字并去掉 31,这给了我:20190419105621042
我的问题的核心是,我怎样才能只选择这个字符串的一小部分(YYYY/MM/DD)?
这是一段代码。如您所见,我的方法是选择我要删除的部分。但是对于日期之后的部分一直在变化的第二步不起作用,除了042。非常感谢!
for (f in files){
#Load band 4
Bande4 <- list.files(path="C:/Users/Perrin/Desktop/INRA/Raster/BDA/Images en vrac",
pattern ="B04.jp2$", full.names=TRUE)
#Copy the date
x <- gsub("[A-z //.//(//)]", "", Bande4)
y <- gsub("31", "", x)
z <- gsub("??? this part changes for every file!", "", y)
#Load the matching Band 5
Bande5 <- list.files(path="C:/Users/Perrin/Desktop/INRA/Raster/BDA/Images en vrac",
pattern = z, full.names=TRUE)
#Calculate NDVI
NDVI <- ((Bande5 - Bande4)/(Bande5- Bande4))
#Save the result
r4 <- writeRaster(z, "C:/Users/Perrin/Desktop/INRA/Raster/BDA/Images en vrac", format="GTiff", overwrite=TRUE)
}