R语言 如何创建质量掩膜以掩膜MODIS LST栅格中的多个值

yfjy0ee7  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(90)

我使用来自MODIS-terra卫星-〉(raster 1)的地表温度(LST)光栅。
每个栅格都有一个关联的栅格,每个像素都有质量标志-〉(qa 1)
执行freq(qa 1),我得到标志的值:

value  count
[1,]     2   8482
[2,]     3  32563
[3,]    17     29
[4,]    21     45
[5,]    65 199897
[6,]    81   1076
[7,]   129      7
[8,]   145   1235
[9,]    NA 148615

我想创建一个只保留以下值的质量蒙版:0、17和65。我做了以下操作:

maskqa1[is.na(qa1)] <-0                  #to assign the value 0 to the NA of raster qa1
maskqa1[maskqa1 == 2 | maskqa1 == 3]<-NA #to mask pixels with flag 2 and 3
maskqa1[maskqa1 > 17]<-NA                #to mask pixels with flags greater than 17

在最后一行中,我屏蔽了标志65。当然,有一种方法可以指示将NA值分配给17到65之间的标志,但我不知道。
稍后,我将与其他标志的光栅,我想知道的选项,以提高我的过滤可能性。

jv4diomz

jv4diomz1#

可能最简单的方法是使用“not in”运算符! %in%将所有不同于0、17和65的值设置为NA。

im[!im %in% c(0, 17, 65)] <- NA

相关问题