I have a project that requires a measure of "connectivity" between locations. This is for assessing accessibility of different parts of a city following a major earthquake, with damage inhibiting access in many routes. I need to be able to enter any two locations and gain a measure of how connected they are, i.e. how many alternative routes are there.
Is it possible for network analyst to return a list of many routes between points? e.g. the shortest, next shortest, next shortest etc. (and the time and distance of each route).
Any suggestions would be appreciated.
Interesting question... Network Analyst will normally return the best route by shortest distance or shortest travel time (depending on the type of transport). This could yield different routes, but still doesn't answer your question. What defines a different route (which part in percentage should be different)? Do you have a maximum travel time or distance, because you may have almost infinite routes between 2 points?
You could create obstacles on the first route to generate a second route a keep creating new route by including obstacles, but that does not (IMHO) indicate the number of routes possible between 2 points.
If memory serves Floyd's algorithm is well suited to this. But in the absence of that one try switching the origin and destination since you haven't specified whether you must start at the same point to get two routes. There is no guarantee that the route will be the same between two points given street directionality limitations and obstructions like restricted turns etc. Barring that, move your start point one block away in the 4 cardinal directions if the block offset is small relative to the total distance. You might be amazed at how much a one block difference can make
I have answered this type of k-shortest path many times before by using the line barrier concept. That is, solve the shortest path. Then load that shortest path as a line barrier with a scaled cost of say 10 percent. Solve again. Keep on repeating this process of adding in the next shortest path with 10 percent scaled cost and generate more paths.
Jay Sandhu
Time for a blog post Jay... or perhaps a reference within the help file tutorials would be good as well
Thanks for the replies everyone. As I suspected, sounds like the process will require a fair bit of manual input. Great suggestions, thanks.
Another important question here is what is a "different" path. If 90% of the segment are the same - is it different path?
When you do routing in google it gives you different paths.
I would try to select the longest segment in the path and block it but I am not sure what will be the results.
Mody,
You are right in that Google will give you "different" paths. That is very useful when one wants to use an alternative highway. But usually you get only a couple of alternatives. It all depends on the context. K-shortest paths can be very similar. That is why I have had good results with the scaled line barrier approach in generating a number of different routes that can be evaluated for further use.
Jay
Yeah, quite right about what constitutes a "different" path. I'll give the line barrier approach a go, thanks.
Failing all else I'll just use Google