SetPolygons | R Documentation |
Calculate the intersection or difference between two multi-polygon objects.
SetPolygons(x, y, cmd = c("gIntersection", "gDifference"), buffer.width = NA)
x |
'SpatialPolygons*'. Multi-polygon object |
y |
'SpatialPolygons*' or 'Extent'. Multi-polygon object |
cmd |
'character' string.
Specifying "gIntersection", the default, cuts out portions of the
|
buffer.width |
'numeric' number.
Expands or contracts the geometry of |
This function tests if the resulting geometry is valid. If invalid, an attempt is made to make the geometry valid by zero-width buffering.
An object of class 'SpatialPolygons*'.
J.C. Fisher, U.S. Geological Survey, Idaho Water Science Center
m1a <- rbind(c(17.5, 55.1), c(24.7, 55.0), c(22.6, 61.1), c(16.5, 59.7), c(17.5, 55.1)) m1b <- m1a m1b[, 1] <- m1b[, 1] + 11 p1 <- list(sp::Polygon(m1a, FALSE), sp::Polygon(m1b, FALSE)) p1 <- sp::SpatialPolygons(list(sp::Polygons(p1, 1))) sp::plot(p1, col = "blue") m2a <- rbind(c(19.6, 60.0), c(35.7, 58.8), c(28.2, 64.4), c(19.6, 60.0)) m2b <- rbind(c(20.6, 56.2), c(30.9, 53.8), c(27.3, 51.4), c(20.6, 56.2)) p2 <- list(sp::Polygon(m2a, FALSE), sp::Polygon(m2b, FALSE)) p2 <- sp::SpatialPolygons(list(sp::Polygons(p2, 2))) sp::plot(p2, col = "red", add = TRUE) p <- SetPolygons(p1, p2, "gIntersection") sp::plot(p, col = "green", add = TRUE) p <- SetPolygons(p2, p1, "gDifference") sp::plot(p, col = "purple", add = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.