[OSRM-talk] Island hopping

Zenon Panoussis oracle at provocation.net
Tue Oct 14 10:45:34 UTC 2014


Hi

> How can you detect whether there is an intersection at sea or in
> the harbour? 

If it is an intersection between route=ferry and route=ferry,
it is almost certainly at sea. The only possible exception is
on the port quay itself, but there you should also have an
intersection between route=ferry and natural=coastline. Hence
the proper logic would be something like

if (route == ferry && !intersection(natural=coastline)) {
  skip_intersections
}

If OSRM doesn't keep track of coastlines,

if (route == ferry && !route=(road/bicycle/foot/hiking/bus/trolleybus/train/tram/mtb/horse/ski/snowmobile/inline_skates)) {
  skip_intersections
}

It is a a bit more complex and less safe but still much better
than mid-sea changes of ferry, which are 100% guaranteed to be
wrong.

> It sounds easy to build but i'd rather prefer exactly
> these types of errors to see whether OSM data is broken. 

This depends on the main purpose of OSRM. If it is primarily
intended as a debugging tool for OSM map data, then that is the
correct approach. But if OSRM is primarily intended as a routing
tool, it is more important that it does its job correctly and
does not add its own errors on top of OSM errors.

> Dont work around broken data too much - we want to see where
> its broken and correct it.

But you would see it anyway. In this case, if OSRM refused
mid-sea changes of ship, you would see a route that only goes
to the entrance of the Piraeus port and then stops there. This
way it would be even easier to identify the OSM error just by
zooming in on the place where the route stops.

Example: start: Rue des Terre-Neuvas, Miquelon-Langlade, end:
the road in Seal Cove about 50 km north-northwest. There is no
route, OSRM fails and the startpoint is moved to the middle of
the sea.

Start like this: http://s8.postimg.org/t3oc1dbrp/miquelon0.png
Click the end on Seal Cove: http://s28.postimg.org/rs7pa9dh9/miquelon1.png

Boom, error. And see, now we found another ferry route that is
broken just where the green pin moved.

Cheers,

Z




More information about the OSRM-talk mailing list