General Transit Feed Specification (GTFS) data is the open standard for representing transit systems in space and time. While developing an open source planning application for public transit agencies, it became clear that processing speed was the primary impediment to calculating transit coverage indicators within a reasonable time. At a glance, GTFS is just a set of simple CSV files organized relationally with key fields. But transit systems are far more complex than just spatial data for routes and stops. They need to be able to model spatial-temporal relationships embodied in transit schedules as well as semi-cyclical and shifting schedule patterns. Additionally, the specification is flexible enough to represent many different approaches to operating transit systems and the same system attributes can often be represented in multiple ways.
While some transit system metrics are fairly straightforward to compute, certain public transit system metrics are best modeled as “travel shed” represented by raster coverages or isolines derived from them. The GeoTrellis Transit project is an extension of the open source GeoTrellis framework and was created to calculate travel shed rasters using GTFS and OpenStreetMap data. GeoTrellis Transit accomplishes this by creating a time-dependant graph structure that can rapidly perform shortest path queries at a given time of day, based on the public transit schedule.
The challenge in developing GeoTrellis Transit involved designing a time-dependent graph structure that contains information about how the nodes connect at any particular moment in time during traversal. Shortest path algorithms on time-dependant graphs need to take into account arrival times at any given node, as well as wait times until an edge becomes available. This makes fast calculation of shortest path trees on time-dependant graphs difficult, which GeoTrellis Transit optimizes using a novel data structure to represent the graph.
This presentation will introduce the GTFS standard and identify where difficulties may arise, especially for large systems. It will also describe how GTFS, OpenStreetMap and GeoTrellis Transit can be combined to build a fast time-dependant graph structure that can then be used to create time-based shortest path trees and travel shed rasters.