Skip to contents

Get a SpatExtent of a SpatRaster, SpatVector, or other spatial objects. Or create a SpatExtent from a vector (length=4; order=xmin, xmax, ymin, ymax)

You can set the extent of a SpatRaster, but you cannot set the extent of a SpatVector (see rescale for that). See set.ext to set the extent in place.

Usage

# S4 method for class 'SpatRaster'
ext(x, cells=NULL)

# S4 method for class 'SpatVector'
ext(x)

# S4 method for class 'numeric'
ext(x, ..., xy=FALSE)

# S4 method for class 'SpatRaster,SpatExtent'
ext(x) <- value

# S4 method for class 'SpatRaster,numeric'
ext(x) <- value

Arguments

x

SpatRaster

cells

positive integer (cell) numbers to subset the extent to area covered by these cells

value

SpatExtent, or numeric vector of length four (xmin, xmax, ymin, ymax)

...

if x is a single numeric value, additional numeric values for xmax, ymin, and ymax

xy

logical. Set this to TRUE to indicate that coordinates are in (xmin, ymin, xmax, ymax) order, instead of in the terra standard order of (xmin, xmax, ymin, ymax)

Value

A SpatExtent object.

Examples

r <- rast()
e <- ext(r)
as.vector(e)
#> xmin xmax ymin ymax 
#> -180  180  -90   90 
as.character(e)
#> [1] "ext(-180, 180, -90, 90)"

ext(r) <- c(0, 2.5, 0, 1.5)
r
#> class       : SpatRaster 
#> dimensions  : 180, 360, 1  (nrow, ncol, nlyr)
#> resolution  : 0.006944444, 0.008333333  (x, y)
#> extent      : 0, 2.5, 0, 1.5  (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 (CRS84) (OGC:CRS84) 
er <- ext(r)

round(er)
#> SpatExtent : 0, 3, 0, 2 (xmin, xmax, ymin, ymax)
# go "in"
floor(er)
#> SpatExtent : 0, 3, 0, 2 (xmin, xmax, ymin, ymax)
# go "out"
ceiling(er)
#> SpatExtent : 0, 2, 0, 1 (xmin, xmax, ymin, ymax)

ext(r) <- e