How does travel time calculation work

Hi everybody,

I’m using a locally installed ORS service to calculate travel times between given GPS coordinates. I need this for my graduation project and I need to be able to understand and explain how ORS works. I cannot find documentation on how the toolbox works on the inside, but my best guess is as follows:

The map I downloaded from bbbike is basically a graph where the vertices represent certain points (GPS coordinates) and the edge costs represent the travel time between the respective points. When I supply two GPS coordinates to the toolbox it snaps to the closest coordinates on the map and uses an algorithm like Dijkstra (or something that performs better) to find the shortest path between these two snapped-to-points.

Did I get that right? If someone could confirm with a citation or source that would be perfect.


in essence, you’re correct about how the openrouteservice works.
Have a look at our backend documentation for a bit more detail on the speeds and thus the times used on the different edges.

As for the algorithms, I think Dijkstra is rarely used. Depending on parameters used, either Core-ALT or CH is used, defaulting back to A*-Beeline if necessary.

Unfortunately, there is no overview paper to cite. You may have a look at one of the short papers by P. Neis and A.Zipf from 2008, listed here (search for openrouteservice).

Best regards

1 Like

Hi Jschnell,

thank you for this awesome toolbox and your super fast support. And all of this for free! This is truly amazing. :wink:


1 Like