【发布时间】:2020-07-06 08:57:57
【问题描述】:
我有一个大的 RasterStack(114 个 geotiff 图像),我已经在 R 中成功地进行了地理处理(屏蔽等),但是我很难让它对每个光栅应用一个简单的条件语句(所有光栅层都是相同的范围、分辨率和共同注册)。我想将小于每个栅格最大值 95% 的所有像素值设置为 NA。例如,如果图层的最大值为 85,则像素值
#Get max value from each raster layer
r_max <- maxValue(rstack)
#Set all values < 95% of max to NA
rstack[rstack < (r_max * 0.95)] = NA
当我在整个光栅堆栈上运行此代码时,我得到“值错误 [j, ]:维数不正确”。但是,如果我在较小的集合(14 个左右)上运行它,它会完全按照它应该的方式运行。 因为我已经成功地在整个堆栈上执行了许多类似的操作(其他条件语句、屏蔽等)而没有错误,所以我不确定它为什么现在会抛出这个错误。有任何想法吗?
如果之前已经讨论过这个问题,我深表歉意,但我找不到这样的帖子。如果确实存在,请向我指出那个方向。
谢谢
【问题讨论】: