大疆智图_空三二维重建成果传输

一、软件环境

1.1 所需软件

  1、 大疆智图:点击下载;
  2、 ArcGIS Pro 3.1.5:点击下载,建议使用IDM或Aria2等多线程下载器;
  3、 IDM下载器:点击下载,或自行搜索;
  4、 FastCopy:自行搜索;
  5、 Rclone:自行搜索配置;
  6、 Python:安装软件ArcGIS Pro 3.1.5过程已安装,或自行搜索安装。

1.2 软件介绍

  1、 大疆智图:进行空三、二维重建,软件需授权。无有效授权使用其他同替软件;
  2、 ArcGIS Pro 3.1.5:使用Python脚本进行金字塔构建;
  3、 FastCopy:局域网内成果快速拷贝;
  4、 Rclone:配置账号后,成果上传对外分发;
  以上软件按需使用。

二、大疆智图软件操作

2.1 软件启动

  鼠标双击桌面“DJI Terra”图标,登录账号后进入软件。
在这里插入图片描述

2.2 任务创建

  鼠标点击“新建任务”,选择“可见光”。
在这里插入图片描述输入“任务名称”后点击“确定”。
在这里插入图片描述

2.3 导入照片

点击“添加照片”或“添加文件夹”,等待照片导入。
在这里插入图片描述

2.4 空三(建议操作,可跳过)

点击“空三”,“场景”:普通场景,点击“高级设置”—“像控点管理”。
在这里插入图片描述点击“坐标系”,“水平设置”:建议与二维重建坐标系一致;“高程设置”:按需设置。
在这里插入图片描述点击“空三”,等待重建。
在这里插入图片描述

2.5 空三质量报告导出(建议操作,可跳过)

空三重建完成后,核实无误。点击“空三质量报告”,点击“导出PDF”。
在这里插入图片描述

2.6 二维重建

“分辨率”:高“场景”:测绘场景(一般为测绘场景,农田无高差可选农田场景);
点击“高级设置”,“水平设置”:选择所需坐标系;“高程设置”:按需设置。
在这里插入图片描述
点击“开始重建”,等待重建。

三、成果传输操作

鼠标右键点击“影像_构建金字塔.py”;
选择“Run with ArcGIS Pro”,或选择“Edit with IDLE(ArcGIS Pro)”后按键盘“F5”按键。
在这里插入图片描述
输入“1”后,按“回车”键确认。
在这里插入图片描述输入或粘贴局域网存放成果的路径。
在这里插入图片描述构建金字塔运行情况。
在这里插入图片描述

四、代码

复制以下代码或点击下载脚本文件,并修改(注释、删除)以下(或者更多)参数,确保脚本能够正确执行。
#拼接大疆任务目录
dom_path
# 设置 7-Zip 可执行文件路径
seven_zip_path
# 设置 fcp 可执行文件路径
fcp_path
# 设置 rclone 可执行文件路径
rclone_path
# 设置 rclone 上传文件路径
rclone_up_path
#压缩至E盘根目录
compressed_file

