rdeck
deck.gl widget for R.
Installation
# install latest release
remotes::install_github("qfes/rdeck@*release")
# or install development version
remotes::install_github("qfes/rdeck")
Mapbox access token
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.
Similar work
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 style
scale_
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.