Since last weekend was Earth Day, and public transportation is going
to be a key tool in helping us address the environmental challenges
that we're facing, I thought it'd be a fine time to let you all know
about some of the things we've been working on over the past couple
months over at Google Transit. We've just contributed a bunch of
source code in the Python programming language to the
GoogleTransitDataFeed open-source project that Joachim Pfeiffer
started last October: http://code.google.com/p/googletransitdatafeed/
We hope this software will be useful to agencies wanting to export
their data in Google Transit Feed Spec format, for use with Google
Transit or other GTFS-reading applications like TimeTablePublisher
(http://www.timetablepublisher.com/) and Graphserver
(http://graphserver.sourceforge.net/). We also think that it will be
helpful to those writing new applications that want to use GTFS feeds.
The new code includes:
This is a core Python module that can be used to add GTFS reading and
writing capabilities to other programs.
Feed Validator is a simple test program that looks at a GTFS feed and
reports any potential data problems that it notices.
Schedule Viewer is a web-based sample program that lets you browse
through the contents of a feed on a map.
And of course, the project still contains the Java code for converting
between TransXChange and GTFS feeds that Joachim launched the project
Naturally, this sort of code is a lot more fun to try out when there's
good data to use it with, so I'm happy to announce that our friends at
TriMet are now making their data available to the general public in
We share TriMet's belief that making transit schedule data available
to the developer community in a well-known format like GTFS can enable
new transit applications that make life better for existing transit
riders, and hopefully encourage more people to become riders. There
are hundreds of creative programmers and designers out there that want
to help improve the transit experience. Some work at agencies, some
don't. We hope that by helping to build tools and formats that can be
shared by various groups, they can spend less time on data interchange
problems and more time exploring new ideas that will be useful to many
We'll be continuing to improve the library and sample programs as time
goes on, and we're hoping that some of you will both lend a hand and
give us feedback on future improvements!