Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
OneBusAway is used in a number of places these days, including the original http://onebusaway.org/ in Seattle. We make OneBusAway open-source so that others can easily deploy their own real-time information system. This model has proven successful with independent OneBusAway deployments in several cities.
Here we describe the issues involved in bringing OneBusAway to your own city.
What OneBusAway Does and Does Not Provide
Before considering if you can run OneBusAway on your own, it's important to consider what OneBusAway does and does not provide.
While OneBusAway provides a variety of user interfaces and tools for accessing real-time arrival and other information for public transit systems, we assume that you can provide static schedule data in the GTFS format for your target transit agency. We also assume that your transit agency already has real-time tracking equipment installed on their vehicles if you are to show real-time information in OneBusAway. More details below.
OneBusAway needs static schedule information for each transit agency that is to be supported. OneBusAway currently requires schedule data in the General Transit Feed Specification (GTFS) format. If you want to run OneBusAway on your own, you will need GTFS for your transit agency. Many transit agencies already publish their schedule data in the GTFS format: see http://www.gtfs-data-exchange.com/ and http://www.citygoround.org/ for lists of agencies with public data.
If your agency doesn't already publish GTFS, but does provide their schedule data in some other format, you can sometimes create your own GTFS from their data. There are a lot of tools out there, including some provided by OneBusAway directly.
While OneBusAway provides user interfaces for accessing real-time arrival information for public transit vehicles, it does not do any actual real-time vehicle tracking or prediction. We assume your public transit system already has some form of real-time tracking equipment installed, such as GPS units. If your transit system doesn't have real-time tracking, you can still use OneBusAway to provide static schedule information, but you obviously won't have real-time information.
If your transit agency does have real-time tracking equipment, the trick is often getting that data from the agency to OneBusAway. There are a number of formats for exchanging real-time transit data supported by OneBusAway, including GTFS-realtime and SIRI. Hopefully your agency provides data in one of those formats. However, if they don't, it maybe possible to create a data adapter to convert to one of the formats supported by OneBusAway.
Running OneBusAway on your Own
If you can provide the required schedule and real-time data inputs necessary to run OneBusAway, then you can run OneBusAway on your own for free. Note that while we are working to make OneBusAway easier to use and deploy every day, running OneBusAway on your own will still require a bit of technical savvy, including some basic system administration skills. To get started, check out:
- The OneBusAway Quick-Start Module
- The OneBusAway Application Suite Documentation
- [GTFS Updates and Maintenance] (https://github.com/OneBusAway/onebusaway-application-modules/wiki/Maintenance)
Want to make the OneBusAway iPhone, Android, Windows Phone, and Windows 8/RT apps available in your city? After you've set up a OneBusAway server, the multi-region initiative makes this simple! Check out the section on the multi-region page for OneBusAway Server Administrators for information on adding your server to the OneBusAway Server Directory for the multi-region apps.
If you are a transit agency looking for a more official solution, including support contracts and service-level agreements, there are a handful of companies working in this space. For more information, contact us!