# Map biodiversity records with rgbif and ggmap packages in R

**Vijay Barve**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

When I attended usrR! 2012 last month, there was an interesting presentation by Dr. David Kahle about the package ggmap. It is a package built over ggmap2 and helps us map spatial data over online maps like Google maps or Open Street Maps. I decided to give ggmap package a try with biodiversity data.

So first let us create a map for the Plain Tiger or the African Monarch Butterfly (*Danaus chrysippus). *We use **occurrencelist** from rgbif package again like previous post.

We use qmap function from ggmap package to quickly pull up the base map from Google Maps. So in essence the **qmap** function eliminates two step process of getting map data using **map_data** function and then setting up map display using** ggplot** function into one step. We use** geom_jitter** function to plot the occurrence points in the specified size(**size = 4**) and color(**color = “red”**).

library(rgbif) Dan_chr=occurrencelist(sciname = 'Danaus chrysippus', coordinatestatus = TRUE, maxresults = 1000, latlongdf = TRUE, removeZeros = TRUE) library(ggmap) library(ggplot2) wmap1 = qmap('India',zoom=2) wmap1 + geom_jitter(data = Dan_chr, aes(decimalLongitude, decimalLatitude), alpha=0.6, size = 4, color = "red") + opts(title = "Danaus chrysippus")

Here is the opuput map of the code snippet:

Though in earlier code we have used geom_jitter, high density of the points in some regions are not clearly seen. If we want to get better idea about the number of points we can try two dimensional density maps using the **stat_density2d** function. It just adds density lines on the map showing higher density with darker circles.

library(rgbif) Dan_chr=occurrencelist(sciname = 'Danaus chrysippus', coordinatestatus = TRUE, maxresults = 1000, latlongdf = TRUE, removeZeros = TRUE) library(ggmap) library(ggplot2) wmap1 = qmap('India',zoom=2) wmap1 + stat_density2d(aes(x = decimalLongitude, y = decimalLatitude, fill = ..level.., alpha = ..level..), size = 4, bins = 6, data = Dan_chr, geom = 'line') + geom_jitter(data = Dan_chr, aes(decimalLongitude, decimalLatitude), alpha=0.6, size = 4, color = "red") + opts(title = "Danaus chrysippus :: Density Plot")

**leave a comment**for the author, please follow the link and comment on their blog:

**Vijay Barve**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.