当前位置: 首页 > news >正文

司空个人实现版本(升级版)

基于司空的面状航线规划实践分享

开源地址:https://github.com/Tao-tao520/planar-wayline

前言

近期,我在项目中完成了司空面状航线规划功能的开发。从最初仅能简单绘制航线,到如今已能够满足正射、倾斜摄影等多种航测场景的需求,基本构建了一套完整的航线规划能力。

本文主要分享目前已实现的功能与最终效果,不涉及具体代码实现,希望能为有类似需求的同学提供参考。

项目效果

目前已完成面状航线规划的核心能力,支持从航线创建到参数计算的完整流程。

整体流程如下:

绘制区域 │ ▼ 配置航线参数 │ ▼ 生成航线 │ ├── 正射航线 └── 倾斜摄影(五向) │ ▼ 计算飞行信息 │ ├── 飞行时长 ├── 照片数量 ├── 航线长度 └── 重叠率 │ ▼ 导出 / 导入航线

已实现功能

1. 面状航线规划

支持根据指定区域自动生成航线。

目前支持的功能包括:

  • 任意多边形绘制
  • 自动生成平行航线
  • 航线方向调整
  • 自动裁剪边界
  • 航点自动生成

相比传统矩形区域,任意多边形更贴合真实作业场景,能够减少无效飞行,提升作业效率。

2. 正射采集航线

支持正射摄影航线规划。

可配置参数包括:

  • 飞行高度
  • 航向重叠率
  • 旁向重叠率
  • 飞行速度
  • 云台角度

系统根据参数自动计算:

  • 航线间距
  • 航点数量
  • 飞行路线

适用于以下场景:

  • 正射影像采集
  • DOM(数字正射影像图)生产
  • DEM(数字高程模型)生产

3. 倾斜摄影(五向)规划

除常规正射摄影外,还支持五向倾斜摄影。

生成内容包括五个方向的航线:

  • 正下视
  • 前视
  • 后视
  • 左视
  • 右视

系统自动完成:

  • 五向航线生成
  • 云台角度设置
  • 航线偏移计算

能够充分满足三维建模的数据采集需求。

4. 支持任意多边形区域

这是整个规划过程中比较重要的一项能力。

支持用户自由绘制:

  • 三角形
  • 四边形
  • 不规则多边形
  • 凹多边形

系统根据边界自动裁剪航线,无需限制为规则矩形。

对于山区、河流、园区等复杂区域更加友好。


5. 高度模式

目前支持不同的高度模式。

例如:

  • 相对起飞点高度
  • 相对地面高度(预留)
  • 绝对高度(预留)

方便适配不同飞行平台。


6. 航线导入

支持已有航线再次加载。

实现后可以:

  • 查看历史航线
  • 修改航线参数
  • 二次编辑
  • 继续规划

避免重复绘制。


7. 航线导出

规划完成后支持导出航线数据。

方便:

  • 保存规划结果
  • 分享航线
  • 后续再次导入
  • 对接飞行平台

8. 重叠率计算

根据相机参数和飞行参数自动计算:

  • 航向重叠率
  • 旁向重叠率

规划过程中能够实时看到参数变化带来的影响,方便快速调整航线配置。


9. 飞行时长计算

根据以下参数综合计算:

  • 航线总长度
  • 飞行速度
  • 转弯距离

自动估算:

  • 总飞行时间
  • 作业时间

便于飞行前评估任务规模。


10. 照片数量统计

根据:

  • 航线长度
  • 拍照间距
  • 相机参数

实时统计:

  • 预计拍摄照片数量

方便提前评估:

  • 存储空间
  • 建模时间
  • 数据量大小

当前效果

目前整个航线规划流程已经比较完整:

✅ 任意区域绘制

✅ 正射航线生成

✅ 倾斜摄影(五向)生成

✅ 高度模式支持

✅ 航线导入

✅ 航线导出

✅ 飞行时长计算

✅ 照片数量统计

✅ 重叠率计算

整体已经能够满足大多数无人机航测任务的规划需求。


后续计划

后续准备继续完善以下能力:

  • 支持 DEM 地形跟随飞行
  • 支持禁飞区避让
  • 支持航线编辑(插点、删点、拖拽)
  • 支持更多相机模型
  • 支持航线模拟飞行
  • 支持 KML / KMZ 等更多航线格式
  • 支持任务参数模板保存

总结

整个面状航线规划功能目前已经具备较完整的业务能力,从区域绘制、航线生成,到飞行参数计算,再到航线导入导出,形成了一套完整的航测规划流程。

后续将继续围绕智能化和易用性进行优化,例如地形跟随、航线编辑、更多机型适配等能力,进一步提升航线规划的效率和实际应用价值。

http://www.cnnetsun.cn/news/4119177.html

相关文章:

  • 加拿大出生纸海牙认证|办理流程别踩坑,一次讲清楚
  • 终端、Shell、命令行界面:从概念到实战的完整指南
  • TestDisk 数据恢复实战:免费开源方案全解析
  • 费用报销自动化到底能做到什么程度,12家费控系统的实际水平拉出来看一看
  • 基于智能体模拟与大语言模型的热浪健康风险评估系统构建
  • 氢燃料电池技术突破与商业化机遇:从核心材料到应用场景
  • 电脑前久坐眼睛干涩?这款免费开源的 Project Eye 护眼提醒软件,就是给眼睛定的一只 20 分钟番茄钟
  • PNG XSS攻击实战指南:一张32×32的图片,如何骗过你的扫描器
  • 从破解版陷阱到远程面板,Wand-Enhancer 安全上手的 5 道关
  • DAVE3 SPI配置实战:从基础概念到稳定通讯的实现
  • 一次实测:我把十年QQ空间说说完整备份到了本地
  • C语言——深度理解指针(2)
  • 车企海外研发中心战略解析:从本地化适配到全球化研发体系重构
  • 长期智能体记忆管理:基于类型化表示解决来源-角色混淆
  • 特斯拉智能百叶窗HVAC系统:软件定义汽车座舱环境控制新范式
  • 什么是 RAG 中的分块?为什么需要分块?
  • Axure 汉化原来这么简单:axure-cn 中文语言包 9/10/11 全版本速通指南
  • 锤子助手第124个开关:启用自动下载图片的位置、安全验证与图片隐私边界
  • Capture软件原理图信号联通笔记
  • 电脑掌柜库存管理实战:进销存、库存预警、供应商管理一条龙,0基础电脑店老板 5 分钟上手
  • Unity独立开发艺术展馆漫游:从基础功能到工程化实战
  • XMC1300 ADC读数不稳?从硬件到软件的完整排查与优化指南
  • Python自动化:基于文件名与正则表达式批量分类PDF发票文件
  • 计算机单片机毕设实战-基于 STM32 单片机的防干烧多模式烧水控制系统设计 基于 STM32 的自动手动双模式智能出水装置设计(012104)
  • 构建自主AI智能体的因果推理引擎:反事实思考与时间一致性
  • 算法竞赛制胜关键:构建高效数据结构工具箱,实现降维打击
  • 调度器多副本,不引 ZooKeeper:DB CAS + slot 分片就够了
  • RTL8720DN双模物联网SoC开发:从硬件架构到低功耗实战
  • 脑机接口实战:用Python实现脑电波意念控制与信号处理
  • Sib:用Git版本控制管理AI对话历史的命令行LLM客户端