Я хочу вычислить фокальные окна на растре, но я хочу вычислить фокальное окно только для определенных ячеек (черные ячейки на рисунке ниже). Я знаю, что могу вычислить фокальное окно для всех ячеек и потом отфильтровать вывод (см. пример ниже). Но чтобы сократить время вычислений, есть ли способ замаскировать вычисляемые ячейки (например, с помощью второго растра)?
Пример:
library(raster)
r <- raster(ncol=20, nrow=20, xmn=0, xmx=20, ymn=0, ymx=20)
r[]<-c(1:400)
r.compute.focal<-raster(ncol=20, nrow=20, xmn=0, xmx=20, ymn=0, ymx=20) # raster for which focal window shall be calculated
r.compute.focal[sample(r[],5)]<-1
plot(r)
plot(r.compute.focal,add=T,col="black",legend=F)
#focal computation
normal.output<-getValuesFocal(r,ngb=5)
###filtered (desired) output####
normal.output[which(!is.na(r.compute.focal[])),]
focal(..., NAonly=TRUE)
? - person Josh O'Brien   schedule 15.12.2015