Learn R Programming

rsgeo (version 0.1.7)

combine_geoms: Combine geometries

Description

Given a vector of geometries combine them into a single geometry.

Usage

combine_geoms(x)

union_geoms(x)

Value

An object of class rsgeo of length one.

Arguments

x

an object of class rsgeo

Details

combine_geoms()

combine_geoms() combines a vector of geometries into a vector of length one their MULTI counterpart.

  • rs_POINT and rs_MULTIPOINT -> rs_MULTIPOINT

  • rs_LINESTRING and rs_MULTILINESTRING -> rs_MULTILINESTRING

  • rs_POLYGON and rs_MULTIPOLYGON -> rs_MULTIPOLYGON

  • rs_GEOMETRYCOLLECTION is not supported

union_geoms()

union_geoms() creates a union of all geometries removing repeated points or dissolving shared boundaries.

  • rs_POINT - combines and removes repeated points

  • rs_MULTIPOINT - combines removes repeated points

  • rs_LINESTRING - combines and removes duplicated points

  • rs_MULTILINESTRING - combines and removes duplicated points

  • rs_POLYGON - unions geometries into a single geometry

  • rs_MULTIPOLYGON - unions geometries into a single geometry

Examples

Run this code
pnts <- geom_point(runif(10), runif(10))
combine_geoms(pnts)

lns <- geom_linestring(1:100, runif(100, -10, 10), rep.int(1:5, 20))
union_geoms(lns)

x <- c(0, 1, 1, 0, 0)
y <- c(0, 0, 1, 1, 0)

p1 <- geom_polygon(x, y)
p2 <- geom_polygon(x - 1, y + 0.5)

z <- c(p1, p2)

res <- union_geoms(z)
res

if (rlang::is_installed(c("sf", "wk"))) {
  plot(z)
  plot(res, lty = 3, border = "blue", add = TRUE, lwd = 4)
}

Run the code above in your browser using DataLab