Flood reports · last full hour
—
—
Grand Palace stand-in · Approximate model, not an official survey. Footprints © OpenStreetMap contributors, ODbL.
—
Data via FloodDash · gauges, DDS bulletin, BMA road reports, canal gates, news-anchored emergency points, alerts from 40 upstream feeds (HII, TMD, BMA, RID, GISTDA, PCD, Air4Thai). Nearby-gauge context uses a pattern from JK World · paired within 250 m; road passability remains unknown. Refresh attempted every 5 min · check each source timestamp.
Flood reports · last full hour
—
—
Report + nearby gauge alert
—
paired within 250 m · not road verification
Wettest gauge · 24 h
— mm
—
If you need help
DDPM disaster line · 1555 city hall · 1669 medical
| District · เขต | Reports 3 h | Last hour | Deepest reported | Rain 24 h |
|---|
Residents' Traffy Fondue tickets and iTIC road reports, placed by district boundary. A count is reports, not people or depth; one flood can draw many. Rain is the wettest gauge in the district. Tap a district to go there.
report + nearby gauge alert
—
—
📡 gauge alert · no recent nearby report
—
—
📋 other road reports
—
—
Road reports cover the last 24 h. Only reports within 6 h are paired with high-confidence gauge alerts observed within 45 min and 250 m. Canal and river gauges do not measure road depth, clearance or passability. A gauge without an alert does not establish that a road is dry. Pattern from JK World.
Cross-reference pattern stolen from JK World · เฝ้าระวังน้ำท่วมกรุงเทพฯ (data: BMA DDS · HII ThaiWater · iTIC/Longdo, via FloodDash). Not an official warning — DDPM 1784.
—flood reports in the last hour
−24 h−12 hnow
Report volume also follows the clock: fewer people report at night.
Wettest gauge 24 h · ฝน 24 ชม.
— mm
—
3 days · 3 วัน
— mm
—
7 days · 7 วัน
— mm
—
Weekly max / min · อุณหภูมิสูงสุด/ต่ำสุดสัปดาห์นี้
—° / —°
—
Bars: daily mean across ~134 Bangkok gauges, via FloodDash. Totals: the single wettest gauge, ThaiWater / HII ↗.
Tracks each FloodDash gauge's last reading against the previous one — visible moves ≥2 cm. The water going down is as important as the water going up. Section auto-hides when nothing has moved in the last 5 min.
BKK + Chao Phraya upstream (Tak, Nakhon Sawan, Chainat, Sing Buri, Ang Thong, Ayutthaya, Suphan Buri, Nakhon Pathom, Samut Sakhon, Samut Prakan). Source: FloodDash alert engine on ThaiWater level changes + flash-flood precursors. Not an official warning.
Each dot is one of the 40 upstream feeds FloodDash pulls from (BMA DDS, HII water-level, TMD, RID reservoirs, GISTDA satellite, PCD water quality, Air4Thai, …). Grey = skipped, orange = degraded, red = stale, green = ok. If a dot is red, the corresponding number on this page is from the last good reading.
Vehicular Passability Index:
Hourly model forecast pending.
Weather forecasts do not establish road clearance or electrical safety. No TimesFM inference is connected. Do not enter floodwater. Flood safety guidance ↗
Water rising indoors: switch off power at the main, move up, keep your phone charged. Never walk or drive through moving water. This board is not an official warning.
About
Who
That’s me. Days old. Siam Square — the most expensive ground in Bangkok today. Back then it was just where our house was. I grew up in the heart of this city and learned it from the inside: heat, floods, skytrain openings, AQI at 200, tax schedules frozen while the market doubled.
I am not going to let anyone fuck up this city. Not the current governors. Not the deputies. Not the committees writing ten-year “smart city” PDFs while the public gets nothing they can use. No apologies. I’m building something — a working twin of the city I was born into. My city. Not theirs.
Thesis
The BKKx Atlas is a thesis statement: a working digital twin of a real city can be built in an afternoon, on one laptop, for the cost of a domain. The data, APIs, and maps are here. What’s missing is a city government with the will to use them.
BMA has been “planning a smart city” since 2016. Ten years. Ten digital strategies. Zero public APIs worth using, zero digital twin for residents. Buildings get taller. Floods get deeper. The public still gets a 1990s PDF. We shipped the whole stack on a one-laptop budget. The hard part is keeping every layer honest and stackable.
My city, not theirs.
How it’s built
public/ — no SPA
framework. Layers, presets, inspect, and this About drawer
are plain HTML / CSS / JS.
src/index.ts) on
atlas.nonarkara.org: proxies live feeds, serves
risk / civic APIs, Range-passthrough for PMTiles from R2.
CIVIC_DB) ingested from BMA / data.go.th.
What’s on the map
Roadmap
Horizon
Data & APIs
Full city extract: python3 scripts/osm-buildings-to-geojson.py
with a Bangkok bbox or local PBF. Scripts are the canonical extractors.
Research
Working papers live under /labs — a research tab, not a press kit. Paper 01 is the system. Paper 02 is the shophouse bible: the ตึกแถว as the actual unit of the inner city. The shelf is the recovered thesis catalog that sits under it.
Working paper 02 · ตึกแถว The row is the city — a Bangkok shophouse bible → The shelf · recovered catalog 42 theses on ตึกแถว and historic districts → Live cultural map · bkk.nonarkara.org Rowhouse atlas · ONEP ledger · review queue → Working paper 01 432,077 buildings, 1 system, 0 politicians who care →Contact
Building something on this atlas — research, civic tooling, a classroom demo — email Dr Non. Same for press, partnership, or calling bullshit on a layer that should be more honest.
Dao
The atlas is a Bangkok object. The Dao is the other side of the same author — a quiet one, written for the people who ask him for it in person. Eighty-one chapters, three languages (Wang Bi's Chinese, clear English, Thai), dedicated to the Upatising family and in memory of Mother Lilly Upatising (1948–2026).
Both editions are developed in parallel. D2 is the default for people who want something simple and easy to read; D1 is the classic archive for people who study it. The atlas links to both — pick the one that fits your day.
Credits
Base map & buildings. © OpenStreetMap contributors (ODbL 1.0) via OpenFreeMap; BKKx PMTiles extract of Bangkok metro footprints. Imagery © Esri, Maxar, Earthstar Geographics.
Live & open civic. iTIC/Longdo (traffic, public CCTV), กรมทางหลวง · Department of Highways (traffic CCTV carried on the iTIC/Longdo platform), Maholan (cctv.maholan.net, community CCTV aggregator), RainViewer, Open-Meteo (10 m wind / heat / PM2.5), HII/ThaiWater (water levels), BMA / data.go.th / data.bangkok.go.th (schools, sports grounds, car parks, museums, waterway landmarks). Land-price choropleth from Treasury road-level analysis (Home Buyers).
Passenger boats. Maintained service references from Chao Phraya Express Boat, Chao Phraya Tourist Boat and the Thai Government Contact Center’s Khlong Saen Saep record. Corridors and piers are not live vessel positions.
Host. Cloudflare Workers + R2 + D1. Built by Dr Non · BKKx · live at atlas.nonarkara.org. Installable as a web app — Android (Chrome): menu → Add to Home screen; iPhone (Safari): Share → Add to Home Screen. Live layers need a connection.
The question
The BMA Drainage and Sewerage Department publishes a water-management schematic of the city — แผนผังบริหารจัดการน้ำ กรุงเทพมหานคร — at weather.bangkok.go.th/KlongMap. It is the picture that gets pointed at in flood briefings. It is also a diagram: canals as straight strokes, no ground under them, no scale, nothing that says which way the water drains or where it is high right now.
The atlas already had the city in 3D over satellite imagery and 4,063 waterway segments from OpenStreetMap. The question for the water layer was plain: can one map show where Bangkok's water runs, which way it drains, and where a gauge says it is high — without claiming more than the data knows?
FloodDash
FloodDash is the atlas's twin for water: a real-time, openly sourced flood watch for every Thai province, run under the Smart City Thailand Office (depa). It streams about 17 public pipelines — HII, RID, PCD, NOAA, Copernicus, Open-Meteo, NASA GPM, GISTDA, TMD, iTIC, CheckFlood CCTV, news — judges every gauge into a band, and every province into safe, watch, prepare or danger. Watch-score weights: water 40 · rain 25 · forecast 15 · wetness 10 · rise 10.
Its own definition, word for word:
Useful as a 24-hour-ahead watch and a municipal action board. Not a flood clock.
We cannot say “this village floods at 14:32.” No DEM/HAND. No street inundation. No village ETA. Silence is not all-clear. No nationwide EVACUATE from a heuristic. Orders stay with ปภ. / อปท. 1784.
When the data is thin, the useful sentence is the refusal. Do not inflate the claim.
FloodDash · About · What this is, what it is not
The measured record
FloodDash's 40-day prediction ledger · 76 truth gauges · window ending 9 Sep 2026 · lead q25 12 h, q75 35.7 h.
89 genuine over-bank events, 89 warned ahead, 31 missed — 74.2% recall but only 3.8% precision, because 2,241 alerts did not flood. […] A watch board that catches three floods in four about half a day ahead — not an alarm that is almost always right.
Forecast rain is biased +5.3 mm (MAE 7.7 mm across 3,744 pairs) — rain forecast ranks risk, never triggers a warning. […] Silent or flatlined gauges are the real blind spots: silence is not an all-clear.
FloodDash · About · What the collected data says
The atlas inherits that character. A red canal means a gauge on it is worried — often rightly, sometimes not. It never means the street beside it is under water.
How the atlas reads it
/api/twin, /api/snapshot and
/api/dds/briefing about every 10 minutes.
Visitors never touch FloodDash; they read the copy in D1.
scripts/check-flooddash.ts
asserts this against live FloodDash.
live block in /api/risk.
Method
streetReports.js; no ticket text, name or
photo is kept, and heat is summed onto a ~220 m grid.
Waiting for the first FloodDash reading…
Flood preparedness
Electrical hazards, missing drain covers, currents and vehicle clearance are not measured by this panel. Rain totals alone cannot determine them. Do not enter floodwater; follow DDPM and BMA instructions. For emergency help call 1784, 1555 or 1669.
Weather models and future research
Open-Meteo supplies modelled current weather and hourly precipitation forecasts with explicit UTC valid times. It is not a street sensor or an inundation model.
TimesFM is not connected. No calibrated river crest, tide timing, road depth, vehicle clearance or shophouse lead time is supplied. The cinematic tour is an illustrative sequence, not model inference.
Limits
Build log
/api/atlas mirror for agents.#atlas-version), and the 72-hour 30-second simulation tour.building:levels * 3.15m and typology matrices without payload increase. Chao Phraya Basin Hydraulic Profile HUD (Pak Nam to Bang Sai C.29A) with real-time Gulf tidal lock calculation.The pattern that repeats: ship the layer, then take out whatever cannot be sourced. The two removals — land price and the unverified icons — did as much for the map as any addition. Full history on GitHub.
Still building
Credits
Flooded roads. Method stolen from FloodDash:
streetReports.js (Traffy depth words) and
streetFlood.js (residents → DDS → gauge → risk spot, in
that order). Residents' reports: Traffy Fondue public API (NECTEC ×
BMA). Drivers' reports: iTIC / Longdo. Road network: OpenStreetMap
via Overpass, ODbL.
Judgement. FloodDash (flood.nonarkara.org), from
HII/ThaiWater, RID and MRC telemetry. Gates and road
reports. BMA Drainage and Sewerage Department (DDS),
relayed by FloodDash. Waterways. © OpenStreetMap
contributors, ODbL 1.0. Imagery. © Esri, Maxar,
Earthstar Geographics.
Weather model. Open-Meteo current conditions and
hourly precipitation forecasts. TimesFM is a research direction,
not an active source in this atlas.
FloodDash thanks Dr Preesan Rakwatin (depa) for guidance and for the remote-sensing flood work behind its connected-waterways and satellite-extent roadmap, and GISTDA for access to its data. That roadmap is this layer's roadmap too.