代码之家  ›  专栏  ›  技术社区  ›  rm167

与对角权重矩阵一起使用时的焦点最小值问题

  •  1
  • rm167  · 技术社区  · 5 年前

    我正试图使用具有对角矩阵权重的移动窗口来计算单元格的最小值 raster::focal 。但是,我没有得到预期的结果。请参阅下面的示例

    r <- raster(resolution=5, xmn=0, xmx=200, ymn=0, ymx=300)
    values(r) <- 1:ncell(r)
    plot(r)
    

    enter image description here

    使用列矩阵权重和fun=最小值生成焦点光栅

    r_min_c <- focal(r, matrix(1, nrow = 5, ncol = 1), fun = min, na.rm = T)
    plot(r_min_c)
    

    enter image description here

    工作正常!

    使用对角矩阵权重和fun=最大值生成焦光栅

    r_max_d <- focal(r, diag(1, nrow =5, ncol = 5), fun = max, na.rm = T)
    plot(r_max_d)
    

    enter image description here

    工作正常!

    但是,当试图使用对角矩阵权重和fun=最小值生成焦点光栅时,会给出零矩阵

    r_min_d <- focal(r, diag(1, nrow =5, ncol = 5), fun = min, na.rm = T)
    plot(r_min_d)
    

    enter image description here

    我做错了什么?如何正确地做到这一点?

    0 回复  |  直到 5 年前