/busrouter-sg

Singapore Bus Routes Explorer

Primary LanguageHTML

Singapore Bus Routes Explorer

Available in the Chrome Web Store Get it in the Firefox Marketplace

Abbreviated as SBRE. I know, the name sucks. This app basically shows all routes on the map for all bus services in Singapore, inspired by this tweet.

Also available as an iPad app, created by Eddy Yanto.

Technical stuff

All data such as routes, bus stops and services are taken from http://mytransport.sg/, which means they are copyrighted by the Land Transport Authority.

Here's how to get the data, assuming that you have node, grunt and checked out this repo:

npm install
grunt fetchBusServices
grunt fetchBusStopsRoutes
grunt fixBadRoutes
grunt mapServicesStops
grunt populateServicesName
grunt busStopsGeoJSONKML

The data you'll get are:

  • bus-services.json - Lists all bus services with the bus numbers, routes (number of routes where 2 means two routes, usually in opposite direction) and the bus operator.
  • bus-stops.json - Lists all bus stops with coordinates and names.
    • bus-stops.geojson - GeoJSON format
    • bus-stops.kml - KML format
  • bus-stops-services.json - List all bus stops with the bus numbers/services that stops there.
  • bus-services/{number}.json - List two routes with all (polyline) coordinates and bus stops for each route. If the bus service doesn't have a second route, the second route data will be empty. E.g. http://cheeaun.github.com/busrouter-sg/data/2/bus-services/2.json.

Few more grunt goodies:

  • grunt connect - starts a local server
  • grunt uglify - concat/minify the JS files
  • grunt s3 - uploads data to a S3 bucket
  • grunt stats - get the stats for total number of bus stops and services

The icon is from The Noun Project. The map is powered by Google Maps JavaScript API. The color scheme and markers are inspired by Gothere.sg. Tested to work great on modern web browsers.

If you have any feedback, tweet me at @cheeaun.