Amy Whitehead's Research

the ecological musings of a conservation biologist

Leave a comment

Three new papers: urban development, agriculture & skua

What do urban development, agriculture and skua have in common? Superficially very little, except that they feature in three papers that I published in the past few weeks. These papers are the culmination of  research projects I worked on at Landcare Research and the Quantitative & Applied Ecology group at The University of Melbourne and it’s super exciting to see them finally out in print. Many thanks to the teams of co-authors who made these possible.

Protecting biodiversity while planning for development


Clever strategic planning can identify land for urban development that minimises habitat clearing and benefits native plants and animals. Picture: WWF-Australia.

As our cities expand due to population growth, development encroaches on the natural habitat of native plants and animals. While developers often have to assess how their new subdivision or industrial park will impact on these populations, this is usually done at the scale of individual developments and often only considers a few species. The consequence of such ad-hoc assessment is that biodiversity can undergo “death by a thousand cuts” where the cumulative impacts of many development projects can be more severe than those predicted by the individual assessments. However, a lack of good tools and guidance has limited  how impact assessments are carried out. We looked at how existing conservation planning tools can use information on the distribution of many species over large areas to identify the potential impacts of a large-scale development plan in Western Australia. We worked closely with government agencies to identify important areas for biodiversity conservation and make minor changes to the development plans that significantly reduced the potential impacts to biodiversity. See our paper for more details on our framework for undertaking strategic environmental assessments.

Whitehead, A., Kujala, H., & Wintle, B. (2016). Dealing with cumulative biodiversity impacts in strategic environmental assessment: A new frontier for conservation planning Conservation Letters DOI: 10.1111/conl.12260

Can biodiversity, carbon and agricultural development coexist in Australia’s northern savannas?

Irrigated agriculture in the Ord River Development. Developing northern Australia will involve trade-offs with biodiversity. (Image credit: Garry D. Cook)

Irrigated agriculture in the Ord River Development. Developing northern Australia will involve trade-offs with biodiversity. (Image credit: Garry D. Cook)

There’s a lot of talk about developing Australia’s north, of doubling the agricultural output of this region and pouring billions of dollars into new infrastructure such as irrigation. But what about the natural values of this region and its potential for carbon storage today and into the future? Can we develop the north and still retain these other values?  We undertook a spatial analysis which found agricultural development could have profound impacts on biodiversity OR a relatively light impact, it all depends on how and where it’s done. If managers and decision makers want northern Australia’s sweeping northern savannas to serve multiple purposes then they need to plan strategically for them. For more information about how such strategic planning could be done, check out our paper and the associated press release.

Morán-Ordóñez, A., Whitehead, A., Luck, G., Cook, G., Maggini, R., Fitzsimons, J., & Wintle, B. (2016). Analysis of trade-offs between biodiversity, carbon farming and agricultural development in Northern Australia reveals the benefits of strategic planning. Conservation Letters DOI: 10.1111/conl.12255

Counting skua by counting penguins


A skua surveying potential lunch options at the Cape Bird Adélie penguin colony.

South polar skua (Stercorarius maccormicki) like to chow down on penguins. So it makes sense that they often nest close to penguin colonies. Over the years, we’ve developed a pretty good understanding of the size of Adélie penguin (Pygoscelis adeliae) colonies around the Ross Sea, Antarctica, so we set out to see if we could estimate the number of skua associated with those colonies.  Detailed surveys of skua at three Adélie penguin colonies on Ross Island confirmed that more penguins (i.e. more lunch) means more skua.  Using this relationship, we predicted how many skua live in the Ross Sea. To find out how many skua live in the Ross Sea and for a more detailed description of the methods, check out our paper online.

Wilson, D., Lyver, P., Greene, T., Whitehead, A., Dugger, K., Karl, B., Barringer, J., McGarry, R., Pollard, A., & Ainley, D. (2016). South Polar Skua breeding populations in the Ross Sea assessed from demonstrated relationship with Adélie Penguin numbers. Polar Biology. DOI: 10.1007/s00300-016-1980-4


Extracting raster data using a shapefile

I recently had an email from a PhD student in Austria who had a raster showing the distribution of Douglas Fir in Europe and wanted to know what proportion of each European country was covered in this species. They had a raster with presence (1) and absence (0) of Douglas-fir in Europe and wanted to calculate the number of cells with 1 and 0 within each country of the Europe. I’ve put together a dummy example below which shows how to R script to extract the number of raster cells in each country that meet a certain condition.


Douglas Fir (source: Pixabay)

