shapefile区域中的平均栅格文件值返回多个输出 - 解释结果

时间:2012-10-19 20:51:06

标签: r shapefile raster

所以我有我的光栅文件

r <- raster('ras')

和shapefile

abys <- readShapeSpatial('abys')

我通过以下方法计算了shapefile定义的平均值:

r.vals<- extract(r,abys)
r.mean <- lapply(r.vals,FUN=mean)

但是,当我返回输出时使用几个shapefile时,我会得到多个结果,例如:

[[1]]
[1] 9321

[[2]]
[1] 6616

[[3]]
[1] 8348

它应该只返回一个我通常得到的东西。这是因为我的shapefile的一些特征还是我的方法论的问题?

感谢您的输入

1 个答案:

答案 0 :(得分:2)

您的问题是abys中有三个多边形。

最好的解决方案不是平均结果,而是首先结合多边形:

library(rgeos)
abys.single <- gUnaryUnion(abys)
r.vals<- extract(r,abys.single)
r.mean <- lapply(r.vals,FUN=mean)