台风实时查询(中央气象台 nmc.cn)
Overview
提供基于中央气象台官方接口的台风实时查询与轨迹可视化能力,覆盖西北太平洋与南海海域。 技能聚焦当前活动台风,可列出正在活动的台风、按编号/英文名/中文名查询单个台风的最新定位、强度、 移动方向/速度、路径统计及近期路径点,并能一键生成带中文底图的交互轨迹地图。数据权威、免密钥、实时。
When to Use
- 用户询问「现在有几个台风」「当前活动台风」「正在生成的台风」
- 用户想知道某个台风「到哪了」「最新位置」「强度多少」「往哪移动」
- 用户要求查询台风路径、命名含义、编号(如 2613 / DOLPHIN / 白海豚)
- 用户提到台风预警、台风动态、西北太平洋/南海热带气旋
- 用户要求「画一张台风轨迹图」「把路径画出来」「生成台风地图」
How to Use
脚本位于 scripts/,仅依赖 Python 标准库(urllib),无需安装第三方包。所有调用通过 Bash 工具执行。
使用前设定两个变量(按本机情况替换):
PY=python3 # 或指向本机 Python 3 可执行文件(绝对路径)
SKILL=<技能安装目录>/typhoon-query # 例如 ~/.workbuddy/skills/typhoon-query
说明:本环境使用托管 Python,路径形如
C:/Users/18339/.workbuddy/binaries/python/versions/3.13.12/python.exe(Windows) 或~/.workbuddy/binaries/python/versions/3.13.12/python.exe(macOS/Linux)。 发布版不依赖固定路径,直接用python3即可。
命令模式(scripts/typhoon.py)
| 调用方式 | 作用 |
|---------|------|
| python $SKILL/scripts/typhoon.py | 默认:列出当前正在活动的台风(status=start) |
| python $SKILL/scripts/typhoon.py --all | 列出本年度全部台风及状态(活动/停止) |
| python $SKILL/scripts/typhoon.py --id <ID> | 按台风 ID 查询完整详情 |
| python $SKILL/scripts/typhoon.py --name <编号/英文名/中文名> | 按名称匹配查询详情 |
| 上述任意命令加 --json | 输出原始 JSON 数据(便于二次处理/绘图) |
典型执行示例
# 1) 当前有没有活动的台风?
$PY $SKILL/scripts/typhoon.py
# 2) 今年所有台风一览
$PY $SKILL/scripts/typhoon.py --all
# 3) 查白海豚(DOLPHIN / 2613)最新位置与路径
$PY $SKILL/scripts/typhoon.py --name DOLPHIN
$PY $SKILL/scripts/typhoon.py --id 3279904
# 4) 取原始 JSON(用于画路径图、接入其他工具)
$PY $SKILL/scripts/typhoon.py --name 白海豚 --json
画实时轨迹图(交互地图,scripts/build_map.py)
脚本在服务端抓取数据并渲染为自包含 Leaflet HTML(避开浏览器 CORS), 路径按强度分段着色、标注最新位置、黄色虚线为官方 BABJ 预报。生成后用 present_files 打开预览。
# 默认取当前活动台风,输出到 ./typhoon-track-map/index.html
$PY $SKILL/scripts/build_map.py
# 指定台风(编号/英文名/中文名)与输出路径
$PY $SKILL/scripts/build_map.py --name DOLPHIN
$PY $SKILL/scripts/build_map.py --name 2613 --out C:/path/to/map.html
地图特性:
- 高德中文瓦片底图(国家/城市/海洋均为中文注记),离线时仍显示轨迹线与标注,仅缺背景地图。
- 路径点 + 预报点做 WGS-84 → GCJ-02 纠偏,与高德底图对齐(百米级偏移,海域内可忽略)。
- 7/10/12 级风圈(nmc 真实数据)+ 14/17 级风圈(按 12 级经验估算,未达等级不画)。
- 24 小时 / 48 小时登陆预警警戒线(东经 124° / 132°)。
- 时间轴滑块 + 播放/暂停,按时间回放台风移动。
- 路径点/预报点点击弹出完整气象卡片(风力等级、气压、风速、移动方向/速度)。
- 中文城市/港口 POI 标注层(右上角图层开关可显隐)。
输出字段说明(详情模式)
- 最新定位:时间、经纬度、强度等级(中文+代码)、中心气压(hPa)、最大风速(m/s)、移动方向/速度
- 路径统计:定位点数量、时间跨度、经纬度范围、最低气压、最高风速
- 最近路径点:近 8 个定位点的时间/经纬度/强度/气压/风速表格
强度等级映射
TD=热带低压 · TS=热带风暴 · STS=强热带风暴 · TY=台风 ·
STY=强台风 · SuperTY=超强台风
失败处理
- 若出现「获取台风列表失败 / 详情失败」,多为网络或接口临时不可用: 重试一次;仍失败则如实告知用户当前无法获取实时数据。
- 「未找到匹配」说明名称/编号不正确,建议先运行默认或
--all查看可用台风。 - 数据为 UTC+8 时间,定位经纬度为北纬(N)/东经(E)。
Notes
- 接口地址:
http://typhoon.nmc.cn/weatherservice/typhoon/jsons/{list_default | view_<id>}(JSONP 包裹,脚本已自动剥离)。 - 本技能定位「当前活动」查询;如需历史台风归档(按年份回溯),应扩展脚本或另建技能。
- 请勿将接口用作高频轮询,避免给官方服务器造成压力;按需查询即可。
- 许可证:MIT(可免费用于任何用途)。
Scan to join WeChat group