HSLdevcom / digitransit-ui

Digitransit UI ("Reittiopas.fi")
https://www.reittiopas.fi/
Other
238 stars 131 forks source link

Suboptimal routing with trams 2/3 #473

Open piru opened 8 years ago

piru commented 8 years ago

Trams 2 and 3 are special in a way that the tram numbers get swapped on two stops: "Olympialaituri" and "Eläintarha". This leads to suboptimal routing when the tram 2 or 3 would be crossing these stops. In particular: the routing assumes that passengers need to hop off the tram and wait for the next one (if you're in tram 3, you are asked to hop off, wait for 7-8 mins and then hop on to tram 2, and vice versa). In reality the tram number is changed on the fly and the tram continues from the stop without delay.

Since the routing thinks there's an extra 7-8 minutes in this route, alternate routes get priority over this faster one.

Here's a demonstration of the subobtimal routing (enforced by disliking walking): https://sintonen.fi/pics/hsl-tram-2-3-routing-fail.png

PS. This issue exists in the old route planner, too. It's about time to get this fixed...

tuukka commented 8 years ago

Thank you for the report! We are aware of the issue and try to get a fix in soon. It's not as simple as you'd hope though because of the source data formats. There's no such transfer_type in GTFS [1]. Instead, we should use block_id, but 1) its definition is in flux [2] and 2) much of the block data has been declared a trade secret by the bus operators. One possibility would be to generate appropriate but fake block_id's for the trips where block transfers are possible.

[1] https://developers.google.com/transit/gtfs/reference [2] https://groups.google.com/d/topic/gtfs-changes/PkNAWbN9wcs/discussion