mapr introduction

Scott Chamberlain


Load spocc and mapr


Interactive maps


Leaflet JS is an open source mapping library that can leverage various layers from multiple sources. Using the leaflet library, we can generate a local interactive map of species occurrence data.

An example:

spp <- c('Danaus plexippus','Accipiter striatus','Pinus contorta')
dat <- occ(query = spp, from = 'gbif', has_coords = TRUE, limit = 100)


Geojson map as a Github gist

You can also create interactive maps via the mapgist function. You have to have a Github account to use this function. Github accounts are free though, and great for versioning and collaborating on code or papers. When you run the map_gist function it will ask for your Github username and password. You can alternatively store those in your .Rprofile file by adding entries for username (options(github.username = 'username')) and password (options(github.password = 'password')).

spp <- c('Danaus plexippus', 'Accipiter striatus', 'Pinus contorta')
dat <- occ(query = spp, from = 'gbif', has_coords = TRUE, limit = 100)
dat <- fixnames(dat)
map_gist(dat, color = c("#976AAE", "#6B944D", "#BD5945"))


Static maps

base plots

Base plots, or the built in plotting facility in R accessed via plot(), is quite fast, but not easy or efficient to use, but are good for a quick glance at some data.

spnames <- c('Accipiter striatus', 'Setophaga caerulescens', 'Spinus tristis')
out <- occ(query = spnames, from = 'gbif', has_coords = TRUE, limit = 100)
map_plot(out, size = 1, pch = 10)

plot of chunk unnamed-chunk-5


ggplot2 is a powerful package for making visualizations in R. Read more about it here.

dat <- occ(query = 'Lynx rufus californicus', from = 'gbif', has_coords = TRUE, limit = 200)
map_ggplot(dat, map = "usa")

plot of chunk unnamed-chunk-6

via dismo

if that’s your jam, though you might find rgbif easier

g <- gbif('Batrachoseps', 'luciae', geo = TRUE, end = 300)
map_leaflet(g, lon = "lon", lat = "lat", name = "scientificName")


The supported inputs

All functions take the following kinds of inputs: