[Help] Getting off the ground developing with GTFS data

Skip to first unread message

Christian Overton

May 30, 2019, 4:40:15 AM5/30/19
to Transit Developers
I am a college student looking to make an application with GTFS data for the first time. I'm doing my best to review the reference (https://developers.google.com/transit/gtfs/reference/) to figure out what everything is but I'm still finding it a little hard to figure out where to begin. I'm looking to make an application using GTFS data from https://smttracker.com/gtfs/ (specifically the Casco Bay Lines one). 

Is there any guide / example application to start working with GTFS data?

Just trying to find a good place to start and I'm a little lost. 

Thanks for any and all help!

Paul Harrington

May 30, 2019, 4:52:53 AM5/30/19
to Transit Developers
First thing is what you are doing, to understand the spec well. Most GTFS applications will pull a schedule into a database (one DB table per file) and using queries will go from there.

It's not easy or quick, your fastest way of getting up to speed might be to look at what open source applications like OneBusAway do.

By then you should have a good idea of what exactly you want to do with the GTFS data, there are a lot of different type of applications out there.

Hope this helps a little.

Nathan Selikoff

May 30, 2019, 8:01:19 AM5/30/19
to Transit Developers
Check out the awesome-transit github repo: https://github.com/CUTR-at-USF/awesome-transit and gtfsbook.com and gtfs.org

It depends on the nature of your application, but there are lots of tools on the awesome-transit list to e.g. load gtfs into a database without much effort.

Aaron Antrim

May 30, 2019, 2:19:10 PM5/30/19
to transit-d...@googlegroups.com

I echo the previous answer about the awesome transit list: https://github.com/CUTR-at-USF/awesome-transit#on-line-courses

In particular, I’d suggest the annotated GTFS Examples and World Bank training course (modules 3 and 4 are based on the GTFS Examples):


I participated in developing both of these training materials. Please let MobilityData know if you have feedback or requests for more training materials. We want to create guides and link to external resources at https://gtfs.org/getting-started/.

Aaron Antrim
503-799-0550 (mobile)

You received this message because you are subscribed to the Google Groups "Transit Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to transit-develop...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/transit-developers/a4e10d6f-80b7-4265-9007-02ba64ff1f4d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Christian Overton

Jun 5, 2019, 1:06:37 AM6/5/19
to Transit Developers
Thank you so much for all the help! I'll be pouring over all this in the next week or so. I'll let you know any feedback!
To unsubscribe from this group and stop receiving emails from it, send an email to transit-developers+unsub...@googlegroups.com.

Nikhil VJ

Jun 8, 2019, 2:22:39 AM6/8/19
to Transit Developers
Hi Christian,

I'm working on gtfs with some folks in India, and we have made two open-source apps for composing and editing gtfs. (see https://github.com/WRI-Cities/)

Proposing a specific thing to do with GTFS data, something I've been wanting to implement but don't have the skills/bandwidth yet.

Please see this link, it's an on-web deployment of Transitfeed's gtfs visualizer, with New Delhi's static gtfs data loaded:

When you click on a route, you see a data visualization at the bottom that is called a "Marey Graph". It does a terrific job of showing a vast amount of data in a clean viz. 
The X-axis is time of day. 
The Y-axis, starting from top and going down, represents distance from the starting point.
The various trips that a route (+direction) makes in a day are represented here. When we move the mouse over them, we see the individual trip details.

I want to replicate this visualization and take it to another level. Here are some ideas:
1. Make the trips clickable; show more details on click
2. Show stop_id + name based on mouse position along Y-axis.
3. Filter by calendar.service_id, so we can see just the weekday trips or just the weekend trips.

And then, moving from visualization to editing,
4. Click and drag a trip horizontally left or right, and correspondingly offset the timings for that trip.
5. Add a new trip at a given time offset from a selected one. (clone a trip)
6. Delete a selected trip.

Imagine a transit agency team adjusting their route schedules using a Marey Graph!

Let me know if you'd like to take this or a part of it up!
The data needed can come as a CSV string, an array of JSON objects (if javascript) or a pandas dataframe (if python). I can handle that part.

Nikhil VJ, Pune, India
Reply all
Reply to author
0 new messages