I have 2000 polylines or more, each polyline have about 2000-3000 vertices. I want cut all part of polylines that are below a single horizontal line. How can I do that in Arcgis?enter image description here

I try to use intersect tool: polylines layer with the layer horizontal line (with output "point"). In this way I obtain points intersection, I can use it to split the polylines and finally I can delete all polylines below the horizontal line by simply selection the area. The problem is that the first step, intersecate polylines with the single horizontal line, take an infinte process. My idea isn't good, is there another fast solution?

  • 1
    Intersection with output=point should take few seconds. Are they in the same protection? Are geometries correct? The idea is correct. – FelixIP Sep 22 '16 at 9:41
  • 1
    Alternatively make polygon going up and use it as clipper – FelixIP Sep 22 '16 at 9:43
  • @FelixIP can you explain me with steps how use clipper? – lausent Sep 22 '16 at 10:13
  • Ok, done. Clipper is super fast! – lausent Sep 22 '16 at 10:29
  • @FelixIP I think your clipper comment with just a little expansion would make a good answer – PolyGeo Sep 27 '16 at 7:13
  • Extend your Split (single) line to the West, beyond left most line
  • Extend your Split (single) line to the East, beyond right most line Inputs

The next two steps are for lazy person and keeping programming in mind:

arcpy.MinimumBoundingGeometry_management("Many Lines","D:/Scratch/rectangle.shp", "RECTANGLE_BY_AREA", group_option="ALL")
arcpy.FeatureToPolygon_management(in_features="rectangle;'Single Line'", "D:/Scratch/splitRectangle.shp")


Select lower polygon and use it for Erase tool with lines to be split, alternatively select upper one and use it for Clip tool.

| improve this answer | |

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.