применить функцию (Побитовое и) к каждой ячейке растра в R?

Как лучше всего выполнить «побитовое и» для всех пикселей в растре (возможно, используя пакет «растр»)? Я хочу проверить, установлен ли шестой бит.

Если бы мне дали целое число, я бы использовал оператор R bitwAnd. Я бы сделал «и» с 32 (установлен только шестой бит) и посмотрел, будет ли результат нулевым или нет. Например: bitwAnd (96,32) # 32, шестой бит установлен bitwAnd (192,32) # 0, шестой бит не установлен

Я попробовал bitwAnd (myraster, 32L), но он не работает.

Спасибо! Р.


person user7831861    schedule 07.04.2017    source источник


Ответы (1)


Для операций с каждой ячейкой растра вы можете использовать функцию calc библиотеки raster. В вашем случае это будет:

r.test <- calc(myraster, fun = function(x) bitwAnd(x,32L))
person Sébastien Rochette    schedule 07.04.2017
comment
Привет спасибо! Это было именно то, что я искал. - person user7831861; 07.04.2017