GIF Mapping Differential Passenger Flows: preliminary results

May 22nd, 2014

I read a clever little article while I was researching R graphics for this project. It started out with a whole paragraph just making the point that no one would read the paragraph itself first. Instead, our eyes would all flash down to the brightly colored graphic right below. Mine certainly did. Did yours? I could write pretty much anything here, but you won’t read it until you’ve satisfied yourself with the silly flashy GIF:

half-hourly boardings and alightings

But since we’re not interested in psychology(see above, if you haven’t), some description is perhaps in order: blue is a balance in favour of people boarding buses, red of people getting off the buses. Circle area equals the absolute difference between boardings and alightings at each scheduled stop. This means among other things that stops with balanced passenger boardings and alightings will not show up at all1. Each time-step is a half-hour period.

The idea here is simply to show the temporal unbalance of passenger flow in the transit system: at some times of day, more people are going in one direction than in the other. This is why you occasionally hear the complaint that “buses are running empty” and implicitly that no one is using the system or that parts of it could bear trimming. The routes are not usually inefficient so much as the passengers are, with their chaotic plans and schedules, failing to neatly balance themselves and set each other off as more orderly citizens might do.

Notice how the overall color of the outlying stops changes at the rush hours from blue (boarding) in the morning to red (alighting) in the evening, the reverse for downtown and most of uptown. Clearly, the overall pattern we’re seeing is that a lot of commuters are coming in from the outer neighborhoods for daytime work in the central ones.

As the title says though, these are preliminary results. I made the circles transparent so colors can blend and become more opaque where activity is more intense, but there’s still a tremendous amount that’s obscured in this map. The next step is to change it from a map of mutually interfering circles into something clearer at the busy confluences of multiple lines. I’m thinking, and if you’ve been following this blog lately it should be on the tip of your tongue already, of creating a kernel density surface to properly deal with the busy areas.

In the meantime, I’ll attempt to assuage your hungry eyes with a couple more GIFs.

My first attempt at a GIF, using a much less automated method2, shows this same basic pattern, but in the context of Cincinnati neighborhoods.


Another one breaks it down a further than the first one I showed, dropping the time-interval to two minutes rather a half-hour. Again, blue is a balance in favour of boardings, red in favour of alightings.

two minute boarding-alighting map

This one is particularly interesting, I think, because you can really start to see individual buses flashing through the city. I love the finale, right around 25:10 (1:10AM) where the buses all explode out of government square on their last run at around the same time to deposit their passengers in an adorably pathetic little fizzle of red from blue.

Anyhoo, I’ll say yet again, this is preliminary and I share it now because I think this data is tremendously exciting. We’ll see what I can make of it in the next few days!

Show 2 footnotes

  1. Two people get on, two people get off. Four people used the stop, but I won’t show you any of them here.
  2. I clipped the data and exported 24 maps one at a time from QGIS.

One response to “GIF Mapping Differential Passenger Flows: preliminary results”

  1. […] dataset, which I’ve already sliced a couple different ways on this blog. The first was here with a set of animated maps andthe second here showing basic peaking in passenger activity through […]