I want to select all the features in my Waterlines layer that share a line segment with other features in the same layer. I've done a complicated search cursor iteration in python that takes a couple hours, but I'd rather have something quicker.

I found this page that says you can do it simply with "select by location" which doesn't seem to work from the selection menu in arcmap, but kind of works in arcpy.


When I ran this:

arcpy.SelectLayerByLocation_management("waterlines_layer", "SHARE_A_LINE_SEGMENT_WITH", "", "", "NEW_SELECTION")

...it selected things that definitely didn't share a line segment with anything else. But it didn't select everything (which would have at least made some sense).

  • If you select a single feature in the layer, and run the tool on that, does the resulting selection contain the features you expected? Commented Oct 23, 2012 at 5:23
  • I am not seeing the behavior you describe using the sample data I have. Could you upload a sample of your data that you can reproduce this behavior with? I would expect that all features would be selected.
    – blah238
    Commented Oct 23, 2012 at 8:32
  • Related: Lines that intersect vs. Lines that touch - how to distinguish?
    – blah238
    Commented Oct 23, 2012 at 8:50

2 Answers 2


The reason Select by Location is not able to do this in one fell swoop is that it considers every feature in the layer against every other feature including itself. So iteration is necessary using this tool and considering one feature at a time.

As you mentioned there are geometry on geometry checks in Data Reviewer that can do this but I'm not sure how much faster if any it would be.

  • That makes sense that you have to select features before performing select by location within a layer. Thanks.
    – user12189
    Commented Oct 23, 2012 at 17:31

Here is a 2 step process that will select the Linear features that are connected. First run "Intersect" on the WaterLines, be sure to choose "Point" for the Output Type. This will create a Point at each shared Node or overlapping line. Finally, run "Select By Location" to select the Waterlines that intersect the Points. I had to use a "1 meter" search distance for selection to work.

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.