Skip to content

qfes/rdeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9773f16 · Aug 11, 2024
Jun 11, 2022
Aug 11, 2024
Oct 19, 2023
Aug 11, 2024
Aug 11, 2024
Feb 2, 2024
Jan 9, 2023
Mar 13, 2022
Oct 19, 2023
Feb 2, 2023
Mar 1, 2020
Mar 9, 2021
Jan 31, 2023
Jan 31, 2023
Dec 19, 2020
Jan 31, 2023
Mar 9, 2021
Mar 30, 2021
Aug 11, 2024
Feb 29, 2020
Aug 11, 2024
Feb 2, 2024
Jun 21, 2022
Oct 24, 2023
Mar 3, 2023
Mar 3, 2023
Sep 28, 2023
Jan 31, 2023
Jan 31, 2023

Repository files navigation

release latest deck.gl mapbox-gl lifecycle R build status

rdeck

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.