司空个人实现版本(升级版)
基于司空的面状航线规划实践分享
开源地址:https://github.com/Tao-tao520/planar-wayline
前言
近期,我在项目中完成了司空面状航线规划功能的开发。从最初仅能简单绘制航线,到如今已能够满足正射、倾斜摄影等多种航测场景的需求,基本构建了一套完整的航线规划能力。
本文主要分享目前已实现的功能与最终效果,不涉及具体代码实现,希望能为有类似需求的同学提供参考。
项目效果
目前已完成面状航线规划的核心能力,支持从航线创建到参数计算的完整流程。
整体流程如下:
绘制区域 │ ▼ 配置航线参数 │ ▼ 生成航线 │ ├── 正射航线 └── 倾斜摄影(五向) │ ▼ 计算飞行信息 │ ├── 飞行时长 ├── 照片数量 ├── 航线长度 └── 重叠率 │ ▼ 导出 / 导入航线已实现功能
1. 面状航线规划
支持根据指定区域自动生成航线。
目前支持的功能包括:
- 任意多边形绘制
- 自动生成平行航线
- 航线方向调整
- 自动裁剪边界
- 航点自动生成
相比传统矩形区域,任意多边形更贴合真实作业场景,能够减少无效飞行,提升作业效率。
2. 正射采集航线
支持正射摄影航线规划。
可配置参数包括:
- 飞行高度
- 航向重叠率
- 旁向重叠率
- 飞行速度
- 云台角度
系统根据参数自动计算:
- 航线间距
- 航点数量
- 飞行路线
适用于以下场景:
- 正射影像采集
- DOM(数字正射影像图)生产
- DEM(数字高程模型)生产
3. 倾斜摄影(五向)规划
除常规正射摄影外,还支持五向倾斜摄影。
生成内容包括五个方向的航线:
- 正下视
- 前视
- 后视
- 左视
- 右视
系统自动完成:
- 五向航线生成
- 云台角度设置
- 航线偏移计算
能够充分满足三维建模的数据采集需求。
4. 支持任意多边形区域
这是整个规划过程中比较重要的一项能力。
支持用户自由绘制:
- 三角形
- 四边形
- 不规则多边形
- 凹多边形
系统根据边界自动裁剪航线,无需限制为规则矩形。
对于山区、河流、园区等复杂区域更加友好。
5. 高度模式
目前支持不同的高度模式。
例如:
- 相对起飞点高度
- 相对地面高度(预留)
- 绝对高度(预留)
方便适配不同飞行平台。
6. 航线导入
支持已有航线再次加载。
实现后可以:
- 查看历史航线
- 修改航线参数
- 二次编辑
- 继续规划
避免重复绘制。
7. 航线导出
规划完成后支持导出航线数据。
方便:
- 保存规划结果
- 分享航线
- 后续再次导入
- 对接飞行平台
8. 重叠率计算
根据相机参数和飞行参数自动计算:
- 航向重叠率
- 旁向重叠率
规划过程中能够实时看到参数变化带来的影响,方便快速调整航线配置。
9. 飞行时长计算
根据以下参数综合计算:
- 航线总长度
- 飞行速度
- 转弯距离
自动估算:
- 总飞行时间
- 作业时间
便于飞行前评估任务规模。
10. 照片数量统计
根据:
- 航线长度
- 拍照间距
- 相机参数
实时统计:
- 预计拍摄照片数量
方便提前评估:
- 存储空间
- 建模时间
- 数据量大小
当前效果
目前整个航线规划流程已经比较完整:
✅ 任意区域绘制
✅ 正射航线生成
✅ 倾斜摄影(五向)生成
✅ 高度模式支持
✅ 航线导入
✅ 航线导出
✅ 飞行时长计算
✅ 照片数量统计
✅ 重叠率计算
整体已经能够满足大多数无人机航测任务的规划需求。
后续计划
后续准备继续完善以下能力:
- 支持 DEM 地形跟随飞行
- 支持禁飞区避让
- 支持航线编辑(插点、删点、拖拽)
- 支持更多相机模型
- 支持航线模拟飞行
- 支持 KML / KMZ 等更多航线格式
- 支持任务参数模板保存
总结
整个面状航线规划功能目前已经具备较完整的业务能力,从区域绘制、航线生成,到飞行参数计算,再到航线导入导出,形成了一套完整的航测规划流程。
后续将继续围绕智能化和易用性进行优化,例如地形跟随、航线编辑、更多机型适配等能力,进一步提升航线规划的效率和实际应用价值。
