Available with Spatial Analyst license.
Summary
Calculates a magnitude-per-unit area from polyline features that fall within a radius around each cell.
Illustration
Usage
Only the portion of a line within the neighborhood is considered when calculating the density. If no lines fall within the neighborhood at a particular cell, that cell is assigned NoData.
Larger values of the radius parameter produce a more generalized density raster. Smaller values produce a raster that shows more detail.
If the area unit scale factor units are small relative to the features (length of line sections), the output values may be small. To obtain larger values, use the area unit scale factor for larger units (for example, square kilometers versus square meters).
The values on the output raster will always be floating point.
See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.
Syntax
LineDensity (in_polyline_features, population_field, {cell_size}, {search_radius}, {area_unit_scale_factor})
Parameter | Explanation | Data Type |
in_polyline_features | The input line features for which to calculate the density. | Feature Layer |
population_field | Numeric field denoting population values (the number of times the line should be counted) for each polyline. Values in the population field may be integer or floating point. The options and default behaviors for the field are listed below.
| Field |
cell_size (Optional) | The cell size for the output raster dataset. This is the value in the environment if specifically set. If the environment is not set, then cell size is the shorter of the width or height of the output extent in the output spatial reference, divided by 250. | Analysis Cell Size |
search_radius (Optional) | The search radius within which to calculate density. Units are based on the linear unit of the projection of the output spatial reference. For example, if the units are in meters—to include all features within a one-mile neighborhood—set the search radius equal to 1609.344 (1 mile = 1609.344 meters). The default is the shortest of the width or height of the output extent in the output spatial reference, divided by 30. | Double |
area_unit_scale_factor (Optional) | The desired area units of the output density values. A default unit is selected based on the linear unit of the output spatial reference. You can change this to the appropriate unit if you wish to convert the density output. Values for line density convert the units of both length and area. If no output spatial reference is specified, the output spatial reference will be the same as the input feature class. The default output density units is determined by the linear units of the output spatial reference as follows. If the output linear units are meters, the output area density units will be set to SQUARE_KILOMETERS, outputting square kilometers for point features or kilometers per square kilometers for polyline features. If the output linear units are feet, the output area density units will be set to SQUARE_MILES. If the output units is anything other than feet or meters, the output area density units will be set to SQUARE_MAP_UNITS. That is, the output density units will be the square of the linear units of the output spatial reference. For example, if the output linear units is centimeters, the output area density units will be SQUARE_MAP_UNITS, which would result in square centimeters. If the output linear units is kilometers, the output area density units will be SQUARE_MAP_UNITS, which would result in square kilometers. The available options and their corresponding output density units are the following:
| String |
Return Value
Name | Explanation | Data Type |
out_raster | The output line density raster. It is always a floating point raster. | Raster |
Code Sample
LineDensity example 1 (Python window)
This example calculates a density raster on a length field of a polyline shape file.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outLDens = LineDensity("roads.shp", "LENGTH", 45, 1000, "SQUARE_MILES")
outLDens.save("C:/sapyexamples/output/ldensout")
LineDensity script example 2 (stand-alone script)
This example calculates a density raster on a length field of a polyline shape file.
# Name: LineDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from polyline features
# that fall within a radius around each cell.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inPolylineFeatures = "roads.shp"
populationField = "length"
cellSize = 120
searchRadius = 1500
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute LineDensity
outLineDensity = LineDensity(inPolylineFeatures, populationField, cellSize,
searchRadius, "SQUARE_MILES")
# Save the output
outLineDensity.save("C:/sapyexamples/output/linedensity")
Environments
Licensing Information
- ArcGIS for Desktop Basic: Requires Spatial Analyst
- ArcGIS for Desktop Standard: Requires Spatial Analyst
- ArcGIS for Desktop Advanced: Requires Spatial Analyst