deck.gl widget for R.
# install latest release
remotes::install_github("qfes/rdeck@*release")
# or install development version
remotes::install_github("qfes/rdeck")
A Mapbox account and
mapbox access token
is required for Mapbox basemaps, with or without the Mapbox data service.
See mapbox_access_token
for usage.
{rdeck}
draws much inspiration from kepler.gl
and
{mapdeck}
. {rdeck}
's design choices make it convenient
for use in static reports, and certain Shiny usecases that are highly performant.
Some notable differences to {mapdeck}
:
{rmarkdown}
HTML reports made with{rdeck}
are typically an order of magnitude smaller in file size than{mapdeck}
. Thanks to:- column-major data storage
- client-side visual attributes scaling
- client-side tooltip formatting
- automatic filtering of data that is not used in the map
- Tidy evaluation is supported for column specifications.
- Extensive validation of layer properties in R is preferred, rather than throwing errors in the browser.
{ggplot2}
stylescale_
functions that perform common layer data transformations and automatically generate legends with appropriate untransformed tick marks.- e.g.
scale_color_power
,scale_color_log
etc.
- e.g.
- Automatic creation of formatted tooltips
- Choice of light or dark themes for tooltips and legends.
- Auto-generated interface from JS source
- every deck.gl layer is supported to some degree
- every layer property is a snake_case version of the camelCase deck.gl counterpart.
- Users can orchestrate browser-side map layer updates with Shiny, allowing for extremely performant reactivity.
- Traditional Shiny interactivity using whole datasets is also possible, and is slightly slower than
{mapdeck}
at present.
- Traditional Shiny interactivity using whole datasets is also possible, and is slightly slower than