# General Transit Feed Specification

Die General Transit Feed Specification (GTFS) definiert ein digitales Austauschformat für Fahrpläne des öffentlichen Personenverkehrs und dazugehörige geografische Informationen wie z. B. die Standorte von Haltestellen.

## Geschichte

Das spätere GTFS-Format begann 2005 als Nebenprojekt des Google-Mitarbeiters Chris Harrelson, der „mit Möglichkeiten herumspielte, Nahverkehrsdaten in Google Maps zu integrieren, […] als er von den verheirateten IT-Managern Tim und Bibiana McHugh erfuhr, die für das Verkehrsunternehmen TriMet in Portland arbeiteten“. McHugh war ebenfalls frustriert über das Problem, an ÖPNV-Auskünfte in fremden Städten zu gelangen – während Online-Kartendienste zu dieser Zeit bereits einfach zu benutzende Routenplaner für den Automobilverkehr anboten.
Das Ehepaar McHugh versorgte Google nach einer ersten Kontaktaufnahme mit CSV-Exporten der TriMet-Fahrpläne. Im Dezember 2005 wurde Portland als erste Stadt in die initiale Version von Googles Transit Trip Planner aufgenommen. Im September 2006 folgten fünf weitere US-amerikanische Städte, und das benutzte Datenformat wurde als Google Transit Feed Specification veröffentlicht.
Anders als in Europa hatte es in den Vereinigten Staaten bis dahin keine Standardisierungsbemühungen für Fahrplandaten des ÖPNV gegeben, und es existierte auch kein einheitlicher Industriestandard. Der langjährige BART-Website-Manager Timothy Moore wird zitiert, dass BART vor der Einführung von GTFS verschiedene Nutzer ihrer Fahrplandaten mit jeweils verschiedenen Datenformaten belieferte, was ein einheitliches Datenformat sehr erstrebenswert gemacht habe. Die öffentlich frei verfügbare GTFS-Formatspezifikation sowie die Verfügbarkeit verschiedener Fahrplandatensätze im GTFS-Format führten dazu, dass Softwareentwickler ihre Anwendungen auf diesem Format basieren ließen. Das Ergebnis dieser Entwicklung waren „hunderte nützlicher und weitverbreiteter Nahverkehrsanwendungen“ sowie Verzeichnisdienste für verfügbare GTFS-Feeds. Da all diese Anwendungen auf einem einheitlichen Datenformat basierten, waren sie nicht mehr auf ein bestimmtes Verkehrsunternehmen oder einen bestimmten Verkehrsverbund maßgeschneidert, sondern konnten einfach auf jede beliebige Region ausgeweitet werden, für die ein GTFS-Feed bereitstand.
Aufgrund der weiten Verbreitung des Formats wurde das „Google“ im ursprünglichen Namen der Spezifikation als Fehlbezeichnung angesehen, „die manche potenzielle Nutzer davon abhalten könnte, GTFS einzuführen“. Als Folge dessen wurde 2009 vorgeschlagen, das Datenformat in General Transit Feed Specification umzubenennen.

## Struktur

Ein GTFS-„Feed“ ist eine Sammlung von mindestens sechs und bis zu 15 CSV-Dateien (mit der Dateiendung .txt), die in einem ZIP-Archiv zusammengefasst sind. Gemäß Spezifikation sollen die CSV-Dateien bevorzugt im UTF-8-Format angelegt sein.
Alle CSV-Dateien bilden gemeinsam ein Abbild einer relationalen Datenbank, das den öffentlich sichtbaren Fahrplan eines Verkehrsunternehmens oder -verbundes wiedergibt. Im Gegensatz zu europäischen Industriestandards für ÖPNV-Austauschformate wie Transmodel oder VDV-45X beinhaltet GTFS lediglich Sollfahrpläne, die für Fahrgäste bestimmt sind. Die im Umfang mächtigeren Industrieformate sind im Gegensatz zu GTFS auch dazu angelegt, beispielsweise Leerfahrten, Fahrzeugumläufe oder Dienstpläne zu modellieren.
Für die Anreicherung eines Fahrplanauskunftssystems mit Echtzeitdaten und temporären Fahrplanänderungen existiert die Erweiterung GTFS Realtime, die ähnliche Funktionen wie die europäisch genormte SIRI-Schnittstelle übernimmt.