geom_spatraster_rgb {tidyterra} | R Documentation |
Visualise SpatRaster
objects as images
Description
This geom is used to visualise SpatRaster
objects (see terra::rast()
) as
RGB images. The layers are combined such that they represent the red,
green and blue channel.
For plotting SpatRaster
objects by layer values use geom_spatraster()
.
The underlying implementation is based on ggplot2::geom_raster()
.
Usage
geom_spatraster_rgb(
mapping = aes(),
data,
interpolate = TRUE,
r = 1,
g = 2,
b = 3,
alpha = 1,
maxcell = 5e+05,
max_col_value = 255,
...
)
Arguments
mapping |
Ignored. |
data |
A |
interpolate |
If |
r , g , b |
Integer representing the number of layer of |
alpha |
The alpha transparency, a number in [0,1], see argument alpha in
|
maxcell |
positive integer. Maximum number of cells to use for the plot. |
max_col_value |
Number giving the maximum of the color values range.
When this is |
... |
Other arguments passed on to
|
Value
A ggplot2 layer
terra equivalent
Aesthetics
No aes()
is required. In fact, aes()
will be ignored.
Coords
When the SpatRaster
does not present a crs (i.e.,
terra::crs(rast) == ""
) the geom does not make any assumption on the
scales.
On SpatRaster
that have a crs, the geom uses ggplot2::coord_sf()
to
adjust the scales. That means that also the
SpatRaster
may be reprojected.
Source
Based on the layer_spatial()
implementation on ggspatial package.
Thanks to Dewey Dunnington and ggspatial contributors.
See Also
ggplot2::geom_raster()
, ggplot2::coord_sf()
, grDevices::rgb()
.
You can get also RGB tiles from the maptiles package,
see maptiles::get_tiles()
.
Other ggplot2 utils:
autoplot.Spat
,
fortify.Spat
,
geom_spat_contour
,
geom_spatraster()
,
ggspatvector
,
stat_spat_coordinates()
Examples
# Tile of Castille and Leon (Spain) from OpenStreetMap
file_path <- system.file("extdata/cyl_tile.tif", package = "tidyterra")
library(terra)
tile <- rast(file_path)
library(ggplot2)
ggplot() +
geom_spatraster_rgb(data = tile) +
# You can use coord_sf
coord_sf(crs = 3035)
# Combine with sf objects
vect_path <- system.file("extdata/cyl.gpkg", package = "tidyterra")
cyl_sf <- sf::st_read(vect_path)
ggplot(cyl_sf) +
geom_spatraster_rgb(data = tile) +
geom_sf(aes(fill = iso2)) +
coord_sf(crs = 3857) +
scale_fill_viridis_d(alpha = 0.7)