To badly quote a Queen Song, “I like to ride my bicycle”. I’ve been trying to find new spots to ride. Of course being me I’m always debating things I can map while I’m out doing something.
This weekend I decided to map the Bike Share Program. It was raining so I went with a combination of windshield survey, bike riding, and internet searches to locate the Chattanooga’s Bike Share locations. I have a long standing history of being wrong about everything. When the bike share program started back in 2012 I shrugged and went “this won’t work” and 6 years later we’re got 40ish stations (I counted 40 and the internet tells me 41) and over 400 bikes. All the bike shares have a printed map and Chattanooga’s open data portal has a CSV of old bike locations.
Here are the 40 bike share locations in Chattanooga. I’m hoping to stick this in OSM and on the Open Data Site for Chattanooga.
I had read about Anita Graser’s Flow maps recently. One thing I notice when I’m out is how many places I see these bikes. Where do people come from and where do they go? Digging around on Chattanooga’s Open Data portal I found travel information that was slightly out of date but provided enough information to make this fun. The data gave me two things I needed: bike check-out locations and check-in locations. I know now people leave from Point A and end up at Point B.
Lets create a virtual layer from the table of information and the point layer. Trips being the table and Locations being the points:
SELECT StartStationID, EndStationID,
JOIN locations a ON trips.StartStationID = a.id
JOIN locations b ON trips.EndStationID = b.id
WHERE a.id != b.id
I created what I can only describe as “hub lines” of the Bike System:
That doesn’t really tell me anything. It does show me the power of a virtual layer. A virtual layer is an area of QGIS I’ve not touched much – but in short it’s code tossed against a dataset and that code creates a new layer in QGIS. In this case I’m using functions in QGIS with some SQL code to render the lines. The lines act like physical data.
I refined the code a bit to only show one bike share. So where do people go that leave from the “main” spot (1299) at Outdoor Chattanooga?
Now that we’ve got fewer lines, things are more interesting. First off I don’t have data for all the stops – hence the dots with no lines. The second part I notice is some people go as far as they can go on a bike. They go to the farthest station. The Bike Share Program is “transportation” now on the same level as a bus but in just a smaller area.
Lets pick at it some more and do this:
Select EndStationID, count(*) from virtual layer group by EndStationID
That tells me the counts of where are people going from 1299. Not surprisingly from this location the #1 destination is this location (1299). People come back to where they rent the bike. The next two stops are “the scenic” bike share at 1319 and the bike share that connects to the free shuttle program at 1303.
The least used one is unsurprisingly 1329. That one is located not quite near the college campus and not quite near anything useful for day to day living. There’s really no reason to go there unless you’re lost or going to the Walker Theater for a concert. 1329 may be at the highest “spot” in the city or at least close to the highest (i.e. you have to ride uphill to get there from anywhere).
My next big question: Is it all connected with bike lanes? That data doesn’t really exist except within OpenStreetMap…and it’s outdated. It may exist somewhere in the city but I’m not sure where. My next mapping fun is finding a source of bike lanes for the city. I will probably make my own.
So what did we learn?
- If you come to Chattanooga use the Bike Share (and wear a Helmet)
- Virtual layers are pretty powerful and I really only did one thing – but it was a powerful one thing.
- OpenData for your city is your friend. I will most likely hassle someone for an updated CSV for the city bike share program.
Go out and make a map….and ride your bike.