1. สถานีฝน ThaiWater + เรดาร์ Longdo Weather
ระบบใช้ฝนสะสม 24 ชั่วโมงของสถานีเป็นฐานหลัก และใช้เรดาร์ Longdo Weather เป็นแหล่งหลักผ่าน Longdo Map API เพื่อยืนยันว่าบริเวณสถานียังมีกลุ่มฝนทับอยู่หรือไม่ ถ้าสถานีทับกับกลุ่มฝน ระบบจะแสดงสัญลักษณ์สายฟ้าเพื่อบอกว่ายังควรติดตามใกล้ชิด และประเมินความหนาแน่นของกลุ่มฝนรอบจุดนั้นเพื่อนำไปถ่วงน้ำหนักการคาดการณ์ฝนล่วงหน้า
- 0 มม. = ไม่มีฝน / ปกติ
- 0.1-10 มม. = ฝนเล็กน้อย สีฟ้า
- 10.1-35 มม. = ฝนปานกลาง สีเขียว
- >35-70 มม. = ฝนหนัก สีส้มอ่อน
- >70-90 มม. = เฝ้าระวัง สีส้มเข้ม
- >90-150 มม. = เสี่ยง สีแดง
- >150 มม. = เสี่ยงสูง สีม่วง
- ถ้าฝน >70-90 มม. และดินชื้นมาก/อิ่มน้ำ ระบบยกระดับสถานีเป็นเสี่ยง เพราะฝนใหม่มีโอกาสไหลบ่ามากขึ้น
- ถ้าเรดาร์ Longdo Weather ยังทับพื้นที่ ระบบถือว่าฝนยัง active; ถ้ากลุ่มฝนทับหนาแน่น จะเพิ่มตัวคูณแนวโน้มฝนใน AI Insight เพื่อสะท้อนโอกาสฝนตกต่อเนื่อง
2. สถานีวัดระดับน้ำ ThaiWater
สถานีระดับน้ำใช้ค่า “อีกกี่เมตรถึงตลิ่ง” เป็นตัวหลัก เพราะบอกระยะปลอดภัยของลำน้ำ ณ จุดวัดโดยตรง ระบบจึงให้ความสำคัญสูงกว่าสถานีฝนเมื่อเข้าเกณฑ์ใกล้ตลิ่ง
- อีกตั้งแต่ 1.00 ม. ขึ้นไปถึงตลิ่ง = ปกติ สีเขียว
- อีกน้อยกว่า 1.00 ม. ถึงตลิ่ง = เสี่ยง/เตรียมพร้อม สีแดง หมู่บ้านในรัศมีประเมินถูกยกระดับเป็นเสี่ยงสูง
- อีก 0.00 ม. ถึงตลิ่ง หรือติดลบ = น้ำถึง/ล้นตลิ่งแล้ว จัดเป็นพื้นที่ได้รับผลกระทบและควรตรวจสอบภาคสนามทันที
- ถ้าสถานีไม่มีค่าระดับตลิ่งหรือค่าระยะถึงตลิ่ง ระบบจะแสดงข้อมูลเท่าที่มี แต่ไม่ใช้ยกระดับหมู่บ้านอัตโนมัติ
3. สถานีระดับน้ำ FloodBoy
FloodBoy ถูกใช้เป็นสถานีวัดระดับน้ำอีกแหล่งหนึ่ง โดยระบบใช้ค่า water_level ที่เซนเซอร์ส่งมาเป็นระดับน้ำปัจจุบัน แล้วนำไปหักลบกับค่าตลิ่งของสถานีที่กำหนดไว้ เพื่อคำนวณ “อีกกี่เมตรถึงตลิ่ง” ด้วยสูตร ค่าตลิ่ง - ระดับน้ำปัจจุบัน และใช้เกณฑ์เดียวกับสถานีวัดระดับน้ำ ThaiWater ส่วนสถานีแบบวัดน้ำขังบนถนนของพื้นที่ มฟล. เช่น fb011 และ fb013 จะใช้เกณฑ์เซนติเมตรบนผิวถนนแยกต่างหาก
- FloodBoy ที่มีค่าตลิ่ง: เหลือมากกว่าหรือเท่ากับ 1 ม. ถึงตลิ่ง = ปกติ สีเขียว
- FloodBoy ที่มีค่าตลิ่ง: เหลือน้อยกว่า 1 ม. ถึงตลิ่ง = เสี่ยงสูง/เตรียมอพยพ ใช้เกณฑ์เดียวกับสถานีวัดระดับน้ำ
- FloodBoy ที่มีค่าตลิ่ง: ระยะถึงตลิ่งน้อยกว่าหรือเท่ากับ 0 ม. = น้ำถึง/ล้นตลิ่ง จัดเป็นหมู่บ้านได้รับผลกระทบ
- FloodBoy ที่ยังไม่มีค่าตลิ่งหรือระยะถึงตลิ่ง ระบบจะแสดงข้อมูลเท่าที่มี แต่ไม่ใช้ยกระดับหมู่บ้านอัตโนมัติ
- FloodBoy แบบน้ำขังบนถนน: 0-4.9 ซม. = ปกติ
- FloodBoy แบบน้ำขังบนถนน: 5-10 ซม. = ประกาศระดับ 1 น้ำสูงระดับข้อ
- FloodBoy แบบน้ำขังบนถนน: 10.1-20 ซม. = ประกาศระดับ 2 น้ำสูงระดับแข้ง
- FloodBoy แบบน้ำขังบนถนน: 20.1 ซม.ขึ้นไป = ประกาศระดับ 3 น้ำสูงระดับเข่าหรือมากกว่า
4. API Index / ความชื้นสะสมของดิน
ระบบใช้ดัชนี API (Antecedent Precipitation Index) เป็นตัวแปรหลักแทน Open-Meteo สำหรับประเมินว่าดินสะสมฝนก่อนหน้ามากน้อยแค่ไหน โดยเก็บประวัติฝนรายชั่วโมงใน Supabase แบบไม่ซ้ำสถานี/เวลา แล้วคำนวณ API ตามสูตร API_t = P_t + k × API_(t-1) แยกทีละสถานี หน้าเว็บจึงอ่านค่าที่คำนวณเสร็จแล้วเท่านั้น เพื่อลดการกระตุกของแผนที่และคงความเป็นวิชาการไว้ในระบบหลังบ้าน
Open-Meteo ยังใช้เป็นข้อมูลเสริม/สำรองเพื่อดูสภาพดินเชิงแบบจำลอง หากสถานียังไม่มี API Index จาก Supabase แต่ในคะแนน NEXT ระบบจะให้ API Index เป็นตัวหลักก่อนเสมอ
- API น้อยกว่า 120 มม. = ยังไม่สูง ใช้เป็นข้อมูลประกอบ
- API 120-149 มม. = สังเกตการณ์ สีเขียว
- API 150-179 มม. = ติดตาม สีเหลือง
- API ตั้งแต่ 180 มม.ขึ้นไป = เฝ้าระวัง สีแดง
- ค่า k เริ่มต้นสำหรับทดสอบระบบคือ 0.98 และต้อง calibrate ด้วยประวัติฝนกับเหตุการณ์น้ำหลากจริงก่อนใช้เป็นเกณฑ์ทางวิชาการถาวร
- ระบบแยก 0 มม. ออกจากข้อมูลที่หายไป และคำนวณความครบถ้วนของข้อมูล 24/72 ชม. เพื่อบอกว่า API น่าเชื่อถือมากน้อยแค่ไหน
- ในการวิเคราะห์ NEXT หาก API สูงและมีฝนสะสม/เรดาร์/พยากรณ์ฝนเพิ่ม ระบบจะเพิ่มคะแนน เพราะพื้นที่รับฝนใหม่ได้น้อยลงและตอบสนองต่อน้ำหลากเร็วขึ้น
5. หมู่บ้านเสี่ยงและเฝ้าระวัง
หมู่บ้านถูกจับคู่กับสถานีใกล้เคียงในรัศมีที่ตั้งไว้ โดยเลือกสถานีที่รุนแรงกว่าและใกล้ที่สุดเพื่อลดการนับซ้ำ หากสถานีระดับน้ำ ThaiWater หรือสถานีระดับน้ำ FloodBoy เข้าเกณฑ์ใกล้ล้นตลิ่ง ระบบจะให้ความสำคัญก่อนสถานีฝน เพราะเป็นสัญญาณน้ำมาถึงพื้นที่แล้ว
- Priority 1: สถานีระดับน้ำเหลืออีกน้อยกว่า 1 ม. ถึงตลิ่ง = หมู่บ้านในรัศมีถูกยกระดับเป็นเสี่ยงสูง/เตรียมอพยพ
- Priority 2: สถานีระดับน้ำถึงหรือล้นตลิ่งแล้ว = หมู่บ้านในรัศมีถูกจัดเป็นได้รับผลกระทบ
- Priority 3: หากระดับน้ำยังไม่เข้าเกณฑ์ ระบบใช้ฝนสะสม 24 ชม. ร่วมกับ API Index เรดาร์ และลักษณะภูเขา/ต้นน้ำ
- API Index มีน้ำหนักในกลุ่มความชื้นสะสม เพราะดินที่สะสมฝนก่อนหน้าสูงทำให้พื้นที่รับฝนใหม่ได้น้อยและเกิดน้ำหลากเร็วขึ้น
- ความใกล้ลำน้ำ/ร่องน้ำมีน้ำหนักประมาณ 20% เพื่อสะท้อนโอกาสรับน้ำจากทางไหลหลัก
- ระยะห่างจากสถานีต้นเหตุมีน้ำหนักประมาณ 10% ยิ่งใกล้สถานีที่เข้าเกณฑ์ ยิ่งควรจัดลำดับติดตามก่อน
- ฝนมากกว่า 150 มม.ในรัศมีประเมิน = เสี่ยงสูง, ฝน 100-150 มม. = เฝ้าระวัง และจะยกระดับเมื่อพบดินอิ่มน้ำมาก
- ฝน 70-100 มม. ร่วมกับดินชื้นมาก/อิ่มน้ำหรือเรดาร์ทับ จะถูกนำมาเป็นหมู่บ้านเฝ้าระวังน้ำป่าไหลหลากเบื้องต้น
- รัศมีประเมินหมู่บ้านใช้ประมาณ 3 กม. และกันการนับซ้ำโดยเลือกสถานีที่รุนแรงกว่า/ใกล้กว่าเพียงหนึ่งชุดต่อหมู่บ้าน
สูตรเชิงคะแนนเบื้องต้นสำหรับกรณีที่ยังไม่มีสัญญาณน้ำล้นตลิ่ง: Risk Score = 0.45R + 0.25S + 0.20H + 0.10D โดย R คือฝนสะสม 24 ชม., S คือ API Index/ความชื้นสะสม, H คือความใกล้ลำน้ำ/ร่องน้ำและภูเขา/ต้นน้ำ และ D คือความใกล้สถานีต้นเหตุ คะแนนนี้ใช้เพื่อจัดลำดับก่อน-หลัง ไม่ใช่ค่าพยากรณ์น้ำท่วมโดยตรง
6. วิเคราะห์ฝนล่วงหน้าและ AI Insight
ระบบคำนวณเฉพาะจุดที่มี 3 เงื่อนไขพร้อมกัน ได้แก่ สถานีฝนเข้าเกณฑ์ติดตาม ดินเริ่มอุ้มน้ำขึ้นไป และมีเรดาร์ Longdo Weather ยืนยันว่าฝนยังทับบริเวณนั้น หากฝนหยุดตกหรือเรดาร์ไม่ทับ ระบบจะไม่เร่งพยากรณ์หมู่บ้านเพิ่ม
- ค่าฝน 1 ชม. ล่าสุดใช้เป็นสัญญาณฝนปัจจุบัน และฝน 24 ชม.ใช้เป็นฐานสะสม
- ความหนาแน่นของเรดาร์รอบสถานี/หมู่บ้านใช้เป็นตัวคูณฝนอนาคต ยิ่งกลุ่มฝนทับหนาแน่น ช่วงคาดการณ์ฝนเพิ่มจะสูงขึ้น
- ความชื้นดิน ร่องน้ำ/ลำน้ำ และภูมิประเทศต้นน้ำใช้เป็นตัวคูณเสริม เพราะพื้นที่เหล่านี้ตอบสนองต่อฝนใหม่เร็วกว่า
- ผลลัพธ์จะแสดงว่าหมู่บ้านหรือสถานีใดอาจขยับจากเฝ้าระวังเป็นเสี่ยง หรือจากเสี่ยงเป็นเสี่ยงสูงใน 1-3 ชั่วโมงข้างหน้า
7. Risk Incident Weighted Model
Risk Incident เป็นคะแนนจัดลำดับหมู่บ้านที่ควรตรวจสอบหรือแจ้งเตือนก่อน โดยใช้ข้อมูลหลายแหล่งร่วมกันและปรับเป็นคะแนน 0-100 เพื่อให้ผู้ปฏิบัติงานเห็นว่า “จุดไหนควรทำก่อน” แทนการตัดสินจากฝนหรือระดับน้ำเพียงค่าเดียว
- สูตรหลัก: Risk Incident = 0.20R24 + 0.10RF + 0.17RD + 0.20W + 0.11E + 0.08S + 0.08T + 0.06H
- R24 = ฝนสะสม 24 ชม. 20%: ใช้เป็นฐานฝนสะสมในลุ่มน้ำ โดย 150 มม.ขึ้นไปให้เต็มคะแนนหมวดนี้ เพราะฝนเป็นตัวกระตุ้นหลักของน้ำป่าไหลหลาก
- RF = ฝนระยะสั้น 1-3 ชม. 10%: ใช้ฝน 1 ชม.ล่าสุดและฝนคาดเพิ่มเพื่อจับฝนเข้มข้นที่ทำให้น้ำป่าเกิดเร็ว
- RD = Radar factor 17%: Longdo Weather radar ยืนยันว่าฝนยังทับพื้นที่หรือกำลังเข้าใกล้ หากฝนสะสมเกิน 70 มม.และเรดาร์ยังทับ จะเพิ่มคะแนนเร็วขึ้น
- W = Water/FloodBoy factor 20%: ระยะเหลือถึงตลิ่ง แนวโน้มระดับน้ำ และสถานีที่ล้นตลิ่ง ใช้เป็นสัญญาณยืนยันผลกระทบจริง โดยถ้าล้นตลิ่งจะ override เป็น “น้ำท่วม”
- E = ECMWF Ensemble 6-24 ชม. 11%: ใช้โอกาสฝนเกิน 50/100 มม. และค่าสุดขั้วจากกริดประมาณ 25 กม. เป็นตัวแปรเสริมของ NEXT เฉพาะเมื่อความมั่นใจฝนหนักอย่างน้อย 40% เพื่อให้เห็นแนวโน้มพื้นที่กว้างขึ้น
- S = API/Soil factor 8%: ใช้ API Index จาก Supabase เป็นหลัก โดย API ≥180 มม.ให้เต็มคะแนนหมวดนี้ เพราะสะท้อนฝนสะสมก่อนหน้าสูงและพื้นที่รับฝนใหม่ได้น้อยลง หากยังไม่มี API จึงใช้ Open-Meteo เป็นค่าช่วยชั่วคราว
- T = Terrain factor 8%: ความใกล้ลำน้ำ/ร่องน้ำและภูเขา/ต้นน้ำ โดยระยะลำน้ำแบ่งเป็น 1 กม. อันตรายสูง, 3 กม. เฝ้าระวังเข้ม, 5 กม. เฝ้าระวังเชิงพื้นที่ ยิ่งใกล้ทางน้ำและอยู่ในแนวต้นน้ำยิ่งเพิ่มคะแนน
- H = History factor 6%: ถ้าหมู่บ้านอยู่ใกล้จุดน้ำป่า/น้ำหลากย้อนหลังในรัศมี 1, 3 หรือ 5 กม. และฝนปัจจุบันใกล้เคียงกับ snapshot ตอนเคยเกิด ระบบจะเพิ่มคะแนนประวัติเคยเกิด ถ้า match แรงร่วมกับเรดาร์/ดิน/น้ำ จะยก NEXT เป็นเสี่ยงสูงได้
- Minimum floor: ถ้าหมู่บ้านถูกตรวจพบจาก trigger จริง เช่น น้ำล้นตลิ่ง สถานีใกล้ตลิ่ง หรือฝนสะสมเข้าเกณฑ์ ระบบจะให้คะแนนขั้นต่ำตามระดับนั้น เพื่อไม่ให้รายการหายเมื่อข้อมูลเสริมบางแหล่งยังไม่พร้อม
- Low-rain cap: ถ้าฝนสะสมต่ำกว่า 70 มม. และไม่มีน้ำใกล้ตลิ่ง/ล้นจริงหรือ ECMWF ความมั่นใจสูง ระบบจะจำกัดคะแนนไม่ให้เกินระดับติดตาม เพื่อป้องกันการเตือนแรงเกินจากลำน้ำ/ภูมิประเทศเพียงอย่างเดียว
- คะแนน 81-100 = เสี่ยงสูง, 71-80 = เสี่ยง, 51-70 = เฝ้าระวัง, 35-50 = ติดตามสถานการณ์, ต่ำกว่า 35 จะไม่แสดงใน Risk Incident หลัก
- ในหน้ารายการ ระบบแสดงแถบ contribution ของแต่ละหมวด เพื่อให้เห็นว่าเหตุผลหลักของคะแนนมาจากน้ำ ฝน เรดาร์ ดิน หรือภูมิประเทศ
ที่มาของน้ำหนัก: ปรับจากแนวคิด Flash Flood Guidance ของ WMO ที่เน้นฝนคาดการณ์ร่วมกับความชื้นดินและช่องว่างก่อนล้นตลิ่ง และจากงาน flash flood susceptibility แบบ AHP/GIS และ machine learning ที่พบว่าฝน ระยะจากลำน้ำ ความลาดชัน/ภูมิประเทศ และโครงข่ายระบายน้ำเป็นตัวแปรสำคัญ จึงให้ฝนจริง+เรดาร์+ระดับน้ำเป็นแกนหลัก ส่วน ECMWF เป็นตัวเสริมล่วงหน้าเพราะกริดฟรีมีความละเอียดประมาณ 25 กม.
- อ้างอิง: WMO, Global Flash Flood Guidance System - rainfall threshold ต้องปรับตาม soil water deficit และ bankfull storage ไม่ใช่ใช้ฝนคงที่อย่างเดียว
- อ้างอิง: Remote Sensing 2023, Geospatial Modeling Based-MCDM for Flash Flood Susceptibility - AHP ให้ rainfall 0.310, slope 0.221, drainage density 0.158 เป็นตัวแปรเด่น
- อ้างอิง: Remote Sensing 2020, Flash Flood Susceptibility Modeling Using Ensemble Tree-Based ML - rainfall, distance from river, altitude และ slope เป็นกลุ่มตัวแปรสำคัญ
- อ้างอิง: ScienceDirect 2024, Flood susceptibility mapping integrating ML and GIS - distance from streams, hydrologic soil type, rainfall, elevation และ impervious surface ส่งผลสำคัญต่อการทำนายพื้นที่น้ำท่วม
8. ความเชื่อมั่นและข้อจำกัด
เมื่อยังไม่มีชุดข้อมูลเหตุการณ์จริงจำนวนมากสำหรับ calibration ระบบควรใช้ผลวิเคราะห์เป็นการคัดกรองเชิงพื้นที่มากกว่าการฟันธง จุดที่ระบบจัดลำดับว่า “ควรติดตามก่อน” คาดหวังความถูกต้องระดับประมาณ 60-70% หากสถานีฝนถี่ เรดาร์ทำงานปกติ และ API Index มีข้อมูลครบ ส่วนการทำนายว่าจะเกิดน้ำป่าที่หมู่บ้านใดแบบเฉพาะเจาะจงควรมองไว้ประมาณ 50-60% จนกว่าจะสะสมข้อมูลเหตุการณ์ย้อนหลังและปรับ threshold รายลุ่มน้ำได้
ผลทั้งหมดเป็นการประเมินเบื้องต้นเพื่อวางแผนรับมือ ต้องตรวจสอบร่วมกับหน่วยงานพื้นที่ ภาพเรดาร์จริง รายงานประชาชน ระดับน้ำภาคสนาม และการตัดสินใจของเจ้าหน้าที่เสมอ