我希望编写一个 R 程序,读取纬度/经度点的数据帧和 13 个多边形的 shapefile,然后识别每个纬度/经度点位于哪个多边形内。是否有 R 包可以让我进行这种类型的空间连接?我一直在使用 rgdal 来读取多边形形状文件,但我没有看到与数据框中的纬度/经度列进行空间连接的选项。谢谢!
最佳答案
G.经过一些小的修改后,Cocca 的解决方案效果很好。
最终,该解决方案需要使用 R
的 library(sp)
和 library(EcoSpatial)
进行四个步骤:
- 使用
sp
将纬度/经度点数据帧转换为SpatialPointsDataFrame
。 - 使用
sp
的proj4string
函数重新投影SpatialPointsDataFrame
,以便它使用与我的多边形 shapefile 相同的投影。 - 使用
EcoSpatial
的points.in.poly
函数在空间上连接两个数据集。这是关键步骤,因为它创建了一个新的 SpatialPointsDataframe,将相关的 polgyon 数据附加到每个 xy 点。 - 使用
as.data.frame
将SpatialPointsDataframe
强制转换回常规R
data.frame
。
再次感谢您的帮助!
关于r - 使用 R 将纬度/经度点的数据框空间连接到多边形 shapefil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851000/