cheeaun / busrouter-sg

BusRouter SG: Singapore Bus Routes Explorer
https://busrouter.sg/
335 stars 103 forks source link
bus bus-arrival bus-number bus-services bus-station bus-stop bus-timing buses public-transportation singapore transportation
# BusRouter SG **Singapore Bus Routes Explorer** 🚌 πŸ—Ί πŸ‡ΈπŸ‡¬

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.

Website     Blog Post

Screenshot of BusRouter SG

Screenshot of BusRouter SG

✨ Features

πŸ•° Previously

Previously known as Singapore Bus Routes Explorer, abbreviated as 'SBRE' and previously looks like this:

Screenshot of Singapore Bus Routes Explorer

Visualization mini-site

A separate mini-site showing ALL stops and routes on a map. All of them.

Check it out: Visualization mini-site (⚠️ Uses a lot of bandwidth).

Technicalities

Data

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.

Web App

The scripts for the web app:

Localization

Crowdin

➑️ Start translating ⬅️

Visualization

At least Node.js 14 is required.

The scripts to generate the data, in order:

  1. 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 and visualization/data/levels.json to be read by the build-stops script.
  2. 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.

πŸ“œ License

Data Β© LTA Β© OneMap Β© OSM contributors. Everything else: MIT

🎀 Feedback

If you have any feedback, leave them on Discussions or tweet me @cheeaun on Twitter.

πŸ™‡β€ Credits