我有两个对象:
pts=readOGR(dsn="overpass-turbo/shp/",layer="amenity")
poly=readOGR(dsn="overpass-turbo/shp/",layer="polygons")
喜欢
因此,我会得到一个包含polgygon中所有点的空间数据框... 我找到了一些in this post,但它并没有按照我的意愿行事!
a<-over(pts, poly)
但不是Sp数据框!!
我知道!!我总是遇到过度困扰的麻烦...
答案 0 :(得分:3)
答案 1 :(得分:0)
不完全确定您的确切需求,但我认为poly
是您选择的空间数据框架。
如果您想计算多边形中的点数,我认为您必须执行以下操作:
pts_in=over(SpatialPolygons(poly@polygons,SpatialPoints(pts),
returnlist=TRUE)
poly$npoints<-unlist(lapply(pts_in,length)
另一方面,如果要为每个点指定相应的多边形,请执行以下操作:
pts$nrow=over(SpatialPoints(pts),SpatialPolygons(poly@polygons),
returnlist=TRUE)
您还可以查看this reference以获取一些有用的提示。