import arcpy
import os
import time
import datetime
import subprocess
import concurrent.futures# 判断金字塔文件是否存在
def check_ovr_file_exists(file_path):start_time = time.time()if os.path.isfile(file_path + ".ovr"):print(f"已经存在:{file_path} 金字塔文件")else:print(f"开始构建:{file_path} 金字塔文件")arcpy.management.BuildPyramids(file_path)end_time = time.time()execution_time = end_time - start_timetd = datetime.timedelta(seconds=execution_time)hh, mm, ss = str(td).split(":")  # 将时间差转换为时分秒print(f"构建用时:{file_path} 构建{hh}小时{mm}分钟{ss}秒")# 判断目录是否存在
def check_path_exists(dir_path):   if not os.path.exists(dir_path):print(f"指定目录:{dir_path} 不存在!")exit()# 同步最新日期文件夹
def sync_update_folder(source_path, destination_path):print(f"正在同步:{source_path}")command = f'"{fcp_path}" /cmd=sync_update /force_close "{source_path}" /to="{destination_path}"'startupinfo = subprocess.STARTUPINFO()startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOWsubprocess.run(command, startupinfo=startupinfo, shell=True)# 同步文件夹
def sync_folder(source_path, destination_path):print(f"正在同步:{source_path}")command = f'"{fcp_path}" /cmd=sync /force_close "{source_path}" /to="{destination_path}"'startupinfo = subprocess.STARTUPINFO()startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOWsubprocess.run(command, startupinfo=startupinfo, shell=True)# 选择目录    
choice = input("待构建金字塔文件DOM路径为:\n1、所在目录\n2、指定目录\n请选择:")
if choice == "1":current_file_path = os.path.abspath(__file__)folder_path = os.path.dirname(current_file_path)#拼接大疆任务目录dom_path = os.path.join(folder_path, "PCGSPRO\\XXX")
else:dom_path = input("请输入指定目录:")
check_path_exists(dom_path)# 局域网存放路径
dst_path = input("请输入存放路径:")
check_path_exists(dst_path)# 多线程处理map目录下dsm.tif与result.tif文件
def process_folder(foldername):folder_path = os.path.join(dom_path, foldername)if os.path.isdir(folder_path):check_ovr_file_exists(os.path.join(folder_path, "map\\dsm.tif"))check_ovr_file_exists(os.path.join(folder_path, "map\\result.tif"))if __name__ == "__main__":# 设置 7-Zip 可执行文件路径seven_zip_path = r"C:\Program Files\7-Zip\7z.exe"# 设置 fcp 可执行文件路径fcp_path = r"C:\Program Files\FastCopy5.7.10_x64\fcp.exe"# 设置 rclone 可执行文件路径rclone_path = r"E:\rclone.exe"# 设置 rclone 上传文件路径rclone_up_path = "OneDrive:/航飞数据"# 压缩文件的列表compressed_files = []# 创建线程池,最大线程为4with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:# 提交任务给线程池executor.map(process_folder, os.listdir(dom_path))# 局域网同步文件夹for foldername in os.listdir(dom_path):folder_path = os.path.join(dom_path, foldername)if os.path.isdir(folder_path):sync_folder(os.path.join(folder_path, "map\\dsm*.*"), os.path.join(dst_path, foldername))sync_folder(os.path.join(folder_path, "map\\result*.*"), os.path.join(dst_path, foldername))sync_folder(os.path.join(folder_path, "map\\*_质量报告.pdf"), os.path.join(dst_path, foldername, "空三"))sync_folder(os.path.join(folder_path, "AT\\report\\POS_residual_of_camera.csv"), os.path.join(dst_path, foldername, "空三"))# 压缩文件for foldername in os.listdir(dom_path):folder_path = os.path.join(dom_path, foldername)if os.path.isdir(folder_path):compressed_file = f"E:\{foldername}.7z"#压缩至E盘根目录compressed_files.append(compressed_file)seven_zip_command = [seven_zip_path,"a",compressed_file,os.path.join(folder_path, "map", "result.prj"),os.path.join(folder_path, "map", "result.tfw"),os.path.join(folder_path, "map", "result.tif.ovr"),os.path.join(folder_path, "map", "result.tif.xml"),os.path.join(folder_path, "map", "result.tif")]print(f"正在压缩: {foldername}...")subprocess.run(seven_zip_command)# 使用 rclone 上传文件的函数def upload_file(compressed_file):rclone_command = ["rclone","sync",compressed_file,rclone_up_path,"--progress"]print(f"正在上传: {compressed_file}...")subprocess.run(rclone_command)print(f"上传成功: {compressed_file}")# 异步上传文件with concurrent.futures.ThreadPoolExecutor() as executor:futures = [executor.submit(upload_file, file) for file in compressed_files]concurrent.futures.wait(futures)# 删除本地 7z 文件for file in compressed_files:os.remove(file)print(f"本地文件: {file} 已删除!")print("\nOVER!")
input("按任意键继续...")

五、说明

  1、大疆智图空三丢失图片:
  因空三导入的区域不连续,并且接壤的地方没有重叠。导致空三时,无法获取到对应的特征点,从而重建缺失或者失败。只能单独重建或补飞。见官方说明,与客服沟通情况。
在这里插入图片描述
  2、构建金字塔:
  默认使用4线程操作,最大线程数量可修改;
  3、局域网同步:
  sync_update_folder或sync_folder可选,考虑硬盘读写情况,使用FastCopy顺序同步;
  局域网同步也可以搭建webdav等方式后使用rclone同步,速度尚可&省一个软件&省代码;
  4、压缩文件:
  7Z参数可修改,考虑硬盘读写情况,使用7Z顺序压缩;
  5、上传文件:
  配置账号(自行搜索)后,使用rclone异步上传;
  6、删除文件:
  上传文件后删除压缩包节约本地空间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/24683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索 Noisee AI 的奇妙世界与变现之旅

日赚800,利用淘宝/闲鱼进行AI音乐售卖实操 如何让AI生成自己喜欢的歌曲-AI音乐创作的正确方式 抖音主播/电商人员有福了,利用Suno创作产品宣传,让产品动起来-小米Su7 用sunoAI写粤语歌的方法,博主已经亲自实践可行 五音不全也…

[经验] 涠洲岛在广西吗 #职场发展#知识分享#媒体

涠洲岛在广西吗 广西涠洲岛,是中国南海上的一颗闪亮明珠,位于广西北部湾沿海,东经108.71度,北纬21.54度,距离北海市区30公里,是中国最大的海岛之一,风景秀丽,气候温和。岛上山青水秀…

PCE自动装机

服务端和客户端 pxe:c/s模式,允许客户端通过远程服务器(服务端)下载引导镜像,加载安装吻技安,实现自动化安装操作系统。 无人值守:安装选项不需要认为干预,可以自动化实现。 pxe优点: 1.规模…

最小相位系统

最小相位系统 1、传递函数 一个线性系统的响应。 比如一个RC低通滤波器: 交流分量在电容的充放电中被滤除掉,通过设置电容器的电容值,以及电阻值,能够控制这种滤除能力,这个参数为RC。 电容的电抗为 1 / j w C 1/j…

