Explore bus stops and routes on the map for all bus services in Singapore, with realtime bus arrival times and per-bus-stop passing routes overview.
- All bus stops shown even in low zoom levels.
- Full routes display with all stops for every service.
- View all routes passing through a stop.
- Bus arrival times for every stop.
- First/last timings for all services.
Previously known as Singapore Bus Routes Explorer, abbreviated as 'SBRE' and previously looks like this:
A separate mini-site showing ALL stops and routes on a map. All of them.
Check it out: Visualization mini-site (
All data such as bus stops, services and routes are mostly scraped from https://www.lta.gov.sg/, which means they are copyrighted by the Land Transport Authority.
They are available here: cheeaun/sgbusdata.
The scripts for the web app:
npm start
- start server for developmentnpm run build
- build for production and deployment, in./dist
folder.
β‘οΈ Start translating β¬ οΈ
At least Node.js 14 is required.
The scripts to generate the data, in order:
node visualization/build-routes.mjs
- Reads
data.busrouter.sg/v1/data/stops.min.json
and transform routes data with "levels" for 3D extrusion. - Generates
visualization/data/routes.json
andvisualization/data/levels.json
to be read by thebuild-stops
script.
- Reads
node visualization/build-stops.mjs
- Reads
data.busrouter.sg/v1/data/stops.min.geojson
and buffered into triangle polygons which will be 3D-extruded. - Generates
visualization/data/stops.3d.json
.
- Reads
Data Β© LTA Β© OneMap Β© OSM contributors. Everything else: MIT
If you have any feedback, leave them on Discussions or tweet me @cheeaun on Twitter.
- Inspired by this tweet.
- Icon is from The Noun Project
- Color scheme initially inspired by Gothere.sg
- Thanks to Eddy Yanto for building the iPad app until mid-2015.