Plot with leaflet
plet.Rd
Plot the values of a SpatRaster or SpatVector to make an interactive leaflet map that is displayed in a browser.
Usage
# S4 method for class 'SpatRaster'
plet(x, y=1, col, alpha=0.8, main=names(x),
tiles=c("Streets", "Esri.WorldImagery", "OpenTopoMap"),
wrap=TRUE, maxcell=500000, legend="bottomright",
shared=FALSE, panel=FALSE, collapse=TRUE, map=NULL)
# S4 method for class 'SpatVector'
plet(x, y="", col,fill=0.2, main=y, cex=1, lwd=2,
border="black", alpha=1, popup=TRUE, label=FALSE, split=FALSE,
tiles=c("Streets", "Esri.WorldImagery", "OpenTopoMap"),
wrap=TRUE, legend="bottomright", collapse=FALSE, type=NULL, breaks=NULL,
breakby="eqint", sort=TRUE, decreasing=FALSE, map=NULL, ...)
# S4 method for class 'SpatVectorCollection'
plet(x, col, fill=0, cex=1, lwd=2, border="black", alpha=1, popup=TRUE,
label=FALSE, tiles=c("Streets", "Esri.WorldImagery", "OpenTopoMap"), wrap=TRUE,
legend="bottomright", collapse=FALSE, map=NULL)
# S4 method for class 'leaflet'
lines(x, y, col, lwd=2, alpha=1, ...)
# S4 method for class 'leaflet'
points(x, y, col, cex=1, alpha=1, popup=FALSE, ...)
# S4 method for class 'leaflet'
polys(x, y, col, fill=0.2, lwd=2, border="black", alpha=1, popup=TRUE, label=FALSE, ...)
Arguments
- x
SpatRaster, SpatVector, or leaflet object
- y
missing, or positive integer, or character (variable or layer name) indicating the layer(s) to be plotted. If
x
is a SpatRater, you can select multiple layers- col
character. Vector of colors or color generating function
- alpha
Number between 0 and 1 to set the transparency for lines (0 is transparent, 1 is opaque)
- fill
Number between 0 and 1 to set the transparency for polygon areas (0 is transparent, 1 is opaque)
- tiles
character or NULL. Names of background tile providers
- wrap
logical. if
TRUE
, tiles wrap around- maxcell
positive integer. Maximum number of cells to use for the plot
- legend
character to indicate the legend position ("bottomleft", "bottomright", "topleft" or "topright") or NULL to suppress the legend
- main
character. Title for the legend. The length should be 1 if
x
is a SpatVector and length nlyr(x) ifx
is a SpatVectorlogical. Should the legend be the same for all rasters (if multiple layers of SpatRaster
x
are mapped)- map
leaflet object
- ...
additional arguments for drawing points, lines, or polygons passed on the the relevant leaflet function
- border
character. Color for the polygon borders
- collapse
logical. Should the layers "control" panel be collapsed?
- split
logical. If
TRUE
a check-box is created to toggle each value iny
(Ifx
is a SpatVector)- cex
numeric. point size magnifier. See
par
- lwd
numeric, line-width. See
par
- popup
logical. Should pop-ups be created?
- label
logical. Should mouse-over labels be added?
- panel
logical. Should SpatRaster layers be shown as a panel"
- type
character. Type of map/legend. One of "classes", or "interval". If not specified, the type is chosen based on the data. Use "" to suppress the legend
- breaks
numeric. Either a single number to indicate the number of breaks desired, or the actual breaks. When providing this argument, the default legend becomes "interval"
- breakby
character or function. Either "eqint" for equal interval breaks, "cases" for equal quantile breaks. If a function is supplied it should take a single argument (a vector of values) and create groups
- sort
logical. If
TRUE
legends with character values are sorted. You can also supply a vector of the unique values, in the order in which you want them to appear in the legend- decreasing
logical. If
TRUE
, legends are sorted in decreasing order
Examples
if (FALSE) { # \dontrun{
if (require(leaflet) && (packageVersion("leaflet") > "2.1.1")) {
v <- vect(system.file("ex/lux.shp", package="terra"))
p <- spatSample(as.polygons(v, ext=T), 30)
values(p) = data.frame(id=11:40, name=letters[1:30])
m <- plet(v, "NAME_1", tiles="", border="blue")
m <- points(m, p, col="red", cex=2, popup=T)
lines(m, v, lwd=1, col="white")
plet(v, "NAME_1", split=TRUE, alpha=.2) |>
points(p, col="gray", cex=2, popup=TRUE,
clusterOptions = markerClusterOptions())
s <- svc(v, p)
names(s) <- c("the polys", "set of points")
plet(s, col=c("red", "blue"), lwd=1)
r <- rast(system.file("ex/elev.tif", package="terra"))
plet(r, main="Hi\nthere", tiles=NULL) |> lines(v, lwd=1)
plet(r, tiles="OpenTopoMap") |> lines(v, lwd=2, col="blue")
x <- c(r, 50*classify(r, 5))
names(x) <- c("first", "second")
# each their own legend
plet(x, 1:2, collapse=FALSE) |> lines(v, lwd=2, col="blue")
# shared legend
plet(x, 1:2, shared=TRUE, collapse=FALSE) |> lines(v, lwd=2, col="blue")
}} # }