Surface Contour (3D Analyst)
Summary
Creates contour lines derived using a terrain or TIN 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
Parameter | Explanation | Data Type |
in_surface |
The input terrain or TIN dataset. | Terrain Layer; TIN Layer |
out_feature_class |
The output feature class. | Feature Class |
interval |
The interval between the contours. | Double |
base_contour (Optional) |
Along with the index interval, the base height is used to determine what contours are produced. The base height is a starting point from which the index interval is either added or subtracted. By default, the base contour 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) |
An optional value that specifies the difference in elevation between index contours. This value 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 defines index contours. | Double |
index_interval_field (Optional) |
The name of the field that specifies whether an isoline is an index contour. This will only be used if the Index Interval is defined. By default, the field name is Index. | String |
z_factor (Optional) |
Specifies a factor by which to multiply the surface heights for converting Z units to match XY units. The Z Factor parameter only affects results for rasters and TINs, not terrain datasets. | 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
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)
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