Description Usage Arguments Details Value Author(s) Examples
The function rsaga.union.polygons
uses SAGA function
"Union
" to calculate the geometric union of two polygon layers. This
corresponds to the intersection and the symmetrical difference of the two
layers.
1 2 |
layer_a |
A |
layer_b |
A |
result |
|
split |
If |
load |
If |
Function gUnion
can also be used for joining
intersecting polygon geometries. However,
rsaga.union.polygons
will be usually much faster,
especially when joining thousands of polygons.
The function saves the output shapefile to the path indicated in
function argument result
and loads the resulting shapefile into R
when function parameter load
is set to TRUE.
Jannes Muenchow (R interface), Olaf Conrad and Angus Johnson (SAGA modules)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | library("RSAGA")
library("sp")
# construct coordinates of two squares
coords_1 <- matrix(data = c(0, 0, 1, 0, 1, 1, 0, 1, 0, 0),
ncol = 2, byrow = TRUE)
coords_2 <- matrix(data = c(-0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5,
-0.5, -0.5),
ncol = 2, byrow = TRUE)
# convert the coordinates into polygons
poly_1 <- SpatialPolygons(list(Polygons(list(Polygon(coords_1)), 1)))
poly_1 <- SpatialPolygonsDataFrame(poly_1, data = data.frame(id = 1))
poly_2 <- SpatialPolygons(list(Polygons(list(Polygon(coords_2)), 1)))
poly_2 <- SpatialPolygonsDataFrame(poly_2, data = data.frame(id_2 = 2))
# union the two polygons using SAGA and load the output
dir_tmp <- paste0(tempdir(), "/out.shp")
res <- rsaga.union.polygons(layer_a = poly_1,
layer_b = poly_2,
result = dir_tmp,
load = TRUE)
# output attribute table consists of three elements, i.e. the union of poly_1
# and poly_2
dim(res)
res@data
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.