我在R区用土处理环境层.我想修改落入多边形内的栅格的值.我知道classify函数可以更新栅格的所有值,但我不知道如何仅将其应用于多边形的区域.我还发现a nice and neat way可以改变多边形内的所有值,如下所示:
myraster[mypolygon] <- 7
但我只需要更新一个特定的值,而不是所有的,例如,将所有包含值21的单元格更改为值7.
我try 过,但没有成功:
myraster[mypoligon][myraster[mypoligon] == 21] <- 7
得到消息:
错误:[`[`]值太长
作为替代方案,我正在考虑获得与多边形相交的栅格,然后对值进行分类,并将这个小栅格与原始栅格合并,但我想知道是否存在更快的过程.
PS.我在下面贴了一个可复制的例子作为答案.