在 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))
对栅格中的所有像素执行 "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))