
Last chance! 50% off unlimited learning
Sale ends in
Change the coordinate reference system ("project") of a SpatVector, SpatRaster or a matrix with coordinates.
# S4 method for SpatVector
project(x, y)# S4 method for SpatRaster
project(x, y, method, mask=FALSE, align=FALSE,
gdal=TRUE, res=NULL, origin=NULL, threads=FALSE, filename="", ...)
# S4 method for SpatExtent
project(x, from, to)
# S4 method for matrix
project(x, from, to)
SpatVector or SpatRaster
SpatRaster or SpatVector
if (x
is a SpatRaster, the preferred approach is for y
to be a SpatRaster as well, serving as a template for the geometry (extent and resolution) of the output SpatRaster. Alternatively, you can provide a coordinate reference system (CRS) description.
You can use the following formats to define coordinate reference systems: WKT, PROJ.4 (e.g., +proj=longlat +datum=WGS84
), or an EPSG code (e.g., "epsg:4326"
). But note that the PROJ.4 notation has been deprecated, and you can only use it with the WGS84/NAD83 and NAD27 datums. Other datums are silently ignored.
If x
is a SpatVector, you can provide a crs definition as discussed above, or any other object from which such a crs can be extracted with crs
character. Method used for estimating the new cell values of a SpatRaster. One of:
near
: nearest neighbor. This method is fast, and it can be the preferred method if the cell values represent classes. It is not a good choice for continuous values. This is used by default if the first layer of x
is categorical.
bilinear
: bilinear interpolation. This is the default if the first layer of x
is numeric (not categorical).
cubic
: cubic interpolation.
cubicspline
: cubic spline interpolation.
logical. If TRUE
, mask out areas outside the input extent (see example with Robinson projection)
logical. If TRUE
, and y
is a SpatRaster, the template is used for the spatial resolution and origin, but the extent is set such that all of the extent of x
is included
logical. If TRUE
the GDAL-warp algorithm is used. Otherwise a slower internal algorithm is used that may be more accurate if there is much variation in the cell sizes of the output raster. Only the near
and bilinear
algorithms are available for the internal algorithm
numeric. Can be used to set the resolution of the output raster if y
is a CRS
numeric. Can be used to set the origin of the output raster if y
is a CRS
logical. If TRUE
multiple threads are used (faster for large files)
character. Output filename
additional arguments for writing files as in writeRaster
character. Coordinate reference system of x
character. Output coordinate reference system
crs
, resample
## SpatRaster
a <- rast(ncols=40, nrows=40, xmin=-110, xmax=-90, ymin=40, ymax=60,
crs="+proj=longlat +datum=WGS84")
values(a) <- 1:ncell(a)
newcrs="+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100 +datum=WGS84"
b <- rast(ncols=94, nrows=124, xmin=-944881, xmax=935118, ymin=4664377, ymax=7144377, crs=newcrs)
w <- project(a, b)
## SpatVector
f <- system.file("ex/lux.shp", package="terra")
v <- vect(f)
crs(v, proj=TRUE)
cat(crs(v), "\n")
project(v, "+proj=moll")
project(v, "EPSG:2169")
Run the code above in your browser using DataLab