Essentially the script works through the following steps:

  1. Loads the relevant shapefile and raster datasets.
  2. Identifies all of the countries within the shapefile.
  3. Within a loop, masks the presence-absence raster by each country and counts the number of cells that meet the required condition.

Continue reading


Converting shapefiles to rasters in R

I’ve been doing a lot of analyses recently that need rasters representing features in the landscape. In most cases, these data have been supplied as shapefiles, so I needed to quickly extract parts of a shapefile dataset and convert them to a raster in a standardised format. Preferably with as little repetitive coding as possible. So I created a simple and relatively flexible function to do the job for me.

The function requires two main input files: the shapefile (shp) that you want to convert and a raster that represents the background area (mask.raster), with your desired extent and resolution. The value of the background raster should be set to a constant value that will represent the absence of the data in the shapefile (I typically use zero).

The function steps through the following:

  1. Optional: If shp is not in the same projection as the mask.raster, set the current projection (proj.from) and then transform the shapefile to the new projection ( using transform=TRUE.
  2. Convert shp to a raster based on the specifications of mask.raster (i.e. same extent and resolution).
  3. Set the value of the cells of the raster that represent the polygon to the desired value.
  4. Merge the raster with mask.raster, so that the background values are equal to the value of mask.raster.
  5. Export as a tiff file in the working directory with the label specified in the function call.
  6. If desired, plot the new raster using map=TRUE.
  7. Return as an object in the global R environment.

The function is relatively quick, although is somewhat dependant on how complicated your shapefile is. The more individual polygons that need to filtered through and extracted, the longer it will take. Continue reading

Leave a comment

Spatial troubles: Converting gps data between formats

I work a lot with spatial data which is great but it means I spend a lot of time cursing at my computer.  One of the problems with spatial data is the myriad of formats that it comes in and the intricacies of trying to read it into the variety of hardware and software available to use it.  One of the best ways I have found for navigating my way through this minefield has been drawing on the expertise of others, particularly blog posts where people have outlined potential solutions.  So I’m going to try and document some of my own solutions here.  This is partly for my own benefit, so I don’t have to reinvent the wheel every time I do something, but it would also be great to get feedback from those out in the blogosphere.  So I welcome your comments and suggestions.

I’m currently working with Adélie penguins at Cape Bird on Ross Island in Antarctica. Part of this work involves monitoring the nests of banded birds, where each nest is labelled with a numbered tag.  This is a great system except that the band numbers are not the same as the numbers on the tags and you can’t read the tags after a few weeks anyway as they get covered in penguin poo.  So we quite often need to use a gps to find and identify which nest we are looking at.

Banded Adelie penguin on a marked nest

A banded Adelie penguin with a satellite tag that it will wear for one foraging trip of 1-3 days. Note the yellow nest tag in front of the nest already partially covered in poo.

Our nest location data is entered manually from the gps into a FoxPro database (not the most efficient system) and then can be extracted again as a text file.  Our biggest problem is sharing data between multiple researchers in the field who use different gps units.  Which means converting our basic text file into multiple formats, which can be a trying exercise.

My goal was to find an efficient way of creating a file where the waypoints are labelled by nest number and the band number of the associated bird listed in the comments so we could cross-reference and make sure we were reading the poopy nest tag correctly.  And then convert this file to the appropriate file types needed for each of our gps units.

So I was pleased to discover GPSBabel, a free piece of software for converting gps data between multiple formats.  It took me a wee while to navigate my way around and figure out what I needed to do but now that I have figured it out, it is a very simple process using the Universal CSV option.

Converting spatial data from text file to gdb

1.  Open the text file in Excel (or your favourite spreadsheet program), rename the data columns using the appropriate keywords from the GPSBabel documentation (there are many more keywords listed online) and save as a .csv file.
alt =      Altitude
date =   Date (yyyy/mm/dd)
icon =    Symbol (icon) name
lat =      Latitude
lon =      Longitude
name = Waypoint name (“Shortname”)
comment = Notes

So the top few rows of my file look something like this, where name represents the nest tag number and comment is the band number of the associated bird.


2.  Open GPSBabel and set the input file to your newly formatted csv file, setting the format to Universal csv with field structure in the first line.

3.  Select the appropriate output format (I’ve been mostly using Garmin MapSource – gdb), name the output file and hit apply.

One of the nice features of GPSBabel is that it will open your data in Google Maps after the conversion, which provides a nice check that everything has worked how you expected.

From here, I can open the .gdb file in Garmin’s MapSource and upload it to the gps.  And then use the same .csv input file to generate other output files suitable for upload to our other gps units.  A nice simple solution.