
随着我国航天技术的不断发展进步,航天发射频率正在不断增加。我们常常能看见一些对某次发射型号、时间以及轨道等信息的预测。除根据目标轨道计算发射窗口、通过内部或公开信息渠道获取发射规划安排等方式,普通人提前获知火箭发射信息的重要方法之一就是分析相关NOTAM中包含的落区信息。
NOTAM(飞行航行通告,飞行航警)是为通知飞行员相关空域或机场的特别安排、临时规定及运作程序的改变而发出的通告。火箭发射常常有残骸(一级、二级等)掉落,为了保障飞行安全,相关部门会在残骸预计会掉落的位置附近提前划出一个区域,禁止飞机飞入,这片区域就是火箭残骸落区。通过分析落区,我们可以获取包括火箭发射时间地点、大致轨道等信息,甚至能根据落区形状分布分析出火箭型号。
火箭发射相关的NOTAM常常如下所示:
A1690/23 - A TEMPORARY DANGER AREA ESTABLISHED BOUNDED BY: N392852E0955438-N385637E0955854-N390118E0970056-N393335E0965708 BACK TO START. VERTICAL LIMITS:SFC-UNL. SFC - UNL, 06 JUL 03:18 2023 UNTIL 06 JUL 04:45 2023. CREATED: 05 JUL 07:40 2023
其中,形如“A1690/23”的是航警编号,“N392852E0955438-N385637E0955854-N390118E0970056-N393335E0965708”是四个坐标,这四个坐标点圈出的矩形区域就是残骸落区, “06 JUL 03:18 2023 UNTIL 06 JUL 04:45 2023”是航警生效时间,可以判断发射时间所在区间。国内空域的发射落区航警常以“A TEMPORARY DANGER AREA”开头,在其它国家领空以及一些海域上空航警格式会有所不同,这导致获取文昌的发射落区航警往往会略微麻烦一些。但所有的发射落区航警包含的信息基本一致。
获取NOTAM的方法请移步小工具的帮助:

这个小工具原理相当简单,通过爬取NOTAM查询网站,分析并获取与发射相关的航警,将NOTAM内容解析并调用百度地图API并调用Leafletjs api并加载高德地图瓦片源(由于百度地图开放平台对个人开发者的免费API调用量有限制,而随着工具使用人数的增加,对地图的调用量超过了免费额度,目前我的api key已经受限,购买商用授权的价格我也完全无法负担。为了避免以后再次出现这种问题,地图展示以及形状绘制从原来的调用单一厂商有限额度的jsapi调整为使用Leafletjs(一个开源交互式地图 JavaScript 库)加载地图和管理地图交互+使用免费且没有流量限制的高德地图瓦片源 2025/11/22)将其绘制在地图上,以便更直观方便的进行查询。
这个小工具的主体部分于2022年年底开发,当时我苦恼于手动在地图上标点的麻烦,同时考虑到我还没有任何开发实用项目的经验,于是就编写了一个输入NOTAM后将其在地图上标出的工具来练手,并在之后将它作为个人辅助分析落区的工具。但是因为对字符串的处理不够完善,数据的存储方式不合理,且需要自己手动去网站上搜索NOTAM,这个工具使用起来相当令人脑淤血。
于是最近,我将小工具进行了重新开发,优化了操作逻辑和字符串处理、图形绘制代码,在原有功能的基础上增加了自动爬取NOTAM的脚本部分,并将界面优化到能用的程度。
为了编写方便,我选择了本地服务器+web界面的模式作为这个小工具的基础,小工具主要由flask框架的后端和h5/css+js的前端组成,后端包括一个python爬虫脚本、对发射落区NOTAM的筛选以及初步的字符串处理,前端则以进一步的字符串处理、UI界面和地图、图形的绘制为主。
2025/11/22更新——目前运行可执行文件后会直接在一个独立窗口中打开工具页面,而不会再有终端控制台。现在依然可以在浏览器中访问127.0.0.1:5000来使用工具。如果需要查看终端输出内容可以在帮助页中点击“查看终端日志”以弹出显示终端输出的窗口。其余使用方法与旧版本没有太大差别,具体更新内容详见更新日志。
以下是旧版本工具使用方法
解压完成后,运行目录中的main.exe

