R中的缓冲区和并集,而不减少为多多边形
我想执行空间叠加以识别一组点落入的多边形。但是,我首先要缓冲和溶解多边形,以使落入合并多边形内任意位置(而不是任何孔内)的点将通过叠加过程进行类似标记。 不幸的是,我正在使用的缓冲和/或溶解过程将SpatialPolygons对象简化为多面体。在时使用gBuffer会创建一个多面byid=FALSE,但在时无法合并重叠的多边形byid=TRUE。在后一种情况下,随后gUnaryUnion再次将其溶解会创建一个多多边形。SpatialPoints用这些多面叠加会导致所有包含的点都报告为落在面1内。 这是一个带有缓冲点的相关玩具示例,在这里我想用缓冲多边形对这些点进行覆盖: library(sp) library(rgeos) pts <- SpatialPoints(cbind(c(1, 1, 2, 3), c(1, 2, 1.5, 2.5))) plot(gBuffer(pts, width=0.6), lwd=2) points(pts, pch=20, cex=2) text(coordinates(pts), labels=seq_len(length(pts)), pos=4, font=2) 还有一些叠加的结果... 与byid=FALSE: b <- gBuffer(pts, width=0.6) over(pts, b) # [1] 1 1 1 1 与byid=TRUE: b2 <- gBuffer(pts, width=0.6, byid=TRUE) over(pts, b2) # [1] 1 …