[OSRM-talk] Island hopping
Richard Fairhurst
richard at systemeD.net
Wed Oct 15 13:36:10 UTC 2014
Zenon Panoussis wrote:
> If you think that I have a valid logical argument that is based on
> false factual premises, I'd be very interested to hear about them.
Yes: I think you misunderstand standard OSM mapping practice.
An intersection in OSM has clear, unambiguous semantic meaning: there is
a 'connection' here. This might be road-road (junction), it might be
road-rail (level crossing), it might be road-water (ford), etc.
The tagging guidance is that two ferries can share a coastline
'arrival'/'departure' node - quite valid as there is, indeed, a routable
connection here.
It does not say that ferries should share at-sea nodes. A shared at-sea
node would be implying a connection where there isn't. That's why ferry
entrances to harbours are mapped as discrete ways (e.g.
http://osm.org/go/euiDsNOz). Putting a shared at-sea node is not an
"OSRM bug" as you claim, it is contrary to something that's been core to
OSM for the almost ten years I've been involved in it, and is explicitly
discouraged in the tagging guidance ("Do not combine two different parts
of the route when approaching land").
The related issue is whether changing from ferry to ferry at a coastline
node is valid. Inevitably it has to be: you can't solve this without
ferry timetable data, and that is out of scope for OSRM and indeed for
OSM itself.
Looking at the data for your Piraeus issue, there appear to be three
mapping techniques mixed together:
- route=ferry
- waterway=seaway
- route relations of type=ferry
As per above, you should not share at-sea nodes between route=ferry.
If there is a common 'seaway' out of a port, then I guess you could use
shared-node junctions when the seaways diverge. However, these are _not_
junctions between routes, so these ways should not be tagged as route=ferry.
So the two 'correct' solutions would be:
1. Discrete ways with route=ferry, no connection other than on the coastline
2. Ways with waterway=seaway, at-sea shared nodes possible, ferry routes
made up of these ways stored in route relations
...and never the twain shall meet.
OSRM trunk does not yet support route relations, so 2 isn't an option
for routable ferries right now: your call whether this influences your
mapping. In practice, I think 2 is unlikely to be a feasible option for
OSRM for a while for a couple of other reasons.
Richard
More information about the OSRM-talk
mailing list