Skip to contents

Create a Red-Green-Blue image overlay from a RasterStack / RasterBrick or stars object based on three layers. Three layers (sometimes referred to as "bands" because they may represent different bandwidths in the electromagnetic spectrum) are combined such that they represent the red, green and blue channel. This function can be used to make 'true (or false) color images' from Landsat and other multi-band satellite images. Note, this text is plagiarized, i.e. copied from plotRGB. addRasterRGB and addStarsRGB are aliases.

Usage

addRasterRGB(
  map,
  x,
  r = 3,
  g = 2,
  b = 1,
  quantiles = c(0, 1),
  domain = NULL,
  na.color = "#BEBEBE80",
  method = c("auto", "bilinear", "near"),
  ...
)

addStarsRGB(
  map,
  x,
  r = 3,
  g = 2,
  b = 1,
  quantiles = c(0, 1),
  domain = NULL,
  na.color = "#BEBEBE80",
  method = c("auto", "bilinear", "near"),
  ...
)

Arguments

map

a map widget object created from `leaflet()“

x

a RasterBrick, RasterStack or `stars“ raster object

r

integer. Index of the Red channel/band, between 1 and nlayers(x)

g

integer. Index of the Green channel/band, between 1 and nlayers(x)

b

integer. Index of the Blue channel/band, between 1 and nlayers(x)

quantiles

the upper and lower quantiles used for color stretching. If set to NULL, stretching is performed basing on domain argument.

domain

the upper and lower values used for color stretching. This is used only if quantiles is NULL. If both domain and quantiles are set to NULL, stretching is applied based on min-max values.

na.color

the color to be used for NA pixels

method

the method used for computing values of the new, projected raster image. "bilinear" (the default) is appropriate for continuous data, "ngb" - nearest neighbor - is appropriate for categorical data. Ignored if project = FALSE. See projectRaster for details.

...

additional arguments passed on to addRasterImage

Author

Tim Appelhans, Luigi Ranghetti

Examples

# \donttest{
  require(raster)
  require(stars)
#> Loading required package: stars
#> Loading required package: abind
#> Loading required package: sf
#> Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE
  require(plainview)
#> Loading required package: plainview
  require(leaflet)

  leaflet() %>%
    addTiles(group = "OpenStreetMap") %>%
    addRasterRGB(plainview::poppendorf, 4,3,2, group = "True colours") %>%
    addStarsRGB(st_as_stars(plainview::poppendorf), 5,4,3, group = "False colours") %>%
    addLayersControl(
      baseGroups = c("Satellite"),
      overlayGroups = c("True colours", "False colours"),
    )
# }