The BJCTA is the organization behind Birmingham’s transit system, currently consisting only of buses. The BJCTA has been very slow adopt new technology for improving their system. For example, the BJCTA still does not have a trip planner. They have had a “coming soon” for several years now, but even though leadership has changed three times since then, we still haven’t seen anything. On top of that, they have timetables that are very difficult to interpret and poor quality maps. They still don’t have a mobile version of their website, and their timetables require flash which means you cannot view the timetables on an iPhone!
Frustrated, I am determined to take all their data and build this myself. Even though our transit system is fairly small, this is a huge task since the BJCTA does not open any of its data. In fact, I’m not even sure it has any data to open!
The BJCTA only makes available its timetables. The time tables only list four or five major stops along any given route. Currently, every other bus stop along a route is undocumented.
To have a useful trip planner, every single bus stop’s location along a route must be known. This means cataloging every single bus stop throughout greater Birmingham. My estimates show this to be close to 3,000 stops. And, there is no publicly available data of these stops. This means physically going to each location and recording the latitude and longitude coordinates. This is obviously not feasible, so I have developed some tools to help out.
BJCTA Stop Cataloging Website
I built website helps me crowd source the cataloging of each bus stop. In combination with a smart phone, any time you see a bus stop, take a picture on your phone with the GPS feature turned on. This embeds the GPS coordinates into the picture. You can then upload it to my cataloging site where it puts a marker with your picture on the map.
This gives me the latitude and longitude coordinates of a stop along with verification of the stop through the picture. On top of that, I can read the routes off the sign post in the pictures. This tool has been invaluable in cataloging the bus stops and has been exciting to get the community involved. The biggest problem I have found, is that stops are cataloged ad-hoc, meaning that rarely are entire routes cataloged. If someone is walking down 20th St and they see a stop, they take a picture and upload it. But this leaves holes in the routes that need to be filled.
BJCTA Stop Cataloging Website - Streetview Edition
To start cataloging bus stops, I began riding buses in loops. I’d sit next to the window on the right side and any time we passed a stop, I took a picture. This is a great way to get a complete route, but was very time consuming. Some routes take 2-3 hours to complete a full loop. And with limited routes running on Saturday and no service on Sunday, it was difficult for me to find time to ride a full loop.
This led me to develop another website to virtually ride bus routes. The streetview edition works along with the regular cataloging website. However, you can select a route, which it will overlay onto the map. The map is split between the map view and streetview. You can then virtually drive along the route, and anytime you see a bus stop in the streetview, capture it. Once those streetview points have been submitted, the system downloads the streetview images off of Google Streetview, and uploads them to the cataloging website.
This has let me catalog hundreds of stops I wouldn’t have been able to. The biggest problems are: streetview is out of date in many areas, streetview isn’t available in many neighborhoods, and the image quality is sometimes too poor to really see a bus stop. While it isn’t perfect, it is another tool that is helping me catalog stops. If you’d like to help out, please head over to the site, select and incomplete route, and start virtually driving along it!
Creating GTFS Data
As I have cataloged all the stops along a route, I have begun to create the GTFS data necessary to submit to trip planning sites like Google Transit. Unfortunately, the tools for creating and managing GTFS data are very limited. Google provides some free tools for validation, but doesn’t have any creation tools. I assume that most proper transit authorities have commercial software for managing all their buses and routes, and that GTFS data generation is a feature of those programs.
Even the few free GTFS programs I did find had a problem: I have a specific need. I need integration with the cataloging website, so that as users upload new stop images, my routes become populated. This led to me developing my own software, called Subte, named after the underground metro in Buenos Aires. This software allows me to import all the stop information and pictures from the cataloging website, build routes, modify timetables, and create GTFS data. Although this software is highly tailored towards my needs, it is open source and available to anyone who can make use of it.
Progress has been made already, and I have several routes completed. I won’t be able to submit this data for inclusion in Google Transit until it is completed, tested, and signed off by BJCTA. In the meantime, I have setup a website using Open Trip Planner which is an open source trip planning software package. You can test out the trip planning site at http://bjctatripplanner.org. This site is constantly being updated as new routes are completed. I am already making use of this as I find it to be a much easier way to plan my trips then looking at timetables!