Skip to Content

unionSpatialPolygons {maptools}

Aggregate Polygons in a SpatialPolygons object
Package: 
maptools
Version: 
0.8-29

Description

The function aggregates Polygons in a SpatialPolygons object, according to the IDs vector specifying which input Polygons belong to which output Polygons; internal boundaries are dissolved using the rgeos package gUnaryUnion function. If the rgeos package is not available, and if the gpclib package is available and the user confirms that its restrictive license conditions are met, its union function will be used.

Usage

unionSpatialPolygons(SpP, IDs, threshold=NULL, avoidGEOS=FALSE, avoidUnaryUnion=FALSE)

Arguments

SpP
A SpatialPolygons object as defined in package sp
IDs
A vector defining the output Polygons objects, equal in length to the length of the polygons slot of SpRs; it may be character, integer, or factor (try table(factor(IDs)) for a sanity check). It may contain NA values for input objects not included in the union
threshold
if not NULL, an area measure below which slivers will be discarded (some polygons have non-identical boundaries, for instance along rivers, generating slivers on union which are artefacts, not real sub-polygons)
avoidGEOS
default FALSE; if TRUE force use of gpclib even when GEOS is available
avoidUnaryUnion
avoid gUnaryUnion if it is available; not relevant before GEOS 3.3.0

Values

Returns an aggregated SpatialPolygons object named with the aggregated IDs values in their sorting order; see the ID values of the output object to view the order.

Warning

When using GEOS Unary Union, it has been found that some polygons are not dissolved correctly when the absolute values of the coordinates are very small. No work-around is available at present.TEXT

Examples

if (!rgeosStatus()) gpclibPermit()
nc1 <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1],
 proj4string=CRS("+proj=longlat +datum=NAD27"))
lps <- coordinates(nc1)
ID <- cut(lps[,1], quantile(lps[,1]), include.lowest=TRUE)
reg4 <- unionSpatialPolygons(nc1, ID)
row.names(reg4)

Author(s)

Roger Bivand

Documentation reproduced from package maptools, version 0.8-29. License: GPL (>= 2)