R: Union SpatVector or SpatExtent objects

union {terra} | R Documentation

## Union SpatVector or SpatExtent objects

### Description

Overlapping polygons (between, not within, objects) are intersected. Union for lines and points simply combines the two data sets; without any geometric intersections. This is equivalent to `c`. Attributes are joined. See `c` if you want to combine polygons without intersection.

If codex and `y` have a different geometry type, a SpatVectorCollection is returned.

If a single SpatVector is supplied, overlapping polygons are intersected. Original attributes are lost. New attributes allow for determining how many, and which, polygons overlapped.

SpatExtent: Objects are combined into their union; this is equivalent to `+`.

### Usage

    ## S4 method for signature 'SpatVector,SpatVector'
    union(x, y)

    ## S4 method for signature 'SpatVector,missing'
    union(x, y)

    ## S4 method for signature 'SpatExtent,SpatExtent'
    union(x, y)

### Arguments

`x` | SpatVector or SpatExtent
`y` | Same as `x` or missing

### Value

SpatVector or SpatExtent

### See Also

`intersect`)

`merge` and `mosaic` to union SpatRaster objects.

`crop` and `extend` for the union of SpatRaster and SpatExtent.

`merge` for merging a data.frame with attributes of a SpatVector.

### Examples

    e1 <- ext(-10, 10, -20, 20)
    e2 <- ext(0, 20, -40, 5)
    union(e1, e2)

    #SpatVector
    v <- vect(system.file("ex/lux.shp", package="terra"))
    v <- v[,3:4]
    p <- vect(c("POLYGON ((5.8 49.8, 6 49.9, 6.15 49.8, 6 49.65, 5.8 49.8))",
    "POLYGON ((6.3 49.9, 6.2 49.7, 6.3 49.6, 6.5 49.8, 6.3 49.9))"), crs=crs(v))
    values(p) <- data.frame(pid=1:2, value=area(p))
    #u <- union(v, p)
    #plot(u, "pid")

    #b <- buffer(v, .015)
    #u <- union(b)
    #u$sum <- rowSums(as.data.frame(u))
    #plot(u, "sum")

[Package terra version 1.2-5 Index]