技术研究之大疆智图
1.前言
最近要进行农业行业的应用,还需要使用到三维立体的功能,于是就去尝试了大疆智图。大疆智图API 在2024年1月25日发布了第一个版本,公测一年之内免费,后面收费再说,等我使用的时候,已经2025年01月09日了,都快过期了。
大疆智图是一款提供自主航线规划、飞行航拍、二维正射影像与三维模型重建的 PC 应用软件。一站式解决方案帮助行业用户全面提升航测内外业效率,将真实场景转化为数字资产。
【1】.Rainbow Cloud航线规划 这个网站可以购买建模的一些功能,好像比大疆智图要便宜很多。
2.正射影像
正射影像或者倾斜摄影进行航线规划时需要注意的点:
- 尽量选择晴朗、能见度好的天气条件进行航摄;
- 数据采集后,及时检查影像成像质量,如亮度、清晰度等;
- 航测过程,为了确保精灵Phantom 4 RTK解算稳定,应避免电磁干扰、遮挡干扰比较严重的区域,同时确保遥控器与飞行器连接良好;
- 确保足够的航向及旁向重叠率,推荐航向重叠率80%,旁向重叠度70%。根据地形起伏条件,可适当调整重叠率。
- 推荐设置的航向重叠率为 80%,旁向重叠率为 70%,适用于大部分场景。对于地形起伏变化较大的区域,地形最低点和最高点重叠度相差过大的情况下,为了保证最高点处的重叠度,可以适当增加重叠率。地势平坦的区域,整体重叠度接近,可以适当减少重叠率,以增加航测效率,减少数据处理量,但需确保航向重叠率不低于 65%,旁向重叠率不低于 60%。
【1】.大疆智图常见问题 这里是官方的一些问题回答,好像能解决大部分的问题。
3.API
去大疆智图API 申请相关的api。
注意
这里会遇到一个问题,因为token有效期只有10分钟,当文件数量较多的时候,一个有效期内还不一定能上传完成。
【1】.大疆智图api(java实现) 这里有具体的代码,可以进行参考。
【2】.大疆智图 API 重磅上线!1 年免费,赋能多个行业应用 这是一个手机版的网站,不太美观
【3】.大疆智图api web端中接入使用 这里是用的 python 脚本的方式
【4】.Java开发者的大疆制图API探索之旅:从入门到实战 1.申请账号与准备素材;2.Java 环境配置与依赖引入;3.请求封装与签名生成;4.获取 Token 与上传素材;5.Java 整合大疆制图 API 实战。
【5】.大疆智图 API 云端服务 api接口说明,这个更详细一点。
4.激光点云
激光点云处理,激光雷达(LiDAR)获取的点云数据包含大量的噪声和无效点(如地面点、植被点、建筑物点等),这些噪声和无效点会影响后续的数据分析和应用。滤波处理的目的是去除噪声、分离地面点和非地面点,从而提取出有用的信息。
PDAL
PDAL(Point Data Abstraction Library)是一个开源的点云数据处理库,旨在为开发者提供高效、灵活的点云数据处理能力。PDAL支持多种点云数据格式,并提供了丰富的处理功能,包括数据读取、转换、过滤、分类等。无论是在地理信息系统(GIS)、遥感、测绘还是其他需要处理点云数据的领域,PDAL都能提供强大的支持。PCL
点云数据的处理可以采用获得广泛应用的Point Cloud Library (点云库,PCL库)。PCL库是一个最初发布于2013年的开源C++库。它实现了大量点云相关的通用算法和高效的数据管理。
【1】.稠密的无人机激光雷达点云数据处理与分析方法与工具科普系列 这个没啥有用的东西
【2】.PDAL:点云数据处理的强大工具 显著特点:高性能、跨平台支持、丰富的数据格式支持、灵活的插件机制、完善的文档和社区支持
【3】.PCL(Point Cloud Library)学习指南&资料推荐(2025版)
【4】.PCL滤波介绍(1) 在获取点云数据时 ,由于设备精度,操作者经验环境因素带来的影响,以及电磁波的衍射特性,被测物体表面性质变化和数据拼接配准操作过程的影响,点云数据中讲不可避免的出现一些噪声。在点云处理流程中滤波处理作为预处理的第一步,对后续的影响比较大,只有在滤波预处理中将噪声点 ,离群点,孔洞,数据压缩等按照后续处理定制,才能够更好的进行配准,特征提取,曲面重建,可视化等后续应用处理,PCL中点云滤波模块提供了很多灵活实用的滤波处理算法,例如:双边滤波,高斯滤波,条件滤波,直通滤波,基于随机采样一致性滤波,
5.Java
1 | public class DjiMapUtil { |
问题
(1)上传文件总是关联不上
开发第一个,遇到的问题就是上传文件之后,虽然上传到了大疆的阿里云,但是关联文件的时候,虽然返回的是关联成功,但是查询文件个数,还是为空。
【尝试方案】
(1) 开始的时候,我是一个文件一个文件上传的,后来改成了一个 ossclient 上传多个文件。
(2) 我尝试将文件夹里面的文件减少,结果还真是可以的,就是只上传几个文件,然后就关联,结果能关联上。
(3) 我以为是 token 十分钟过期的问题,于是我还专门弄了一个 十分钟过期,然后重新申请 token 的方法,结果不行。
(5) 最后我只能是多方面的检查,还是不行,浪费了很多时间。
(6) 尝试增大这个文件数量,结果出现了新的问题: Access denied by authorizer’s policy.
1 | public static boolean uploadFile(String resourceUuid,String FILE_PATH) throws IOException { |
【解决方案】
解决方案就是每次绑定文件之后,重新获取新的上传的token信息,这样可以保证绑定和上传的 token 和 callbackParam 等参数一致。