โมดูล 2/5 · สัปดาห์ 4–6 · 27 ชม.

อากาศและน่านฟ้า

UAT 304 การวางแผนภารกิจและการบินอัตโนมัติของระบบอากาศยานไร้คนขับ

เวลาเรียนประมาณ 85 นาทีร่าง รอตรวจปรับปรุงล่าสุด 28 กันยายน 2569

บทเรียน

เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ

  1. อ่านรายงาน METAR ทีละกลุ่ม และถอดรหัสด้วยโปรแกรม
  2. ใช้ข้อมูล METAR ประกอบการตัดสินใจบิน โดยรู้ขอบเขตของรายงาน
  3. ตรวจจุดบินกับเงื่อนไขระยะ 9 km จากสนามบินตามประกาศ กพท.
  4. ตรวจขอบเขตพื้นที่ทั้งแนวราบ แนวดิ่ง และเวลา

ความรู้พื้นฐานที่ควรมี: UAT 304 โมดูล 1 · UAT 313 โมดูล 2 (การขึ้นทะเบียนและการขออนุญาต)

ทำไมต้องรู้

หน่วยความรู้เรื่อง METAR และ TAF ของคลังความรู้โดรนสอนถอดรหัสสถานี เวลา ลม ทัศนวิสัย และเมฆ พร้อมเข้าใจขอบเขตของรายงาน ส่วนหน่วยความรู้เรื่องแผนที่และข่าวสารการบินเตือนให้ตรวจขอบเขตพื้นที่ทั้งแนวราบ แนวดิ่ง และเวลา ไม่ตัดสินจากสีบนแผนที่อย่างเดียว โมดูลนี้ทำทั้งสองเรื่องด้วยโปรแกรม เพื่อให้ตรวจซ้ำได้ทุกครั้ง ข้อมูลในตัวอย่างเป็นข้อมูลสมมติ

อ่าน METAR

METAR คือรายงานสภาพอากาศประจำชั่วโมงของสนามบิน ในประเทศไทย เอกสาร AIP GEN 3.5 ระบุว่ากรมอุตุนิยมวิทยาเป็นผู้ให้บริการอุตุนิยมวิทยาการบิน และสำนักงานอุตุนิยมวิทยาประจำสนามบินออกรายงาน METAR และ TAF ตามคำอธิบายของศูนย์อากาศการบินของ NOAA กลุ่มลมเขียนเป็นทิศสามหลักตามด้วยความเร็ว ถ้ามีลมกระโชกใช้ G ตามด้วยความเร็วกระโชก หน่วย KT (น็อต) ทัศนวิสัยของรายงานนานาชาติเป็นเมตร (9999 หมายถึง 10 km ขึ้นไป) อุณหภูมิและจุดน้ำค้างเป็น °C โดยใช้ M แทนค่าติดลบ และความกดอากาศ Q ตามด้วยหน่วย hPa ส่วน CAVOK หมายถึงทัศนวิสัย 10 km ขึ้นไป ไม่มีเมฆต่ำกว่า 1,500 m ไม่มีเมฆคิวมูโลนิมบัส และไม่มีสภาพอากาศสำคัญ

ตัวอย่างที่ 1 ถอดรหัส METAR สองรายงาน

import re

reports = [
    "METAR VTBD 150100Z 21012G22KT 9999 FEW020 SCT100 30/24 Q1008 NOSIG",
    "METAR VTBD 150700Z 24018G32KT 4000 TSRA FEW015CB BKN030 27/25 Q1006",
]
KT = 0.5144

def decode(r):
    out = {"station": r.split()[1]}
    m = re.search(r"\b(\d{2})(\d{2})(\d{2})Z\b", r)
    out["utc"] = f"day {m.group(1)} {m.group(2)}:{m.group(3)}Z"
    m = re.search(r"\b(\d{3}|VRB)(\d{2,3})(?:G(\d{2,3}))?KT\b", r)
    out["wind"] = f"{m.group(1)} deg {int(m.group(2)) * KT:.1f} m/s" + (f", gust {int(m.group(3)) * KT:.1f} m/s" if m.group(3) else "")
    m = re.search(r"KT (\d{4})\b", r)
    vis = int(m.group(1))
    out["visibility"] = ">= 10 km" if vis == 9999 else f"{vis / 1000:.1f} km"
    out["thunderstorm"] = bool(re.search(r"\bTS|CB\b", r))
    m = re.search(r"\b(M?\d{2})/(M?\d{2})\b", r)
    t, td = (int(x.replace("M", "-")) for x in m.groups())
    out["temp/dew"] = f"{t}/{td} C, spread {t - td} C"
    out["QNH"] = int(re.search(r"\bQ(\d{4})\b", r).group(1))
    return out

