У меня есть растр, который представляет собой серию разрозненных мест обитания.Каждый участок среды обитания имеет значение 1. Все остальные ячейки в растре устанавливаются как NA.Я хотел бы применить буфер вокруг точек, как если бы вы использовали raster::buffer
, но мне нужна дополнительная функциональность.
Я бы хотел, чтобы буфер "разрушался" по мере удаления от патча.Так что, если патч = 1 и буфер установлен, скажем, на 3 карты, я бы хотел, чтобы буфер уменьшился до нуля к моменту времени, когда карты = 3.Если два патча находятся достаточно близко друг к другу, так что их буферы перекрываются, мне нужно применить некоторую функцию для определения значения в перекрывающихся ячейках (например, сумма, среднее, первое, последнее и т. Д.).
Я включилниже некоторый код, который иллюстрирует ожидаемый результат.Поскольку я не могу найти какое-либо решение в Интернете (в поисках «уменьшающихся буферов» или «разрушающихся буферов»), я не могу предоставить больше кода, чтобы помочь, извините.
focal = raster(nrow=5, ncol=5, crs=NA, xmn=0, xmx=5, ymn=0, ymx=5)
focal[] = c(0.33,NA,NA,NA,0.33,
0.66,0.33,NA,0.33,0.66,
1,0.66,0.33,0.66,1,
0.66,0.33,NA,0.33,0.66,
0.33,NA,NA,NA,0.33)
plot(focal)