Union all subpolygons of a "SpatialPolygons" object. This is a wrapper for the polygon clipping engines implemented by packages rgeos, polyclip, or gpclib.

unionSpatialPolygons(SpP, method = c("rgeos", "polyclip", "gpclib"), ...)



an object of class "SpatialPolygons". For the polyclip method only, all polygon classes for which an xylist-method exists should work as input.


polygon clipping machinery to use. Default is to simply call gUnaryUnion in package rgeos. For method="polyclip", function polyclip from package polyclip is used, whereas method="gpclib" calls unionSpatialPolygons in package maptools (and requires acceptance of gpclib's restricted license via surveillance.options(gpclib=TRUE)).


further arguments passed to the chosen method.


an object of class "SpatialPolygons" representing the union of all subpolygons.


Sebastian Meyer

See also

gUnaryUnion in package rgeos, polyclip in package polyclip, unionSpatialPolygons in package maptools (for using union of package gpclib).


## Load districts of Germany
load(system.file("shapes", "districtsD.RData", package = "surveillance"))
plot(districtsD, border = "gray")

## Union these districts using either "rgeos" or "polyclip"
if (requireNamespace("rgeos"))  {
    stateD <- unionSpatialPolygons(districtsD, method = "rgeos")
    plot(stateD, add = TRUE, border = 2, lwd = 2)
if (requireNamespace("polyclip")) {
    stateD_pc <- unionSpatialPolygons(districtsD, method = "polyclip")
    plot(stateD_pc, add = TRUE, border = 1, lwd = 2, lty = 2)