for r in reports:
    print(decode(r))
{'station': 'VTBD', 'utc': 'day 15 01:00Z', 'wind': '210 deg 6.2 m/s, gust 11.3 m/s', 'visibility': '>= 10 km', 'thunderstorm': False, 'temp/dew': '30/24 C, spread 6 C', 'QNH': 1008}
{'station': 'VTBD', 'utc': 'day 15 07:00Z', 'wind': '240 deg 9.3 m/s, gust 16.5 m/s', 'visibility': '4.0 km', 'thunderstorm': True, 'temp/dew': '27/25 C, spread 2 C', 'QNH': 1006}

รายงานเช้า (08:00 น. เวลาไทย) ลมกระโชกราว 11 m/s ทัศนวิสัยดี รายงานบ่าย (14:00 น.) มีพายุฝนฟ้าคะนองและเมฆคิวมูโลนิมบัส ทัศนวิสัยลดเหลือ 4 km และอุณหภูมิกับจุดน้ำค้างห่างกันเพียง 2 °C ซึ่งแปลว่าอากาศชื้นมาก ข้อควรจำคือ METAR วัดที่สนามบิน ห่างจากจุดงานหลายกิโลเมตรอาจต่างกันมาก จึงต้องใช้ร่วมกับข้อมูลแหล่งอื่นตามโมดูล 1

รายงาน METAR ช่วงเช้าแยกเป็นกลุ่ม แต่ละกลุ่มอยู่ในกล่องสี สถานี VTBD เวลา 150100Z ลม 21012G22KT ทัศนวิสัย 9999 เมฆ FEW020 SCT100 อุณหภูมิและจุดน้ำค้าง 30/24 ความกด Q1008 ใต้แต่ละกล่องมีคำอธิบายสั้น
ภาพที่ 1 กลุ่มข้อมูลในรายงาน METAR

ระยะ 9 km จากสนามบิน

ประกาศ กพท. พ.ศ. 2561 เรื่องแนวทางการอนุญาตให้บินภายในระยะ 9 km (5 ไมล์ทะเล) จากสนามบินหรือที่ขึ้นลงชั่วคราว อ้างข้อห้ามบินภายใน 9 km จากสนามบิน เว้นแต่เจ้าของหรือผู้ดำเนินการสนามบินอนุญาต และต้องประสานหน่วยควบคุมการจราจรทางอากาศก่อน ระยะวัดจากกึ่งกลางทางวิ่ง ประกาศกำหนดเงื่อนไขความสูงไว้ด้วย: ห้ามบินในแนวร่อนขึ้นลงและภายใน 1 km จากกึ่งกลางทางวิ่ง ระยะ 1–4 km สูงไม่เกิน 45 m และระยะ 4–9 km สูงไม่เกิน 90 m ทั้งยังต้องขึ้นทะเบียน แจ้งเหตุผล และได้รับความยินยอมเป็นหนังสือจากเจ้าของพื้นที่

ตัวอย่างที่ 2 ตรวจจุดบินกับเงื่อนไข 9 km

สนามบินสมมติ กึ่งกลางทางวิ่งอยู่ที่ (0, 0) ทางวิ่งวางแนว 030/210 องศา ทีมถือแถบกว้าง 1 km ตามแนวทางวิ่งไปถึง 9 km เป็นแนวร่อนขึ้นลง (สมมติฐานของทีม ต้องยืนยันกับสนามบินจริง) พิกัดเป็นเมตรตะวันออกและเหนือ

import math

RWY_HDG = 30                                   # องศา
CORRIDOR_HALF = 500                            # m ครึ่งความกว้างแนวร่อน (สมมติฐานของทีม)
points = {"A": (2500, 900, 40), "B": (1600, 2800, 40), "C": (5600, 3000, 80), "D": (9500, 1000, 110)}   # x, y, ความสูง m

