合并R中的邻近区域(聚合空间数据)?

时间:2012-06-17 15:35:50

标签: r geospatial

我想我需要重新措辞我之前措辞严厉的问题(删除它)。这是另一种尝试。我想加入邻近地区,以便他们的共同边界消失,只能看到他们的外线。

这是一个可重复的例子:

require(shapefiles)
require(sp)

xx <- readShapeSpatial(system.file("shapes/sids.shp", package="maptools")[1],
                   IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))

# show all the subregions
plot(xx)

enter image description here

现在让我们只考虑区域3和5

plot(xx[c(3,5),])

我如何才能聚合这些区域。在实践中,我想要做的就是拥有一张显示所有国家的整个大陆的地图,并制作一张显示北美和南美的地图。

对我而言,这看起来是一项非常常见的任务,但到目前为止我找不到合适的功能。我只是错过了一个功能,还是我可以手动操作它?

enter image description here

1 个答案:

答案 0 :(得分:9)

rgeos包提供了许多用于处理Spatial*数据的优秀工具,可以在这种情况下使用。

例如:

library(rgeos)
regionOfInterest <- gUnion(xx[3,], xx[5,])

这也有相同的结果,对多个多边形可能更有用:

regionOfInterest <- gUnionCascaded(xx[c(3,5), ])

plot(regionOfInterest)的结果:

enter image description here