在 R 中栅格的每个像元上应用函数(按位 "and")?

apply function (Bitwise "and") on each cell of a raster in R?

对栅格中的所有像素执行 "bitwise and" 的最佳方法是什么(也许使用 "raster" 包)?我想检查是否设置了第六位。

如果给我一个整数,我会使用 R 的 bitwAnd 运算符。我将 'and' 与 32(仅设置了第六位)并查看结果是否为零或其他。 例如: bitwAnd(96,32) # 32,设置了第六位 bitwAnd(192,32) # 0,没有设置第六位

我尝试了 bitwAnd(myraster,32L) 但它不起作用。

谢谢! R.

对于栅格的每个像元的操作,您可以使用库 raster 的函数 calc。在您的情况下,这将是:

r.test <- calc(myraster, fun = function(x) bitwAnd(x,32L))