u = (math.sin(math.radians(RWY_HDG)), math.cos(math.radians(RWY_HDG)))   # เวกเตอร์ตามแนวทางวิ่ง
for name, (x, y, alt) in points.items():
    d = math.hypot(x, y)
    across = abs(x * u[1] - y * u[0])          # ระยะตั้งฉากจากแนวทางวิ่ง
    if d > 9000:
        verdict = f"outside 9 km, general 90 m limit -> {'ok' if alt <= 90 else 'TOO HIGH'}"
    elif d < 1000 or across < CORRIDOR_HALF:
        verdict = "NOT ALLOWED (within 1 km or in approach/departure path)"
    else:
        limit = 45 if d <= 4000 else 90
        verdict = f"needs aerodrome permission, max {limit} m -> {'ok' if alt <= limit else 'TOO HIGH'}"
    print(f"{name}: {d / 1000:.2f} km from runway midpoint, {across:.0f} m off axis, {alt} m -> {verdict}")
A: 2.66 km from runway midpoint, 1715 m off axis, 40 m -> needs aerodrome permission, max 45 m -> ok
B: 3.22 km from runway midpoint, 14 m off axis, 40 m -> NOT ALLOWED (within 1 km or in approach/departure path)
C: 6.35 km from runway midpoint, 3350 m off axis, 80 m -> needs aerodrome permission, max 90 m -> ok
D: 9.55 km from runway midpoint, 7727 m off axis, 110 m -> outside 9 km, general 90 m limit -> TOO HIGH

จุด A อยู่ห่างแนวทางวิ่งพอ แต่ยังอยู่ในระยะ 1–4 km จึงต้องบินไม่เกิน 45 m จุด B แม้บินต่ำเพียง 40 m แต่อยู่ห่างแนวทางวิ่งไม่ถึง 500 m จึงถือว่าอยู่ในแนวร่อนตามสมมติฐานของทีม ห้ามบิน จุด C อยู่ระยะ 4–9 km บินได้ถึง 90 m เมื่อได้รับอนุญาต ส่วนจุด D อยู่นอก 9 km แต่ยังต้องบินตามเงื่อนไขทั่วไป คือสูงไม่เกิน 90 m ซึ่งความสูงที่วางไว้ 110 m เกินแล้ว ต้องแก้แผน

มุมมองจากด้านบน ทางวิ่งกลางภาพแนวเฉียง วงกลมรัศมี 1 4 และ 9 กิโลเมตรรอบกึ่งกลางทางวิ่ง แถบสีชมพูตามแนวทางวิ่งคือแนวร่อนขึ้นลง จุด A B C D วางตามพิกัด จุด B อยู่ในแถบสีชมพู จุด D อยู่นอกวง 9 กิโลเมตร
ภาพที่ 2 เงื่อนไขระยะ 9 km รอบสนามบินสมมติ

ขอบเขตแนวดิ่งและเวลา

พื้นที่หวงห้ามและพื้นที่อันตรายบางแห่งมีผลเฉพาะบางความสูงหรือบางช่วงเวลา และ กพท. ออกประกาศเพิ่มหรือยกเลิกพื้นที่ได้ตามสถานการณ์ ก่อนงานทุกครั้งต้องตรวจประกาศล่าสุดใน UAS Portal และประกาศพื้นที่ที่เกี่ยวข้อง แล้วบันทึกวันที่และเลขประกาศที่ตรวจไว้ในแฟ้มภารกิจ

ปฏิบัติการประจำโมดูล

ปฏิบัติการ: ตรวจอากาศและน่านฟ้าของวันงาน

  1. ดึง METAR และ TAF ของสนามบินที่ใกล้วิทยาเขตที่สุด ถอดรหัสด้วยตัวอย่างที่ 1 และด้วยมือเพื่อเทียบ
  2. เทียบกับข้อมูลเครื่องวัดลมที่จุดงาน อธิบายส่วนต่าง
  3. วัดระยะจากจุดงานถึงกึ่งกลางทางวิ่งของสนามบินที่ใกล้ที่สุด ใช้ตัวอย่างที่ 2 ตรวจเงื่อนไข
  4. ตรวจประกาศพื้นที่ล่าสุดของ กพท. บันทึกเลขและวันที่ของประกาศที่ตรวจ
  5. สรุปผลเป็นส่วนหนึ่งของแฟ้มภารกิจจากโมดูล 1

