Skip to contents

deck.gl widget for R.



documentation

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.
  • 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.