我有一个名为“ind_adm”的shapefile和一个名为“pnts”的SpatialPointsDataFrame。 “点”包含随机生成的点,并且某些点与多边形重叠。参见下图。
现在,我想在多边形分析中做一个点,即我想找出哪些点位于代表印度边界的灰色多边形内。为此,我在sp库中使用over()函数。
pt.in.poly <- sp::over(ind_adm, pnts, fn = mean) #do the join
但是,我得到的输出是
>pt.in.poly
values
0 6.019467
我实际上应该获取“在”多边形中的点的索引。
我要去哪里错了?
最佳答案
您不应该提供功能。您正在将点的属性值汇总到多边形的几何形状上(即,返回的数字是落在多边形内的点的属性的mean
)。另外,您的x
和y
错误地围绕了您想要执行的操作。应该...
over( pnts , ind_adm , fn = NULL)
关于r - sp::over()用于多边形分析中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002744/