替代在使用栅格对象时提取函数


無口君
2025-03-18 09:16:52 (6天前)
  1. 我想知道如何为另一个栅格(cat_r)的每个类别的栅格(val_r)的像素值求和。换句话说,在处理栅格对象时是否存在“extract”功能的替代?...

2 条回复
  1. 0# 满目山河 | 2019-08-31 10-32



    你可以使用

    zonal

    方法:




    1. library(raster)
      cat_r <- raster(ncol=3,nrow=3, xmn=-10, xmx=10, ymn=-10, ymx=10, vals=c(1,2,1,3,4,3,4,4,4 ))
      val_r <- setValues(cat_r, c(1,0,1,5,2,5,2,2,2))

    2. zonal(val_r, cat_r, sum”)

    3. zone sum

      [1,] 1 2

      [2,] 2 0

      [3,] 3 10

      [4,] 4 8

      </code>


    这相当于




    1. s <- stack(cat_r, val_r)
      v <- values(s)
      tapply(v[,2], v[,1], sum)

    2. 1 2 3 4

      2 0 10 8

      </code>

登录 后才能参与评论