library("spocc")
library("mapr")
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)
map_leaflet(dat)
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"))
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, cex = 1, pch = 10)
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")
Using the ggmap package we can create a ggplot, but with map data behind the points.
map_ggmap(dat)
All functions take the following kinds of inputs:
occdat, from the package spocc. An object of
this class is composed of many objects of class occdatindoccdatind, from the package spoccgbif, from the package rgbifdata.frame. This data.frame can have any columns, but
must include a column for taxonomic names (e.g., name), and for latitude
and longitude (we guess your lat/long columns, starting with the default
latitude and longitude). SpatialPointsSpatialPointsDatFrame