I have a set of polylines which I need to split at varying distances from their starting points.

In general, I'm looking for a something similar to the SPLIT function within the editor tool. There it is possible to specify a certain line length where the split should be applied.

For instance: I have a line A of 3200m length, that I need to split into two separate geometries, one from 0 til 1700m, and one from 1700m til 3200m.

Can this be done in ArcGIS Desktop?

I'm using ArcGIS Desktop 9.3.1. on WinXP with Python 2.7.2.

3 Answers 3


You can use ETGeowizards (Polyline->Split Polyline). If you need to include this in a script or geoprocessing model, ETGeowizards can be pulled into ModelBuilder.

In PostGis you can use ST_Line_Substring

  • The only restriction would be licence. You can not use ET GeoWizzard in model builder without licence. Manually you could use ET for featureclass containing less than 100 features.
    – Tomek
    Commented May 14, 2012 at 9:37
  • Too bad: I can't install ETGeowiz at my office. PostGIS also no option for me...I thought about dynamic segmentation which will give me the points for the split. But then I'm stuck with what I just posted down this page: I haven't got access to the split line at point tool.
    – LarsVegas
    Commented May 14, 2012 at 9:53

There is a Data Management tool called Split Line At Point that does exactly this but it requires ArcGIS Desktop 10.0 (or later), and an ArcInfo (later called Advanced) level license:

import arcpy
from arcpy import env

arcpy.SplitLineAtPoint_management("streets.shp","events.shp","splitline_out.shp","20 Meters")
  • 1
    The line at point tool is what I'm looking for. Unfortunately it doesn't exist with ArcGis 9.3.1 yet. The line at vertices tool doesn't help much because I end up with thousandths of splits I don"t need.
    – LarsVegas
    Commented May 14, 2012 at 9:47

I've used this ArcObjects class to split line features before at specific distances.


  • 1
    This is a very interesting add-on! Thanks for sharing the information. Do you have ever used it from within a script? I need to apply splits at varying distances to more than 100 lines. So what I need here is to call the "Proportion"-tool with an array of distances. Is that possible? Thanks mate!
    – LarsVegas
    Commented May 14, 2012 at 12:11
  • 2
    Since you are using 9.3.1, you could either create a VBA macro or a Visual Studio BaseCommand dll. edndoc.esri.com/arcobjects/9.2/NET/…. Then you could iterate through your layer, selecting each feature, and spliting the feature maybe by the feature field value (split at distance value).
    – artwork21
    Commented May 14, 2012 at 12:55
  • 1
    Thanks, I'll look into it. Sounds like a lot of work though, especially because this is terra incognita for me. Might be easier to find someone with ArcGIS 10 installed and let him/her run the SplitLineAtPoint_management-tool.
    – LarsVegas
    Commented May 14, 2012 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.