About the data

What this is

FloodWatch TH watches public cameras across Thailand, snapshots them every 10โ€“15 minutes, and asks a vision model one question: is the road in this frame passable, wet, or impassable? Verdicts are published with their evidence โ€” every row links to a "why?" page showing the frame, the model's raw answer, brightness, and hash. Humans confirm or correct in a review queue; corrections are the training data for tomorrow's model.

Guards we run on every source

  • Stale-feed detection: identical frame hash across captures โ†’ cam flagged suspect.
  • Night gate: frames darker than luma 40 are labelled night and never feed verdicts.
  • Daylight-at-night audit: bright frames frozen for 2h+ between 00:00โ€“05:00 ICT โ†’ suspect (caught the frozen Pattaya mirrors).
  • SSRF guard: suggested URLs may never point at private/loopback hosts.
  • Human review queue: machine verdicts stay machine verdicts until confirmed.

Known failure modes of sources

  • Thai government cam hosts geo-block cloud IPs โ€” several are unreachable from our worker by design of their firewall.
  • Some "live" portals serve cached daylight frames at night (Pattaya city mirrors, 2026-09-26). Those cams stay off until proven fresh.
  • Night glare: dry asphalt shines under streetlights; the prompt demands real water evidence before "wet".
  • PTZ cams pan โ€” reference-image comparison is disabled for them.

Satellite layer (GISTDA)

Province shading and the "Satellite overview" panel come from GISTDA's Disaster Platform public service (disaster.gistda.or.th/app-api/services/flood/*), the same endpoint their own web map uses โ€” MODIS/SAR-derived flood extent aggregated per tambon for 1/3/7/30-day windows, synced daily at 07:30 ICT. It answers "how much area is flooded?"; cameras answer "is this road passable right now?". ยฉ GISTDA.

Coverage approach

  1. Public webcam catalog (opencctv/windy/DOH/ITIC) โ€” โ‰ฅ1 cam per province, then density in flood-prone zones. Currently 6 provinces.
  2. River/rain gauge overlay (thaiwater) โ€” planned.
  3. Satellite flood extent (GISTDA) during major events โ€” planned.
  4. Crowd: your suggestions fill the gaps.

Privacy

No accounts. Suggestions store IP + user-agent purely for spam defense; email is optional and only used for follow-up. Snapshots belong to their public operators; we show thumbnails for situational awareness with attribution.

Exports: RSS verdicts ยท cameras CSV ยท geojson ยท provinces geojson. Basemap: self-hosted province vectors (apisit/thailand.json, ยฉ OpenStreetMap contributors).