Hello GIS StackExchange,

I'd like to know if there's any way to find the shortest distance across the diagonals of a polygon. I am creating a network analyst solution to determine the most cost effective route between 2 points. The solver will travel along the roads edge for the most part to determine optimal routes but there may be situations where cutting across certain polygon features will be more efficient than continuing along the edge of the road. The question here is what is the best way to cut across the traversable polygon features?

Sample route optimizer

The image is a sketch i did to illustrate how i'd like the route optimizer to function. The blue point feature is the route origin point while the green feature is the destination point. The green polygons are parcels that can be traversed, while the yellow polygons cannot be cut across. The blue line is the road network which is the main edge feature to determine the optimal route, the purple diagonal(ish) line is the result of the router determining that cutting across the polygon would indeed be more optimal than following the road.

The idea i have for cutting across the polygon features is to first determine the shortest distance within all traversable polygons and then create a line feature class containing the shortest distances for all the traversable polygons in the network dataset. This line feature class will then be connected to the same connectivity group as the roads feature class to ensure the router can connect both features and possibly determine that cutting across the polygon is indeed more optimal than following the road edge in certain situations.

One problem i have encountered in my research is that polygons may be made up of countless number of vertices and as such it would be difficult to determine the shortest path across the polygon. This question is related to my thesis project, it is to be written in python within arcgis 10.0. I have done quite a lot of research already so don't feel obliged to remind me about the need to learn this for myself because i have and i'm stuck. My biggest fear is designing the model half way only to find out that the approach i took was wrong from the start. That's why i need some help. I'd appreciate any documentation that can help or any complete resource that will prevent me re-inventing the wheel, or even ideas about how to go about certain aspects of building the router.

Thanks as always gis stackexchange. Apologies for the lengthy post.

  • Vector-based route finding algorithms work on edges between nodes, and therefore will not work in your case unless you generate nodes/edges based on the traversable polygons. Another way to do this would be through a raster approach. A raster where the cells overlapping a road or a traversable polygon have a low cost, while the untraversable ones have a high cost. Then you simply traverse the cells and accumulate costs (the esri hydrology tools may have this capability). Nov 14, 2013 at 23:48
  • @goonerify I am curious to know how you did routing along the edge and find the shortest path? Did use SVG? I have been struggling to do something similar to this for a while.
    – esafwan
    Jun 12, 2016 at 0:00
  • I used arcgis network analyst for routing along edges
    – goonerify
    Jun 12, 2016 at 6:10

1 Answer 1


The eventual solution i came up with was to create shortest distance line features within each polygon and pass through any polygon that had an averlying line feature with a vertex that connects to the road at both ends. The use case for this application is to optimize collector cable routing for wind farms.

This video shows how the optimizer might be used


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.