Summary
Calculates the surface length for each polyline or polygon feature based on a raster, triangulated irregular network (TIN), or terrain dataset surface.
The surface length information is stored as an attribute of the input feature class.
Usage
Use a smaller sampling distance to increase the accuracy of the surface length calculations.
Use Surface Length Field parameter to give the length field a custom name.
Only polyline and polygon feature classes are valid inputs for this tool.
Syntax
arcpy.ddd.SurfaceLength(in_surface, in_feature_class, {out_length_field}, {sample_distance}, {z_factor}, {method}, {pyramid_level_resolution})| Parameter | Explanation | Data Type | 
in_surface  | The input raster, TIN, or terrain dataset whose values will be used for interpolation.  | TIN Layer; Raster Layer; Terrain Layer | 
in_feature_class  | The input polygon or polyline feature class.  | Feature Layer | 
out_length_field (Optional)  | The name of the attribute field to contain the surface length.  | String | 
sample_distance (Optional)  | The surface spacing at which the length is calculated. By default, the sampling distance is the natural densification of a TIN or the cell size of a raster.  | Double | 
z_factor (Optional)  | The factor multiplied by input surface values to store new values in the length field. The Z factor is used to convert z-units to match x,y units.  | Double | 
method (Optional)  | The interpolation method. For raster surfaces, the only option is BILINEAR. Select LINEAR or NATURAL_NEIGHBORS.  | String | 
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 | 
Derived Output
| Name | Explanation | Data Type | 
| output_feature_class | 
Code sample
SurfaceLength example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcgisscripting
gp = arcgisscripting.create()
gp.CheckOutExtension("3D")
gp.workspace = "C:/data"
gp.SurfaceLength_3d("elevation_tin", "lines.shp", "Length3D")
Environments
Licensing information
- Basic: Requires 3D Analyst
 - Standard: Requires 3D Analyst
 - Advanced: Requires 3D Analyst