在R中将点覆盖在多边形上

3

我需要将40000个点覆盖在100000个多边形上。这些多边形是用以下方式创建的:

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

这个覆盖层是使用以下方式创建的:

test <- over(pts, polygon)

因此,我有一个数据框,其中包含每个多边形内点的属性(平均值)。我的问题是是否可以将多边形的GPS坐标(质心)与我的数据框cbind()在一起?
我在Google和StackOverflow上搜索过,但没有找到任何关于这个主题的内容。解决方案可能很容易,但我就是看不到它 :)
任何帮助都将不胜感激!
谢谢 马丁
编辑: 那么如果我想选择具有(一个或多个)点的多边形呢?我使用了
test <- over(polygons, pts, returnList = TRUE)

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

1个回答

4
在您的示例中,test 不是一个 data.frame,而是一个向量,其中包含每个点在 pts 中的多边形索引。请尝试。
pts$polygon_id = over(pts, polygon)

这将从一个SpatialPoints对象中提升pts到一个SpatialPointsDataFrame


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接