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.
- 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.
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 formatbus-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 servergrunt uglify
- concat/minify the JS filesgrunt s3
- uploads data to a S3 bucketgrunt 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.