Learn R Programming

terra (version 1.5-12)

as.spatvector: 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 SpatRaster
as.polygons(x, trunc=TRUE, dissolve=TRUE, values=TRUE, na.rm=TRUE, extent=FALSE)

# S4 method for SpatRaster as.lines(x)

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

# S4 method for SpatVector as.polygons(x)

# S4 method for SpatVector as.lines(x)

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

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

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

# S4 method for 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

Run this code
# NOT RUN {
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)
}
# }

Run the code above in your browser using DataLab