Learn R Programming

terra (version 1.7-83)

crs: Get or set a coordinate reference system

Description

Get or set the coordinate reference system (CRS), also referred to as a "projection", of a SpatRaster or SpatVector.

Setting a new CRS does not change the data itself, it just changes the label. So you should only set the CRS of a dataset (if it does not come with one) to what it *is*, not to what you would *like it to be*. See project to *transform* an object from one CRS to another.

Usage

# S4 method for SpatRaster
crs(x, proj=FALSE, describe=FALSE, parse=FALSE)

# S4 method for SpatVector crs(x, proj=FALSE, describe=FALSE, parse=FALSE)

# S4 method for character crs(x, proj=FALSE, describe=FALSE, parse=FALSE)

# S4 method for SpatRaster crs(x, warn=FALSE)<-value

# S4 method for SpatVector crs(x, warn=FALSE)<-value

Value

character or modified SpatRaster/Vector

Arguments

x

SpatRaster or SpatVector

proj

logical. If TRUE the crs is returned in PROJ-string notation

describe

logical. If TRUE the name, EPSG code, and the name and extent of the area of use are returned if known

warn

logical. If TRUE, a message is printed when the object already has a non-empty crs

value

character string describing a coordinate reference system. This can be in a WKT format, as a <authority:number> code such as "EPSG:4326", or a PROJ-string format such as "+proj=utm +zone=12" (see Note)

parse

logical. If TRUE, wkt parts are parsed into a vector (each line becomes an element)

Examples

Run this code
r <- rast()
crs(r)
crs(r, describe=TRUE, proj=TRUE)

crs(r) <- "+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100 +ellps=WGS84"
crs(r)

# You can use epsg codes
crs(r)  <- "epsg:25831"
crs(r, describe=TRUE)$area

crs("epsg:25831", describe=TRUE)

Run the code above in your browser using DataLab