Select parts of a polygon GVector erase shared by another polygon GVector
Source:R/erase.r
erase.Rd
The erase()
function removes from the x
"polygons" GVector
parts that overlap with the y
"polygons" GVector
. You can also use the -
operator (e.g., vect1 - vect2
).
Examples
if (grassStarted()) {
# Setup
library(sf)
# Polygon of coastal Madagascar and Dypsis specimens
madCoast4 <- fastData("madCoast4") # polygons
madDypsis <- fastData("madDypsis") # points
# Convert vectors:
coast4 <- fast(madCoast4)
dypsis <- fast(madDypsis)
# Create another polygons vector from a convex hull around Dypsis points
hull <- convHull(dypsis)
### union()
unioned <- union(coast4, hull)
plot(unioned)
plus <- coast4 + hull # same as union()
### intersect
inter <- intersect(coast4, hull)
plot(coast4)
plot(hull, border = "red", add = TRUE)
plot(inter, border = "blue", add = TRUE)
### xor
xr <- xor(coast4, hull)
plot(coast4)
plot(xr, border = "blue", add = TRUE)
### erase
erased <- erase(coast4, hull)
plot(coast4)
plot(erased, border = "blue", add = TRUE)
minus <- coast4 - hull # same as erase()
}