g_binary_op | R Documentation |
These functions implement operations on pairs of geometries in OGC WKT format.
g_intersection(this_geom, other_geom)
g_union(this_geom, other_geom)
g_difference(this_geom, other_geom)
g_sym_difference(this_geom, other_geom)
this_geom |
Character. OGC WKT string for a simple feature geometry. |
other_geom |
Character. OGC WKT string for a simple feature geometry. |
These functions use the GEOS library via GDAL headers.
g_intersection()
returns a new geometry which is the region of
intersection of the two geometries operated on. g_intersects()
can be used
to test if two geometries intersect.
g_union()
returns a new geometry which is the region of
union of the two geometries operated on.
g_difference()
returns a new geometry which is the region of this geometry
with the region of the other geometry removed.
g_sym_difference()
returns a new geometry which is the symmetric
difference of this geometry and the other geometry (union minus
intersection).
Character string. The resulting geometry as OGC WKT.
Geometry validity is not checked. In case you are unsure of the validity
of the input geometries, call g_is_valid()
before, otherwise the result
might be wrong.
elev_file <- system.file("extdata/storml_elev.tif", package="gdalraster")
ds <- new(GDALRaster, elev_file)
g1 <- ds$bbox() |> bbox_to_wkt()
ds$close()
g2 <- "POLYGON ((327381.9 5104541.2, 326824.0 5104092.5, 326708.8 5103182.9,
327885.2 5102612.9, 329334.5 5103322.4, 329304.2 5104474.5,328212.7
5104656.4, 328212.7 5104656.4, 327381.9 5104541.2))"
# see spatial predicate defintions at https://en.wikipedia.org/wiki/DE-9IM
g_intersects(g1, g2) # TRUE
g_overlaps(g1, g2) # TRUE
# therefore,
g_contains(g1, g2) # FALSE
g_sym_difference(g1, g2) |> g_area()
g3 <- g_intersection(g1, g2)
g4 <- g_union(g1, g2)
g_difference(g4, g3) |> g_area()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.