[英]Subset raster stack by multiple patterns in R
我正在處理一些 Modis 和 Sentinel 2 圖像,但在對柵格堆棧進行子集設置時遇到了一些問題。 我有一個包含一些 Modis 圖像的堆棧,它們滿足了一些條件。 在這些圖像中,日期包含在名稱中。 我已將這些圖像的日期提取到向量中。
此外,我有一堆 Sentinel 2 圖像,它們的名字中也有日期。 我想對這個 S2 光柵堆棧進行子集化,只選擇在我之前提取的多個模式對象之后與 Modis 圖像具有相同日期的圖像。
這是我的代碼
s2 <- list.files('/Users/Desktop/sentinel/16-17', pattern = '.tif')
s2stack <- stack(s2)
modis <- list.files("/Users/Desktop/modis/modisUTM", pattern = ".tif" )
modisstack <- stack(modis)
pattern_modis <- substr(modisstack, 9, 16)
s2subset <- raster::subset(s2stack, grep(pattern_modis, names(s2stack), value = T))
如果我使用此代碼,它僅使用向量的第一個模式。 有人知道如何解決嗎?
提前致謝!!!!
使用%in%
運算符將識別一個向量中的每個元素是否存在於另一個向量中。 與grep()
相比,順序相反,請注意:
s2subset <- raster::subset(s2stack, names(s2stack) %in% pattern_modis)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.