Description Usage Arguments Details Value Author(s) Examples
The function rsaga.intersect.polygons
calculates the
geometric intersection of two overlayed polygon layers using SAGA module
"Intersect
".
1 2 |
layer_a |
A |
layer_b |
A |
result |
A |
split |
If |
load |
If |
env |
RSAGA geoprocessing environment created by
|
Function gIntersection
can also be used to
define the intersection between two polygon layers. However,
rsaga.intersect.polygons
will be usually much faster,
especially when intersecting 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 24 25 | library("RSAGA")
library("sp")
library("magrittr")
# 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))) %>%
as(., "SpatialPolygonsDataFrame")
poly_2 <- SpatialPolygons(list(Polygons(list(Polygon(coords_2)), 1))) %>%
as(., "SpatialPolygonsDataFrame")
# intersect the two polygons using SAGA and load the output
dir_tmp <- paste0(tempdir(), "/out.shp")
res <- rsaga.intersect.polygons(layer_a = poly_1,
layer_b = poly_2,
result = dir_tmp,
load = TRUE)
# plot input polygons
plot(poly_1, col = "red", axes = TRUE, xlim = c(-1, 1), ylim = c(-1, 1))
plot(poly_2, col = "blue", add = TRUE)
# plot the intersection
plot(res, col = "yellow", add = TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.