Skip To Content

Contour List (Spatial Analyst)

Available with Spatial Analyst license.

Available with 3D Analyst license.


Creates a feature class of selected contour values from a raster surface.

Learn more about how Contouring works


  • Contours do not extend beyond the spatial extent of the raster, and they are not generated in areas of NoData; therefore, adjacent contour inputs should first be edgematched into a continuous feature dataset. As an alternative to edgematching, you can merge the adjacent rasters before computing contours.

  • Contours can be generated in areas of negative raster values. The contour values will be negative in such areas. Negative contour intervals are not allowed.

  • The contour values do not need to be sorted in order.

  • Smoother but less accurate contours can be obtained by preprocessing the input raster with a Focal Statistics operation with the Mean option or the Filter tool with the Low option.

  • By default, this tool will take advantage of multi-core processors. The maximum number of cores that can be used is four.

    If you want the tool to use fewer cores, use the parallelProcessingFactor environment setting.

  • If Extent is specified in the environment setting and the lower-left corner of the output extent does not match any cell corner of the input raster, during processing, a shift of the cell alignment of the input raster will occur to match the specified extent. This shift will trigger a resampling of the input raster using the Bilinear method. Consequently, the output features will shift as well, and the resultant output features may not overlay the original input raster exactly. You can avoid this shift by using the input raster as the Snap Raster in the environment.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.


ContourList(in_raster, out_polyline_features, contour_values)
ParameterExplanationData Type

The input surface raster.

Raster Layer

The output contour polyline features.

Feature Class

List of z-values for which to create contours.


Code sample

ContourList example 1 (Python window)

This example creates contours for three elevation values from an Esri Grid raster and outputs them as a shapefile.

import arcpy
from arcpy import env  
from import *
env.workspace = "C:/sapyexamples/data"
ContourList("elevation", "C:/sapyexamples/output/outcontourlist.shp", [600, 935, 1237.4])
ContourList example 2 (stand-alone script)

This example creates contours for three elevation values from an Esri Grid raster and outputs them as a shapefile.

# Name:
# Description: CCreates contours or isolines based on a list of contour values.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
contourIntervalList = [600, 935, 1237.4]
outContours = "C:/sapyexamples/output/outcontourlist02.shp"

# Execute ContourList
ContourList(inRaster, outContours, contourIntervalList)

Licensing information

  • Basic: Requires Spatial Analyst or 3D Analyst
  • Standard: Requires Spatial Analyst or 3D Analyst
  • Advanced: Requires Spatial Analyst or 3D Analyst

Related topics