R: Conversion to a SpatVector, or to another SpatVector type

as.spatvector {terra} | R Documentation

## Conversion to a SpatVector, or to another SpatVector type

### Description

Conversion of a SpatRaster or SpatExtent to a SpatVector of points, lines, or polygons;

And conversion of a SpatVector to a another SpatVector type.

### Usage

    ## S4 method for signature 'SpatRaster'
    as.polygons(x, trunc=TRUE, dissolve=TRUE, values=TRUE, na.rm=TRUE, extent=FALSE)

    ## S4 method for signature 'SpatRaster'
    as.lines(x)

    ## S4 method for signature 'SpatRaster'
    as.points(x, values=TRUE, na.rm=TRUE)

    ## S4 method for signature 'SpatVector'
    as.polygons(x)

    ## S4 method for signature 'SpatVector'
    as.lines(x)

    ## S4 method for signature 'SpatVector'
    as.points(x, multi=FALSE, skiplast=TRUE)

    ## S4 method for signature 'SpatExtent'
    as.polygons(x, crs="")

    ## S4 method for signature 'SpatExtent'
    as.lines(x, crs="")

    ## S4 method for signature 'SpatExtent'
    as.points(x, crs="")

### Arguments

`x` | SpatRaster or SpatVector
`trunc` | logical; truncate values to integers. Cels with the same value are merged. Therefore, if `trunc=FALSE` the object returned can be very large
`dissolve` | logical; combine cells with the same values? If `TRUE` only the first layer in `x` is processed
`values` | logical; include cell values as attributes? If `FALSE` the cells are not dissolved and the object returned can be very large
`multi` | logical. If `TRUE` a multipoint geometry is returned
`skiplast` | logical. If `TRUE` the last point of a polygon (which is the same as the first point) is not included
`extent` | logical. if `TRUE`, a polygon for the extent of the SpatRaster is returned. It has vertices for each grid cell, not just the four corners of the raster. This can be useful for more precise projection. In other cases it is better to do `as.polygons(ext(x))` to get a much smaller object returned that covers the same extent
`na.rm` | logical. If `TRUE` cells that are `NA` are ignored
`crs` | character. The coordinate reference system (see `crs`

### Value

SpatVector

### Examples

    r <- rast(ncols=2, nrows=2)
    values(r) <- 1:ncell(r)

    as.points(r)
    as.lines(ext(r), crs=crs(r))

    if  (gdal() >= "3.0.0") {
    	p <- as.polygons(r)
    	p
    	as.lines(p)
    	as.points(p)
    }

[Package terra version 1.4-22 Index]