R中多边形上的叠加点

overlay points over polygons in R

我需要在 100,000 个多边形上叠加 40,000 个点。多边形是使用以下方法创建的:

polygon <- gBuffer(pc, width=500, byid=TRUE)

叠加层是使用以下方法创建的:

test <- over(pts, polygon)

因此,我有一个数据框,其中包含落在每个多边形中的点的属性(均值)。我的问题是是否可以将多边形的 gps 坐标(质心)cbind() 到我的数据框?

我查看了 google 和 Whosebug,但我没有找到任何有关 subject.The 的解决方案可能很简单,但我就是看不到它:)

如有任何帮助,我们将不胜感激!

谢谢 马丁

编辑: 那么如果我想要 select 多边形 其中有(一个或多个)点。我用了

test <- over(polygons, pts, returnList = TRUE)

如何获取绑定到数据框列表的多边形坐标(每个对应一个多边形)。我需要信息。作为列表,因为我需要计算行驶距离。 谢谢 M.

在您的示例中,test 不是 data.frame,而是一个向量,其中包含 pts 中每个点的多边形索引。尝试

pts$polygon_id = over(pts, polygon)

这将 ptsSpatialPoints 对象提升为 SpatialPointsDataFrame