For various historical reasons, OSRM is using a mix of great circle distance, haversine distance, and https://github.com/mapbox/cheap-ruler-cpp to calculate distances in various points throughout the codebase. This leads to some weird behaviour, like route(A->B) giving a different distance to table(A->B).
We should use https://github.com/mapbox/cheap-ruler-cpp everywhere - it offers good performance, and very good precision (https://github.com/mapbox/cheap-ruler#precision) for the use-cases that OSRM cares about.
What'll change here:
For various historical reasons, OSRM is using a mix of great circle distance, haversine distance, and https://github.com/mapbox/cheap-ruler-cpp to calculate distances in various points throughout the codebase. This leads to some weird behaviour, like route(A->B) giving a different distance to table(A->B).
We should use https://github.com/mapbox/cheap-ruler-cpp everywhere - it offers good performance, and very good precision (https://github.com/mapbox/cheap-ruler#precision) for the use-cases that OSRM cares about.
What'll change here:
data.jsshould be updated to more accurately place coordinates for test cases