Unofficial GTFS dataset for BMTC routes, stops and timetables in Bengaluru. Raw data sourced from Namma BMTC app, parsed and saved as GTFS.
The source for the data and analysis in this repository are the routes, stops and timetables as displayed on the Namma BMTC app. However, the Namma BMTC app is not completely accurate, and is particularly unreliable for timetables and stop timings. Nonetheless, the data can be used to understand general trends in the BMTC network.
Due to the design of the Namma BMTC app, only routes with functional live tracking are included in the GTFS. Any missing routes may be due to live tracking unavailability and not necessarily due to the route being inoperational.
The GTFS dataset can be found here
Route frequency - number of daily trips passing through a given route. View interactive map
Stop frequency - number of daily trips passing through a given stop. View interactive map
Most frequent routes - MF-375D (434 trips), MF-378 (393 trips), MF-410FA (319 trips), 290-E (306 trips), KBS-3A (293 trips). View interactive map
Most frequent stops - KBS (12520 trips), Corporation (7376 trips), Town Hall (4631 trips), Indian Express (4268 trips), Maharani College (4187 trips). View interactive map
GeoJSONs can be found below:
Conversion into other formats can be done using free tools like mapshaper or QGIS
CSVs can be found below:
Visualize the routes, stops and timetables in the GTFS dataset, with a web browser: https://bmtc-gtfs.netlify.app
- gtfs-validator
- gtfsvtor
- transport-validator (Older versions of GTFS)
- scrape.py: Scrape raw data from Namma BMTC
- gtfs.py: Parse raw data and save as GTFS
- valiate.py: Pass the GTFS through multiple GTFS validation tools
- geojson.py: Process the GTFS and output a GeoJSON representing the network
Raw JSON data scraped from Namma BMTC can be found below:
- routelines.zip: Pointwise co-ordinates of each route
- stops.zip: Stops through which each route passes
- timetables.zip: Timetables for each route
- Refactor/optimize scripts
- Fix validation errors and warnings
- Fix missing/failed routes/stops/timetables
- Minimize network calls
- Speed up data processing
- GitHub Actions workflow
- Daily update of route/stop/timetable changes
- PDF timetables
- Add maps (and data analysis)
- Route series-wise maps
- Directionality
- Reachability
- Redundancy
- Access to amenities (education, health, recreation, employment)
- Add fare information
Interested in contributing or want to know more? Join the bengwalk Discord Server