mapdeck
What is mapdeck?
An R library which lets you plot large data sets (as much as your GPU &
browser can handle), on interactive maps using Mapbox GL and Deck.gl
What is mapbox?
Mapbox is the location data platform for mobile and web applications.
We provide building blocks to add location features like maps, search,
and navigation into any experience you create.
What is deck.gl?
deck.gl is a WebGL-powered framework for visual exploratory data
analysis of large datasets.
How do I use it?
Everything you need to know to get you started is on the home
page
Installation
From cran
install.packages("mapdeck")
Development version
During development cycles the main changes happen to the dependant libraries, so you'll need to update those too.
devtools::install_github("SymbolixAU/jsonify", force = TRUE)
devtools::install_github("dcooley/sfheaders", force = TRUE)
devtools::install_github("SymbolixAU/geojsonsf", force = TRUE)
devtools::install_github("SymbolixAU/colourvalues", force = TRUE)
devtools::install_github("SymbolixAU/spatialwidget", force = TRUE)
devtools::install_github("SymbolixAU/mapdeck")
Getting Started
Mapdeck uses Mapbox maps, and to use Mapbox
you need an access
token.
Once you’ve generate a token you can use their maps.
Call mapdeck(token = 'your_token')
to generate a basic map. Then start
adding layers by using one of the various add_*()
functions.
url <- 'https://raw.githubusercontent.com/plotly/datasets/master/2011_february_aa_flight_paths.csv'
flights <- read.csv(url)
flights$info <- paste0("<b>",flights$airport1, " - ", flights$airport2, "</b>")
mapdeck(token = key, style = mapdeck_style('dark')) %>%
add_arc(
data = flights
, origin = c("start_lon", "start_lat")
, destination = c("end_lon", "end_lat")
, stroke_from = "airport1"
, stroke_to = "airport2"
, tooltip = "info"
, layer_id = 'arclayer'
)
See the
Layers page
for more examples
Getting help
For general help and advice the best place to ask is on
StackOverflow
(using the mapdeck
tag).
If you’ve found a bug, or want a new feature added then use the issue
tracker on github.
I don’t respond to emails asking for help because this is an open source
package, and any advice should be kept open so everyone can benefit.
(unless you want to pay me!)