R中的焦点函数

  • 本文关键字:函数 焦点 raster
  • 更新时间 :
  • 英文 :


我想使用矩阵运行焦点单元的邻域焦点值,最好带有函数。我的数据有0、1和2作为值,如果我使用焦点功能,我只想添加"1"的值。

这可能是一个非常简单的问题,我已经尝试了很多组合,但仍然没有得到想要的结果。

请帮忙!

这是我尝试的一个代码:

# to generate the function
  my.function <- function (x) {
    ux <- unique(x)
    ux [if (x==1) ux <- focal(in_image, w=matrix(1/9, ncol=3, nrow=3)), fun=sum]
    }
# to run the focal window for the desired function
  r_new <- focal(in_image, w=matrix(1/9, ncol=3, nrow=3), fun=my.function)

您正在函数中调用focal。该函数传递给focal,应该表示您希望在本地窗口中完成的操作。我不知道unique()的应用程序完成了什么。在您的情况下,条件和将简单地为:

r_new <- focal(in_image, w=matrix(1/9, ncol=3, nrow=3), fun=function(x) sum(x[x==1]))

最新更新