Tag Archive | forests

Assessing habitat specialization using IUCN data

Since quite some time ecological models have tried to incorporate both continuous and discrete characteristics of species into their models. Newbold et al. (2013) demonstrated that functional traits affect the response of tropical bird species towards land-use intensity. Tropical forest specialist birds seem to decrease globally in probability of presence and abundance in more intensively used forests. This patterns extends to many taxonomic groups and the worldwide decline of “specialist species” has been noted before by Clavel et al. (2011).

From Newbold et al. 2013

(a) Probabilities of presence of tropical bird species in in different disturbed forests and (b) ratios of abundance in light and intensive disturbed forests relative to undisturbed forests. Forest specialists are disproportionally affected in intensively used forests. Figure from Newbold et al. 2013 doi: http://dx.doi.org/10.1098/rspb.2012.2131

But how to acquire such data on habitat specialization? Ether you assemble your own exhaustive trait database or you query information from some of the openly available data sources. One could for instance be the IUCN redlist, which not only has expert-validated data on a species current threat status, but also on population size and also on a species habitat preference. Here IUCN follows its own habitat classification scheme ( http://www.iucnredlist.org/technical-documents/classification-schemes/habitats-classification-scheme-ver3 ). The curious ecologist and conservationist should keep in mind however, that not all species are currently assessed by IUCN.

There are already a lot of scripts available on the net from which you can get inspiration on how to query the IUCN redlist (Kay Cichini from the biobucket explored this already in 2012 ). Even better: Someone actually compiled a whole r-package called letsR full of web-scraping functions to access the IUCN redlist. Here is some example code for Perrin’s Bushshrike, a tropical bird quite common in central Africa

# Install package

# Perrin's or Four-colored Bushshrike latin name
name <- 'Telophorus viridis'

# Query IUCN status

#>Species        Family Status Criteria Population Description_Year
#>Telophorus viridis MALACONOTIDAE LC Stable 1817
#>Angola, Congo, The Democratic Republic of the Congo, Gabon, Zambia

# Or you can query habitat information

#>Species Forest Savanna Shrubland Grassland Wetlands Rocky areas Caves and Subterranean Habitats
#>Telophorus viridis      1       1         1         0        0           0                               0
#> Desert Marine Neritic Marine Oceanic Marine Deep Ocean Floor Marine Intertidal Marine Coastal/Supratidal
#>      0              0              0                       0                 0                         0
#>  Artificial/Terrestrial Artificial/Aquatic Introduced Vegetation Other Unknown
#>                      1                  0                     0     0       0

letsR also has other methods to work with the spatial data that IUCN provides ( http://www.iucnredlist.org/technical-documents/spatial-data ), so definitely take a look. It works by querying the IUCN redlist api for the species id (http://api.iucnredlist.org/go/Telophorus-viridis). Sadly the habitat function does only return the information if a species is known to occur in a given habitat, but not if it is of major importance for a particular species (so if for instance a Species is known to be a “forest-specialist” ). Telophorus viridis for instance also occurs in savannah and occasionally artificial habitats like gardens ( http://www.iucnredlist.org/details/classify/22707695/0 ).

So I just programmed my own function to assess if forest habitat is of major importance to a given species. It takes a IUCN species id as input and returns ether “Forest-specialist”, if forest habitat is of major importance to a species, “Forest-associated” if a species is just known to occur in forest or “Other Habitats” if a species does not occur in forests at all. The function works be cleverly querying the IUCN redlist and breaking up the HTML structure at given intervals that indicate a new habitat type.

Find the function on gist.github (Strangely WordPress doesn’t include them as they promised)

How does it work? You first enter the species IUCN redlist id. It is in the url after you have queried a given species name. Alternatively you could also download the whole IUCN classification table and match your species name against it 😉 Find it here. Then simply execute the function with the code.

name = 'Telophorus viridis'
data <- read.csv('all.csv')
# This returns the species id
#> 22707695

# Then simply run my function
#> 'Forest-specialist'

Annual Forest Loss – A comparison between global forest loss datasets

The start of this year was marked by the publication of two new global datasets for environmental analysis. My impression is that both of those datasets will be of increasing importance in ecological analysis in the future (even though their value for conservation biology has been actively criticized, see Tropek et al. 2014). Thus there is a need to assess the accuracy of their forest loss detection over time and if they are consistent.

The first dataset is the already famous Global Forest Map published by Hansen et al. (2013) in Science end of last year. The temporal span of their dataset goes back from the year 2000 up to the year 2012 and by using only Landsat data in a temporal time-series analysis they got a pretty decent high-resolution land-cover product. Although the resolution of the Hansen dataset is great (30m global average coming from Landsat) Hansen et al. decided to only publish the year 2000 baseline with the forest cover. They provide us with aggregated loss, gain and loss per year layers though, but nevertheless the user has no option to reproduce a similar product for the year 2012.

The other dataset is the combined published result from a 4 year long monitoring by the japanese satellite ALOS-PALSAR. They decided to release a global forest cover map at a 50m spatial resolution, which in contrast to Hansen can be acquired for the whole time-frame of the ALOS-PALSAR mission. It thus has a temporal coverage of the whole globe from the year 2007 until 2010. The data can be acquired on their homepage after getting an account. The ALOS PALSAR data has a nice temporal span and can be downloaded for multiple years, thus in theory allowing to make temporal comparisons and predictions about future land-use trends. However I am a bit concerned about the accuracy of their classifications as I have found multiple errors already in the area I am working in.

Classification Errors with the ALOS PALSAR dataset. Suddenly there are huge waterbodies in the Savanna near Kilimanjaro

Classification Errors with the ALOS PALSAR dataset. Suddenly there are huge waterbodies (blue) in the Savanna near Kilimanjaro

Because I am interested in using the ALOS PALSAR dataset in my analysis (how often do you get a nice spatial-temporal dataset of forest cover) I made a comparison between the forest loss detected in my area of interest for both datasets. It should be noted that is a comparison between different satellite sensors as well and not only by classification algorithms. So we are not comparing products from the same data source.

So what is the plan for our comparison:

  • We downloaded the whole ALOS PALSAR layers for all years covered of the area around Kilimanjaro in northern Tanzania (N00, E035). We then extracted only the forest cover (Value == 1) and calculate the difference between years to acquire the forest loss for the year 2008,2009 and 2010 respectively.
  • From the Google Engine app we downloaded the “loss per year” dataset and cropped it to our area of interest. Furthermore we are only interested in the aggregated Forest loss in the years 2008, 2009 and 2010 which we have available in the ALOS PALSAR dataset. We furthermore resampled the Hansen dataset up to 50m to match up with the ALOS PALSAR resolution.

The Result:

I haven’t found a fancy way to display this simple comparison, so here comes just the result table. As predicted (if you look at it visually),the ALOS PALSAR algorithm overshots the amount of forest loss a lot.

year 2007-2008 2008-2009 2009-2010
Hansen Forest Loss cells 262 304 529
ALOS PALSAR Forest Loss cells 26995 24970 16297
Equal cells in both 17 30 131


So which one is right? I personally trust Hansens data a lot more. Especially because I found them to be pretty consistent in my area of study. For me the ALOS PALSAR data is not useable yet until the authors have figured out ways to improve their classification. It can be concluded that users should not forget that those Forest Cover products are ultimately just the result of a big un-supervised algorithm who doesn’t discriminate between right and wrong. Without validation and careful consideration of the observer you might end up having wrong results.

BIOFRAG – Biodiversity responses to Forest Fragmentation

Another interesting project closely related to PREDICTS is the BIOFRAG Project, which tries to construct a global database of research papers dealing with Forest Fragmentation and its impacts on Biodiversity taxa. One final goal of the BIOFRAG project is the development of a new fragmentation index using watersheds delineation algorithm and fragment descriptors in order to characterize Fragment traits. I am very interested in seeing the final outcome of this approach and maybe I even find the time to implement their algorithm in LecoS for QGIS as soon as it is released. Their database paper, lead authored by Marion Pfeifer, was just released to the public as open-access paper. You can read it in full here.

Pfeifer et al. (2014) BIOFRAG – a new database for analyzing BIOdiversity responses to forest FRAGmentation. Ecology and Evolution. doi: 10.1002/ece3.1036

If you consider of contributing data then more information can be found on the BIOFRAG blog and all researchers involved with forest fragmentation research should consider contributing to them and also to PREDICTS   (see here) if you haven’t already done so. And as usual: If you were studying in Africa, then please get in touch with me! I will contact you as soon as I return from my Fieldwork in Kenya and Tanzania at the end of May.

Interesting Paper and Data: Global Forest Loss (Hansen et al. 2013)

Just some moments ago (on the 15th of November 2013, so not yet in Europe 😀 ) a new very interesting paper came out in Science presenting a new High-resolution dataset of global forest loss in the last decade. It is written by the authors of already existing widely used datasets, such as GLCF and CARPE, in corporation with Google.

Hansen et al. (2013), High-Resolution Global Maps of 21st-Century Forest Cover Change

“In this study, Earth observation satellite data were used to map global forest loss (2.3 million square kilometers) and gain (0.8 million square kilometers) from 2000 to 2012 at a spatial resolution of 30 meters. The tropics were the only climate domain to exhibit a trend, with forest loss increasing by 2101 square kilometers per year.”

Not surprisingly only the tropical rain-forest was found to posses a negative trend in the last decade. Most likely because of shifting agriculture, clash-and-burn practices and large scale deforestations due to monoculture cultivation of Palmoil, Soy and Jatropha. Quite impressively they used over  654,178 Landsat images in a time-series analysis to in characterize forest extent and change in the time from 2000 to 2012. Google apparently helped out with the computation (cloud-computing). And the best thing is: You can view the data

Google Viewer of Hansens et al. 2013 forest loss dataset

Google Viewer of Hansens et al. 2013 forest loss dataset

online via Google.

Online view of Global Forest Change

At the bottom you can find a Data download link, which makes the whole thing very interesting for follow-up research! Check it out!

EDIT: Apparently download is not yet available for the public. Will keep you updated!

Interesting Paper: Impact of Fragmentation on Plant-Frugivore networks redundancy

Jörg Albrecht, my former co-supervisor at the University of Marburg finally published his first results from his PhD. I was eagerly waiting for this publication as i also helped to raise a lot of data as a volunteer ornithologist while working on my bachelor thesis. Looking back i remember many nice beautiful moments web_DSC_0003like sitting in a camouflaged tent early in the morning counting frugivorous birds in the very core zone of Bialowieza forest. Bisons, Mooses, wildcats, the sound of howling wolfs in the morning were among the nice experiences i took with me. It was definitely a nice period of my life and i congratulate Jörg for publishing this nice paper! Published in the renown Journal of Ecology you can now access the paper in early-view:

Albrecht  et al. 2013 – Logging and forest edges reduce redundancy in plant–frugivore networks in an old-growth European forest

For those of you who want a little appetizer of what the paper is about. The paper itself incorporates information gained from many recently developed techniques for ecological network analysis to draw conclusions using general ecological theory (Optimal Foraging Theory). The optimal Foraging Theory developed by MacArthur (1955) hasn’t yet much appeared in the ecological network literature, which is a shame as it allows predictions about changing plant/animal specialization patterns in the light of habitat perturbations.  Here is a little summary, but i still recommend to read the full paper as both methods and conclusions are quite sophisticated 🙂

  • 2 years of recorded plant-frugivorous interactions in Europe’s last old-growth lowland forest (Białowieza, Eastern Poland)
  • Hypothesis (Summarized from the 3 expectations in the paper): Increased competition at Forest edges (caused by logging) compared to the interior forest leads to higher, respectively lower, redundancy in plant-frugivore networks. (But better read the paper!)
  • To fully understand the extent of this study you need to dive deep into the study design and purpose. It uses state of the art statistical network-analysis techniques to calculate network redundancy and interaction specialization. Two and a half pages alone explain the data gathering and analysis, while the results sections is nearly half a page long 🙂
  • Despite the small sample size (which was/is a major critical point) the results show that the networks redundancy was reduced at forest edges due to shifting dietary specialization of the interacting partners. As i remember from the data collection Black-caps and Blackbirds dominated in most of the assessed trees, which leads to an asymmetry in the interaction network. As shown in the paper this might be due to forest fragmentation.
  • Possible Critic:The sampling effort of 10 studysites, which were sampled over 2 years might not be enough to detect real properties of ecological networks. However so far every study investigating ecological networks worked with incomplete data. I also don’t really trust the whole separation of species in specialist and generalists based on available literature. Although much is known up to now, both foraging and behavioral patterns of birds might change due to forest fragmentation and therefore such classification might be inaccurate depending on the study sites properties.
  • Why is the study of interest?  Up to now not much is known about how temperate Plant-frugivore interactions change in the face of habitat perturbation. Most of the available literature was conducted in the tropics or didn’t incorporated whole interaction networks. Probably due to the geographical bias, most of the available literature furthermore failed to detect an effect on network stability as this study shows.

So, enough advertising 😉

Calculate points with angle and distance from a centroid

Here is just a small r-script, which calculates the location of points around a centroid. I had problems with a dataset containing only the angle and the distance of the points and not their exact location. In my case the dataset represents a little forest survey with trees occurring in a given distance from the plots centroid.


bsp_sel # my plot data
trueCentroids = gCentroid(bsp_sel,byid=TRUE)



My Buffered plot and its centroid

# data structure:
# Species | Distance (in m) | Angle (in radians degree)
## For example
# Spruce | 20.5 | 66
centerPoint <- coordinates(trueCentroids)

# Function to calculate for instance the coordinates of the point in 20.5m by 66° from the coordinates of the centerpoint
retPoCordinates <- function(center,angle,distance){
x <- round(centerPoint[,1] + distance * cos(angle),0)
y <- round(centerPoint[,2] + distance * sin(angle),0)
result <- as.data.frame(cbind(x,y));names(result) <- c("x","y")

pp <- retPoCordinates(centerPoint,data$angle,data$distance) #Saves the coordinates of all trees in the variable pp
coordinates(pp) <- ~x+y
points(pp,col="green4",pch=19) # Add to plot
Plot with all trees around the centroid

Plot with all trees around the centroid

#If you want you could furthermore save your SpatialPoint Object as Esri shapefile. Use the tree species as attribute-table
#and the spatial projection from your first shape
spp <- SpatialPointsDataFrame(coords=coordinates(pp),data=as.data.frame(data$Species),proj4string=CRS(proj4string(bsp_sel)))
writeOGR(spp,"shapes","treepoints",driver="ESRI Shapefile",)

# Besides you could now calculate a distance matrix between the points or make a test for spatial aggregation and so on...


# ...

Go 4 it ! 😉

Sussex Research Hive

Supporting the research community at the University of Sussex

Small Pond Science

Research, teaching, and mentorship in the sciences

Landscape Ecology 2.0

intersecting landscape ecology, open science, and R


The Research Blog of IIASA

Jörg Steinkamps Blog

Mainly things about R, Linux and vegetation modeling

Amy Whitehead's Research

the ecological musings of a conservation biologist

Michael McCarthy's Research

School of BioSciences, The University of Melbourne

The Rostrum

science, statistics, policy and more


Environmental Change - Understand, Predict, Adapt

Dynamic Ecology

Multa novit vulpes


METeorological Visualisation Utilities using R for Science and Teaching

A Birder´s Blog

"Everybody loves what they know"


A new metric to quantify biodiversity response to fragmentation

Trust Me, I'm a Geographer

Using Technology to Explore Our World

Duncan Golicher's weblog

Research, scripts and life in Chiapas