8

我想我需要改写我之前措辞糟糕的问题(删除它)。这是另一个尝试。我想加入相邻的区域,以使它们的共同边界消失并且只能看到它们的外线。

这是一个可重现的示例:

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)

在此处输入图像描述

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

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

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

对我来说,这看起来像是一项非常常见的任务,但到目前为止我找不到合适的功能来完成它。我只是错过了一个功能,还是可以简单地手动完成?

在此处输入图像描述

4

1 回答 1

10

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

例如:

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

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

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

结果来自plot(regionOfInterest)

在此处输入图像描述

于 2012-06-17T18:47:17.343 回答