2

我希望编写一个 R 程序来读取纬度/经度点的数据帧和 13 个多边形的 shapefile,然后识别每个纬度/经度点位于哪个多边形内。是否有一个 R 包可以让我进行这种类型的空间连接?我一直在使用 rgdal 来读取多边形 shapefile,但我没有看到用于与我的数据框中的 lat/long 列进行空间连接的选项。谢谢!

4

1 回答 1

2

G. Cocca 的解决方案经过一些小的修改后效果很好。

R最终,解决方案需要使用'slibrary(sp)和的四个步骤library(EcoSpatial)

  1. 将 lat/long 点数据帧转换为SpatialPointsDataFrameusing sp.
  2. 使用sp'sproj4string函数重新投影,SpatialPointsDataFrame以便它使用与我的多边形 shapefile 相同的投影。
  3. 使用EcoSpatial'spoints.in.poly函数在空间上连接两个数据集。这是关键步骤,因为它创建了一个新的SpatialPointsDataframe,将相关的 polgyon 数据附加到每个 xy 点。
  4. 用来as.data.frame强制SpatialPointsDataframe后面变成正则R data.frame

再次感谢您的帮助!

于 2016-04-28T13:52:10.857 回答