I have a polyline feature class and a point feature class. Two lines from the polyline feature class come together (in most cases they are snapped together) where a point exists in the point feature class. Where two lines come together in this way, I need to merge those two lines. Since the amount I of data I have is pretty tremendous, I'm wondering if there's a model or a python script that will help me to accomplish this much faster than doing it by hand.


Try this:

  1. Give all point features a unique ID
  2. Use Spatial Join to join the point features to the polyline features with these parameters: Target Features: [Polyline Feature Class], Join Features: [Point Feature Class], Join Operation: ONE_TO_MANY. If some line segments that you need to merge do not actually touch a point, use Match Option: CLOSEST
  3. Use the Dissolve tool to dissolve features in the polyline feature class created in step 2 that have the same ID into multipart features. Use the field containing the unique ID from the point feature class as the dissolve field when executing this tool.

Note that if there are small gaps between the line segments, the gaps will still physically be there in the end, but the line segments will still be part of the same multipart feature.

  • @Brian This is pretty much what I would suggest, but some further info on multipart. It's unclear if you have more than two lines meeting at a point, or if multiparts are allowed. If any points have more than two lines come together (including a line passing through with another meeting), that can only be multipart. Otherwise you might not want to allow multiparts in your dissolve. And with the dissolve tool it's all or nothing, so you can't get contiguous multiparts separated from discontiguous. If line ends aren't snapped at points, you need a different/additional workflow to fix. – Chris W May 8 '15 at 22:54

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.