Open technology provides an opportunity for various stakeholders to
collaborate efforts to improve public transit.
Elements of open technology include: - Open standards - Open data -
Open source software (both as consumer-facing apps like OpenTripPlanner
and developer tools like the GTFS Validator)
This list is focused around the open technology ecosystem for public
transportation. Included technologies may be open source themselves
and/or rely on open standards and/or open data.
Have something to add or change? Open a pull
request or issue
at MobilityData/awesome-transit.
Table of Contents
Producing Data
GTFS
- GTFS.org official documentation site
for the General Transit Feed Specification.
GTFS Courses
GTFS Consumer App Guidance
GTFS Libraries
Software that makes it easy to consume GTFS data in a variety of
languages.
C
- CGTFS - C library for
reading static GTFS feeds. Supports reading unpacked feeds into
application memory or into SQLite databases.
- RRRR Rapid Real-time
Routing - RRRR (usually pronounced R4) is a C-language
implementation of the RAPTOR public transit routing algorithm.
C++
- just_gtfs
- C++17 header-only library for reading and writing GTFS (used in Valhalla). Main
features: fast reading and writing of GTFS feeds, support for extended
GTFS route types, simple working with GTFS Date and Time
formats.
C
Go
Java
- OneBusAway
GTFS Modules - A Java-based library for reading, writing, and
transforming public transit data in the GTFS format, including database
support.
JavaScript
- gtfs-sequelize -
Node.js library modeling the static GTFS using sequelize.js.
- gtfs-utils
– Utilities to process GTFS data sets (e.g., “flattening”
calendar.txt & calendar_dates.txt,
computing arrival/departure times of trips).
- gtfs-via-postgres
– Yet another tool to process GTFS using PostgreSQL.
- Node-GTFS -
Loads transit data from GTFS files, unzips it and stores it to a SQLite
database. Provides some methods to query for agencies, routes, stops and
times.
PostgreSQL
Python
- ESRI
public-transit-tools - Tools for working with public transit data in
ArcGIS (license for ArcGIS required).
- gtfsdb -
Python library for converting GTFS files into a relational
database.
- gtfs_functions -
Python package with useful functions to create geo-spatial
visualizations from GTFS feeds.
- gtfs-segments -
Python package that represents GTFS data for buses in a concise tabular
manner using segments.
- gtfslib-python
- An open source library in python for reading GTFS files and computing
various stats and indicators about Public Transport networks.
- gtfsman -
Repository-like tool in Python to manage and update a huge number of
GTFS feeds.
- gtfspy - Public
transport network analysis and travel time computations using Python3.
Compatible with Postgres/PostGIS, Oracle, MySQL, and SQLite. Used by gtfspy-webviz.
- GTFS Kit - A
Python 3.8+ tool kit for analyzing General Transit Feed Specification
(GTFS) data. Supersedes GTFSTK.
- Make GTFS - A
Python library to make GTFS feeds from basic route information.
- Mapzen GTFS
- A Python GTFS library that supports reading individual GTFS tables, or
constructing a graph to represent each agency in a feed.
- multigtfs -
A Django application to import and export GTFS.
- partridge - A fast,
forgiving Python GTFS reader built on pandas DataFrames.
- transit_service_analyst
- A Python library to support transit service analysis.
- TransitGPT -
TransitGPT is a Generative AI-powered chatbot that enables transit
enthusiasts to access and analyze General Transit Feed Specification
(GTFS) data through natural language instructions.
R
- r-transit - Collection of
tools for GTFS in R.
- gtfsio - Fast and
flexible functions to read and write GTFS in R.
- tidytransit -
Use tidytransit to map transit stops and routes, calculate travel times
and transit frequencies, and validate transit feeds. tidytransit reads
the General Transit Feed Specification into tidyverse and simple
features data frames.
Ruby
- GTFS-viz - Ruby
script that converts a set of GTFS files into a SQLite database +
GeoJSONs (needed by the Transit Map web
application)
Rust
- gtfs-structure
- This crates provides GTFS structures and helpers to read GTFS
archives.
GTFS Converters
Converters from various static schedule formats to and from GTFS.
- Chouette
- Converts between French-Transmodel NeTEX and
GTFS.
- extract-gtfs-pathways
– Command-line tool to extract pathways as GeoJSON from a GTFS
dataset.
- extract-gtfs-shapes
– Command-line tool to extract shapes as GeoJSON from a GTFS
dataset.
- GTFS-OSM-Sync -
A Java tool for synchronizing data in GTFS format with OpenStreetMap.org.
- gtfs-parser -
The GTFS-PARSER library is a library to allow javascript to parse gtfs
and create geojson on client or server.
- gtfs-service-area
- Compute a transit service area from static GTFS. Results are output as
single-layer .geojson files. Dockerized version of gtfs-to-geojson.
- GTFS-route-shapes
- A Python script to generate a single geoJSON shape for each transit
route in a GTFS archive.
- gtfs-to-geojson
- Javascript tool that converts transit data in GTFS shapes and stops
into geoJSON. This is useful for creating maps of transit routes.
- gtfs2gps - An R
package that converts public transportation data in GTFS format to
GPS-like records in a
data.table, where each row represents
the timestamp of each vehicle at a given spatial resolution.
- gtfs2emis - An R
package to estimate the emission levels of public transport vehicles
based on General Transit Feed Specification (GTFS) data.
- gtsf - general transit
(GTFS) simple (geographic) features (sf) in R. can be used to convert
from GTFS to Shapefile, GeoJSON, and other formats through GDAL.
- hafas-generate-gtfs
(work-in-progress) – A Javascript tool to generate GTFS dumps
from HAFAS endpoints.
- Hafas2GTFS -
Hafas2GTFS converter written in Python, optimized for SBB HAFAS
feeds.
- kml-to-gtfs-shapes
- Javascript tool to convert polylines from a KML file into a GTFS
shapes.txt file. Hosted on GitHub here.
- NeTEx-to-GTFS
Converter Java - Converts NeTEX datasets into GTFS datasets. The
input NeTEx datasets are required to follow the Nordic NeTEx
Profile.
- o2g - A simple tool to
extract GTFS feed from OpenStreetMap.
- Open-Transport
SYNTHESE Convertors - Converts French-Transmodel, SIRI, NETeX,
HAFAS, HASTUS, VDV452, and more.
- onebusaway-gtfs-to-barefoot
- A Java tool to create a Barefoot mapfile from a
GTFS file.
- onebusaway-vdv-modules
- A Java library for working with transit data in the VDV format,
including converting VDV-452 schedule data into GTFS.
- osm2gtfs - Turn
OpenStreetMap data and schedule information into GTFS.
- transit_model
- A Rust library to convert to/from the following formats: GTFS, NTFS
(for Navitia, see Software for
Creating APIs), TransXChange (UK specification), KV1 (NL
specification), NeTEx (EU specification).
- transloc-gtfs-rectifier
- Python application that attempts to assign GTFS stop_ids to TransLoc IDs using TransLoc’s
API (TransLoc doesn’t provide
GTFS
stop_ids in their API).
- Transmodel and
IFF to GTFS - Imports and syncs (Transmodel) BISON Koppelvlak1, IFF
(a format written by HP/EDS, somewhat similiar to ATCO CIF) to import
timetables of the railway networks. The internal pseudo-NETeX
datastructure allows to export to GTFS and there are proof-of-concepts
to export to other formats such as NETeX, GTFS and IFF.
- Transporter-Project
transxchange-to-gtfs TransXChange to GTFS converter written in
Objective-C.
- TXC
TransXChange publisher (UK Department for Transport) - The TXC
TransXChange publisher is a standalone software tool that can be used to
publish TransXChange compliant XML documents in a format that’s easy to
read and print.
- UK2GTFS - R
package that converts UK format TransXchange (bus, metro, tram, ferry)
and CIF (rail) timetables to GTFS.
GTFS Data Collection
and Maintenance Tools
- AddTransit -
SaaS (Software as a Service) platform to create, edit and publish
schedules in GTFS format.
- bus-router -
Python script that generates missing shapes.txt for GTFS using routing
from Google
Maps Directions API or OSRM.
- gtfs-blocks-to-transfers
- A Python tool to convert GTFS blocks, defined by setting trip.block_id
into a series of trip-to-trip transfers
(proposal).
- GTFS
Diff - GTFS Diff is a specification created by
transport.data.gouv.fr and aims at providing a simple and unified way to
express differences between GTFS files.
- GTFS Editor -
A (self-hosted) web-based GTFS editing framework. (Note: this project
has been deprecated in favor of IBI Data
Tools.)
- GTFS Editor
for Vagrant - Quickly set up the GTFS editor (above) using Vagrant
- static-GTFS-manager
- A (self-hosted) browser-based user interface for creating, editing,
exporting static GTFS (see related
post).
- TransitWand -
An open source web and mobile application for collecting transit data.
Use it to create GTFS feeds, capture passenger counts or generate GIS
datasets.
- IBI Data
Tools - A web application that handles GTFS editing, validating,
quality checking, and deploying to OpenTripPlanner. (Combines and builds
upon the functionality of the deprecated Gtfs Data
Manager and GTFS
Editor.)
- IBI Data
Tools Infra - A tool to quickly setup and run a local instance of
the above IBI Data Tools project.
- GTFS.html - An
entirely browser-based tool to view GTFS feeds. Use it to view routes,
stops, timetables, etc.
- pfaedle -
Precise map-matching for GTFS using OpenStreetMap data
- GTFS shape
mapfit - Python tool that fits GTFS shape files and stops to a given
OSM map file. Uses pymapmatch for the
matching.
- GTFS
Builder - A free web-based application to help you create GTFS
files. Maintained by the National Rural Transit Assistance Program
(RTAP).
- gtfs-station-builder
- UI tool to help build the internal structure of stations (including
pathways.txt)
- GTFS
Text-to-Speech Tester - A command-line tool that reads GTFS stop
names out loud using Text-to-Speech to determine which need
Text-to-Speech values for tts_stop_name in stops.txt.
- Spare
GTFS-Flex Builder - A free tool that helps transit agencies easily
create, manage, and export their transportation data in GTFS-Flex
format.
- Swiftly - Tool generate realtime
transit data.
- Chouette
SaaS - Tool to generate GTFS Schedule data
- Ara SaaS - Tool
to generate GTFS Realtime data.
- Amarillo - Aggregates
and enhances carpooling-offers and publishes them as GTFS(-RT)
- GTFS Kit - A
Python 3.6+ tool kit for analyzing General Transit Feed Specification
(GTFS) data. Supersedes GTFSTK.
- gtfstools - A set
of convenient tools for editing and analysing transit feeds in GTFS
format in R.
- transit_service_analyst
- A Python library to support transit service analysis.
- Peartree - A Python
library for converting transit data into a directed graph for network
analysis.
- R5: Rapid Realistic Routing
on Real-world and Reimagined networks - A Java-based routing engine
developed by Conveyal for multimodal (transit/bike/walk/car) networks.
It currently plans many trips over a time window for scenario planning
and analytics purposes. A related R wrapper package (r5r) is developed
independently by IPEA. See also the performance comparison from Higgins
et al. (2022), linked below.
- tidytransit -
An R package to read GTFS data into tibbles and simple features
dataframes to map transit stops and routes, calculate travel times and
transit frequencies, and validate transit feeds.
- transitr - An R
package for constructing and modelling a transit network in real time to
obtain vehicle ETAs
- transit-intensity
- A simple project for measuring transit intensity written in Go.
- Busbuzzard -
Inference of probabilistic schedules from empirical data about transit
vehicles.
- ESRI ArcGIS
Public Transit Tools (GTFS) - Tools for working with public transit
data in ArcGIS
- GTFS-to-Chart -
Creates stringline charts showing all vehicles on a transit route from
GTFS data.
- GTFS
Display - Analyse, monitor and maintain GTFS data (Example
instances).
- PTNA
- Public Transit Nework Analysis is a open source system for finding and
aggregating information about public transportation lines mapped in
OSM.
- GTFS-to-HTML - Generate
human-readable timetables in HTML or PDF format directly from GTFS.
- Timetable Kit
- An open source Python 3.10 module and scripts depending on GTFS Kit, designed to
create complex printed/PDF timetables with flexible layouts. Currently
only working out of the box for Amtrak’s GTFS, but under active
development.
- TimeTablePublisher
(TTPUB) - A web publishing system developed by TriMet that allows a
transit agency to examine, modify, and transform raw scheduling data
into easy-to-read timetables for customer information purposes
GTFS Validators
GTFS Realtime
GTFS Realtime Libraries &
Demo Apps
GTFS Realtime Validators
- GTFS-realtime
to SQL - Parses a GTFS-RealTime feed into an SQL database (used in
OpenMobilityData.org)
- gtfsrdb - A
Python tool that supports reading and archiving GTFS-realtime feeds into
a database
- retro-gtfs - A
Python application that collects real-time data from the Nextbus API and
archives it into the GTFS format (i.e., retrospective GTFS).
- Transi - A
Cloud-native GTFS-RT/GTFS archiving system.
- GTFS-Realtime-Capsule
- A command-line tool that scrapes, normalizes, and archives real-time
public transit data.
- gtfsdb_realtime
- Real-time GTFS database loader and ORM library
GTFS Realtime Convertors
GTFS Realtime Utilities
SIRI
Widely adopted
- APDS
- Alliance for Parking Data Standards: formed by the International Parking Institute
(IPI), the British
Parking Association (BPA), and the European Parking Association
(EPA). APDS is a not-for-profit organization with the mission to
develop, promote, manage, and maintain a uniform global standard that
will allow organizations to share parking data across platforms
worldwide.
- DATEX - EU data standard for road
traffic and travel information.
- GBFS - General Bikeshare Feed
Specification: open data standard for real-time information about
bikeshare, scootershare, mopedshare, and carshare.
- gbfs R package -
Functions to interface with GBFS feeds in R, allowing users to save and
accumulate tidy .rds datasets for specified cities/bikeshare
programs.
- MDS
- Mobility Data Specification: A format to implement realtime data
sharing, measurement and regulation for municipalities and mobility as a
service providers. It is meant to ensure that governments have the
ability to enforce, evaluate and manage providers. Maintained by the Open Mobility
Foundation.
- NeTex - A general purpose XML
format designed for the exchange of complex static transport data among
distributed systems managed by the CEN
standards process.
- TODS - Transit Operational
Data Standard: standard format for representing transit schedules used
by drivers, dispatchers, and planners to carry out transit
operations.
- TOMP - Transport
Operator Mobility-as-a-service Provider API: API standard for use by
transport operators and mobility-as-a-service providers for operator
discovery, trip planning, end user interaction, booking, and
payment.
Pilot or development stage
- CurbLR - A
specification for curb regulations.
- Dyno-Demand
- A GTFS-based travel demand data format focusing on individual
passenger demand suitable for dynamic network modeling
developed by San Francisco County Transportation Authority, LMZ LLC, and
UrbanLabs LLC.
- Dyno-Path
- (Under development - see this
post) Data for individual passenger trajectories.
- GTFS-plus
- A GTFS-based transit network format for vehicle and capacity
data suitable for dynamic transit modeling developed by Puget Sound
Regional Council, UrbanLabs LLC, LMZ LLC, and San Francisco County
Transportation Authority.
- GTFS-ride - An
open, fixed-route transit ridership data standard developed through a
partnership between the Oregon Department of Transportation and Oregon
State University.
- GTFS-stat
- An extension to a GTFS transit network with additional files that
contain performance data developed by UrbanLabs LLC and San Francisco
County Transportation Authority.
- GMNS -
General Modeling Network Specification: A format for sharing routable
road network files designed to be used in multi-modal static and dynamic
transportation planning and operations models. Volpe/FHWA partnership
with Zephyr Foundation.
- GTNS
- General Travel Network Specification: A planned data specification for
sharing travel demand model networks.
- IXSI - interface
for exchanging information between a travel information system and a
sharing system (carshare, bikeshare).
- MTLFS
- Managed and Tolled Lanes Feed Specification: Proposal for a schema
that comprise the Managed and Tolled Lanes Tolling Feed Specification
(MTLFS) and defines the fields used in all of those files developed by
Santa Clara Valley Transportation
Authority.
- MaaS
API - A set of open documents and test suite that defines a
MaaS-compatible API.
- NCHRP
08-119 Developing Data Standards and Guidance for Transportation
Planning and Traffic Operations - Phase 1 (Anticipated) - The
objective of this research is to develop standards and/or guidance to be
used and adopted by the transportation community in collecting,
managing, and sharing static and real-time data for transportation
planning and operations.
- OMX: The Open Matrix
data file format - A structured collection of two-dimensional array
objects and associated metadata, for possible use in the transportation
modeling industry.
- OJP - Open Journey
Planner.
- OSDM -
Open Sales and Distribution Model: Aims to substantially simplify the
booking process for customers of rail trips and to lower complexity and
distribution costs for distributors and railway carriers. Contains a
specification of an offline model and on-line API. Maintained by the International
Union of Railways (UIC).
- SAE Shared and Digital
Mobility Committee - Appears to be working on a data standard for
car share and transportation network companies (TNCs) / rideshare.
- shared-row -
A specification for right-of-way (ROW) for a SharedStreets
Reference.
- TCRP
G-16 Development of Transactional Data Specifications for
Demand-Responsive Transportation (In progress) - The objective of
this research is to develop technical specifications for transactional
data for entities involved in the provision of demand-responsive
transportation. Expected completion date is late 2018.
- TIDES - Transit
ITS Data Exchange Specification (TIDES) is a proposed effort to create
standard data structures, APIs, and data management tools for historical
transit ITS data including AVL, APC and AFC Data.
Software for Creating APIs
Software that you can set up to provide an API to transit and
multimodal data.
- GraphHopper
Routing Engine Open source routing engine for OpenStreetMap. Use it
as Java library or server.
- gtfs-server
- A web server, written in Rust that uses PostGIS as a backend to serve
GTFS data via a HTTP endpoint
- hafas-rest-api
– Expose a HAFAS
endpoint as a REST API.
- Linked Connections - An
open-source, scalable intermodal route planning engine, which allows
clients to execute the route planning algorithm (as opposed to the
server). Uses GTFS data.
- Mobroute - Mobroute is a
general purpose FOSS public transportation router (e.g. trip planner) Go
library and CLI that works by directly ingesting timetable (GTFS) data
from transit agencies themselves (sourced from the Mobility Database). It can
be used to quickly run & test routing requests based on GTFS data on
your device (via its CLI) or it can be embedded as a library to add GTFS
routing to existing navigation apps.
- MOTIS - Multi
Objective Travel Information System, written in C++ and Java. Can
consume schedule timetables in the GTFS or HAFAS format as well as real
time information in the GTFS-RT (and RISML, a propriatary format at
Deutsche Bahn) as input data. For pedestrian routing (handled by Per
Pedes Routing) and car routing (handled by OSRM) OpenStreetMap data is
used.
- Navitia is the
opensource engine behind the Navitia.io live API.
- OneBusAway - A Java app that
consumes GTFS and GTFS-Realtime (along with other
formats) and turns them into an easy to use REST API.
- OpenTripPlanner - An
open source platform for multi-modal and multi-agency journey planning,
as well as returning information about a multi-modal graph (using data
sources such as GTFS and OpenStreetMap).
- pyBikes - Software
powering CityBikes for worldwide
bikeshare system info
- Simple
Transit Api - A simple way to get started with a GTFS api in
Golang.
- TransitClock - Java
application that can consume raw vehicle positions and generate
prediction times in formats such as GTFS-realtime. Formerly known as
“Transitime”.
- Transitous - Community-run free
and open public transport routing service.
Sharing Data
Places to access collections of GTFS and other transit and multimodal
data.
3rd party GTFS URL
directories
- The Mobility Database -
JSON and CSV files on
GitHub that is a repository of 2000+ mobility datasets across the
world. Contains contents of OpenMobilityData/TransitFeeds.com.
- Transitland - Community editable
list of many transit agency GTFS datasets. Also provides an API to
access the data as JSON/GeoJSON and a playground to try out the
data.
- TransitData.io - A list of
GTFS data in parts of Latin America. Must contact website maintainers
directly to access feeds, as they’re not publicly available.
OpenMobilityData
(Deprecated) - List of GTFS and GTFS-RT feeds.
Archives and
validates the GTFS feeds and allows you to preview both GTFS
and GTFS-RT
through the browser. Formerly TransitFeeds.com. MobilityData
announced it is end-of-life as of early 2022 with a shutdown date to
be determined.
Transit agency data archives
- CapMetrics -
Historical vehicle locations for Austin’s transit agency (CapMetro).
Data is collected by capmetricsd, a Go
daemon.
- Bus Observatory API -
Public archive of real-time data on vehicle movements and status,
collected from transit systems around the world.
National government datasets
Proprietary (non-standard)
vendor APIs
- Transport API - REST API
for aggregated transit data for the United Kingdom. Fee-based
access.
- NextBus
API - REST API for real-time vehicle, route, stop, and arrival data
for agencies that have puchased NextBus’s hardware and/or software.
- Navitia.io - REST API for
journey planning, stop schedules, isochrones and lot more on US and EU.
Navitia is the
opensource engine behind the live API.
- CityBikes - REST API for
aggregated bikeshare data from around the world. Powered by pyBikes.
- HAFAS – Propriety
public transport management software by HaCon (list of
endpoints)
- Citymapper
API - REST API for transit journey planning, realtime transit data
and walk, cycle, scooter travel times.
- TripGo API - REST API for
multi-modal journey planning and real-time data by SkedGo.
Crowdsourced transit data
- Citylines.co - A
collaborative platform for mapping transit systems, with an emphasis on
their historical evolution. The data can be downloaded as GeoJSON or CSV
from citylines.co/data.
- OpenStreetMap (OSM) -
The collaborative platform for mapping the world, including transport,
transit, and routing data.
- GTFS-Hub - Community
tested, probably quality/content enhanced, partially merged or filtered
GTFS-feeds of (currently German) transport agencies. Maintained by MITFAHR|DE|ZENTRALE.
Sample
GTFS and GTFS Realtime datasets used for software testing
Using Data
Consumer Apps
Apps people use when taking transit.
Web Apps (open source)
- Catenary Maps - Realtime and
Schedule global public transport map and navigation software, written in
Rust and Svelte.
- Instabus - Realtime map of
Austin’s (CapMetro) public transit. Has no server/backend dependency at
all and runs completely on GitHub pages.
- OpenTripPlanner
Client GWT - A Google Web Toolkit-based web interface for
OpenTripPlanner
- OpenTripPlanner.js
- A Javascript-based client for OpenTripPlanner (no longer under
development)
- OTP-UI React
Component Library - React Javascript component library, which can be
used to build trip planner webapps. See the Storybook for a
demo.
- GTFS-realtime
Alerts Producer Web Application - A Java-based web application for
producing GTFS-realtime Service Alerts.
- HRT BUS Web app
- HRT Bus API publishes real time bus data from Hampton Roads Transit
through an application programming interface for developers to make apps
from it.
- Transit-Map -
Web app that animates vehicles (markers) on a map using the public
transport timetables to interpolate their positions along the routes
(polylines).
- Transitive.js -
Creates a customizable web map layer of transit routes using Leaflet or
D3.
- Google I/O
Transport Tracker - Shows shuttle arrival times for Google I/O
conference, based on the open-source transport-tracker
project. Note: To implement this yourself, you need a Google Maps
APIs Premium Plan license.
- 1-Click
- A virtual “trip aggregator” that assembles information on a wide
variety of available modes: public transit, private, rail, rideshare,
carpool, volunteer, paratransit, and walking and biking.
- Bustime - Public transport real-time
monitoring with WebSocket updates. Open-source on GitHub.
- Transit Tracker -
Realtime vehicle position for Greater Montreal & Toronto,
Canada
- GTFS
Builder - A free web-based application to help you create GTFS
files. Maintained by the National Rural Transit Assistance Program
(RTAP).
- Dede - An independent and universal passenger information system
(PIS) mapping realtime movement. A message feed with Vehicle Position
entities in the GTFS-Realtime format or the Dede app can
be used as data source.
- MBTA tile-server -
Scripts to create a Docker container that encapsulates all the elements
necessary to develop map tiles for use on MBTA.com
- Cadê Meu
Busão - Realtime tracking transit buses from Belo Horizonte, Brazil.
Open-source on GitHub.
- Tiramisu
Transit - An adaptive mobile transit app that shows real-time bus
arrival information developed and deployed by Carnegie Mellon
University. No longer maintained.
Web Apps (closed source)
- TransitScreen - Custom
realtime displays of all local transportation choices
- Citylines.co - A
collaborative platform for mapping transit systems, with an emphasis on
their historical evolution.
- Bikeshare Map - Status of
all worldwide bikeshare stations
- Bongo - Real-time Transit Tracking
for Iowa City, Coralville and the University of Iowa. Combines three
disparate transit systems into one UI.
- CityMapper Webapp - Really
polished webapp with trip planner and route status for over 30 of
cities.
- TransSee - Real-time transit
predictions based on actual travel times, vehicle locations, schedules
and maps. Premium gives you access to a detailed history of schedules,
vehicle locations, stop arrivals, schedule adherance, charts and graphs.
For an additional fee custom queries can be run on this data.
- YourStop - Mobile friendly web
app which consumes GTFS feeds and displays both live and scheduled trips
for stops. Launched with MBTA, YRT/Viva and Maryland MTA.
- DC MetroHero - Realtime
vehicle position and arrivals and departure information for the
Washington, D.C. region’s WMATA Metrorail and Metrobus systems. WebApp,
Android, and iOS apps avaliable.
Native Apps (open source)
- KDE Itinerary - App
(Desktop and Android) for planning trips. It can find public transport
routes, store them offline, add events to your trips, see the floor plan
of train stations, and much more. Souce Code, GitHub
- MACS Transit
Android App - A bus tracker app for Android devices for the MACS
Transit system in Fairbanks, Alaska. Uses RouteMatch APIs.
- Next Train -
Connecticut - A React-native mobile app for searching train
schedules published by the Shore Line East transit agency in
Connecticut. Relies on a deployment of the Next Train
API.
- Offi Directions - An
Android app that provides trip planning, schedules, live departure
times, and disruption information for transport authorities in Europe
and beyond.
- OneBusAway Apps - Android
(source
code), Fire
Phone (source
code), iOS (source
code), Windows
Phone (source
code), Google
Glass GDK (source
code), Alexa skill
(source
code)
- OpenTripPlanner
Android - An Android app for OpenTripPlanner
- OpenTripPlanner
iOS - An iOS app for OpenTripPlanner
- opentripplanner-client-library
- A Kotlin Multiplatform library for making API requests and parsing
responses from an OpenTripPlanner v2 server for trip plans, bike rental
info, and server metadata for Android, iOS, and web.
- Transito - FOSS
data-provider-agnostic public transportation app that let’s you route
between locations using openly available public GTFS feeds (sourced from
the Mobility Database).
Utilizing the Mobroute Go API,
the Transito app lets you performs routing calculations right on your
phone. Cross-platform app currently supporting Android & Linux.
- Tiramisu
Transit - An adaptive mobile transit app that shows real-time bus
arrival information developed and deployed by Carnegie Mellon
University. Written using Ionic framework. No longer maintained.
- Transportr An
Android app that uses public-transport-enabler
in order to connect to many different transport networks worldwide.
- Trufi
App - A cross-platform Flutter app that uses OpenTripPlanner
Native Apps (closed source)
Hardware
Experimental and production transit hardware.
- Bus Tracking
GPS - Code for Miami prototype of a cheap open-source solution to
track transit buses.
- Train
departure Display - A replica, near real-time, miniature UK railway
station train departure sign based upon a Raspberry Pi Zer0.
SDKs
- TripKit -
TripKit is a Swift-library to get data from public transport
providers.
- KPublicTransport
- A C++ library for accessing realtime public transport data and for
performing public transport journey queries.
- SkedGo’s TripKit SDKs -
Open source SDKs for Android, iOS and React for accessing SkedGo’s TripGo API, including trip
planning UI components.
Visualizations
GTFS Based Visualizations
- All Transit - Interactive GTFS
route and schedule animation (for U.S. cities) using Mapbox GL JS,
Deck.gl and Transitland. Github repository here.
- BusGraphs
Access Analyzer - Web application for measuring the access provided
by real and hypothetical fixed-route public transit networks, and
visualizing and decomposing this access in variety of ways.
- fastest-bus-analysis-in-the-west
- A python Pandas script that combines Ridership/APC, Swiftly speed and
dwell data, bus stop inventory, GTFS, and geospatial shapes to create a
stop by stop, route by route, time grouping filterable dataset for
cross-analyses. The dataset is then visualized in Tableau
to help VTA Planners find places to make bus and rail network faster and
more reliable through speedups methods like stop consolidation and
dedicated lanes.
- gtfspy-webviz
- Web application for animation and visualization of GTFS data using gtfspy.
- gtfs-to-geojson - A
simple online converter for gtfs to geojson with a list of feeds.
- gtfs-visualizations
- Open-source NodeJS application for visualizing the routes of GTFS
datasets.
- Mapnificent - Shows areas
you can reach with public transport in a given time. Open-source on GitHub, live at
https://www.mapnificent.net/.
- MIT COAXS -
Co-creative Planning of Transit Corridors using Accessibility-Based
Stakeholder Engagement (shows route scenarios using OpenTripPlanner
Analyst).
- MOTIS - Intermodal Mobility
Information System including visualization
- MTA
Frequency - Frequency visualization of subways and buses in New York
City built using Transitland.
- SEPTA Rail OTP Report -
An online on-time performance reporing & drill down tool using
GTFS.
- Simple
Transit Map - An online example of how to host and update a
webmap.
- Simple Transit
Site - An online example of how to create a transit website all from
your gtfs on
Github
- TNExT - Transit
Network Explorer Tool (TNExT) is a web-based software tool developed for
the visualization, analysis, and reporting of regional and statewide
transit networks in the state of Oregon.
- Toronto Transit
Explorer - A Java application that visualizes transit, biking and
walking accessibility across the city of Toronto. Uses a modified
version of R5 for
routing.
- Transit Vis
- A visualization tool to display performance metrics derived from the
King County Metro GTFS-RT feed (OneBusAway API). Viewable here. Used for this
paper.
- TransitFlow
Animate GTFS data around the world using Processing and
Transitland.
- TRAVIC Transit Visualization
Client - Visualizes vehicles moving based on static GTFS data (and
sometimes realtime data). Supports over 260 cities. Github account for
geOps organization is here.
- Traze by Veridict - Visualization of public
transport vehicles from all over the world. Collaborate with other users
to get real-time updates even when it is not available from the agency.
Based on a number of sources, including GTFS and GTFS-RT. (Previously
known as Livemap24).
- Visualizing MBTA Data -
Interactive graphs that show how people use Boston’s subway system.
- GTFS Viz 🚉 - A
web app that visualizes GTFS Data on the browser at scale without a
backend on the client side using duckdb-wasm
🦆.
Transit Map Creation
Brand New Subway
- An interactive transportation planning game that lets players alter
the NYC subway system to their heart’s content.
BENO Metro Mapm
Creator - A very old fashioned but classic transit map
creator.
Tennessine Metro
Designer - A modern and aesthetically pleasing transit map
designer.
loom - Software
suite for the automated generation of geographically correct or
schematic transit maps.
Metro Map Maker - An
open source and simple metro map maker software.
MetroDreamin’ - A
modern, open source software that allows users to create, save, like,
and share interactive transit maps with agents.
Rail Map
Generators - Tool for generating railway maps and information panels
in the styles of various cities’ public transportation systems.
MetroSets - A
flexible web tool to visualize set systems using the metro map metaphor.
Based on this paper
##### General Drawing Applications for making transit
visualizations
Adobe
illustrator - The industry-leading vector graphics software (requres
membership plan).
Inkscape - A free desgn tool
similar to Adobe Illustrator. ##### General GIS Applications for making
transit visualizations
Felt - An aestically pleasing
Modern GIS software.
Google Mymaps -
Create and share custom maps with Google My Maps.
Google Earth -
Create and share custom maps with one of the the world’s most detailed
statelite applications.
Transit Map Aggregation
- UrbanRail.Net - Worldwide
reference map of urban rail transport (metros,trams,commuter rail) with
detailed and up-to-date information.
- OpenRailwayMap -
Worldwide map of railways using OpenStreetMap data.
- AllRailMap - Another
worldwide map of railways using OpenStreetMap data.
- European Railway
Atlas - A reference book of European railway maps that is
available for purchase.
- Rail
Transit Maps - A collection of railway maps covering Europe
(especially Russia).
- Tramscale - Website
outlining maps showing the scales of tram systems around the world.
- Timelines - Compare
the timelines of Rapid Transit Projects around the world.
- Metrolinemap -
Interactive Maps of the world’s Metro systems.
- Metrocyclopaedia - 3d
maps of metro systems across the world (uses data from
Metrolinemap).
- RailFansCanada - Interactive
System Map detailing the the present and future of different urban rail
systems in Canada.
- North
American Transit - Map of all Passenger Rail in North America
including (intercity rail, metros, trams and tourist lines)
- Intercity Rail map - Map
of the real time location and schedule information for Amtrak and
Via trains
- Indian Railways Map -
Interactive Maps of the Indian Main rail network.
- National
Rail Network Map - This map shows the extent and ownership of rail
lines in the United States, including passenger and freight lines.
- Ferrocarta - A series of maps
covering all of the passenger rail networks in Brazil, Canada and
France.
- Train Lookout - A tool to
easily Log, map and share your journeys by train.
- Australian Rail Maps -
Detailed Australian railway maps from the national, state and city
levels.
- Steam Engine “IS” -
Maps of railways in the USSR.
- Carto.Metro - Detailed maps of
metro and tram networks of global cities (especially in France).
- Railway Stations -
Photos of Railway Stations across the world.
- INAT -
Aesthetically pleasing static maps of worldwide metros systems.
- Transit Maps - Critiques and
reviews of the design of transit maps from across the world.
- Transit
Explorer - A map containing fixed-guideway transit around the
world.
- Britsh
Railways An interactive map of Great Britain’s rail network.
- TransitLand Map -
Worldwide map of transit services (which have a GTFS Feed).
- DB
InfraGO - Interactive Map of German Rail infrastructure.
- SNCF
Carte interactive - Interactive Map of French Rail
infrastructure.
- Project
Mapping - Schematic maps of UK and worldwide rail networks.
- China Railway Map -
An online Interactive map for the passenger railway transportation
system of China, presenting station and rail information.
- Canadian
Rail Atlas - a user-friendly, interactive map of Canada’s nearly
43,000-kilometre railway network.
- The Rail Map - An
Interactive Map with Train lines in North America using data from
OpenStreetMap.
- JR pass - Interactive Map
of Mainline Rail in Japan.
Tools for transit agencies. See also GTFS Data Collection
and Maintenance Tools for tools specific to GTFS.
- Remix - A webapp that lets
transit agencies easily plan routes.
- Next Train
API - Serves any GTFS feed as a JSON API. Transit agencies and
developers alike can deploy the open source code to their own Heroku
server.
- AC
Transit RestroomFinder - Pinpoints the nearest authorized restroom
for bus operator and field staff, using GPS and on-screen map.
- AC
Transit Training and Education Department (TED) application - This
application supports the District’s training operations for
transportation and maintenance employees, primarily in the positions of
Bus Operators and Heavy Duty Coach Mechanics (Apprentice and Journey),
although the system supports new courses and apprenticeship
programs.
- AC
Transit Customer Relations application (CusRel) - Public transit
ticketing system for customer issues and feedback with:
inter-departmental routing with notifications, department/person
assigments, simple workflow, ticket searching, pre-canned reports, daily
reminders and more.
- PTV
Lines - A cloud-based public transport software for line planning
and public transport service optimisation
- TransAM
- An open-source asset management platform for public transportation
agencies.
- RidePilot - An
open-source Computer Aided Scheduling and Dispatch (CASD) software
system to meet the needs of small scale human service transportation
agencies.
- TNExT - Transit
Network Explorer Tool (TNExT) is a web-based software tool developed for
the visualization, analysis, and reporting of regional and statewide
transit networks in the state of Oregon.
- Route Trends (webapp, GitHub) - An R
Shiny app to ingest ridership time series, and return seasonal, trend,
and residual components according to STL methodology and
forecasts including uncertainty based on those components. Sponsored by
Metro Transit
(Minneapolis-St. Paul).
- TBEST - TBEST (Transit Boardings
Estimation and Simulation Tool) is an effort to develop a multi-faceted
GIS-based modeling, planning and analysis tool which integrates
socio-economic, land use, and transit network data into a platform for
scenario-based transit ridership estimation and analysis. Funded by the
Florida Department of Transportation. Free to use but not
open-source.
- RideSheet – A simple,
spreadsheet-based tool for small demand-responsive transportation (DRT)
services.
Resources
Places to ask questions and find other community resources.
Local and regional groups
Blog posts, and reports related to open transit data.
Blog posts
Academic papers
- Tang
et al. - “Ridership effects of real-time bus information system: A case
study in the City of Chicago” - Experiment in Chicago, IL showed
modest increase in ridership when riders had access to real-time info
via text message or email.
- Kay et
al. - “When(ish) is my bus? User-centered Visualizations of Uncertainty
in Everyday, Mobile Predictive Systems” - Paper attempts to answr
the question of “how do we communicate uncertainty in transit
predictions?” Explains the problem, existing solutions and designs a better
interface for letting users know when to arrive at the bus
stop.
- Watkins
et al. - “Where Is My Bus? Impact of mobile real-time information on the
perceived and actual wait time of transit riders” - Experiments in
Seattl,e WA showed that riders perceived shorter bus wait times when
they had access to real-time info via mobile apps.
- Brakewood
et al. - “An experiment evaluating the impacts of real-time transit
information on bus riders in Tampa, Florida” - Controlled experiment
in Tampa, FL showed that riders with access to real-time info via mobile
apps perceived nearly 2 minute reduction in wait times compared to
riders without real-time info. Riders with real-time info also had
decreases in anxiety and frustration and better reception of
agency.
- Brakewood
et al. - “The impact of real-time information on bus ridership in New
York City” - Experiment in NYC showed that ridership increased on
long routes when real-time info was made available to riders.
- Brakewood
and Watkins - “A literature review of the passenger benefits of
real-time transit information” (2018) - An overview of many
different research studies looking at the benefits of real-time transit
information.
- Gramacki et al. - “gtfs2vec - Learning GTFS
Embeddings for comparing Public Transport Offer in Microregions” -
Methology using Uber’s H3 spatial index and machine learning to identify
areas of “similar” public transit service quality in cities. Source code
available on
GitHub.
- Higgins et al. -
“Calculating place-based transit accessibility: Methods, tools and
algorithmic dependence” (2022) - Compares software tools for
calculating accessibility by walking and public transit including ArcGIS
Pro, Emme, R5R, and OpenTripPlanner.
- Aemmer
et al. - “Measurement and classification of transit delays using GTFS-RT
data” - Presents a method for extracting transit performance metrics
from a General Transit Feed Specification’s Real-Time (GTFS-RT)
component and aggregating them to roadway segments. Used with Transit Vis,
viewable here.
Government reports
Community-maintained lists
License

To the extent possible under law, MobilityData,Center for Urban Transportation
Research at the University of South
Florida, and Luqmaan
Dawoodjee have waived all copyright and related or neighboring
rights to this work.
About
This is a community resource for informational use only - listing of
a project/product does not imply endorsement.
This list is built and maintained by open source community
contributors like you! MobilityData stewards the
project.
#Awesome-transit was originally created by Luqmaan Dawoodjee and was
stewarded by the Center for Urban
Transportation Research at the University of South Florida for several
years before the project was transferred to MobilityData.
transit.md
Github