Simplify 3D Line (3D Analyst)

Summary

Generalizes 3D line features to reduce the overall number of vertices while approximating the original shape in horizontal and vertical directions within a specified tolerance.

Usage

  • Consider using this tool to create a simplified representation of densely sampled 3D lines to optimize draw performance at smaller display scales. The original lines and the resulting simplified derivatives can have a visible scale range applied to ensure that the most appropriate feature is drawn for a given scale.

    Learn more about setting display filters to control which features are drawn at specific scales

  • Consider using this tool to create simplified breaklines that can be added to a terrain dataset's higher pyramid levels to optimize draw performance. Add the breaklines to the same group to ensure that they are not enforced at the same pyramid levels.

  • Lines composed of multiple features with coincident endpoints will not be simplified between features. Consider using the Unsplit Line tool to merge such lines to simplify across multiple, connected features.

  • This tool uses the Douglas-Peucker algorithm to retain critical points that best preserve the shape of the original line. The algorithm starts by connecting the endpoints of a line with a trend line and removes vertices that are within the specified tolerance. If any points are beyond the tolerance, the point that is farthest from the initial trend line is used to create two trend lines, one from the line's initial vertex and the other from the line's final vertex. The other vertices are evaluated with these new trend lines to remove any points that are within the tolerance distance. If additional points remain outside the tolerance, the trend lines are subdivided with the same approach until trend lines that capture all the source vertices within the specified tolerance have been generated.

Syntax

arcpy.3d.Simplify3DLine(in_features, out_feature_class, tolerance)
ParameterExplanationData Type
in_features

The line features to be simplified.

Feature Layer
out_feature_class

The simplified output line features.

Feature Class
tolerance

The 3D distance threshold from the input lines that the simplified output must remain within.

Linear Unit

Code sample

Simplify3DLine example (Python window)

The following sample demonstrates the use of this tool in the Python window.

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.Simplify3DLine('rivers.shp', 'simplified_rivers.shp', '2 Meters')

Licensing information

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

Related topics