给定一个坐标向量,从它落入的 shapefile 中识别多边形

Given a vector of coordinates, identify the polygon from a shapefile it falls into

我将多边形存储在 SpatialPolygonsDataFrame 中,并将坐标存储在数据框中。

我想要的输出是在我的数据框上增加一个列来标记坐标落入的 OBJECTID(来自 shapefile 的多边形的 ID)。

我的问题有点像 this

但它的输出有点不同。另外,它有点慢。我试着只标记 4 个坐标,但花了 5 多分钟。我要标记 16k 坐标,这样可以更快吗?

我所知道的当前方法不会完全做到这一点(,每个坐标生成一个多边形 ID)因为它们是通用的,以防一个点包含在多个(重叠的多边形)。

参见 sp::over(), which used to be called overlay()

Example:

over(sr, geometry(meuse), returnList = TRUE)
over(sr, meuse, returnList = TRUE)

可能重复(如果不看您的示例数据很难判断):

  • Extracting points with polygon in R
  • Intersecting Points and Polygons in R