How Kernel Density works
The Kernel Density tool calculates the density of features in a neighborhood around those features. It can be calculated for both point and line features.
Possible uses include finding density of houses, crime reports, or roads or utility lines influencing a town or wildlife habitat. The population field could be used to weight some features more heavily than others, depending on their meaning, or to allow one point to represent several observations. For example, one address might represent a condominium with six units, or some crimes might be weighted more heavily than others in determining overall crime levels. For line features, a divided highway probably has more impact than a narrow dirt road, and a high-tension line has more impact than a standard electric pole.
Default search radius (bandwidth) algorithm
For ArcGIS 10.2.1, the way the default search radius is calculated was improved.
The algorithm used to determine the default search radius, also known as the bandwidth, is as follows:
- Calculate the mean center of the input points. If a Population field other than None was selected, this, and all the folllowing calculations, will be weighted by the values in that field.
- Calculate the distance from the (weighted) mean center for all points.
- Calculate the (weighted) median of these distances, Dm.
- Calculate the (weighted) Standard_Distance, SD.
- Apply the following formula to calculate the bandwidth:
where:
- SD is the standard distance
- Dm is the median distance
- n is the number of points if no population field is used, or if a population field is supplied, n is the sum of the population field values
Note:
Note that the min part of the equation means that which ever of the two options that results in a smaller value will be used.
This approach to calculating a default radius generally avoids the "ring around the points" phenomenon that often occured with sparse datasets.
Recreating the results from previous versions of ArcGIS
In previous versions of ArcGIS to 10.2.1, the default search radius was calculated by taking the smaller of the width or height of the extent of the input, divided by 30. If you wish to reproduce those results, multiply the default value for the Output cell size parameter by 25/3, or 8.333333
Kernel Density for point features
Kernel Density calculates the density of point features around each output raster cell.
Conceptually, a smoothly curved surface is fitted over each point. The surface value is highest at the location of the point and diminishes with increasing distance from the point, reaching zero at the Search radius distance from the point. Only a circular neighborhood is possible. The volume under the surface equals the Population field value for the point, or 1 if NONE is specified. The density at each output raster cell is calculated by adding the values of all the kernel surfaces where they overlay the raster cell center. The kernel function is based on the quadratic kernel function described in Silverman (1986, p. 76, equation 4.5).
If a population field setting other than NONE is used, each item's value determines the number of times to count the point. For example, a value of 3 would cause the point to be counted as three points. The values can be integer or floating point.
By default, a unit is selected based on the linear unit of the projection definition of the input point feature data or as otherwise specified in the output coordinate system environment setting. If an area unit is selected, the calculated density for the cell is multiplied by the appropriate factor before it is written to the output raster.
For example, if the input units are meters, the output area units will default to square kilometers. Comparing a unit scale factor of meters to kilometers will result in the values being different by a multiplier of 1,000,000 (1,000 meters x 1,000 meters).
Increasing the radius will not greatly change the calculated density values. Although more points will fall inside the larger neighborhood, this number will be divided by a larger area when calculating density. The main effect of a larger radius is that density is calculated considering a larger number of points, which can be farther from the raster cell. This results in a more generalized output raster.
Kernel Density for line features
Kernel Density can also calculate the density of linear features in the neighborhood of each output raster cell.
Conceptually, a smoothly curved surface is fitted over each line. Its value is greatest on the line and diminishes as you move away from the line, reaching zero at the specified Search radius distance from the line. The surface is defined so the volume under the surface equals the product of line length and the Population field value. The density at each output raster cell is calculated by adding the values of all the kernel surfaces where they overlay the raster cell center. The use of the kernel function for lines is adapted from the quadratic kernel function for point densities as described in Silverman.
![]() |
A line segment and the kernel surface fitted over it. |
The illustration above shows a line segment and the kernel surface fitted over it. The contribution of the line segment to density is equal to the value of the kernel surface at the raster cell center.
By default, a unit is selected based on the linear unit of the projection definition of the input polyline feature data or as otherwise specified in the output coordinate system environment setting.
When an output Area units factor is specified, it converts the units of both length and area. For example, if the linear unit is meters, the output area units will default to SQUARE_KILOMETERS and the resulting line density units will convert to kilometers per square kilometer. The end result, comparing an area scale factor of meters to kilometers, will be the density values being different by a multiplier of 1,000.
You can control the density units by manually selecting the appropriate factor. To set the density to be in meters per square meter (instead of the default of kilometers per square kilometer), set the area units to SQUARE_METERS. Similarly, to have the density units of your output in miles per square mile, set the area units to SQUARE_MILE.
If a population field other than NONE is used, the length of the line is considered to be its actual length multiplied by the value of the population field for that line.
References
Silverman, B. W. Density Estimation for Statistics and Data Analysis. New York: Chapman and Hall, 1986.