Learn R Programming

bfsMaps (version 0.9.8)

RemoveHoles: Remove polygon holes

Description

Removes all holes (null geometry) in polygon sp class objects

Usage

RemoveHoles(x)

Value

SpatialPolygonsDataFrame object with all holes removed

Arguments

x

SpatialPolygons or SpatialPolygonsDataFrame class object

Author

Jeffrey S. Evans <jeffrey_evans@tnc.org>

Details

A hole is considered a polygon within a polygon representing null geometry.

Examples

Run this code
# Do not test, the test takes too long on CRAN and throws an error.
# (09-2022)
# \donttest{
library(sp)
Sr1 <- Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))
Sr2 <- Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))
Sr3 <- Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)))
Sr4 <- Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)), hole = TRUE)
polys <- SpatialPolygons(list(Polygons(list(Sr1), "s1"),
              Polygons(list(Sr2), "s2"),
              Polygons(list(Sr3, Sr4), "s3/4")), 1:3)

opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2))

plot(polys, col = 1:3, main="with hole")
plot(RemoveHoles(polys), col = 1:3, main="with hole removed")

par(opar)
# }

Run the code above in your browser using DataLab