General Transit Feed Specification

From OpenStreetMap Wiki
Jump to navigation Jump to search

The General Transit Feed Specification (GTFS), originally called the Google Transit Feed Specification, was developed by Google as a format for sharing public transportation information such as bus stops and bus routes.


Looking on Taginfo, some of the tags that are currently in use include: gtfs_id=*, gtfs_stop_code=*, gtfs_route_id=*. However it doesn't appear that anyone has stored the agency_id and there is no decision about the name space, as underscore (gtfs_) and semi-colon (gtfs:) are in used. There's also the possibility that a single stop could have multiple carriers (operators), and therefore should be able to have multiple pairs of agency_id and stop_id.

gtfs_id=* gtfs_stop_code=* gtfs_stop_id=* gtfs_name=* gtfs_description=*
gtfs:id=* gtfs:stop_code=* gtfs:stop_id=* gtfs:name=* gtfs:description=*
gtfs_dataset_id=* gtfs_route_id=* gtfs_shape_id=* gtfs_trip_id=*
gtfs:dataset_id=* gtfs:route_id=* gtfs:shape_id=* gtfs:trip_id=*
gtfs_agency_id=* gtfs_agency_name=* gtfs_agency_url=*
gtfs:agency_id=* gtfs:agency_name=* gtfs:agency_url=*

Alternative for stops

In Europe, for public transport stops, the European standard IFOPT is defined and in some GTFS-data the stop_code is identical to the IFOPT references. In these situations, instead of gtfs_id=*, gtfs_stop_code=* or gtfs:stop_id=*, it is wise to use the established ref:IFOPT=*.

Data Sources

Visualizing of GTFS

Conversion of OpenStreetMap and GTFS

  • osm2gtfs - An extendable python script to query OpenStreetMap data about public transport, combining it with time information provided from a different source and convert it into the GTFS format.
  • GO-Sync (aka gtfs-osm-sync) - a desktop tool to synchronize GTFS feeds with OSM

Editor support


External links