Skip to contents

Union all subpolygons of a "SpatialPolygons" object. This is a legacy wrapper for the polygon clipping engines implemented by packages sf and polyclip. Internally, both methods need to convert the input polygons to a class appropriate for the method, so are rather inefficient.


unionSpatialPolygons(SpP, method = c("sf", "polyclip"), ...)



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 call st_union in package sf. For method="polyclip", function polyclip from package polyclip is used. The old method="gpclib" is no longer available.


further arguments passed to the chosen method.


an object of class

"SpatialPolygons" representing the union of all subpolygons.


Sebastian Meyer

See also

st_union in package sf, polyclip in package polyclip.


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

## Union these districts using either "sf" or "polyclip"
if (requireNamespace("sf"))  {
    stateD <- unionSpatialPolygons(districtsD, method = "sf")
    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)