Learn R Programming

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?

First you need to install it, either from CRAN

install.packages("mapdeck")

Or from github (to get the latest development version)

remotes::install_github("SymbolixAU/mapdeck")

If the github version fails to install, you’ll probably need to update dependencies first

remotes::install_github("dcooley/geometries")
remotes::install_github("dcooley/sfheaders")
remotes::install_github("SymbolixAU/spatialwidget")

Then everything you need to know to get you started is on the home page

Quick Start

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!)

Copy Link

Version

Install

install.packages('mapdeck')

Monthly Downloads

4,353

Version

0.3.6

License

GPL-3

Maintainer

David Cooley

Last Published

November 29th, 2025

Functions in mapdeck (0.3.6)

add_cesium

Add Cesium
add_grid

Add Grid
add_bitmap

Add bitmap
add_greatcircle

Add greatcircle
add_column

Add column
add_arc

Add arc
add_animated_line

Add Animated line
add_geojson

Add Geojson
add_dependencies

Add Dependencies
add_animated_arc

Add animated arc
add_pointcloud

Add Pointcloud
add_polygon

Add Polygon
add_legend

Add Legend
add_mesh

Add Mesh
add_line

Add line
add_h3

Add h3
add_heatmap

Add Heatmap
add_hexagon

Add hexagon
add_i3s

Add I3S
add_path

Add Path
add_text

Add Text
add_scatterplot

Add Scatterplot
city_trail

city_trail
clear_animated_arc

Clear Animated Arc
add_trips

Add Trips
add_screengrid

Add Screengrid
add_terrain

Add terrain
geojson

Geojson
add_sf

Add sf
add_title

Add Title
mapdeck_legend

Mapdeck Legend
legend_element

Legend Element
mapdeck_dispatch

mapdeck dispatch
mapdeck_tokens

Mapdeck_tokens
mapdeck_style

Mapdeck Style
light_settings

Light Settings
clear_tokens

Clear tokens
road_safety

road_safety
clear_legend

Clear Legend
mapdeck-shiny

Shiny bindings for mapdeck
%>%

Pipe
roads

Roads in central Melbourne
capitals

Capital cities for each country
set_token

Set Token
melbourne

Polygons in and around Melbourne
mapdeck

mapdeck
mapdeck_view

Mapdeck view
mapdeck_dependencies

Mapdeck Dependencies
mapdeck_update

Mapdeck update
update_style

update style
melbourne_mesh

Melbourne Mesh