Maxspeed tag doesn't work for local ORS service

Hi, this is Guan. I’ve recently created a local ORS service for a routing problem. The data used in the ORS is a customized osm.pbf file that each road segment is assigned with a “maxspeed tag”. However, when I tested the result, it seemed that the tag wouldn’t work.

For example, the roads I marked with the blue box are both with a maxspeed 25 km/h (Display by JOSM). But when I query a route that passes them. Their speeds are very different. One is “distance”:158.4, “duration”:12.7 (speed: 12.47 m/s). Another is “distance”:104.7, “duration”:12.6 (8.31 m/s).

Obviously, they get a different speed from each other. Meanwhile, the speeds also surpass the maxspeed. Does anyone know why this happen and how can I make it work? Thanks!

Hi @HuangGuanSteve,

this seems to be the same as:

Make sure you try out the suggestions posted there.

Best regards


I don’t know anything about JOSM, but I see you have maxspeed set to ‘25.0’, is it really the value that is entered or is it the way JOSM displays the value ?

It seems that decimal value are discarded (see my last post in my thread) and default maxspeed are used.

If you had maxspeed entered as ‘25.0’, could you do a test where you enter maxspeed as ‘25’ and see if it solves the problem ?

I did another test : setting maxspeed to ‘12.0’ brings an average speed of 99.98 km/h on a motorway, but setting it to ‘12’ brings an average speed of 10 km/h, so it seems you have to have integer representation of your maxspeed; I am waiting confirmation for this.

See the thread referenced by @amandus, it contains the problem and possible solutions.

Best regards

Thank you. I will check

Sure, thank you

Hi, I think 25.0 is only what JOSM display because the exact data in OSM is 25. Hoping it can answer your question