Data-Driven Road Trip, Stop 1: Cornell Lab of Ornithology’s eBird AppReading time: 4 minutes
This blog post series highlights data investigations sparked by Analyst Lily Brennan’s cross-country road trip from New Hampshire to Joshua Tree. Since we can’t all hit the road, we’re doing the next best thing: analyzing data related to some of the stops Lily’s making on her trip.
This week, Lily passed through Ithaca, New York. “Dovetailing” with her visit to the hometown of Cornell University, Analyst Manager James Cousins thought of the school’s renowned Ornithology Lab, and one Rapid Insight Programmer’s dedication to birdwatching. In particular, James was curious about how bird sighting data might look on a map. Read on to see what he created!
This App’s For The Birds
Joe Aliperti, a Rapid Insight’s programmer, has been using a Cornell-produced app called eBird to manage his birdwatching lists for some time now. In addition to storing his impressive photographs (see below for examples), it also logs date and location information about the sightings.
For bird enthusiasts, the eBird app has many uses, including maintaining lists of sighted birds, exploring hotspots, tracking down target species, setting up rare bird alerts, and much more.
For researchers at Cornell, having access to all of these crowd-sourced data points is incredibly valuable in studying bird populations, migration, and the effects of habitat destruction and climate change. In fact, eBird is among the world’s largest biodiversity-related science projects. eBirders around the globe contribute more than 100 million bird sightings to the database each year.
As a serious birder, our programmer Joe has a flock of sighting data in his profile. And what do data analysts do when they find out about interesting data? Well, we analyze it, of course.
Migrating The Data To A Useful Format
To get me the data for analysis, Joe generated an extract from his eBird profile that contained 20,552 bird sightings, spanned 19 years, and described over 1,000 unique bird species (way to go, Joe!).
Thankfully, eBird data comes out surprisingly clean, so it didn’t take much prep. The app reports Sighting Location in lat/lon pairs; you can add notes to data points; the app automatically captures time; and it also automatically adds some information (like taxonomic order) to the data that users enter. That meant there were several metrics to focus on and take a closer look at.
The date and location of a bird sighting is particularly valuable in studying the movement of bird populations and the extent of their range. Thus, one of the most compelling points of interest in this dataset is the latitude/longitude coordinates of the species sighting. With that in mind, creating a map with the data seemed like the most interesting direction to go.
A Bird’s Eye View Using KML
A KML file is a “Keyhole Markup Language” file. KML files are used for geographical applications like google maps. Awhile back, a request from a customer catalyzed a project that resulted in our ability to seamlessly create KML files out of any data inputs. Google maps allows you to create and save custom maps using KML files. As such, I decided to map out Joe’s bird sightings through google’s “mymaps”.
The whole process was straightforward and quick. It took me less than 10 minutes to go from the eBird extract to a formatted KML inside of a map. However, I wanted to fix some small usability aspects. For instance, the description on this Mourning Dove sighting wasn’t very exciting:
I found a stackoverflow post that showed a generalized template for creating image search links for parametrized value. With this template, I could now insert the bird name and arrive at appropriate search results. Sounds like an improved version of a sighting description!
Creating the new description wasn’t very hard. You can see the node in Construct where I managed it in this workflow:
Here is an example of an improved tooltip description, linked directly to Google image results:
To create a more interactive set of map layers, I divided the bird sightings by country. By creating three different KML files instead of just one, google now displayed a checkbox for each country in the “current map” view. This allows a viewer to filter by country:
Creating three files was still just a process of running a single workflow. Adding additional countries to this list would be easy.
In a very short period of time, I had a functional map that plotted out Joe’s lifetime bird sightings.
Time To Take A Gander!
Now that you know what went into the analysis, go look at cool pictures of birds! You can view the map for yourself or see more of the pictures Joe took and submitted to eBird. And if you want to try mapping your own data, just let us know and we’ll happily show you how!
As Lily’s road trip continues, our data investigations will work their way across the United States. Keep an eye on the blog for stop number two!