查找给定点最近的多边形

问题描述

我有一个SpatialPointsDataFrame和一个SpatialPolygons。我想检查SpatialPointsDataFrame中的每个点,SpatialPolygons中的哪个多边形位于其中。

我可以使用sp::over来做到这一点:

但是对于SpatialPointsDataFrame中的某些点位于边缘的情况 或在多边形之外,在这种情况下,我想从 SpatialPolygons。这是示例数据集:

set.seed(1)
library(raster)
library(rgdal)
library(rgeos)
  
p <- shapefile(system.file("external/lux.shp",package="raster"))
p2 <- as(1.5*extent(p),"SpatialPolygons")
proj4string(p2) <- proj4string(p)
pts <- spsample(p2,n=10,type="random")
  
## Plot to visualize
plot(p,col=colorRampPalette(blues9)(12))
plot(pts,pch=16,cex=.5,col="red",add = TRUE)

enter image description here

over(pts,p)
  
ID_1       NAME_1 ID_2     NAME_2 AREA
1     1     Diekirch    3    Redange  259
2    NA         <NA>   NA       <NA>   NA
3    NA         <NA>   NA       <NA>   NA
4    NA         <NA>   NA       <NA>   NA
5    NA         <NA>   NA       <NA>   NA
6    NA         <NA>   NA       <NA>   NA
7     3   Luxembourg   10 Luxembourg  237
8     3   Luxembourg    8   Capellen  185
9     2 Grevenmacher    6 Echternach  188
10   NA         <NA>   NA       <NA>   NA
  
  

所有带有NA的行都是我要分配最接近的多边形的行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)