A short description of the post.
A raster is essentially an image, whose pixel size correspond to a particular spatial extent and the data contained within each pixel represents a particular feature on the landscape. Common rasters are DEM’s (measuring elevation), rainfall, temperature, buildings, etc. In R, it is common to think of rasters as matrices whose values measure some feature on the landscape. In this section, we will examine how to acquire, load, manipulate, and extract data from raster objects.
As mentioned above, a raster is essentially a matrix with some additional data added onto it related to the spatial extent of the values it contains. As such, we can easily start with a general matrix, perform various matrix manipulations, and then transform it into a raster object when we need it to have spatial properties and attributes. Here is an example of a basic matrix, whose values have been set to random normal variables (mean=0, sd=1) and then plot using the normal R plotting functions.
x <- matrix(rnorm(100),ncol=10) image(x)
You can see that despite the origin of a matrix when we write it (and when you work with the row and column indices in R on it) is different than when we plot it. Two things should be noted:
This matrix can be ‘decorated’ with additional attributes and turned into a raster object by casting it as one using the raster() function.
require(raster) r <- raster( x ) r ## class : RasterLayer ## dimensions : 10, 10, 100 (nrow, ncol, ncell) ## resolution : 0.1, 0.1 (x, y) ## extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax) ## coord. ref. : NA ## data source : in memory ## names : layer ## values : -2.612584, 2.403894 (min, max)
If we plot the raster object, we get a different view.
plot(r)
For attribution, please cite this work as
Dyer (2016, March 18). The Dyer Laboratory: Raster Plotting. Retrieved from https://dyerlab.github.io/DLabWebsite/posts/2016-03-18-raster-plotting/
BibTeX citation
@misc{dyer2016raster, author = {Dyer, Rodney}, title = {The Dyer Laboratory: Raster Plotting}, url = {https://dyerlab.github.io/DLabWebsite/posts/2016-03-18-raster-plotting/}, year = {2016} }