The LoCoH webapp and R script on this website have been updated to correct a discrepancy between the code and the LoCoH algorithm as described in Getz et al (2007). The discrepancy concerns how ties are handled when sorting hulls in the adaptive and fixed-r methods. See below for details.
A newer version of LoCoH, called T-LoCoH, is available as a R package at http://tlocoh.r-forge.r-project.org. The new version does not yet have a webapp or ArcToolbox, but we recommend R users transition to the newer version which has more features and better performance.
LoCoH is a powerful family of algorithms for finding homeranges or utilization distributions. The LoCoH algorithms work by creating convex hulls around each point in the data set and then iteratively joining these hulls together from smallest to largest into isopleths. The 10% isopleth contains 10% of the points, the 100% isopleth 100% encompasses all the points. The smaller the hull, the more heavily used the region. Therefore, these isopleths can be used to determine how frequently a region is used.
There are current three LoCoH algorithms:
Compared to other methods for constructing homeranges (such as Minimum Convex Polygon and kernel methods), the LoCoH methods have several advantages that make them particularly well-suited for landscapes with 'sharp' features such as lakes, fences, or steep terrain. These type of landscape features often result in spatial distributions containing holes, sharp boundaries, corners, or corridors. In these cases, the LoCoH density isopleths have been shown to better approximate the true area represented by the data than kernel or alpha-hull methods. LoCoH isopleths also have the property of converging to the true area represented by the data as the number of data points increases, thus the method is particularly well suited when there is a lot of observational data (e.g., from a GPS collar).
This web-based version of LoCoH allows you to explore the k-NNCH method with your own point data. The number of points that can be analyzed via this web-based version of LoCoH is limited due to memory limits on the server. However if you get an 'out of memory' error message you can download the R script to run it on your own PC. LoCoH is also available as toolbox for ArcGIS 9.x.
An in review journal article comparing and contrasting the three LoCoH algorithms in addition to kernel algorithms is Getz Et al, 2007.
LoCoH currently supports tab delimited textfiles and ESRI's shapefile format. You can either upload your own data, or experiment with a demo dataset
Use the demo dataset.
Upload my own tab delimited textfile.
Upload my own point shapefile.
The format for uploaded text files is simple. Your textfile must contain one header row that defines your data and is used for axis labeling, followed by n rows for n points. Each row should have the numeric x value of a point (American decimal system) followed by a tab, then followed by the y coordinate. Other columns are allowed, but will be ignored.
Example of a 5 point textfile:
LoCoH allows you to upload your own data for analysis. Your data must be in ESRI's point shapefile format. This format was popularized by ESRI's ArcView application and is compatible with both ArcView 3.x and ArcGIS along with a number of other applications. Shapefiles are in truth a collection of a number of different files all with the same base name. LoCoH requires the '.shp', 'shx', and '.dbf' files in order to be able to analyze your data. You must upload all three files in order for LoCoH to work. LoCoH only uses the locations of the points, all attribute fields are ignored.
If you don't see the extensions on filenames, go to Windows Explorer and click on Tools, Folder Options, View tab, and uncheck 'hide extensions for known file types'.
There are three different LoCoH Algorithms:
In the Fixed r LoCoH algorithm, hulls are constructed from all points within distance r from the root point. Thus r acts as a radius around the root point for hull creation. It should be related to the basic clumping size of your data.
You may enter multiple r's at once by separating the individual r's by commas.
WARNING: Our server is limited, so do not enter too many r values on a large dataset. If you do, your process will fail, your data will not be analyzed, and, you might upset us. If you have a lot of data to analyze, download the R script and run it yourself.
In Adaptive LoCoH, hulls are created from the maximum number of nearest neighbors such that the sum of their distances from the root point is less than or equal to a. a should scale with both the spatial scale of your data set, and the sample size of your data set.
You may enter multiple a's at once by separating the individual a's by commas.
WARNING: Our server is limited, so do not enter too many a values on a large dataset. If you do, your process will fail, your data will not be analyzed, and, you might upset us. If you have a lot of data to analyze, download the R script and run it yourself.
In Fixed r and Adaptive LoCoH, there is not guarantee that every point will be included in a hull. If the k-value for any given point is less than minimum k, than that point's k value is set to minimum k. If you require that every point be part of at least one hull, you can set minimum k to a value of three or more.
k is an important value for constructing a k-NNCH utilization distribution. k represents the total number of points from which local hulls are constructed, including the original point. Thus if k=5, a local hull will be constructed for each point and its 4 nearest neighbors. The lowest possible value for k is 3, meaning all local hulls will be triangles. The largest possible value for k is the number of data points you have. In this case, the total k-NNCH homerange (100% isopleth) will be equivalent to the homerange generated by the Minimum Convex Polygon method.
It is worthwhile to experiment with a number of different k's to find the one that appears to generate the most accurate homerange. Small values of k will result in many 'holes' in the homerange, while large values of k will result in large swaths of habitat included where no animals were observed. As a rule of thumb, good values of k should be around the square root of the number of data points.
LoCoH allows you to analyze multiple values of k at once to aid this purpose. To try multiple discreet values, separate your k's with commas. So '4, 5, 10' would try k values of 4, 5, and 10.
WARNING: Our server is limited, so do not enter too many k values on a large dataset. If you do, your process will fail, your data will not be analyzed, and, you might upset us. If you have a lot of data to analyze, download the R script and run it yourself.
In animal location data, especially when data are generated with a radio or GPS collar at regular time intervals, there are often duplicate points. This can cause problems when constructing local hulls because you need at least three unique points to create a hull. There are a few options for how LoCoH handles duplicate points.
If the 'displace' option is selected, duplicated points will be displaced in a random direction by the amount specified. The displacement distance should represent an approximate radius of habitat used by the animal when stationary (e.g., a patch size or the distance they monitor for their 'safety zone').
If the 'include duplicates in nearest neighbor searches' option is selected, duplicate points will be included when searching for the k-1 nearest neighbors. And a hull might be formed with less that three unique points, resulting in a zero-area hull.
The 'delete' option will simply exclude duplicate points from hull creation and nearest neighbor searches. For example if your dataset has 429 points, but 5 of those points lie on top of each other, then 4 of the 5 duplicates will be basically excluded from the analysis.
The isopleth levels tells LoCoH for what percentages it should generate isopleths. Isopleths contain a certain number of the data points and are sorted by density. Thus the 10% isopleth is the merger of the smallest hulls that contain 10% of all the original data points. The 100% isopleth will contain all the points. If you're just trying to see which value of k works best for your data, then you probably only need to view the 100% isopleth. The format for data entry is the same as that for the value of k, multiple values are separated by commas.
When using the adaptive or fixed-radius method, hulls should be sorted by the number of enclosed points (largest to smallest), and then progressively unioned to form isopleths. When two hulls enclose the same number of points, the one with the smallest area (most dense) should be unioned first (Getz et al 2007). The webapp and R code on this website did not specify area as a second sort field as it should have, so ties were broken in an arbitrary manner. This was corrected in December 2013. The discrepancy does not apply to the k-method, nor does it exist in the LoCoH implementations in the adehabitatHR or T-LoCoH packages for R.
In most cases, the second sort field is not needed and/or does not make much difference in the isopleths. The difference will only be noticeable when an isopleth is capped at a tie-point. Random noise in the data, such as the location of a point within the accuracy of the recording device, are far more likely to occur and have an impact on the shape and size of isopleths. Any one wishing to check whether the hull sorting correction makes a significant difference in the isopleths is encouraged to re-run their data with the correction and compare the isopleth maps and area curves.
If you like this program, why don't you download the LoCoH R script that powers it! The script allows you to use all three LoCoH methods on your own computer without limits (and gives our servers a break!). The script contains much more flexiblity and power than this basic web interface gives you access to.
We also have an ArcGis Toolbox script that will integrate the LoCoH R script right into ArcMap.