::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Transit Directions

November 23rd, 2009
mbta, transport  [html]
I want to use real time public transit data to give better public transit directions. Right now most transit directions work about the same way. You give them a start location, and end location, some time constraints ("get there by 4pm" or "leave now") and they propose multiple routes for you to choose among. A route is a series of legs, where each leg is a bus ride, a subway ride, or perhaps walking.

For the commuter rail, to take an example, this is pretty much the only reasonable way to do things. Along most of the commuter rail I have few alternatives: the trains are far faster than walking and there are usually no parallel transit routes. So if I want to get from home (porter square) to the contra dance in concord, all route options correspond to picking the appropriate fitchburg line train to take me there:

6:22 -- Walk, Fitchburg Line, Walk -- 7:18

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)

5:42 -- Walk, Fitchburg Line, Walk -- 6:38

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)

5:22 -- Walk, Fitchburg Line, Walk -- 6:11

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)
Looking at options for the trip from my chinese class at Tufts and my job at BBN, I see several options, though:

10:22 -- Walk, Red Line, Bus 78, Walk -- 10:59

  1. Walk: tufts - davis (19min)
  2. Red Line: davis - harvard (5min)
  3. Wait: harvard (4min)
  4. Bus 78: harvard - concord and moulton (8min)
  5. Walk: concord and moulton - BBN (1min)

10:25 -- Walk, Red Line, Walk -- 11:05

  1. Walk: tufts - davis (19min)
  2. Red Line: davis - alewife (3min)
  3. Walk: alewife - BBN (17min)

10:49 -- Walk, Bus 96, Bus 78, Walk -- 11:29

  1. Walk: tufts - boston and winthrop (4min)
  2. Bus 96: boston and winthrop - harvard (19min)
  3. Wait: harvard (8min)
  4. Bus 78: harvard - concord and moulton (8min)
  5. Walk: concord and moulton - BBN (1min)
One big issue with these routes is that they are fragile. If my bus is late, I might miss the next connection. So what if we had a system that gave directions like:

10:22 --

  1. Walk tufts - boston av
  2. Walk to davis, but if a bus comes, get on it
    • If the bus is a 96, take it to harvard
    • If the bus is a 94, take it to davis
  3. If you're at davis, take the next train to alewife or harvard, whichever comes first
    • If alewife, walk from alewife to work
  4. If you're at harvard, walk along garden and then concord. If a bus comes, get on it. If the bus leaves concord av, get off it and walk
Clearly these directions are harder to read. But they do better if things go wrong. And if I had real time data (or any data that told me real performance instead of schedules), I could simulate several different pathfinding algorithms and see which one got there first the most.

Comment via: facebook

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact