Skip to content

cheeaun/sgbusdata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

204 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update latest bus data

SG Bus Data

Singapore Bus data

This is a data-only repository to complement BusRouter SG.

The data

It's in the /data folder.

Or, browse through them on the data server: https://data.busrouter.sg/

Terminologies

  • Stop - the bus stop itself
  • Service - the bus service, with numbers like 133 or 1N
  • Route - the route of a bus service, the lines connecting all the stops
  • Pattern - the patterns of a bus route, one of the lines connecting the stops
    • If the route is one-way (A->B), there's only one pattern
    • If the route is two-way (A->B, B->A), there're two patterns in a route
    • Each pattern usually pass through different stops, as they're usually on opposite sides of the road.

Scripts

npm run cleanup

Delete files in data/v1/raw/services/*, data/v1/patch/*.cm.json and data/v1/patch/*.om.json, before running the commands below.

npm run fetch

npm run datamall

⚠️ This requires DatamallAccountKey environment variable. Make a copy of example.env file, rename to .env and put in your Datamall API key.

npm run patch

  • patch-missing-routes - Patch missing routes (failed requests from fetch-bus-services-route) by getting fresh route data from OneMap/Citymapper.
  • patch-multiline-routes - Patch multi-line routes (routes that has more than one line, we only need one line here, per pattern) by getting fresh route data from OneMap (again).
  • patch-bus-stop-names - Patch bus stop names (some of them are all-uppercase instead of titlecase) by double-checking them on https://www.transitlink.com.sg/eservice/eguide/bscode_idx.php

npm run generate

  • generate-data - Generate all the final clean data
  • generate-data-firstlast - Generate the first/last timing data

npm run build

Run all npm commands above.

About

Singapore Bus data

Resources

Stars

Watchers

Forks

Contributors