Home Range (Kernel, MCP)

How-to’s for calculating Kernel Home Range and Minimum Convex Polygon (MCP) Home Range with ArcGIS and GME.

Biologists commonly map a “95% kernel home range” from a set of point locations collected for an animal over time. Sometimes the “50% kernel core range” is mapped, too. Talk to your advisor about what’s typically used for your species. Since animals continue to move around while biologists are at the pub or asleep in the truck, statistical methods have been developed to derive probability maps from locations recorded in the field.

In the future, GPS collars (or other technologies) may provide a way to completely census an animal’s movements, but right now battery life and data storage issues remain significant limitations, thus home range calcs from a sample dataset remain relevant.

Key Terms
KDE, PVC (isopleth), Core Range, Home Range, h factor. See SpatialEcology.com for more info.

– The 95% Home Range corresponds to the area in which the probability to find (relocate) the animal is equal to 0.95. The 50% Core Range is the area with a 0.50 relocation probability. The Core Range is always smaller than the Home Range. See example maps lower down in this page.

– Visualize what the computer is doing this way. Start with a collection of points, quantify the geographic “spread” of the data (the bivariate covariance of X,Y). This value is “h”, a key input into the next step. The h factor goes by various names depending on the software used: “bandwidth”, “search radius”, “smoothing factor”. Next, construct the 3D kernel density surface (KDE) from the points and a couple other inputs. Then, slice horizontally through the surface near its bottom (95% of the data) and the middle (50% of the data). Draw the 2D contours (isopleths) for both slices to get the PVCs for Home and Core Ranges.


This may or may not be my car.

– The h factor is the subject of considerable discussion in the literature. Often called “bandwidth”, h controls smoothness, thus the effect each location has on the density surface. The degree to which collar data is clustered affects the flavor of h you use (h-Ref, h-LSCV, h-Plugin, etc.). I find these arguments tedious and somewhat arbitrary. Biologists debating statistics theory is just not my bag, baby. This lesson lets the KDE tool in GME determine the value for h via the “plugin” method. See GME’s kernel documentation page HERE. You should ask your adviser what you need to know with respect to the h factor. A excellent summary on the choice of methods is provided by Millspaugh et al. (2012, Ch. 20, p. 480-501) in Silvy, N.J. (editor), The Wildlife Techniques Manual 7th Edition. Walter et al. (2011) provides a good overview and many pertinent references in an open source book titled Modern Telemetry. Also, the GIS in Ecology Forum (Google Groups) offers some good help.

– Use the freeware Geospatial Modeling Environment (GME) in tandem with freeware program R and the not-free ArcGIS. You need not be a programmer to do this.

– Required: .NET 3.5, ArcGIS 10.1, program R (3.0.2), and GME ( RC2). Upon launch, GME checks to see which Arc version is installed. ArcGIS 10.0 is supported, but ArcGIS 10.2 is not. Read the install stuff on GME website.

– If you are using GME, install R library “ks” (called KernSmooth). Just copy/paste the code below into R and hit Enter.

install.packages("ks", dependencies=TRUE) library("ks")


Two ways to create Home Ranges are described below.

OPTION A: KDE & Home Range in Geospatial Modeling Environment (GME)
– This a 2-step process. First, run the KDE tool on your location points to create a KDE raster. Second, run the ISOPLETH tool on the KDE raster to create the Home Range raster. You can convert the raster to polygon after if you like.

– Start GME.

– At the main window and under the Commands tab, type “kde” in the search bar. Click on “kde” that appears in the box below to launch the KDE tool.

– Create a kernel density (KDE) raster in GME from collar points. Should take less than 1 minute to process. Enter these values and leave the other options alone.
Input = shapefile of collar points
Output = name of output raster to be created
Bandwidth = PLUGIN  <– type this in; hover over the ? in the tool to learn more
Cellsize = 30  <– you can change this to whatever makes sense with your other data layers

KDE tool in GME with example Input, Output, Bandwith (h), and Cell size information.

KDE tool in GME with example Input, Output, Bandwith (h), and Cell size information.

Example of R Code the KDE Tool Creates

kde(in="C:\...ann_collar_points.shp", out="C:\...ann_kde", bandwidth="PLUGIN", cellsize=30);Bandwidth (variance x, variance y, xy covariance): 301493.844790613, 283670.142380968, 63324.3449905294 (Plug-in; N=855)

* Note: Text in BOLD are the choices made in the tool. I’ve shortened the filepaths with ellipses for clarity.

– Next, you’ll do the Core Range and Home Range PVCs. Return to main window in GME. Type in “isopleth” in the search bar. Click to open the ISOPLETH tool.

– Create a isopleth (PVC) raster in GME from the KDE raster. Enter these values and leave the other options alone.
Input = KDE raster from previous step
Output = name of output contour shapefile to be created
Quartile = 95  <– Example is just for 95% isopleth

ISOPLETH tool in GME with example Input, Output, and Quartile information.

ISOPLETH tool in GME with example Input, Output, and Quartile information. Only 95% PVC is shown here.

Example of R Code the ISOPLETH Tool Creates
isopleth(in="C:\...ann_kde", out="C:\...ann_iso95.shp", quantiles=95);

* Note: Text in BOLD are the choices made in the tool. I’ve shortened the filepaths with ellipses for clarity.

– Repeat for 50% isopleth.

– Open ArcMap and add the layers. Symbolize as you wish.


Example Home Range Maps


Black dots are GPS collar locations for an animal collected over several months. Black polygon is minimum convex polygon (MCP) Home Range.


