Why does OSM not show route via ferry?

Hello I am new here and have a question. Why does OSM not show a route via ferry? When I try to find a route from Copenhagen DK via Gedser ferryport DK to Dresden D the only route it shows is a long way around and not the shortest way via ferry.

This can have various reasons. Either the ferry is missing in OSM. Or
you are trying to compute a route for cars and the ferry recorded in OSM
does not have the right tagging for motorcar transport. Sometimes the
ferry is also not properly connected to the road network, or the access
road that provides this connection has some limiting tags.

Try to find a route from Copenhagen to the point where the ferry line
starts - if that works then you know it is not the connection. Then try
a route that only uses the ferry, and so on, this will help you to find
the problem.

1 Like

It is not even an OSRM problem in general but rather one of the demo OSRM instance used at www.osm.org (please see also SomeoneElses comment above).

E.g. this demo here: https://fast-routing-api.demo.routingapi.net/ is also based on OSRM but does route via the Gedser - Rostock ferry for cars. It also uses the direct ferry for the Poole-Cherbourg route. The Geofabrik OSRM router at GEOFABRIK // Routing with OSRM and GraphHopper does the same, also using the direct ferry routes for both examples.

In other words, the experimental car profile used by the FossGIS routing server (that one is the demo server at map.project-osrm.org as well as www.osm.org) seems to have a problem with some ferry routes in the car profile. That profile can be found here: https://github.com/fossgis-routing-server/cbf-routing-profiles/blob/master/car.lua. It does not uses classes sequences for process_ways as the demo server run by FossGIS does not seem to have enough memory for that.

So the problem here is rather a limited hardware resource problem at the demo server but not an OSRM problem. (The same if you want to get a route cross-continent, e.g. from Johannesburg to Shanghai, the demo server won’t do this due to hardware limitations).


There seems to be some variation between the 3 routing engines available on the main OSM site (OSRM, Graphhopper, Valhalla). It looks like Graphhopper is closest to what you are expecting. From a quick experiment, I think OSRM may not route via the Gedser ferry at all. Valhalla does seem to use that ferry for routing to parts of Northern Germany but prefers a more westerly route via Puttgarten for destinations further south.

Certainly something odd about ferry routing in OSRM.

OSRM also fails to route Poole - Cherbourg (graphhopper does) it sends you via Portsmouth - Cherbourg.

Hi all,
Thank you very much for the replies. I tried Graphhopper and it did work better indeed. I didn´t knew there where multiple routing engiines. I still think it´s very strange that some ferry routes don´t show up especially because this particular route (Gedser to Rostock) is , in one form or another, over 100 years old and part of the european route E55.

Ich kann in den Daten keinen Fehler finden. Und wenn andere Router richtig routen, scheint es ein Problem von OSRM zu sein.