Split Line At Vertices (Data Management)

Available with Advanced license.


Creates a feature class containing lines that are generated by splitting input lines or polygon boundaries at their vertices.


Split Lines At Vertices illustration


  • The attributes of the input features will be maintained in the output feature class.

  • If an input line has no vertices between its start and end points, it will be copied to the output as it is; otherwise, every segment between two consecutive vertices will become a line feature in the output. Similarly, every segment between two consecutive vertices along a polygon boundary will become a line feature in the output. The output feature class can be a much larger file, depending on how many vertices the input features have.

  • A parametric (true) curve line or segment will not be densified and will remain true curve as an output line feature. This does not apply to shapefile data.

  • The function name of this tool in scripting is SplitLine, not SplitLineAtVertices.


SplitLine(in_features, out_feature_class)
ParameterExplanationData Type

The input features that can be line or polygon.

Feature Layer

The output line feature class.

Feature Class

Code sample

SplitLine Example 1 (Python window)

The following Python window script demonstrates how to use the SplitLine function in immediate mode.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.SplitLine_management("roads.shp", "c:/output/output.gdb/roads_split")
SplitLine Example 2 (stand-alone script)

The following stand-alone script is a simple example of how to apply the SplitLine function in a scripting environment.

# Name: SplitLine_Example2.py
# Description: Split a bus line feature at its vertices (bus stops)
#              and find a midpoint of each new line for further analysis.
# Author: ESRI
# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFeatures = "buslines.shp"
outFeatureClass = "c:/output/output.gdb/buslines_segments"
midPtsFeatureClass = "c:/output/output.gdb/buslines_segments_midPts"

# Run SplitLine to get new lines, each of which is between two bus stops
arcpy.SplitLine_management(inFeatures, outFeatureClass)

# Execute FeatureVerticesToPoints to find a midpoint for every new line
                                         midPtsFeatureClass, "MID")

# Comments: You may add attribute information, such as driving time,
#           to the midpoint feature class and display the attributes 
#           as an alternative label for each line between two bus stops.

Licensing information

  • Basic: No
  • Standard: No
  • Advanced: Yes

Related topics