倾斜摄影软件读取Mavic 2 Pro位置偏移问题解决方法
1 Mavic 2 Pro的Exif信息中GPS位置错误的Bug
该bug导致倾斜摄影成果偏差2公里多,如下图:
2.1 ArcGIS批量获取XMP位置信息
虽然CC、Pix4D等主流倾斜摄影软件是读取Exif中的位置信息的,但ArcGIS中有个名叫GeoTagged Photos To Points的工具可以批量读取照片的XMP信息,并将它们自动生成点图层。下图是测试用的M2P拍摄的照片:
输入工具参数:注意输出要素类除了填写新建的File Geodatabase路径,还需要加上新创建图层的名称,这里我叫“POS”。填好后点击确定。
将存储成二进制的坐标值批量添加到属性表。虽然POS图层里包含了正确的照片点位信息,但这些信息保存在“Shape*”这个二进制字段中的,需要将其批量读取到表格中。做到这一步需使用Toolbox中的 Add XY Coordinates工具,位置如下图:
此时表格中有了经纬度和高程信息列。
也许你会问为什么当初不直接把POS图层生成到Personal Geodatabase中,这是因为GeoTagged Photos To Points 工具写入Personal Geodatabase会因为DataTime字段无法创建的问题而失败,所以才到File Geodatabase里绕了一圈。
=============惊叹.jpg=============
2.2 导出POS格式文件
现在回到Windows文件夹中可以看到刚才新建的PhotoPoints.mdb文件,就是导入POS图层的Personal Geodatabase。
现在可以看到每张照片的名称以及坐标值了,拖动Name列到POINT_X,POINT_Y和POINT_Z列边上,便于后续复制操作。
新建记事本粘贴,然后将该文件保存成POS.txt,就是倾斜摄影软件所需的POS文件:
点击“导入位置”按钮导入之前通过ArcGIS获得的POS文档。
因为POS.txt第一行是列名,所以需要在修改“文件开头忽略的行数”设置为“1”,如下图:
这里逐一设置经度、纬度、高程和影像参考对应字段后,即可点击“导入”按钮导入正确的POS信息。
导入完成后可以看到CC中DJI_04790.jpg的经度从小数点后的“544482”变成了“561526”,其他照片的位置也修正成了XMP中的正确位置。

后续只需要依照正确的位置使用倾斜摄影软件生成倾斜摄影成果即可。
4 总结
该流程的思路说来也简单,就是把位置信息从记录正确的XMP中批量读取成POS文件,再导入到倾斜摄影软件中。其中ArcGIS的操作流程细节略多,请注意关键步骤不要输错。当然如果你有编程能力,也可以把该流程通过编程实现。
文章知识点与官方知识档案匹配,可进一步学习相关知识Vue入门技能树首页概览23438 人正在系统学习中 相关资源:求解偏微分方程的数学软件Fastflo-教育工具类资源
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!