The typical method to obtain routes is to calculate fastest paths. This is achieved via a standard shortest path algorithm by using link travel time as link cost. These algorithms typically go from node to node, which means that we have to translate our starting and ending locations to the corresponding nodes. Such an algorithm (Dijkstra algorithm, see e.g. ()) then can proceed as follows:
If tmpArrivalTime is smaller than toNode's current arrTime, then a faster path to that node just has been found. In that case,