The ColumnLayer can be used to render a heatmap of vertical cylinders. It renders a tesselated regular polygon centered at each given position (a "disk"), and extrude it in 3d.

add_column(
map,
data = get_map_data(map),
polyline = NULL,
lon = NULL,
lat = NULL,
fill_colour = NULL,
fill_opacity = NULL,
stroke_colour = NULL,
stroke_opacity = NULL,
stroke_width = NULL,
elevation = NULL,
elevation_scale = 1,
coverage = 1,
angle = 0,
disk_resolution = 20,
tooltip = NULL,
auto_highlight = FALSE,
highlight_colour = "#AAFFFFFF",
layer_id = NULL,
id = NULL,
palette = "viridis",
na_colour = "#808080FF",
legend = FALSE,
legend_options = NULL,
legend_format = NULL,
update_view = TRUE,
focus_layer = FALSE,
digits = 6,
transitions = NULL,
)

Arguments

map a mapdeck map object data to be used in the layer. All coordinates are expected to be EPSG:4326 (WGS 84) coordinate system column of data containing the polylines column containing longitude values column containing latitude values column of data or hex colour for the fill colour. If using a hex colour, use either a single value, or a column of hex colours on data Either a string specifying the column of data containing the opacity of each shape, or a single value in [0,255], or [0, 1), to be applied to all the shapes. Default 255. If a hex-string is used as the colour, this argument is ignored and you should include the alpha on the hex string variable of data or hex colour for the stroke. If used, elevation is ignored. If using a hex colour, use either a single value, or a column of hex colours on data Either a string specifying the column of data containing the opacity of each shape, or a single value in [0,255], or [0, 1), to be applied to all the shapes. Default 255. If a hex-string is used as the colour, this argument is ignored and you should include the alpha on the hex string width of the stroke in meters. If used, elevation is ignored. Default 1. in metres. Default 1000 the height the polygon extrudes from the map. Only available if neither stroke_colour or stroke_width are supplied. Default 0 value to scale the elevations of the columns Default 1 radius multiplier, in range [0,1]. The radius of the disk is calcualted by coverage * radius disk rotation, counter-clockwise, in degrees The number of sides to render the disk as. The disk is a regular polygon that fits inside the given radius. A higher resolution will yield a smoother look close-up, but also requires more resources to render. variable of data containing text or HTML to render as a tooltip logical indicating if the shape under the mouse should auto-highlight hex string colour to use for highlighting. Must contain the alpha component. single value specifying an id for the layer. Use this value to distinguish between shape layers of the same type. Layers with the same id are likely to conflict and not plot correctly an id value in data to identify layers when interacting in Shiny apps. string or matrix. String will be one of colourvalues::colour_palettes(). A matrix must have at least 5 rows, and 3 or 4 columns of values between [0, 255], where the 4th column represents the alpha. You can use a named list to specify a different palette for different colour options (where available), e.g. list(fill_colour = "viridis", stroke_colour = "inferno") hex string colour to use for NA values either a logical indiciating if the legend(s) should be displayed, or a named list indicating which colour attributes should be included in the legend. A list of options for controlling the legend. A list containing functions to apply to legend values. See section legend logical indicating if the map should update the bounds to include this layer logical indicating if the map should update the bounds to only include this layer number of digits for rounding coordinates list specifying the duration of transitions. radius of the brush in metres. Default NULL. If supplied, the arcs will only show if the origin or destination are within the radius of the mouse. If NULL, all arcs are displayed

Details

add_column supports POINT and MULTIPOINT sf objects

data

If the data is a simple feature object, the geometry column is automatically detected. If the sf object contains more than one geometry column and you want to use a specific one, you'll need to set the active geometry using sf::st_geometry( x ) <- "your_column" , where "your_column" is the name of the column you're activating. See ?sf::st_geometry

legend

The legend_options can be used to control the appearance of the legend. This should be a named list, where the names are one of

• css - a string of valid css for controlling the appearance of the legend

• title - a string to use for the title of the legend

• digits - number to round the legend values to

If the layer allows different fill and stroke colours, you can use different options for each. See examples in add_arc.

The legend_format can be used to control the format of the values in the legend. This should be a named list, where the names are one of

• fill_colour

• stroke_colour

depending on which type of colouring the layer supports.

The list elements must be functions to apply to the values in the legend.

id

The id is returned to your R session from an interactive shiny environment by observing layer clicks. This is useful for returning the data.frame row relating to the cliked shape.

From within a shiny server you would typically use  observeEvent({input$map_arc_click}), where 'map' is the map_id supplied to mapdeckOutput(), and 'arc' is the layer you are clicking on Examples if (FALSE) { ## You need a valid access token from Mapbox key <- 'abc' set_token( key ) df <- capitals df$elev <- sample(50000:500000, size = nrow(df), replace = T)

mapdeck(style = mapdeck_style("dark"), pitch = 45) %>%
data = df
, lat = "lat"
, lon = "lon"
, elevation = "elev"
, fill_colour = "lon"
, disk_resolution = 20
, tooltip = "capital"
)

sf <- sfheaders::sf_point( df, x = "lon", y = "lat" )

sf$elev <- df$elev

mapdeck( style = mapdeck_style("dark"), pitch = 45 ) %>%
}