Routing difference between GraphHopper and ORS


#1

Hi everyone, thanks for this awesome tool.

I know that ORS is developed under GraphHopper routing library. But comparing those two heavy truck queries, i founded approximately the same distance but with a difference of two hours driving!

https://maps.openrouteservice.org/directions?n1=48.4184&n2=2.284057&n3=7&a=50.632786,3.059524,43.603902,1.440694&b=4a&c=0&k1=en-US&k2=km

https://graphhopper.com/maps/?point=50.635635%2C3.063008&point=43.605637%2C1.448693&locale=en-US&vehicle=truck&weighting=fastest&elevation=true&use_miles=false&layer=OpenStreetMap

Why am i having this difference and how can i have the same results please?

Thanks in advance!


#2

Hi hamzaerhaiem,

The travel time is calculated for each segment by using speed-limits for different waytypes [see Travel Time Calculation] (https://github.com/GIScience/openrouteservice-docs).
The reason why both queries output a different driving time is that the ORS determines different speed-limits to the ways.

Best Tahira


#3

Thanks for your answer, is there a way to change those speed limits before depolying my docker image so they can fit OSM?

Best Hamza


#4

According to GitHub, OpenRouteService was forked from GraphHopper 0.10 which in turn had been released in March, 2018. Both their source code and their driving profile parameters are different. Likewise, their map data is most likely not from the same date. Do you think that can affect the result too?


#5

Thanks for your answer, is there a way to change those speed limits before depolying my docker image so they can fit OSM?

Best Hamza


#6

Sure. You gotta dig into the code a bit. And it’s not super deterministic, as it depends on a lot more things than just road type.

Not so sure if this is even used these days:

This one here definitely does the job:


#7

We don’t use much of Graphhopper tbh. Mostly a few algorithms and most of the OSM Reader logic.

ALL the profile specific stuff is redone in ORS, we do not share any profile-specific code with Graphhopper.