Dot*_*tPi 30 gis r polygon shapefile
我有一个名为"ind_adm"的shapefile和一个名为"pnts"的SpatialPointsDataFrame."pnts"包含随机生成的点,并且一些点与多边形重叠.见下图.

现在,我想在多边形分析中做一点,即我想找出哪些点位于代表印度边界的灰色多边形内.为此我在sp库中使用over()函数.
pt.in.poly <- sp::over(ind_adm, pnts, fn = mean) #do the join
Run Code Online (Sandbox Code Playgroud)
但是,我得到的输出是
>pt.in.poly
values
0 6.019467
Run Code Online (Sandbox Code Playgroud)
我应该得到多边形"在"中的点的索引.
我哪里错了?
Sim*_*lon 23
你不应该提供一个功能.您正在聚合多边形几何体上的点的属性值(即返回的数字是mean多边形内的点的属性).另外你有你的x,并y以错误的方式为你想要做什么.应该...
over( pnts , ind_adm , fn = NULL)
Run Code Online (Sandbox Code Playgroud)
小智 21
找到这种简洁直观的语法:
pnts[ind_adm,]
Run Code Online (Sandbox Code Playgroud)
从这个介绍文件
你可以使用point.in.polyfom spatialEco包.它"与点和面要素类相交,并将多边形属性添加到点".
library(spatialEco)
new_shape <- point.in.poly(pnts, ind_adm)
Run Code Online (Sandbox Code Playgroud)