1

所以我有我的光栅文件

r <- raster('ras')

和一个形状文件

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 的某些特征还是我的方法有问题?

感谢您的输入

4

1 回答 1

2

您的问题是abys.

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

library(rgeos)
abys.single <- gUnaryUnion(abys)
r.vals<- extract(r,abys.single)
r.mean <- lapply(r.vals,FUN=mean)
于 2012-10-19T22:03:45.707 回答