Split PolylineZ based on slope direction change

Open Table of Contents ToolBox Implementation
Splits the polylines of PolylineZ dataset in the points of change of the direction of the slope. Several characteristics of the resulting PolylineZ features are calculated and populated in the attribute table. Optionally a point feature class that contains the turning points (Ridges and Valleys) can be created.

Inputs:

  • A PolylineZ feature layer
  • Name for the output dataset.
  • Linear precision - the number of digits after the decimal point for linear measures
  • Angular precision - the number of digits after the decimal point for angular measures
  • NODATA value - a number that represents undefined Z values. If the Z values of a geometry are interpolated from a surface and some of the vertices of the geometry are outside of the extent of the surface, they will not have Z values. Since ArcGIS does not accept NaN (Not a Number) values in Z enabled shapes, a numeric value is assigned to these vertices. If the Features To 3D function of ET Surface is used to derive the Z values, the NODATA value is -1000000000.  When calculating Z characteristics this values need to be ignored. Segments that have a vertex with NODATA Z value will be ignored in the calculations.
  • Units for slope calculations (percent or degrees)
  • Optional. Name of the output point feature class.

Outputs:

  1. A PolylineZ feature class. Each polyline have segments with positive (upwards), negative (downwards)  or Zero slope. The attribute table will contain all original attributes. The following fields will be added:
    • [3D_Length] - the true 3D length of the polyline
    • [2D_Length] - the 2D length of the polyline
    • [Max_Z] - Maximum Z value
    • [Min_Z] - Minimum Z value
    • [DeltaH]  - the difference in Z between the start and end point of the polyline.
    • [Slope_Dir] - the direction of the slope for this polyline. The values can be Up, Down, Flat or Undefined (for segments that contain NODATA Z values)
    • [Max_Slope] - the maximum slope
    • [Min_Slope] - the minimum slope
    • [Slope] - average slope calculated based on the Z values of the start and end points of the polyline and the 2D length.
  2. A Point dataset that contains the turning points (Ridges and Valleys). The following fields will be included in the attribute table
    • [ET_Z] - the Z value of the point
    • [ET_Type] - the type of the turning point - Ridge or Valley.

ToolBox implementation

Command line syntax

ETS_GPSplitPolylineBySlope <Input Dataset>  <Out Feature Class> <Slope Units> {Output Points} {Linear Precision}, {Angular Precision}, {NODATA Value}

Parameters

Expression Explanation
<Input Dataset> A Polyline feature layer or feature class
<Out Feature Class> A String - the full name of the output feature class
<Slope Units> A String representing the unit of the slope. Valid values - "Degrees" and "Percent"
{Output Points} A String - the full name of the output feature class that will contain the turning points (Ridges and Valleys).
{Linear Precision} An Integer representing the number of digits after the decimal point for linear measures
{Angular Precision} An Integer representing the number of digits after the decimal point for angular measures.
{NODATA Value} A Double - see explanations above

Scripting syntax

ETS_GPSplitPolylineBySlope (Input Dataset,  Out Feature Class, Slope Units, Out Linear Precision, Angular Precision, NODATA Value)

See the explanations above:
<> - required parameter
{} - optional parameter

All ESRI products mentioned are trademarks of Environmental Systems Research Institute, Inc.
Copyright: Ianko Tchoukanski