大疆 KMZ 航线文件生成/校验,开源 Agent 技能

让 Claude 等 AI 助手按 DJI 官方标准生成、解析、校验 WPML 航线文件(template.kml / waylines.wpml / .kmz),全程零依赖。

问题

手写 DJI WPML 航线文件容易踩坑:

  • template.kmlwaylines.wpml 是两套高度体系(EGM96 / WGS84 / relativeToStartPoint),混用飞不准
  • wpml:index 必须 0 起连续递增,范围 [0, 65535]
  • 枚举值有硬限制(如 finishAction 只能是 goHome/noAction/autoLand/gotoFirstWaypoint
  • 速度 [1,15] m/s、重叠率 [0,100] 等数值范围苛刻,超限解析失败
  • 5 种模板(航点/建图/倾斜/航带/目标检测)结构各不相同

方案

把大疆官方文档整理成 Agent Skill,AI 遇到航线任务时自动加载规范,按标准生成并用脚本自检。符合 agentskills.io 标准,Claude Code / Cursor 可直接安装。

包含两个 Skill

dji-wpml:WPML 航线文件生成、解析、修改、校验(覆盖全部 5 种模板)

# 打包 KMZ(纯标准库,零依赖)
python dji-wpml/scripts/package_kmz.py template.kml waylines.wpml -o output.kmz --res res

# 校验(命名空间/必填字段/枚举/数值/序号连续性)
python dji-wpml/scripts/validate_wayline.py output.kmz

cloud-api:大疆上云 API(MQTT/HTTPS/WebSocket/JSBridge)接入、解析、调试,覆盖机场与 DJI Pilot 2

# 构造标准 MQTT 消息(自动补 tid/timestamp)
python cloud-api/scripts/build_mqtt.py template.json --gateway {sn} -o out.json

# 校验 MQTT 消息(UUID/时间戳/method/result)
python cloud-api/scripts/validate_mqtt.py out.json --strict

使用方式

装好后直接对 AI 说:

生成一条经过这三个点的航点航线:112.3,28.5 / 112.4,28.6 / 112.5,28.55

AI 自动生成 template.kml + waylines.wpml → 脚本自检 → 打包成可直接导入 Pilot 2 的 .kmz

也支持:

  • 解析 kmz 的测区多边形和重叠率
  • 修改航线飞行速度
  • 查询 HMS 错误码含义
  • 订阅机场 OSD 数据

特点

  • 零依赖:全部脚本纯 Python 标准库
  • 基于 DJI 官方 Cloud-API-Doc,不靠猜
  • 内置 ZIP Bomb 防护与安全边界规则
  • MIT License

快速开始

git clone https://github.com/wsadexq/refactored-system.git
cd refactored-system

# 官方文档知识源(版权原因不随仓库分发)
git clone https://github.com/dji-sdk/Cloud-API-Doc.git docs/Cloud-API-Doc

# 安装到 Claude Code
mkdir -p ~/.claude/skills
cp -r dji-wpml ~/.claude/skills/
cp -r cloud-api ~/.claude/skills/

项目地址

GitHub:https://github.com/wsadexq/refactored-system

欢迎 star / 试用 / 提 issue。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