journey first
Break a train down at a station, put a fault between two, or close a stretch of line, and see what it would mean: what stops and what keeps running, which depots can feed each side, who rides through, the way round, the buses and the trains it asks for. Nothing here is a real alert.
Choose a station or journey to see crowding and service information.
Independent open-data project. Live observations, forecasts and historical estimates are labelled separately.
A live picture of Singapore's rail network: every MRT and LRT line and station, including alignments that are still planned, in 2D and 3D. Live layers add station crowding now and as forecast through the day, service alerts and trip updates, passenger flows between stations, monthly footfall and weather over the same map.
LTA publishes, each month, the number of trips made between every pair of stations by hour and by weekday or weekend. The map draws the busiest journeys of the chosen hour as arrows from origin to destination, coloured from the line boarded to the line left; pick a station to see all journeys from or to it. Each pair is also assigned along the way the journey planner would send it (the shortest ride, with each change of train counted as a cost), which gives the number of passengers who normally cross each link between two adjacent stations in a given hour. That number is srails' own estimate; LTA does not publish it. When a stretch of line is disrupted, that is the number of people who need another way through, and the stations they are heading to. Figures are monthly totals divided by the number of weekdays, or of weekend days and public holidays, in that month.
Each train depot is marked where it stands, in the colour of its line: the ground it covers, a small square on the middle of it, and a dotted link to the place on each line where its tracks join. The ground is OpenStreetMap's outline of the depot. The link is a straight stroke to the line between the stations the depot's public page names, not the track itself.
The simulator closes a part of a line that is in fact open, to show what a breakdown there would mean. Every screen it changes says Simulation, and the real service status stays one tap away. It takes the journeys LTA's monthly origin-destination figures record for the chosen hour and type of day, finds the ones that ride through the stretch, and sends each the best way round by the rules the journey planner uses. Journeys with no way round by rail are the ones that need buses. Moving the affected journeys from their usual links to their ways round gives the links that fill up, which is where more trains would be wanted.
A breakdown and its plan. A breakdown is at one place: a train stalled at a station, or a fault between two. Trains can only reverse where the track lets them, so service stops from the nearest station where trains can turn back on one side to the nearest on the other, and the line runs as two shorter railways either side. Where trains can turn back is taken from public sources: a station with a switch, a crossover or a siding drawn in OpenStreetMap within 500 metres of it, on its own line, or one where Wikipedia says trains start, end or have been turned. The sources are not complete, least of all underground, so srails looks no further than four stations from the fault: a side with no such station in reach is closed no further than the fault's own sector, and the plan says which it was. A real closure may be shorter where a crossover is not in the sources, or reach further where srails found none. Each side that keeps running is then matched with the depots whose tracks join it; a depot that joins at the fault, or on a side where nothing runs, is named as one that cannot be counted on. Buses are counted as the passengers with no way round by rail over what a bus carries, and extra trains as the passengers added to a link over what a train of that line carries. Whether the trains already running have room is not known: LTA publishes no train loads.
The plan is a sketch from public figures. srails does not know where trains are, which crews are on hand or which crossovers are in use, and nothing in it is an instruction to anyone. The briefing puts the plan in words, for the control room or for passengers, and always begins by saying it is a simulation. Gemini may word it again where Ask is switched on; it is given the plan and nothing else, and its wording is shown only if every station, depot and number in it is in the plan.
It is an estimate, not a forecast. Everyone is taken to know of the closure and to take the best rail way round; nobody waits, gives up or takes a taxi; trains are taken to have room. The buses listed are the public services that run between the stations at each end, from LTA's bus routes; no live arrival is asked for a simulation.
Only the station crowd level arrives every ten minutes. The crowd forecast is issued once a day. Every passenger number on this site is a monthly figure. Nothing here is a live count of passengers: LTA's real-time feed gives a level for each station (low, moderate or high), not a number of people.
| On the site | The source publishes | srails asks the source | Latest on this site |
|---|---|---|---|
| Live, from LTA DataMall | |||
| Station crowd level nowStation Crowd Density Real Time | Every 10 minutes: one level per station for a 10-minute window | Every 10 minutes | – |
| Service alertsTrain Service Alerts | When there is one (ad hoc) | Every minute | – |
| Trip updates and planned worksGTFS Realtime: Train Trip Updates, Train Service Alerts | When there is one (ad hoc); trip updates only during a disruption | Every minute during a disruption, every 5 minutes otherwise | – |
| Lifts out of serviceFacilities Maintenance | When there is one (ad hoc) | Every 10 minutes | – |
| Buses across a closureBus Arrival, Bus Stops, Bus Routes | Arrivals every 20 seconds; stops and routes ad hoc | Arrivals every 25 seconds, only during a closure; stops and routes once a week | – |
| Daily, from LTA DataMall | |||
| Station crowd forecastStation Crowd Density Forecast | Every 24 hours: a level per station for each half hour of the day | Once a day | – |
| Scheduled train timesGTFS Schedule (Train) | When it changes (ad hoc) | Once a day | – |
| Monthly, from LTA DataMall | |||
| Passengers boarding and alighting; journeys between stationsPassenger Volume by Origin Destination Train Stations | By the 10th of each month, for the month before | Once a day until the new month arrives, then not again | – |
| Passengers crossing a stretch of linesrails' own estimate from the file above: each journey is sent the way the journey planner would send it | Not published by LTA | Worked out when the monthly file arrives | – |
| Monthly footfallPassenger Volume by Train Stations | By the 10th of each month, for the month before | Once a day until the new month arrives, then not again | – |
| Weather, from NEA on data.gov.sg | |||
| Rain radarWeather Radar Images | A frame every 5 minutes | Every 4 minutes | – |
| RainfallRainfall across Singapore | 5-minute totals | Every 4 minutes | – |
| Air temperature, relative humidityRealtime Weather Readings | 1-minute readings | Every 4 minutes | – |
| WBGT heat stressWet Bulb Globe Temperature Observations | Every 15 minutes, averaged over the 15 before | Every 4 minutes | – |
| LightningLightning Observations | As strikes are observed | Every minute | – |
| Fixed | |||
| Rail lines, stations and exitsURA Master Plan 2025 Rail Line and Rail Station layers; LTA MRT Station Exit layer | With each release | Built into the site | Master Plan 2025 |
| Public holidaysMOM, on data.gov.sg | Once a year | Built into the site | 2025 to 2027 |
| The simulator's plan, from public pages | |||
| Depots on the map: the ground each stands onOpenStreetMap contributors, ODbL. Each outline holds the place Wikipedia gives for the depot | When a mapper changes it | Built into the site; checked by hand | – |
| Where trains can turn backOpenStreetMap contributors, ODbL: switches, crossovers and sidings, as OpenRailwayMap shows them. Wikipedia: stations where trains start or end. Not from any operator, and not complete | When a mapper or an editor changes it | Built into the site; checked by hand | – |
| Depots: the lines each serves, where its tracks join, the trains it keepsWikipedia and Land Transport Guru, each depot's own page. Not from any operator | When an editor changes the page | Built into the site; checked by hand | – |
| What a train and a bus carry when fullWikipedia, each train type's page; Land Transport Guru, the pages of the commonest single-deck and double-deck bus | When an editor changes the page | Built into the site; checked by hand | – |
“srails asks the source” is the most often the source is asked; one stored copy then serves every visitor. This page re-reads the live rows every 75 seconds and the weather layers every 5 minutes while they are switched on. The crowd level on screen describes a 10-minute window that closed about 10 to 20 minutes earlier: LTA publishes each window some minutes after it ends. Times are Singapore time.