I need to snap polyline features in one layer to the nearest polyline in another layer. However, I want only the ENDS of the INPUT to snap to the nearest VERTEX in the environment layer. Is there a way I can set a rule like this? As it stands now, any vertex in the input within the tolerance will snap to a nearby vertex in the environment layer, creating extra line segments I don't want instead of the simplest possible path (the ultimate desired output).

If it adds any helpful context (and actually a followup question I may ask separately in another post), my input line segment should actually "share" or be connected by the portion of the line that it's snapping to. In other words, I have disjointed line segments where the best route to connect them is part of another polyline feature.Orange polylines need to be connected by blue segment between the two

So, in this example, the orange lines should be connected by the blue segment in the midde. I add this second part of the whole picture of what I'm doing in case there's a better way to do this altogether; my initial thought was to snap the ends of the orange lines to the nearest vertex on the blue, and then find a way to "cut out" that little connecter blue segment and somehow add it to my orange line to make a complete line.

2 Answers 2


Here is an idea:

  1. Create a new layer from your input extracting only the endpoints of your lines. You can do it with BOTH_ENDS setting in Feature Vertices To Points (Data Management)

  2. Snap to this layer, not to initial input.


If I understand your question correctly, it looks like you could use the snap(editing) tool and set the 'snap environment' parameters as you described.enter image description here

  • No, that is the problem. I see that you can set the environment settings, but I am not sure if/how you can set rules for the INPUT.
    – setophaga
    Commented Oct 30, 2015 at 18:49

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.