raster (version 2.8-4)

extend: Extend


Extend returns an Raster* object with a larger spatial extent. The output Raster object has the outer minimum and maximum coordinates of the input Raster and Extent arguments. Thus, all of the cells of the original raster are included. See crop if you (also) want to remove rows or columns.

There is also an extend method for Extent objects to enlarge (or reduce) an Extent. You can also use algebraic notation to do that (see examples)

This function has replaced function "expand" (to avoid a name conflict with the Matrix package).


# S4 method for Raster
extend(x, y, value=NA, filename='', ...) 

# S4 method for Extent extend(x, y, ...)



Raster or Extent object


If x is a Raster object, y should be an Extent object, or any object that is or has an Extent object, or an object from which it can be extracted (such as sp objects). Alternatively, you can provide a numeric vector of length 2 indicating the number of rows and columns that need to be added (or a single number when the number of rows and columns is equal)

If x is an Extent object, y should be a numeric vector of 1, 2, or 4 elements


value to assign to new cells


Character (optional)


Additional arguments as for writeRaster


RasterLayer or RasterBrick, or Extent

See Also

crop, merge


Run this code
r <- raster(xmn=-150, xmx=-120, ymx=60, ymn=30, ncol=36, nrow=18)
r[] <- 1:ncell(r)
e <- extent(-180, 0, 0, 90)
re <- extend(r, e)

# extend with a number of rows and columns (at each side)
re2 <- extend(r, c(2,10))

# Extent object
e <- extent(r)
extend(e, 10)
extend(e, 10, -10, 0, 20)
e + 10
e * 2
# }

Run the code above in your browser using DataCamp Workspace