plot()
displays a GRaster
or GVector
.
This function is essentially a hack, as it it not possible to dependably call the appropriate GRASS modules and display a raster or vector without potential confusion on the user side. Instead, this function 1) simplifies the focal GRaster
or GVector
to make it smaller when saved to disk; 2) writes the object to disk; 3) (internally) creates a SpatRaster
or SpatVector
object; then 4) plots the object using terra::plot()
. Thus, if you are interested in making maps, it will always be faster to make them directly with terra or sf.
Usage
# S4 method for class 'GRaster,missing'
plot(x, y, simplify = TRUE, ...)
# S4 method for class 'GVector,missing'
plot(x, y, maxGeoms = 10000, ...)
Arguments
- x
A
GRaster
orGVector
.- y
Missing–leave as empty.
- simplify
Logical: If
TRUE
(default) and the raster has an x- and/or y-resolution that is greater than the screen resolution, thenaggregate()
will be applied to the raster before it is saved to reduce the time it takes to save the raster.- ...
Other arguments to send to
terra::plot()
.- maxGeoms
Positive integer (vectors only): Maximum number of features before vector simplification is applied before saving to disk then creating a
SpatVector
for plotting. The default is 10000.
Examples
if (grassStarted()) {
# Example data
madElev <- fastData("madElev") # elevation raster
madLANDSAT <- fastData("madLANDSAT") # multi-layer raster
madRivers <- fastData("madRivers") # lines vector
# Convert SpatRaster to GRaster and SpatVector to GVector
elev <- fast(madElev)
rivers <- fast(madRivers)
landsat <- fast(madLANDSAT)
# Plot:
plot(elev)
plot(rivers, add = TRUE)
# Histograms:
hist(elev)
hist(landsat)
# Plot surface reflectance in RGB:
plotRGB(landsat, 3, 2, 1) # "natural" color
plotRGB(landsat, 4, 1, 2, stretch = "lin") # emphasize near-infrared (vegetation)
# Make composite map from RGB layers and plot in grayscale:
comp <- compositeRGB(r = landsat[[3]], g = landsat[[2]], b = landsat[[1]])
grays <- paste0("gray", 0:100)
plot(comp, col = grays)
}