A comparison of methods used for calculating Kernel density and isopleths - ARCGIS, QGIS or GME?

940 views
Skip to first unread message

Renzy357

unread,
Aug 7, 2015, 4:16:07 AM8/7/15
to GIS In Ecology Forum
Hi There,

I'm just looking for some information on whether some has used ARCGIS, QGIS and GME kernel calculations (and resulting polygons/isopleths) for home range analysis and compared them? Is there much difference between the results produced by the three programs?

Thanks

GIS in Ecology

unread,
Aug 7, 2015, 4:39:04 AM8/7/15
to GIS In Ecology Forum
Hi There,
 
In theory, you should get the same results from ArcGIS, QGIS and GME because if they are running the same mathematical function in the same way, you should get the same results. However, in practice this is not the case. This is because different programs use different default settings and make different assumptions about the data. One of the biggest differences you have to look out for here is the type of kernel generated. In ArcGIS, by default this is Gaussian. GME, because it uses the ArcGIS functions to generate its kernels, also uses this by default, but from what I can work out, the Heatmap Plugin for QGIS (which is what most people use to generate kernels in QGIS) uses a quadratic function by default. This is also the same for the Adehabitat library in R. However, in all cases you should be able to change the default to make sure that they are using the same function.
 
You also have to look out for differences in things like the default smoothing  parameters which are selected. When different software uses different ways to generate the default smoothing parameter, you can get very different results. An example of this is between ArcGIS 10.2 and ArcGIS 10.3. They changed the way the default smoothing parameter was changed (from the shortest of width or height of the extent divided by 30 to Silverman's rule of thumb), and this resulted in very different kernels being generated from the same data.
 
Similarly, some software packages will scale the results by default, while others will not (e.g. QGIS 2.6 does this, which ArcGIS does not), and this can give similar looking kernels, but very different values for individual cells (you can find out more about this here: http://gis.stackexchange.com/questions/115850/question-about-arcgis-vs-qgis-for-kernel-density-estimations).
 
So, to summarise, different software packages should give the same results when doing the same calculation with the same settings on the same dataset, but differences in the way that different software packages are programmed to carry out the calculations (especially with default values chosen) can result in quite different results. This means that you really need to dig down into the help and document files for individual GIS packages to find out exactly what these are (and this is not always very clear), and then make sure you use exactly the same settings if you are wanting to compare the results of different software packages.
 
This is all fine if you are wishing to compare the differences within your own data, but if you are trying to compare your results to previously published studies, this can be a bit of a nightmare, as often the methods provided in papers are not sufficient for you to work out exactly what settings were used in the GIS software package being used. As a result, if you are wanting to make a comparison to a previously published study, the easiest thing is to try to use the exact same software set up. If you can't do this, then you may find that you have to contact the authors to find out exactly what settings they used, but don't be too surprised if they don't actually know all the details.
 
I hope this helps, and it strikes me that if anyone out there has the time, this might make an interesting little project to see exactly how different the results are with different software packages, and indeed different versions of the same software package.
 
However, all this having been said, the differences between software packages is going to be relatively small in comparison to differences in the methods used to select the optimal bandwidth/search radius/h-value, as the value used for this will have the greatest impact on the kernel density values for  any given grid cell based on the input data set, and on the resulting isopleths/home range estimates.
 
All the best,
 
Colin

Jeffrey Evans

unread,
Aug 22, 2015, 10:39:46 AM8/22/15
to GIS In Ecology Forum
It sounds like you specifically want kernel estimates on a non-marked process (eg., GPS animal locations). In this case, Colin's advice is spot on. However, if you are ever wanting a KDE on a marked or weighted process (eg., point location counts) there is a big difference in how the math and underlying assumptions are implemented across software.

Keep in mind that a KDE is effectively fitting a local distribution to the data and flexibility, in not just bandwidth, but also the type of distribution and smoothing function is quite important. I have found that ArcGIS is not reliable in using the correct smoothing parameter when integrating under the curve. The most flexible implementation is the "ks" package in R, which also provides additional functions for finding correct parameters using cross-validation. However, the "ks" package is not inherently spatial and some coding is required to run an analysis on spatial data and provide spatial results.

Keeping in the GIS realm, QGIS provides somewhat reliable results but is quite unstable on large datasets. It allows one to specify several parameters and has five kernel types available but ironically, not Gaussian. For a stable and correct implementation of a KDE I would recommend SAGA GIS. Although, the KDE model in SAGA only provides Gaussian and Quartic kernels. which are suitable in most ecological applications but it can be nice to assume a Poisson distribution on occasion.

In the next release of my "spatialEco" R package (hopefully up on CRAN in a few weeks) I will have some spatial KDE functions available that will provides some additional flexibility in specifying a kernel model. There will also be a raster volume model for generating isopleths from raster data.         
Best,
Jeff

Jeffrey S. Evans | Senior Landscape Ecologist 

The Nature Conservancy | Conservation Lands Global Science Team

Affiliate Assistant Professor | Zoology & Physiology | University of Wyoming

Laramie, WY | jeffre...@tnc.org | (970) 672-6766

GIS in Ecology

unread,
Aug 27, 2015, 9:50:20 AM8/27/15
to GIS In Ecology Forum
Hi Jeff,
 
Thanks for your post, and the information and links you provided in it. I'll look forward to checking out the next release of your SpatialEco package for R once it's available. Just out of interest, does this include an option for taking complex barriers to movements into account? This isn't something that a lot of kernel density tools have to offer, but I suspect it is something which is really useful to be able to take into account in ecology (and is something that should be used much more often than it currently is).  There's a way to do this in ArcGIS, but it would be nice to be able to implement in R too.
 
All the best,
 
Colin

Matt Danzl

unread,
Jan 17, 2016, 3:31:55 PM1/17/16
to GIS In Ecology Forum
Not sure if this is the right thread but my question is regarding program R. I am using ArcInfo student version 10.1, GME 7.2.1, and R-3.2.3. I got this error message in GME: "Error: The ks library does not appear to be installed in R. Please install it and rerun this command." I tried to copy and paste this from the GME website: "install.packages(pkgs=c("CircStats", "deSolve", "coda", "deldir", "igraph", "RandomFields", "ks"))" but I don't know if it worked properly. I am trying to run KDE tool in GME. Any help?

Thanks,
Matt

GIS in Ecology

unread,
Jan 24, 2016, 9:15:43 AM1/24/16
to GIS In Ecology Forum
Hi Matt,
 
This is a good thread to post this on.
 
This sounds like a problem with the link between R and GME. The best thing might be to uninstall GME, then make sure that in R you have the relevant packages downloaded and installed (using the code from the GME website). Once you have done this, try re-installing GME and see if it makes the proper connection this time.
 
I hope this helps you solve this problem.
 
All the best,
 
Colin
Reply all
Reply to author
Forward
0 new messages