I was thinking about various strategies we can use to control the spacing of bus and even out their headway. Turns out this has been already studied as a discipline of civil engineering.
From Fu and Yang’s paper on Design and Implementation of Bus–Holding Control Strategies with Real-Time Information:
Bus operations in urban environments are often subject to significant variations because of a variety of complex factors such as dynamic and stochastic traffic congestion and passenger demand. These variations, if not offset by control actions, will cause bus bunching—a well-known phenomena contributing to increases in passenger wait time and uncertainty in bus arrival times (1). Controlling bus operations is a way to compensate and reduce the effect of such variations so that the planned headway and schedule can be maintained. Among many bus control strategies, holding control is one of the most effective and common strategies that can be used to regulate bus operations. By holding early-arriving buses, bus headways can be evened out and service reliability improved.
The paper was published in 2002. They believe real-time information system can improve the performance of their model. Of course today system wide real time information are available. It is time to implement these kind of control system to improve the bus performance.
One of the first thing I’m trying to do is to plot Muni routes on the map. Since SFMTA published its transit data in GTFS format I think it is simply a matter of using the coordinates to draw lines. At the end it should produce something like the system map. It turns out the transit data is lot more complex than I expect. After some trial and error, I have produce some reasonably well visualization to show the details of a route.
GTFS describes every trip in a line scheduled to run. It turns out that bus with the same number may in fact run many variation of route. Regular riders may notice some bus runs a shorter route. A good example is the 30 Stockton line.
I plot each route variation using different color. The small hollow circle marks the origination point and a large solid circle marks the termination point. Furthermore, the width of line is proportion the number of run on such route. Thicker line depicts frequent and often the main route. As we can see, most bus terminate at the blue circle at Divisidero & Chestnut. However, there is also a second frequent terminal at Van Ness and North Point in orange color. If you look more carefully, you may also spot a very thin line terminate near Market St. According to the database, there are 10 trips with the head sign “Union & Columbus” terminate there. It is a curiosity that I have not investigated yet.
Another example that is depicted very successfully is the 38 Geary line. From the graph we can see 4 different routes 38 runs. They split off to terminate at 48th Avenue, VA Hospital or 32nd Ave. Furthermore, a thin red line is an alternate route that run thru VA hospital but terminate at 48th Ave. All routes are fairly thick, meaning each terminal are used almost as frequent. In contrast, the red alternate route is comparatively infrequent. Compare this to system map, I think this depiction of the variation is lot easier to understand.
38 Geary Muni System Map
One of the most helpful technique used is to vary the line width in proportion to the the number of trip run (i.e. the line frequency). For example, the map below shows 14X Mission Express as a thin line. While our first reaction to an express line is that it is fast and wonderful, this alert us that it is also a limited route that runs in commute hours only.
14X Mission Express
This is often a problem with the full system map. It shows a dense web of lines in equal width. Many of these lines are actually special commute hour or late night route that is irrelevant to most riders. Varying the line width help makes the main route stand out form these limited routes.