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.


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 May 14 '12 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 May 14 '12 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 May 14 '12 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 May 14 '12 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 May 14 '12 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 May 14 '12 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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