Collar points and color-ramped kernel density estimate (KDE) surface generated in GME and displayed ArcMap. H value was determined by plugin method (covariance of x,y).


Red contours are 95% kernel Home Range (also called PVC contours). Blue contour is 50% Core Range. Black dots are GPS collar locations. Black polygon is MCP. Data processed in GME via the “kde” and “isopleth” tools.


Collar points, MCP, KDE surface, 50% Core Range contour (blue), and 95% Home Range contours (red).


OPTION B: Home Range in ArcGIS
– If you have the collar points layer and a KDE raster, but want to use ArcMap to create the home range contours, today’s your day. The resulting home range polygon may differ in size slightly from one produced by GME due to the different algorithms by Arc.

– Open ArcMap.

– Add the KDE raster into ArcMap.

– Load the collar points (shapefile) into ArcMap.

– Extract the KDE values (kernel density surface) to the points using ARCTOOLBOX > SPATIAL ANALYSIS TOOLS > EXTRACTION > EXTRACT VALUES TO POINTS. This creates a new point shapefile with the KDE value added to a field in the attribute table called RASTERVALUE.

– Optional: Create new field in attribute table called KDE in FLOAT format. Right-click on field heading > Field Calculator. Double click on RASTERVALUE in the list of fields. Click OK. You have duplicated the values in RASTERVALUE field in a new field called KDE.

– Open the attribute table for the new point data layer created.

– Sort the values in the RASTERVALU field (or KDE field) by Descending order (Z to A). This step is important. If you close the attribute table and re-open it, you will need to sort it again.

– Find the total number of points (records) by looking at the bottom margin of the attribute table window. Divide this number in half to get at 50% of them.

– There are 855 total records, so 0.5 x 855 = 428.

– So count down from the top of table to record number 428 (use shift-click select to do the counting for you) and look for KDE value for the record.
– KDE value at record 428 = 0.019103 = 50% break value (Core Range)

– Record the Core Range KDE value (Ex: 0.019103).

– Clear the selected features. Clear Selection button is on the ribbon.

– Reclassify the KDE raster into 2 classes: “NoData” and “50” using the Reclassify tool (SPATIAL ANALYSIS TOOLS> RECLASS> RECLASSIFY). The KDE value recorded in the previous step is the break value separating the two classes. Class “NoData” will contain all KDE values from the minimum raster value to the break value (Ex: 0.019103). Class “50” will contain values from the break value to the maximum.

– Convert the reclassified raster to a polygon, which represents the 50% Core Range using Raster to Polygon tool (CONVERSION TOOLS > FROM RASTER > RASTER TO POLYGON).

– Repeat the steps for 95% Home Range., making sure to correctly determine the 95% record count and do the reclassification for 95% threshold correctly.

855 x 0.95 = 812
KDE value at record 812 = 0.001695
0.001695 = 95% Home Range break value

Note: KDEs assume that there are no barriers in the landscape to animal movements. If you have barriers, you’ll need a different approach.

– Convert PVC rasters to contour polygons (Conversion Tools > From Raster > Raster to Polygon).

Geospatial Modeling Environment (GME)
GIS in Ecology Forum (Google Groups) <– Search on “kernel” for several good threads
Project R website
Getz et al. (2007) PLoS 2:e207
Gitzen et al. (2006) JWM 70
Horne et al. (2007) Ecology 88
Kenward (2001) A Manual for Wildlife Radio Tagging (book)
Kernohan et al. (2001) in Millspaugh & Marzluff, p. 125-166
Millspaugh & Marzluff (2001) Radio Tracking of Animal Populations (book)
Roach & Meyers (1997) Austin Powers: International Man of Mystery

Seaman et al. (1999) JWM 63
Silverman (1986) Density Estimation for Statistics and Data Analysis (book)
Wand & Jones (1995) Kernel Smoothing (book)

Worton (1989) Ecology 70


Use the Minimum Bounding Geometry (MBG) tool to quickly construct an Minimum Convex Polygon (MCP) Home Range for an individual animal using point location data (GPS collar or telemetry points). You do not need GME or program R for this, just ArcGIS.

Note: MPC is generally considered inferior to the kernel density method (i.e., 95% kernel Home Range) for calculating animal Home Ranges. The MCP method overestimates Home Range size and does not consider whether certain areas are used more than others.

– Open ArcMap.

– Add a point shapefile containing GPS locations (or telemetry locations) collected for one animal to the map.

* If your location data is an Excel file (X,Y coordinates), then add the .xlsx to ArcMap. Next, Right-click on the table in the Table of Contents > Display XY. Last, export the data as a new shapefile (Right-click > Data > Export). Use this layer in the following steps.

– Open ArcToolbox.

– ArcToolbox > Data Management > Features > Minimum Bounding Geometry tool.

– Settings for MBG Tool:
Input = shapefile containing collar points for an individual animal
Output = provide an appropriate filename for Home Range polygon that will be created
Geometry Type = CONVEX_HULL
Group = ALL
Check the box for “Add geometry characteristics as attributes to output”

– Open attribute table for new polygon.

– Table Options pulldown menu > Add Field for area (Field Name = Area_km2, Type = FLOAT).

– Scroll over to the new field (far right side of table). Calculate Geometry for the Area_km2 field (Right-click on field heading > Calculate Geometry > Area).

– Field should populate with area value. Area units are based on the coordinate system and map units set for the Data Frame. Check or change the Coordinate System and Units from the View menu > Data Frame Properties > Coordinate System tab. Change the units at the General tab (Map Units and Display Units).

– Symbolize MCP polygon and points as desired.