我希望编写一个 R 程序来读取纬度/经度点的数据帧和 13 个多边形的 shapefile,然后识别每个纬度/经度点位于哪个多边形内。是否有一个 R 包可以让我进行这种类型的空间连接?我一直在使用 rgdal 来读取多边形 shapefile,但我没有看到用于与我的数据框中的 lat/long 列进行空间连接的选项。谢谢!
3363 次
1 回答
2
G. Cocca 的解决方案经过一些小的修改后效果很好。
R
最终,解决方案需要使用'slibrary(sp)
和的四个步骤library(EcoSpatial)
:
- 将 lat/long 点数据帧转换为
SpatialPointsDataFrame
usingsp
. - 使用
sp
'sproj4string
函数重新投影,SpatialPointsDataFrame
以便它使用与我的多边形 shapefile 相同的投影。 - 使用
EcoSpatial
'spoints.in.poly
函数在空间上连接两个数据集。这是关键步骤,因为它创建了一个新的SpatialPointsDataframe
,将相关的 polgyon 数据附加到每个 xy 点。 - 用来
as.data.frame
强制SpatialPointsDataframe
后面变成正则R
data.frame
。
再次感谢您的帮助!
于 2016-04-28T13:52:10.857 回答