- Bengaluru: Vonter/bmtc-gtfs
- Chennai: ungalsoththu/ChennaiGTFS
- Delhi: OTD Delhi
- Goa: KTCL Goa
- Kochi: Jungle Bus
- Pune: croyla/pmpml-gtfs
- Mumbai: croyla/mumbai-gtfs
- Ahmedabad: croyla/amd-gtfs
- Rajkot: croyla/rrl-gtfs
- Hubli-Dharwad: croyla/hdbrts-gtfs
- Indore: Neo2308/aictsl-gtfs
- Telangana: Open Data Telangana
- Andhra Pradesh: Neo2308/apsrtc-gtfs
- Indian Railways: Neo2308/indianrailways-gtfs
- Greyhound: Greyhound, Flixbus
- NYC: MTA
To process the GTFS data, run the following command:
cd data
./process.pyThis will process all the GTFS data and generate the required files for the web app. The following Python scripts are run as part of the process.py script to generate optimized JSON files:
cd data
./routes.py --gtfs-path gtfs.zip --city blr --min-trips 2This generates:
stops.min.json- All stops with coordinates and namesroutes.min.json- Route shapes/polylines for map visualizationservices.min.json- Service patterns (stops sequence per route)
cd data
./schedule.py --gtfs-path gtfs.zip --city blr --min-trips 2This generates data/$city/schedule/$stop_id.json files containing scheduled times for all routes passing through each stop. These files serve as fallback data when live arrival information is unavailable.
cd data
./firstlast.py --city blrThis generates data/$city/firstlast.min.json containing the earliest and latest arrival times for each route at each stop. The format follows the route_no earliest_weekday latest_weekday earliest_saturday latest_saturday earliest_sunday latest_sunday convention where times are in HHMM format.
cd data
./ranking.py --gtfs-path gtfs.zip --city blrThis generates data/$city/ranking.min.json containing the importance rankings for each stop.
cd visualization
node build-routes.mjs --city blrcd visualization
node build-stops.mjs --city blrTo process the rail data, run the following command:
cd data
./rail.py --city blr --bbox 15.5,77.0,20.5,82.0This will fetch the rail network from OpenStreetMap and generate the rail.json used to render the rail network on the map.