This function returns an Extent object of a Raster* or Spatial* object (or an Extent object), or creates an Extent object from a 2x2 matrix (first row: xmin, xmax; second row: ymin, ymax), vector (length=4; order= xmin, xmax, ymin, ymax) or list (with at least two elements, with names 'x' and 'y')

bbox returns a sp package like 'bbox' object (a matrix)

extent(x, ...)

## Arguments

x

Raster* or Extent object, a matrix, a bbox, or a vector of four numbers

...

Additional arguments. When x is a single number representing 'xmin', you can pass three additional numbers (xmax, ymin, ymax)

When x is a Raster* object, you can pass four additional arguments to crop the extent: r1, r2, c1, c2, representing the first and last row and column number

Extent object

## Author

Robert J. Hijmans; Etienne Racine wrote the extent function for a list

extent, drawExtent

## Examples

r <- raster()
extent(r)
#> class      : Extent
#> xmin       : -180
#> xmax       : 180
#> ymin       : -90
#> ymax       : 90
extent(c(0, 20, 0, 20))
#> class      : Extent
#> xmin       : 0
#> xmax       : 20
#> ymin       : 0
#> ymax       : 20
#is equivalent to
extent(0, 20, 0, 20)
#> class      : Extent
#> xmin       : 0
#> xmax       : 20
#> ymin       : 0
#> ymax       : 20
extent(matrix(c(0, 0, 20, 20), nrow=2))
#> class      : Extent
#> xmin       : 0
#> xmax       : 20
#> ymin       : 0
#> ymax       : 20
x <- list(x=c(0,1,2), y=c(-3,5))
extent(x)
#> class      : Extent
#> xmin       : 0
#> xmax       : 2
#> ymin       : -3
#> ymax       : 5

#crop the extent by row and column numbers
extent(r, 1, 20, 10, 30)
#> class      : Extent
#> xmin       : -171
#> xmax       : -150
#> ymin       : 70
#> ymax       : 90