if (FALSE) {
## You need a valid access token from Mapbox
key <- 'abc'
set_token( key )
df <- read.csv(paste0(
'https://raw.githubusercontent.com/uber-common/deck.gl-data/master/examples/'
, '3d-heatmap/heatmap-data.csv'
))
df <- df[!is.na(df$lng), ]
mapdeck( style = mapdeck_style("dark"), pitch = 45) %>%
add_hexagon(
data = df
, lat = "lat"
, lon = "lng"
, layer_id = "hex_layer"
, elevation_scale = 100
)
library(sfheaders)
sf <- sfheaders::sf_point( df, x = "lng", y = "lat" )
mapdeck( style = mapdeck_style("dark"), pitch = 45 ) %>%
add_hexagon(
data = sf
, layer_id = "hex_layer"
, elevation_scale = 100
)
## Using elevation and colour
df$colour <- rnorm(nrow(df))
df$elevation <- rnorm(nrow(df))
mapdeck( style = mapdeck_style("dark"), pitch = 45) %>%
add_hexagon(
data = df
, lat = "lat"
, lon = "lng"
, layer_id = "hex_layer"
, elevation_scale = 100
, elevation = "weight"
, colour = "colour"
)
mapdeck( style = mapdeck_style("dark"), pitch = 45) %>%
add_hexagon(
data = df
, lat = "lat"
, lon = "lng"
, layer_id = "hex_layer"
, elevation_scale = 100
, elevation = "weight"
, elevation_function = "mean"
, colour = "colour"
, colour_function = "mean"
)
## with a legend
df$val <- sample(1:10, size = nrow(df), replace = TRUE)
mapdeck( style = mapdeck_style("dark"), pitch = 45) %>%
add_hexagon(
data = df
, lat = "lat"
, lon = "lng"
, layer_id = "hex_layer"
, elevation_scale = 100
, legend = TRUE
, legend_options = list( digits = 0 )
, colour_function = "mean"
, colour = "val"
)
}
Run the code above in your browser using DataLab