ข้อผิดพลาดที่พบบ่อย

ระวัง

  • อ่านเวลาใน METAR เป็นเวลาไทย ทั้งที่เป็น UTC (Z)
  • ลืมแปลงน็อตเป็น m/s ก่อนเทียบเกณฑ์ของผู้ผลิต
  • ใช้ METAR ของสนามบินแทนสภาพที่จุดงาน
  • วัดระยะจากอาคารผู้โดยสาร แทนกึ่งกลางทางวิ่ง
  • ตัดสินจากสีบนแผนที่ โดยไม่ตรวจความสูงและเวลาของพื้นที่

สรุป

  • METAR มีกลุ่มสถานี เวลา UTC ลม ทัศนวิสัย สภาพอากาศ เมฆ อุณหภูมิกับจุดน้ำค้าง และความกดอากาศ ถอดรหัสด้วยโปรแกรมได้
  • METAR วัดที่สนามบิน ต้องใช้ร่วมกับข้อมูลที่จุดงาน
  • ภายใน 9 km จากกึ่งกลางทางวิ่งต้องได้รับอนุญาต ห้ามในแนวร่อนและภายใน 1 km สูงไม่เกิน 45 m ที่ 1–4 km และ 90 m ที่ 4–9 km
  • ตรวจพื้นที่ทั้งแนวราบ แนวดิ่ง และเวลา และบันทึกประกาศที่ตรวจ

แบบฝึกตรวจความเข้าใจ

  1. กลุ่ม 18015G25KT หมายถึงอะไร
  2. METAR เวลา 150300Z คือเวลาไทยกี่โมง
  3. จุดบินห่างกึ่งกลางทางวิ่ง 3 km นอกแนวร่อน สูงได้ไม่เกินเท่าใดเมื่อได้รับอนุญาต
  4. อุณหภูมิ 26 จุดน้ำค้าง 25 บอกอะไร
  5. ทำไม METAR ของสนามบินอาจไม่ตรงกับสภาพที่จุดงาน
เฉลย
  1. ลมจากทิศ 180 องศา 15 kt กระโชก 25 kt
  2. 10:00 น. (UTC + 7)
  3. 45 m
  4. อากาศชื้นมาก ใกล้อิ่มตัว อาจเกิดหมอกหรือเมฆต่ำ
  5. วัดที่สนามบินซึ่งอยู่ห่างออกไป สภาพพื้นที่และความสูงต่างกัน

สรุปสูตรสำคัญ

ระยะจากกึ่งกลางทางวิ่ง
ช่วงห่างอุณหภูมิกับจุดน้ำค้าง

แหล่งอ้างอิงหลัก

  1. NOAA National Weather Service Aviation Weather Center. Aviation weather data (help). link
  2. Civil Aviation Authority of Thailand. (2024). AIP Thailand GEN 3.5 Meteorological services (AIRAC 2024-03-21). link
  3. Federal Aviation Administration. (2016). Aviation weather (AC 00-6B). link
  4. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2561). ประกาศ สำนักงานการบินพลเรือนแห่งประเทศไทย เรื่อง แนวทางในการพิจารณาอนุญาตให้อากาศยานซึ่งไม่มีนักบิน ประเภทอากาศยานที่ควบคุมการบินจากภายนอกทำการบินภายในระยะเก้ากิโลเมตร (ห้าไมล์ทะเล) จากสนามบินหรือที่ขึ้นลงชั่วคราวของอากาศยาน พ.ศ. 2561. link
  5. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2569). ข่าว กพท. ฉบับที่ 4/2569 ประกาศฉบับที่ 15 เงื่อนไขการบังคับอากาศยานซึ่งไม่มีนักบิน. link

อ่านเพิ่มเติม

ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล

ในชั้นเรียน / ภาคสนาม

ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย

หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz

แบบทดสอบประจำโมดูล

แบบทดสอบนี้ใช้ตรวจความเข้าใจ (formative) ไม่ใช่การสอบเก็บคะแนน

โดเมนความรู้: การวางแผนภารกิจ การบิน และการจำลอง · การควบคุม ออโตไพลอต และการนำทาง