Spatial data plus the power of the ggplot2
framework means easier mapping.
The package is available on CRAN, and can be installed using install.packages("ggspatial")
. The development version can be installed via devtools. Currently, the package depends on the newly released version of ggplot2, which can be installed using install.package("ggplot2")
.
install.packages("ggspatial")
Or for the development version:
install.packages("devtools") # if devtools isn't installed
devtools::install_github("paleolimbot/ggspatial")
This package is a framework for interacting with spatial data using ggplot2 as a plotting backend. The package supports sf package objects, sp package objects, and raster package objects, and uses geom_sf()
and coord_sf()
to do most of the heavy lifting with respect to coordinate transformation.
library(ggspatial)
load_longlake_data()
ggplot() +
# loads background map tiles from a tile source
annotation_map_tile(zoomin = -1) +
# annotation_spatial() layers don't train the scales, so data stays central
annotation_spatial(longlake_roadsdf, size = 2, col = "black") +
annotation_spatial(longlake_roadsdf, size = 1.6, col = "white") +
# raster layers train scales and get projected automatically
layer_spatial(longlake_depth_raster, aes(alpha = stat(band1)), fill = "darkblue") +
scale_alpha_continuous(na.value = 0) +
# layer_spatial trains the scales
layer_spatial(longlake_depthdf, aes(col = DEPTH_M)) +
# spatial-aware automagic scale bar
annotation_scale(location = "tl") +
# spatial-aware automagic north arrow
annotation_north_arrow(location = "br", which_north = "true")