The union()
function combines two "polygons" GVector
s. The output will have at least as many geometries as both GVector
s, plus more if polygons of one divide polygons of the other, and vice versa. 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()
}