Intro to Raster Data
- The GeoTIFF file format includes metadata about the raster data.
- To plot raster data with the
ggplot2
package, we need to convert it to a dataframe. - R stores CRS information in the Proj4 format.
- Be careful when dealing with missing or bad data values.
Plot Raster Data
- Continuous data ranges can be grouped into categories using
mutate()
andcut()
. - Use built-in
terrain.colors()
or set your preferred color scheme manually. - Layer rasters on top of one another by using the
alpha
aesthetic.
Reproject Raster Data
- In order to plot two raster data sets together, they must be in the same CRS.
- Use the
projectRaster()
function to convert between CRSs.
Raster Calculations
- Rasters can be computed on using mathematical functions.
- The
overlay()
function provides an efficient way to do raster math. - The
writeRaster()
function can be used to write raster data to a file.
Work With Multi-Band Rasters
- A single raster file can contain multiple bands or layers.
- Use the
stack()
function to load all bands in a multi-layer raster file into R. - Individual bands within a stack can be accessed, analyzed, and visualized using the same functions as single bands.
Open and Plot Shapefiles
- Shapefile metadata include geometry type, CRS, and extent.
- Load spatial objects into R with the
st_read()
function. - Spatial objects can be plotted directly with
ggplot
using thegeom_sf()
function. No need to convert to a dataframe.
Explore and Plot by Vector Layer Attributes
- Spatial objects in
sf
are similar to standard data frames and can be manipulated using the same functions. - Almost any feature of a plot can be customized using the various
functions and options in the
ggplot2
package.
Plot Multiple Shapefiles
- Use the
+
operator to add multiple layers to a ggplot. - Multi-layered plots can combine raster and vector datasets.
- Use the
show.legend
argument to set legend symbol types. - Use the
scale_fill_manual()
function to set legend colors.
Handling Spatial Projection & CRS
-
ggplot2
automatically converts all objects in a plot to the same CRS. - Still be aware of the CRS and extent for each object.
Convert from .csv to a Shapefile
- Know the projection (if any) of your point data prior to converting to a spatial object.
- Convert a data frame to an
sf
object using thest_as_sf()
function. - Export an
sf
object as text using thest_write()
function.
Manipulate Raster Data
- Use the
crop()
function to crop a raster object. - Use the
extract()
function to extract pixels from a raster object that fall within a particular extent boundary. - Use the
extent()
function to define an extent.
Raster Time Series Data
- Use the
list.files()
function to get a list of filenames matching a specific pattern. - Use the
facet_wrap()
function to create multi-paneled plots withggplot2
. - Use the
as.Date()
function to convert data to date format.
Create Publication-quality Graphics
- Use the
theme_void()
function for a clean background to your plot. - Use the
element_text()
function to adjust text size, font, and position. - Use the
brewer.pal()
function to create a custom color palette. - Use the
gsub()
function to do pattern matching and replacement in text.
Derive Values from Raster Time Series
- Use the
cellStats()
function to calculate summary statistics for cells in a raster object. - The pipe (
|
) operator meansor
. - Use the
rbind()
function to combine data frames that have the same column names.