Summary
Creates contour lines derived from a terrain, TIN, or LAS dataset surface.
Illustration
Usage
The output feature class is 2D and contains an attribute with contour values.
Use the interval and base contour options to tailor the extent and resolution of the output feature class.
Use the out contour field data to convert the feature class to 3D.
In certain instances, the last valid contour line may not be produced when creating contours using TIN surfaces. This is an algorithmic limitation common to computer contouring software. To ensure that all valid contours are generated, add a very small negative value to the Base Contour field to slightly shift the data.
The Z factor parameter only affects results for rasters and TINs, not terrain datasets. When working with terrain datasets you can specify a contour interval that has the z factor built in to it. For example, if you want a one-foot contour interval and your terrain dataset surface is in meters, specify a contour interval of 0.3048. You can also convert the terrain dataset to a raster or TIN using either the Terrain To Raster or Terrain To TIN geoprocessing tools.
Syntax
SurfaceContour_3d (in_surface, out_feature_class, interval, {base_contour}, {contour_field}, {contour_field_precision}, {index_interval}, {index_interval_field}, {z_factor}, {pyramid_level_resolution})
Parameter | Explanation | Data Type |
in_surface | The TIN, terrain, or LAS dataset surface to process. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | The feature class that will be produced by this tool. | Feature Class |
interval | The interval between the contours. | Double |
base_contour (Optional) | Defines the starting Z value from which the contour interval is either added or subtracted to delineate contours. The default value is 0.0. | Double |
contour_field (Optional) | The field that stores the contour value associated with each line in the output feature class. | String |
contour_field_precision (Optional) | The precision of the contour field. Zero specifies an integer, and the numbers 1–9 indicate how many decimal places the field will contain. By default, the field will be an integer (0). | Long |
index_interval (Optional) | Index contours are commonly used as a cartographic aid for assisting in the visualization of contour lines. The index interval is typically five times larger than the contour interval. Use of this parameter adds an integer field defined by the index_interval_field to the attribute table of the output feature class, where a value of 1 denotes the index contours. | Double |
index_interval_field (Optional) | The name of the field used to identify index contours. This will only be used if the index_interval is defined. By default, the field name is Index. | String |
z_factor (Optional) | The factor by which Z values will be multiplied. This is typically used to convert Z linear units to match XY linear units. The default is 1, which leaves elevation values unchanged. | Double |
pyramid_level_resolution (Optional) | The z-tolerance or window-size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution. | Double |
Code sample
SurfaceContour example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceContour_3d("sample.gdb/featuredataset/terrain", "contour.shp", 10)
SurfaceContour example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: SurfaceContour Example
Description: This script demonstrates how to use the
SurfaceContour tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "sample.gdb/featuredataset/terrain"
outContour = arcpy.CreateUniqueName("contour.shp")
#Execute SurfaceContour
arcpy.SurfaceContour_3d(inSurface, outContour, 10)
del inSurface, outContour, arcpy
Environments
Licensing information
- ArcGIS Desktop Basic: Requires 3D Analyst
- ArcGIS Desktop Standard: Requires 3D Analyst
- ArcGIS Desktop Advanced: Requires 3D Analyst