Skip to content
Singapore Bus Routes Explorer
JavaScript HTML CSS
Latest commit 2a9a748 May 24, 2016 @cheeaun Update all data

README.md

BusRouter SG

Screenshot of Singapore Bus Routes Explorer

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

Previously known as Singapore Bus Routes Explorer, 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.

Complete Feature Set

  • Show full route with all bus stops for every bus service.
  • Show all bus stops when zoomed in.
  • Show all routes that pass through one bus stop.
  • Show bus arrival times for a bus stop.

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. https://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 svg_sprite - generate the SVG sprite
  • grunt inline - inline the JS and CSS files into the HTML
  • 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 color scheme and markers are inspired by Gothere.sg.

License

Data provided by LTA and partially by StreetDirectory.

Everything else: MIT

Feedback

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

Something went wrong with that request. Please try again.