[Talk-GB] Channel Tunnel Routing
Andrew M. Bishop
amb at gedanken.demon.co.uk
Sun Sep 9 17:11:10 BST 2012
Philip Barnes <phil at trigpoint.me.uk> writes:
> On Sat, 2012-09-08 at 11:15 +0100, Craig Wallace wrote:
>> On 07/09/2012 21:03, Philip Barnes wrote:
>> > A while ago I had a burst of ferry and Channel Tunnel routing, I had
>> > successfully got routing through the Channel Tunnel working, although
>> > some tracing needed to be done with the French Terminal, however it
>> > worked in OSRM.
>> I assume you are referring to the Eurotunnel "Le Shuttle" motorail
>> service? And not any of the other train services which operate through
>> the tunnel (eg Eurostar).
>> And I assume you are referring to routing by car (which seems to be all
>> that OSRM does).
>>
>> I'd agree that Le Shuttle is not a ferry, so should not be tagged as
>> route=ferry. It is a train route, so should be tagged as route=train.
>> Preferably with a route relation, not tagging all of the individual
>> ways, as there is a variety of different train routes through the
>> tunnel. Note there is already a route relation for Eurostar.
> Have found this page, which appears to be the answer,
> http://wiki.openstreetmap.org/wiki/Proposed_features/shuttle_train
>
> route=train_shuttle appears to be the answer until routers understand
> relations.
As the author of routing software (Routino) I have followed this
discussion with interest.
Having route=train_shuttle on the railway line is the easiest
solution, this then would match route=ferry. Currently Routino
recognises ways with route=ferry and replaces them in its internal
model with highway=ferry. The same could be done for
route=train_shuttle if the tag is on the way just by modifying the
tag transformation rules.
The problem with having the route in a relation is that every way with
a railway tag needs to be stored until the relation has been processed
and the properties from it transferred to the constituent ways.
At the moment Routino understands some relations; the simplest turn
restrictions and walking / cycling routes which default to having
higher routing preference than other non-route-relation highways. In
these cases the relations are assumed to apply to existing highways
(ways with a highway tag) so there is no extra temporary data to
store.
One potential problem that I can see is if a route=train_shuttle
railway crosses a road at a level crossing it might appear that the
car can join the railway. Limiting the points where vehicles can join
trains would seem to be necessary but difficult to include in the
existing data model of a router since it introduces a new special
case. A new sort of turn restriction could be used that allows
something to happen which is disallowed in all other cases that don't
have the turn restriction.
--
Andrew.
----------------------------------------------------------------------
Andrew M. Bishop amb at gedanken.demon.co.uk
http://www.routino.org/
More information about the Talk-GB
mailing list