Route Suggests Walking to Farther Bus Stop

We’re using GraphHopper to power Ithaca Transit, a local transit navigation app. One of our users had an issue where they wanted to go from a bus stop to another location, and nearly all of the routes suggest to walk across a busy street to another bus stop, even though a bus is about to come to the bus stop they are at.

I tried digging into what could be causing this bug. It might be a bug with switching from inbound to outbound. Other mapping apps that are mentioned below have some trouble with this specific case too.

Google Maps and Moovit both default to this (incorrect) routing, but both include a “less walking” option that solves the problem. Transit (not us, another mapping app) defaults to the better routing; I did not look to see what setting may affect this there. In my view, “less walking” should be default for a bus app, and there should be an “allow more walking” option.

It might help debug this specific issue by download the app and interacting with our transit schedules. This problem concerns the TCAT bus service, specifically Route 11. Below are the instructions to reproduce it.

A user wants to go from [Stop] South Hill Business Park to [Stop] Ithaca Commons - Seneca St.. They were getting recommendations from multiple apps to walk across the street to [Stop] Ithaca College - Alumni Circle instead of just waiting at that location for the bus to come.

Google Maps also does returns results like these, but just some of the time. For Friday’s at 11:31 AM depart time, both Google and Ithaca Transit give the same result. They identify it’s quickest to walk across the street to catch the soonest bus in the area. However, at 11:42 AM departure time, Google uses the bus that comes to South Hill Business Park, while we still suggest walking across the street. The only route we serve that has a user catching a bus directly from South Hill Business Park is at 2:09 PM, after suggesting several routes that all involve not taking the bus right at the start location.

Please let me know if I can provide any other information about this issue, especially if this is a bug on our end or in GraphHopper.

Hi Matt – wow, thanks for using our transit router!

By default, we look for a solution with the earliest arrival time. “Less walking” and “fewer transfers” are only tie-breakers, e.g. so that you don’t walk a long way to board a bus which you could just as well board somewhere else with less walking. But we’ll let the user walk any distance to arrive one minute earlier.

There’s a request parameter called “beta_walk_time” *), defaulting to 1.0, which lets you weigh time spent walking relative to time spent riding. So when you set it to, say, 2.0, we would let the user walk 30 seconds more to save 1 minute of total travel time, but not 31 seconds. Maybe give it a try?

*) in the latest source version, that is.

That said, I realize that the situation you describe sounds like we let people walk even though that doesn’t save total travel time. I’m not sure how far I’ll get trying out your app, without looking at requests and schedule data, but I’ll let you know if I find something.

Checking on Google Maps, it looks plausible to me:

When I want to go from South Hill Business Park to Ithaca Commons at 10:59, I’m told to board the bus at South Hill Business Park at 10:59.

When I want to go at 11:00, that bus is gone, but I can still catch it by walking to South Hill Business Park. Which may be good advice, depending on your preferences.

Another way of putting it is, this can happen any time you got busses that can be slower than walking. ,-)

Thank you for the information regarding beta_walk_time!

I’m still concerned there’s a bug with routing. There’s a bus that stays at the South Hill bus stop from 11:48 AM to 11:59 AM, switching from Outbound to Inbound. If I search for a route from South Hill Business Park to the Commons at 11:58 AM, it still tells me to walk 0.2 miles away to a nearby stop, even though there should be a bus right in front of me. Our data knows that Route 11 stops at this stop, as there’s a route at 2:09 PM leaving from South Hill Business Park (the fifth recommended route). Any ideas what could be up?

To further clarify, here is an example case we’re seeing: Route 11 leaves South Hill Business Center at 11:59 AM and gets to Seneca St. at 12:21 PM. It also stops at Ithaca College - Alumni Circle at 12:11 PM and arrives at the same time. The routes returned only show the second route, which results in more walking to use what I’m nearly certain is the same bus.

Again, thank you for your responses already!

Got it. Fixed on master. Thanks!

I have similar problem. For me, I want to reach destination early but not at the cost of walking more. I would like to catch a bus coming near to me because it saves me total travel time. I could do something else for half an hour and then catch a bus which will be take me to destination without walking much. Do you have any idea how can I incorporate this? One approach in my mind is saving total travel time as bus will always be faster than walking - I want to reduce total travel time I am spending.