如何根据另一个栅格中的值找到值?

问题描述 投票:0回答:1

假设我有这些栅格:

 library(raster)
 r1 <- r2 <- r3 <- raster(ncol=10, nrow=10)
 r1[] <- runif(ncell(r1))
 r2[] <- runif(ncell(r2)) / 2
 r3[] <- runif(ncell(r3)) * 1.5
 s <- stack(r1, r2, r3)

我有这个分类栅格:

  rs <- raster(ncol=10, nrow=10)
  rs[] <-c(5,10,21,36,15)

我想计算堆栈s中与5,10, etc (all values in rs)对应的所有像素的平均值。所以获得这样的东西:

        r1   r2    r3
5       ?     ?      ?
10       ?      ?      ?
21       ?    ?        ?
36
15
r
1个回答
0
投票

这将是“区域”的意思:

set.seed(1)
z <- zonal(s, rs, mean)
round(z, 2)
     zone layer.1 layer.2 layer.3
[1,]    5    0.53    0.26    0.55
[2,]   10    0.50    0.23    0.51
[3,]   15    0.53    0.30    0.83
[4,]   21    0.52    0.22    0.71
[5,]   36    0.51    0.28    0.67
> 
© www.soinside.com 2019 - 2024. All rights reserved.