1

I am looking for a way to create a line feature class that is the quickest path (as the bird flies) between all features in a feature class. I feel like there has to be an ArcGIS Tool that can do this, but my Google-fu isn't working. I think I could program something that uses the proximity analysis then manually create line vertices via the x and y of the closest point, but again there has to be some ready made tool for this isn't there? I have the latest ArcGIS Pro with all the extension.

Here is an example of what I'd like to do.

Points: Before

Line connecting the dots: After

2
  • Kind of like points to line, but finding the closest point instead of a sort field.
    – Cody Brown
    Nov 6, 2020 at 16:35
  • I would say a minimum spanning tree sounds like what you want but looking at your image, you break your own rule (shortest distance) as the blue in the middle of your dataset is closer to the cluster of oranges on the right than the one NNW of it, why did you link to that instead of off to the right? So you are not following the shortest distance and applying some other logic thats probably not possible to capture with an algorithm.
    – Hornbydd
    Nov 6, 2020 at 22:34

1 Answer 1

2

This is a case of the Travelling Salesman Problem. Finding the optimal route is actually quite a bit more complicated than you might think, it's not always a matter of going to the next closest point.

You might check out the route-analysis-layer tool in the Network Analyst Toolbox: https://pro.arcgis.com/en/pro-app/help/analysis/networks/route-analysis-layer.htm

1
  • This works, but the solve tool is now dependent on ArcGIS Credits. Wahoo. Instead I've found the ArcGIS Pro tool Sort works great if you do it by shape. It's not perfect, but I feel like it does a good job especially if you pick PEANO sorting curve.
    – Cody Brown
    Jan 7, 2021 at 14:15

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.