Create interactive visualizations of spatial EE objects (ee$Geometry, ee$Image, ee$Feature, and ee$FeatureCollection) using mapview.

Map

Format

An object of class environment with the following functions:

  • addLayer(eeObject, visParams, name = NULL, shown = TRUE, opacity = 1, legend = FALSE): Adds a given EE object to the map as a layer.

    • eeObject: The object to add to mapview.

    • visParams: List of parameters for visualization. See details.

    • name: The name of the layer.

    • shown: A flag indicating whether the layer should be on by default.

    • opacity: The layer's opacity represented as a number between 0 and 1. Defaults to 1.

    • legend: Should a legend be plotted?. Ignore if eeObject is not a single-band ee$Image.

  • addLayers(eeObject, visParams, name = NULL, shown = TRUE, opacity = 1, legend = FALSE): Adds a given ee$ImageCollection to the map as multiple layers.

    • eeObject: The ee$ImageCollection to add to mapview.

    • visParams: List of parameters for visualization. See details.

    • name: The name of layers.

    • shown: A flag indicating whether layers should be on by default.

    • opacity: The layer's opacity represented as a number between 0 and 1. Defaults to 1.

    • legend: Should a legend be plotted?.

  • setCenter(lon = 0, lat = 0, zoom = NULL): Centers the map view at the given coordinates with the given zoom level. If no zoom level is provided, it uses 1 by default.

    • lon: The longitude of the center, in degrees.

    • lat: The latitude of the center, in degrees.

    • zoom: The zoom level, from 1 to 24.

  • setZoom(zoom = NULL): Sets the zoom level of the map.

    • zoom: The zoom level, from 1 to 24.

  • centerObject(eeObject, zoom = NULL, maxError = ee$ErrorMargin(1)): Centers the map view on a given object. If no zoom level is provided, it will be predicted according to the bounds of the Earth Engine object specified.

    • eeObject: EE object.

    • zoom: The zoom level, from 1 to 24.

    • maxError: Max error when input image must be reprojected to an explicitly requested result projection or geodesic state.

Details

Map use the Earth Engine method getMapId to fetch and return an ID dictionary being used to create layers in a mapview object. Users can specify visualization parameters to Map\$addLayer by using the visParams argument. Each Earth Engine spatial object has a specific format. For ee$Image, the parameters available are:

ParameterDescriptionType
bandsComma-delimited list of three band names to be mapped to RGBlist
minValue(s) to map to 0number or list of three numbers, one for each band
maxValue(s) to map to 1number or list of three numbers, one for each band
gainValue(s) by which to multiply each pixel valuenumber or list of three numbers, one for each band
biasValue(s) to add to each Digital Number (DN) valuenumber or list of three numbers, one for each band
gammaGamma correction factor(s)number or list of three numbers, one for each band
paletteList of CSS-style color strings (single-band images only)comma-separated list of hex strings
opacityThe opacity of the layer (0.0 is fully transparent and 1.0 is fully opaque)number

If you add an ee$Image to the map without any additional parameters, by default Map$addLayer() assigns the first three bands to red, green, and blue bands, respectively. The default stretch is based on the min-max range. By the other hand, for ee$Geometry, ee$Feature, and ee$FeatureCollection the available parameters are:

  • color: A hex string in the format RRGGBB specifying the color to use for drawing the features. By default #000000.

  • pointRadius: The radius of the point markers. By default 3.

  • strokeWidth: The width of lines and polygon borders. By default 3.

Examples

if (FALSE) {
library(mapview)
library(rgee)
library(sf)
ee_Initialize()

# Case 1: Geometry*
geom1 <- ee$Geometry$Point(list(-73.53, -15.75))
Map$centerObject(geom1, zoom = 8)
m1 <- Map$addLayer(
  eeObject = geom1,
  visParams = list(
    pointRadius = 10,
    color = "FF0000"
  ),
  name = "Geometry-Arequipa"
)

# Case 2: Feature
feature_arq <- ee$Feature(ee$Geometry$Point(list(-72.53, -15.75)))
m2 <- Map$addLayer(
  eeObject = feature_arq,
  name = "Feature-Arequipa"
)
m2 + m1

# Case 4: Image
image <- ee$Image("LANDSAT/LC08/C01/T1/LC08_044034_20140318")
Map$centerObject(image)
m4 <- Map$addLayer(
  eeObject = image,
  visParams = list(
    bands = c("B4", "B3", "B2"),
    max = 10000
  ),
  name = "SF"
)
m4

# Case 5: mapview + EarthEnginemap
library(sf)
nc <- st_read(system.file("shp/arequipa.shp", package="rgee"))
mapview(nc) + m2
m2 + mapview(nc)

# Case 6: mapedit
library(mapedit)
# my_geometry <- m2 %>% ee_as_mapview() %>% editMap()

# Case 7: ImageCollection
nc <- st_read(system.file("shape/nc.shp", package = "sf")) %>%
  st_transform(4326) %>%
  sf_as_ee()

ee_s2 <- ee$ImageCollection("COPERNICUS/S2")$
  filterDate("2016-01-01", "2016-01-31")$
  filterBounds(nc) %>%
  ee_get(0:4)
Map$centerObject(nc$geometry())
Map$addLayers(ee_s2)
}