如果是未打包的项目文件,则在直接运行main.py即可
之后弹出的窗口为后端控制台:

紧接着会自动弹出浏览器进入工具界面,使用过程中不要关闭后端控制台,在后端控制台运行的情况下直接在浏览器访问http://127.0.0.1:5000即可进入工具。
工具界面如下图所示

地图上已将我国现有的四个发射场(酒泉、西昌、太原、文昌)标出
进入工具页面后会自动抓取一次航警信息,并在界面上将未来一段时间的发射落区绘制出来。左上角的区域可以自行选定这些航警的颜色,下方的“移除自动绘制落区”按钮则可以删除这些自动绘制的落区。
展开“手动输入航警”栏,可以自行输入并绘制航警

百度地图支持卫星地图显示,因此该工具也可以在卫星地图模式下使用

点击地图上绘制出来的落区,可以查看更多信息

(手动输入绘制的落区因为技术问题暂时无法解析时间)
Github项目:https://github.com/FallingFengre/notams
已打包好的程序
蓝奏云:https://wwpj.lanzoul.com/notams
Github release:https://github.com/FallingFengre/notams/releases/download/v1.8/notamCheckerV1.8.exe
(具更新也会在贴吧发布,意见反馈也可以在帖子内进行)
如果使用上有任何问题,欢迎在评论区或私信提问!
如果发现了任何bug者有任何建议,也欢迎在评论区或私信反馈,还可以在github中提出issue!
2025/11/22
由于百度地图开放平台对个人开发者的免费API调用量有限制,而随着工具使用人数的增加,对地图的调用量超过了免费额度,目前我的api key已经受限,购买商用授权的价格我也完全无法负担。为了避免以后再次出现这种问题,地图展示以及形状绘制从原来的调用单一厂商有限额度的jsapi调整为使用Leafletjs(一个开源交互式地图 JavaScript 库)加载地图和管理地图交互+使用免费且没有流量限制的高德地图瓦片源。
其余的主要调整:
1、优化了航警信息弹窗、帮助页的样式;
2、使用pywebview创建展示工具页面的独立窗口,隐藏了终端控制台,工具的使用更简洁(如果需要查看终端输出内容,可以点击帮助页中的“查看终端日志”,也仍然可以像之前一样在浏览器里访问127.0.0.1:5000来使用工具)
3、改进了其它一些功能与界面


