簡體   English   中英

通過 R 中的多個模式對柵格堆棧進行子集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM