關鍵字 / Keywords: 無人機 附近禁航 UAV drone nearby restricted 500 米 民航局 fly-zone
找指定座標 N 公里內的無人機禁航 / 限航 / 緊急管制區.
Server-side bbox prefilter (STRtree) + haversine 距離排序, < 5ms warm. 距離以 polygon centroid 計 (近似, 對小範圍 polygon 足夠精確).
Args:
lat: 中心緯度 (WGS84)
lon: 中心經度 (WGS84)
radius_km: 搜尋半徑 (公里, 預設 2.0, 上限 50.0)
color_filter: 可選, 限定 "紅區" / "黃區" / "綠區".
None=全部 layer (含無顏色的 nfz / emg-area / 國家公園)
limit: 回傳上限 (預設 50, 超過則 truncated=true)
Returns dict: center: [lat, lon] radius_km: 實際使用半徑 color_filter: 套用的顏色過濾 zones: list — 每筆含 dataset_id, 空域名稱, 空域顏色, 主管機關名稱, 罰則, severity, distance_km (centroid haversine), direction (8 方位中文 + 度數, e.g. "東北 23°"), centroid [lat, lon]. 依 distance_km 遞增排序. count: len(zones) truncated: bool — True 表示超過 limit 已截斷 degraded_layers: 一律回傳;空清單 [] = 所有管制圖層可用(已確認),非空 = 列出暫時不可用的圖層。 expired_ignored: 一律回傳;整數 = 已判斷:已過有效期限(有效日期迄 + 1 天寬限)而不列入 zones 的 臨時管制區數量(0 = 確認沒有)。null = 圖資未載入、不知道(不代表沒有過期區)。 沒有迄日或迄日解析不了的區域保留在 zones、不計入此數。 data_warning: 只在有圖層不可用時出現。 ⚠ 出現時 zones 可能不完整:「附近沒有禁航區」不可以解讀成可以飛。 呼叫端看到 data_warning 時要顯示「部分資料無法確認」。
典型問句: 「我家附近 2km 內有哪些禁飛區?」「桃機 5km 內紅區?」 「墾丁 10km 內所有管制區?」
Source / License 同 tw_dronegis_check_point.