【NOTAM绘制工具】2025/10/14更新日志
主要变动:
将航警爬取来源从无法使用的 dinsQueryWeb (notams.faa.gov) 换为 FNS NOTAM Search (notams.aim.faa.gov/notamSearch ),重写了整个爬虫部分
特性变化:
由于新的爬取来源爬取航警的速度较慢,且新的FNS NOTAM Search网站反爬虫机制较为严格,因此如果10分钟内爬取过航警则直接使用已经爬到的数据,以此降低爬取频率,以免被限制对FNS NOTAM Search网站的访问。(测爬虫的时候被封了几次IP换了一堆代理节点得到的教训(悲)
本来这个更新应该更早一点搞出来的,notams.faa.gov第二次寄了之后一直没打赢复活赛,所以不得不换一个爬取源了,结果我懒癌又犯了,所以一直拖到了现在,非常抱歉(
至于我已经说了很多次的对海警信息爬取的部分这次也不出意外的没做,就拖到下次更新再说吧(其实下次更新还是没做)

【NOTAM绘制工具】2025/8/17更新日志
1、重构了航警坐标的提取的逻辑,修正杂乱和不正确的落区获取与绘制(如图1,图2,图3,其中图1和图2将一个航警内的两个落区绘制成了一个落区导致了异常,图2和图3将明显不是落区的坐标点识别为了落区坐标,绘制出了多余且错误的落区,这些问题在8/17更新中都已经得到解决)
2、增加手动绘制航警部分对海航警的支持(如图4,图5)
后续预计实现对海航警的自动爬取
3、优化落区存储格式,重构了flask server主体和爬虫部分的代码,便于后续进行扩展其它爬取来源
4、增加ICAO配置文件(_internal/config.ini),现在用户可以自行配置需要爬取的航警的FIR\ICAO代码(如图6)
5、增加前端界面的自动获取落区列表,用于汇总展示自动获取的落区的信息,相较于之前更一目了然。当鼠标停留在列表中特定落区上时,对应落区在地图上绘制的颜色会加深(如图7),点击列表上的特定落区则会将地图视野移动到以该落区为中心的地方,方便用户对落区的分辨和寻找
6、进行了部分提示信息和显示内容的优化,改正了部分不准确的表述,去除了多余且没有意义的信息
另外由于之前提及的停止服务的www.notams.faa.gov的dinsQueryWeb目前又重新开式提供公开查询服务,因此暂时不考虑将爬取的网站更换为pilotweb.nas.faa.gov的notamSearch。但是由于www.notams.faa.gov 仍然计划在2026年2月停止运营,后续更新预计会实现对notamSearch的爬取并将其作为备用爬取源供用户选择






2025/3/20
1、添加了对南半球和西半球坐标的提取功能,现在可以绘制位于南半球及西半球的落区了(下图分别为位于南半球的计划于3月21日发射的谷神星一号的落去以及星舰八飞位于印度洋的溅落落区)


2、增加了手动输入航警部分对坐标格式的支持类型,现在不再局限于形如“NXXXXEXXXXX-NXXXXEXXXXX”的坐标格式,无论N(S)、E(W)位于坐标数字前还是后、无论坐标点间的连接符是什么,都可以进行识别提取
3、在落区信息弹窗中添加了“复制坐标”的按钮,点击后可以将该落区对应的坐标(统一格式化为“N(S)XXXXE(W)XXXXX-N(S)XXXXE(W)XXXXX“的格式)复制到剪贴板上(见两张图内绿色的“复制坐标”按钮)
4、修改了用户绘制落区的信息弹窗中显示的信息,不再显示时间、航警编号等信息,增加显示了对应左侧手动输入航警栏的序号,便于用户分辨各个航警(见星舰八飞溅落落区图内的落区信息弹窗)
2025/1/18
1、解决了时间信息显示为NaN的问题
2、添加了未获取到航警时的提示
3、添加了东方航天港的标记
4、添加了YMMM WIIF RJJJ三个飞航情报区ICAO码
5、对界面进行了细微调整
对南半球坐标的解析以及手动输入功能对时间的解析功能暂时没有完善。
另外目前手动输入的坐标只支持单一的格式,后续将会进行完善。
目前已知存在问题:
1、手动输入航警无法解析时间(如果输入航警不带有时间信息会报错,导致网页无法使用,因此暂时去除时间解析功能)
2、不支持单点坐标绘制(输入航警后点击绘制没有反馈)
之后会考虑追加的内容:
1、收集并记录历史航警数据,可以根据需要自己浏览选择并绘制落区
(由于爬取源的改变,以下部分文字目前已经失效)
ZBPE ZGZU ZHWH ZJSA ZLHW ZPKM ZSHA ZWUQ ZYSH RPHI VVHM WSJC YMMM WIIF RJJJ
其中,ZBPE ZGZU ZHWH ZJSA ZLHW ZPKM ZSHA ZWUQ ZYSH主要收集中国大陆陆地区域及附近海域的航警,RPHI VVHM WSJC YMMM WIIF RJJJ主要收集南海上的航警
在这些飞行情报区以外的落区航警将不会被自动获取,后续如果在其它飞行情报区有中国航天发射的落区航警,则会尽可能补充。如果各位朋友知道在上述飞行情报区以外还有哪些飞行情报区发布过与中国航天发射相关的航警,欢迎反馈。
感谢 Joey0609(GitHub用户名)为该项目做出的贡献,他提交的pull request为航警的爬取增加了试错机制以及加载动画,也改进更新了发射场的信息窗口中展示的内容
各位网友如果有想法也欢迎评论、提交pull request或issue!