Mobile Apps for Naturalists

Project Noah LogoSince nearly everyone carries a smartphone these days, we can now carry a small library worth of field guides with us inside our phones so we never miss an opportunity to identify an interesting organism. With this in mind, here are a few mobile applications that are today’s field ecologist or naturalist should definitely consider having on your smartphone.

Merlin – Merlin is the Cornell Laboratory for Ornithology’s new bird identification app. Answer five simple questions about what bird you’re seeing and Merlin will come up with a list of possibilities based on both the answers to your questions and your location. Merlin is able to make highly educated guesses using its database of more than 70 million observations from the eBird citizen-science project.

Journey North – The Journey North app engages students in a global study of wildlife migration and seasonal change. Focused for K-12 students, users record and submit their observations while they are in the field and share their own field observations with classmates across North America. Students can use the app to track the coming of spring through the migration patterns of monarch butterflies, robins, hummingbirds, whooping cranes, gray whales, bald eagles— and other birds and mammals; the budding of plants; changing sunlight; and other natural events. (iPhone, Android).

BirdLog– I have been wanting a good mobile field notebook application for birding for quite a while. I even went so far as to build my own database to sync between my phone and laptop. BirdLog, is better. Developed in cooperation with the Cornell Lab of Ornithology, BirdLog helps you record and submit your latest bird sightings from the field. Moreover, your sightings contribue to the eBird database and provide data for thousands of amateurs and scientists who study birds. Among its many features, BirdLog allows you to create lists even when there is no cell coverage, keeps a running total of the number of species on your checklist, and plots the exact location of your sightings using your phone’s GPS. (iPhone, Android)

Nature’s Notebook – The National Phenology Network (NPN) has just released the mobile apps for Android and iPhone that let you record phenology (the annual timing of events such as flowering) observations in the field. Fill out a very short form and submit your information for use by scientists everywhere. While many people and applications are set to record when events like flowering start, knowing when they stop is just as important, as it helps tell scientists whether the growing season is getting shorter or shifting. So, one important component of the Nature’s Notebook application is that you can also use it to collect when plants have yet to flower or have stopped flowering, are showing new leaves or have dropped their leaves. (iPhone, Android)

Leafsnap – You can use Leafsnap to help identify plants. Simply use the application to snap a photo of a leaf and it will be uploaded to their servers where sophisticated image recognition software will combine the leaf’s photo with your location (from your phone’s GPS) to suggest possible matching species. (iPhone, Android)

iBird – iBird is the definitive application for identifying birds. It loads the contents of several bird guides onto your phone, combining drawings, photos, recordings of bird calls, range maps and other information to help you lookup any bird and identify its species. iBird loads all of this information on your phone, so you can use it in areas with no internet access. With iBird, there’s really no need to carry a thick bird guide around anymore. (iPhone, Android)

National Audubon Mobile Field Guide Apps – The National Audubon Society offers a suite of applications for smartphones that contain field guides to birds, mammals, reptiles, fish, insects, trees, wildflowers, and mushrooms. (iPhone, Android)

My Nature Animal Tracks – When all you have is evidence that an animal was present, you can use My Nature Animal Tracks to identify the animal by examining their tracks and scat using this handy app. (iPhone)

PhenoMap – Help scientists study changes in phenology (the annual timing of events such as flowering) by snapping photos of when natural plants in your area bloom. Fill out a very short form and upload your sighting to the University of Chicago and the National Phenology Network for inclusion into their phenology database. (iPhone)

ProjectNoah – Earn merit badges for being a citizen scientists and help the larger scientific community by logging your sitings of species in your neighborhood, on trails, etc. The information submitted by tens of thousands of citizen scientists is used to help study species diversity and distributions and other questions. (iPhone, Android)

These are just a few of the many exciting and helpful mobile applications that can assist your field excursions and reduce the number of field manuals you carry. While I’ve tried to introduce some very good and popular applications, this list is by no means complete. If you know an app that should be on this list, please add a comment below.

Are Some Parts of ArcGIS Getting More Difficult to Use?

I got a call from a colleague who was having dificulty getting ArcGIS to calculate the value of a field in an attribute table. He was building a model in ModelBuilder and wanted to perform a conditional (If Then) calculatuion to evaluate whether a field’s value was Zero (0) before he tried to divide another value with it.

In response to his question, I quickly provided him the following VBA code for his field calculator tool:

Pre-Logic Script Code:

if ([SUM_weeks] <> 0) then
    newval = [SUM_deliv] / [SUM_weeks]
   newval = .001
end if

Assignment Code:

[NewField] = newval
Field Calculation Example with VBA

Field Calculation Example with VBA

While this worked fine, he mentioned that he would rather have Python code, since it is rumored that esri is removing VBA in future releases of ArcGIS. In response, I initially tried to simply convert the Pre-Logic code block to the following Python code:

if (!SUM_weeks! <> 0):
    newval = !SUM_deliv! / !SUM_weeks!
    newval = .001

Much to my surprise this code generated a parsing error, and try as I did, I could not change it in a way that would work, despit the fact that it appears to be perfectly valid Python code.

After reviewing some portions of the ArcGIS Desktop help file, I learned that in order for me to execute the same statement in Python, I needed to write a Python function and then pass the field values into that function. So I composed the following Python code to send my colleague:

Pre-Logic Script Code:

def DoMath(field1, field2):
   if (field2 == 0):
       newval = .001
      newval = field1 / field2
   return newval

Assignment Code:

DoMath(!SUM_delive!, !SUM_weeks_!)
Field Calculation Example with Python

Field Calculation Example with Python

This worked fine but I was really surprised that I could not just use the field names within the code block. We’ve always been able to do this in esri projects. We coudl do it in VBA and even Avenue (for those who remember the ArcView 3.x Query Builder), AML allowed this too.  But not anymore, why?

As a long time esri user, this kind of stuff concerns me. I’m not worried that they going to lose their customer base or market share. But it seems that as ArcGIS has grown more powerful some portions of it have grown more difficult for casual users. Replacing dialogs and functions that worked well for casual users with Python code blocks works well for programmers and power users, but it leaves casual users to struggle with stuff they used to know how to do.

Users shouldn’t have to write a Python function and then pass an attribute field value into that function to edit a field. This kind of editing used to be easier and I hope someone at esri figures this out and simplifies it again.

P.S.  Don’t get me wrong, it’s not that I hate change or dislike Python; I use it often. I should point out that there are some wonderful simplications to field editing in ArcGIS 9.x and 10 that esri programmers should be commended for. I greatly enjoy and make frequent use of the Calculate Geometry functions and appreciate not haveing to write the VBA code blocks that I used to write to add X and Y coordinates to attribute tables or calculate polygon areas. Actually I only wrote the code once and then saved the query expressions for subsequent uses, but still, it’s much easier to use the newer Calculate Geometry functions.