单片机+TN901非接触式红外测温设计

摘要 温度测量技术应用十分广泛,而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中,要求测量温度用的传感器不能与被测物体相接触,这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设计的…

C语言实战:贪吃蛇(万字详解)

💡目录 效果图 界面设计思路 1. 基本布局 2. 视觉元素 游戏机制设计 基本规则 游戏代码 前期准备 游戏代码详解 数据结构设计 宏定义 数据结构定义 函数原型(详见后文) 主函数代码 核心代码 Review 效果图 界面设计思路 1. 基…

转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品

认知负荷理论主要探讨在学习过程中,人脑处理信息的有限容量以及如何优化信息的呈现方式以促进学习。认知负荷定律认为,学习者的工作记忆容量是有限的,而不同类型的认知任务会对工作记忆产生不同程度的负荷,从而影响学习效果。以下…

Elasticsearch 认证模拟题 - 16

一、题目 创建一个搜索模版,要求 match_prase 查询,并且用指定的格式高亮,并排序 # 创建索引 PUT my_index {"settings": {"number_of_replicas": 0,"number_of_shards": 1},"mappings": {"p…

【SpringCloud学习笔记】Docker(上篇)

Docker 1. 前置准备 在学习Docker之前我们需要具备以下环境: Linux云服务器 / 虚拟机安装并配置Docker环境(命令行中输入docker -v能够显示对应版本证明安装成功) 2. 快速入门 要求: 我们先来尝试使用Docker创建MySQL服务&am…

ChatGLM2-6b的本地部署

** 大模型玩了一段时间了,一直没有记录,借假期记录下来 ** ChatGlm2介绍: chatglm2是清华大学发布的中英文双语对话模型,具备强大的问答和对话功能,拥有长达32K的上下文,可以输出比较长的文本。6b的训练参…

pycharm使用pip安装依赖包报错 -----Microsoft Visual C++ 14.0 is required解决方法

pip安装第三方库的时候会报错:需要Microsoft Visual C14.0或更高版本。 报错原因 因为pip所安装的包需要使用C编译后才能够正常安装,但是当前安装环境中缺少完整的C编译环境,因此安装失败。 这样解决方案就很明确了,安装完整的C编…

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题 使用VMware Workstation 17 Player,再上面安装 Ubuntu ,安装完之后,需要和主机之间进行复制粘贴。 首先安装了VMware Tools。 在打开的页面下把 VMwareTools…

c++【入门】正多边形每个内角的度数

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 根据多边形内角和定理,正多边形内角和等于:(n - 2)180(n大于等于3且n为整数)(如下图所示是三角形、四边形、五边形、六边形的形状&#xff09…

Stable Diffusion WebUI 各操作系统安装教程

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI,这里记录下如何安装,以及一些注意点和坑。 以下内容针对 Windows(N 卡)、MacOS(m 系列芯片)、Linux(Ubu…

【国产NI替代】SMU 源测量仪:源测量单元平台主要用于半导体、传感器、模组等 IVR 测试测量

• 集 5 台仪器 (数字万用表、电压源、电流源、电子负载和脉冲发生器) 功能于⼀体 • 典型输出源及测量精度 02%,支持直流/脉冲输出模式 • 脉冲输出模式,最⼩脉冲宽度 100 us ,上升时间 10 us • 具有 pA 级分辨率高精度源,且…

【Python机器学习】PCA——特征提取(1)

PCA的一个重要应用是特征提取。特征提取背后的思想是,可以找到一种数据表示,比给定的原始表示更适合于分析。特征提取很有用,它的一个很好的应用实例就是图像。图像由像素组成,通常存储于红绿蓝强度。图像中的对象通常由上千个像素…

变声器软件免费版有哪些?国内外12大热门变声器大盘点!(新)

变声软件是一种人工智能AI音频处理工具,允许用户实时修改自己的声音或改变预先录制的音频。这些软件解决方案可提供不同的效果,如改变声音的音调或速度,或将我们的声音转换成其他人或其他东西的声音,如名人、卡通人物、机器人或不…

WinForms 应用(.NET 8.0)使用ReportViewerCore.WinForms显示打印RDLC报表

在要WinForms 应用(.NET 8.0)中,显示RDLC报表,就要使用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。 1.ReportViewerCore.WinForms 程序包说明 SQL Server Reporting Services ReportViewer…

[stm32]——uc/OS-III多任务程序

目录 一、获取uC/OS-III源码 二、移植源代码 (1)建立工程文件 (2)移植uC/OS-III源码 (3)添加工程组件和头文件路径 (4)添加头文件路径 三、修改代码 总结 一、获取uC/OS-III源码 …

【Vue】声明式导航-自定义类名(了解)

问题 router-link的两个高亮类名 太长了,我们希望能定制怎么办 解决方案 我们可以在创建路由对象时,额外配置两个配置项即可。 linkActiveClass和linkExactActiveClass const router new VueRouter({routes: [...],linkActiveClass: "类名1&quo…