Wednesday, October 24, 2007

Routing Algorithms: Where are You Taking Me Now?

The routing algorithm seems to be one of the most commonly used mapping algorithm by the general public. Google Maps, Yahoo Maps, Microsoft Virtual Earth, Map Quest all can route between two locations. There is really no functional difference between any of these sites; based on a quick survey all four sites route me the same way from my house to LAX. The resulting route is almost exactly the route I use to get to LAX (that is if I drive and do not take the Gold Line to Union Station Fly Away, i.e. the only truly useful public transport service in Los Angeles).

Yet we can all site many examples when we type in two addresses and are returned a route so obviously ridiculous the recommendation is thrown out without much consideration. For me this is typically a decision based on my local knowledge of the area. ‘That interchange is terrible’ ‘That section of freeway is always backed up’ ‘That route takes forever to get to the freeway’ This local knowledge is great if you have it, but what if you are visiting Los Angeles and you don’t know the 405 should be avoided at all costs almost anytime of the day everyday of the week. What if I need to get to somewhere and there is a bad accident along the “optimal” route chosen by the routing algorithm? Just because in the vacuum of the map that is the optimal route, and therefore should be the fastest route, does not mean it is optimal given the current local traffic conditions.

I would like to have more control over my routing. I am proposing the following functionality, which I feel will help produce more useful routing results.

Route through a user defined location:
When I lived in Torrance I knew it was faster to take PCH to get to the 110 north. Every routing solution would invariably direct me enter the freeway on Torrance Blvd. This route requires several miles of surface street driving, which is much slower than using PCH. In this case I would like to be able to enter a “must route through here” location.

Route around a user defined location:
Similar to the “must route through here” except “do not route through here”. If I know of a bad exit or construction in a certain area I would like to be able to add a barrier, preventing the routing solution from routing me through the problem area.

Google Maps has come the closest to achieving this Nirvana of routingdum. The ability to re-route on the fly based on user input is outstanding. WOW! How they do that? It is amazing. Have Google Maps create a route between two locations. If you don't like a part of it, simply select a portion of the route and drag it to an interchange, intersection, highway, street, etc. that you would like to travel through/on and it will re-route on the fly. Good stuff in my book.

Route be based on traffic speed:
VE, Google Maps, and Yahoo can all display traffic information. I want to be route between two locations base on the current traffic conditions. If a route is given in the vacuum of the interwebs and current traffic conditions are at a crawl along the designated route then the route provided is of little use.

Routing algorithms should use the near real time traffic information to route me based on current conditions. All the information is there. Someone just needs to tie it all together.

1 comment:

rwalling said...

Awesome suggestions; I have to guess that the major online map players are working on the traffic routing feature.

But "routing through" and "routing around" are interesting twists on the idea.