arcgis vue 点位无法显示_Mavic 2 Pro定位偏了?我们用ArcGIS拉回来

倾斜摄影软件读取Mavic 2 Pro位置偏移问题解决方法

1      Mavic 2 ProExif信息中GPS位置错误的Bug

10e98443ec6a2e46ba10bcbbe203abfa.png

Mavic 2 Pro(下面简称M2P)固件版本低于或等于01.00.0200时,存在一个Bug,就是Exif和XMP明码形式记录的照片GPS信息不统一,准确的说是Exif信息记录错误,XMP是正确的,Exif的位置偏差两公里之多。这个Bug会导致读取Exif信息定位的多种倾斜摄影软件在读取M2P位置信息出现巨大偏差,M2P飞出的数据成果完全没有办法用于简单GIS需求。

下图为某张M2P拍摄的照片,CC读取的经纬度(EXIF)和Windows属性(XMP)的差别。

9013dc0047a6848664a204598ec25d82.png

该bug导致倾斜摄影成果偏差2公里多,如下图:

dbee99340f5e97efb3cd4c75f0c1216f.png

2     利用ArcGIS临时绕过Bug

虽然大疆后续固件将修改该Bug,但在这之前,我们不必等待新固件也可以利用一定的操作流程绕过该Bug,思路如下:

e2af3862d1af28668adcde31d1368738.png

2.1   ArcGIS批量获取XMP位置信息

虽然CC、Pix4D等主流倾斜摄影软件是读取Exif中的位置信息的,但ArcGIS中有个名叫GeoTagged Photos To Points的工具可以批量读取照片的XMP信息,并将它们自动生成点图层。下图是测试用的M2P拍摄的照片:

eaefca1983373beb15224b121a1c8a7b.png

准备工作:创建一个File Geodatabase和一个Personal Geodatabase。我这里创建到了M2P照片的下一级路径POSFolder中,如下图:

d8c265dc7701b3f74db880d3cec016ef.png  4ed952beaae0039a593eaa01837d0c99.png

两个Geodatabase的名字随便起,我这里分别叫:Photo.gdb和PhotoPoints.mdb。

读取XMP位置信息:打开ArcMap工具箱中的GeoTaggedPhotos To Points工具,具体参数见下图:

b7e3fecac02e1f7ff6fe9d34c12b3b2b.png

输入工具参数:注意输出要素类除了填写新建的File Geodatabase路径,还需要加上新创建图层的名称,这里我叫“POS”。填好后点击确定。

648d7f085b7ab246919e72440d9412b2.png

执行后ArcMap会把照片所在点位图层自动加入ArcMap中。这些点位都是读取照片XMP而来,因此位置是正确的。

abf4138546cce9beddef4ee06969b984.png

将存储成二进制的坐标值批量添加到属性表。虽然POS图层里包含了正确的照片点位信息,但这些信息保存在“Shape*”这个二进制字段中的,需要将其批量读取到表格中。做到这一步需使用Toolbox中的 Add XY Coordinates工具,位置如下图:

42208af1e3a286cc7ed5a6416ae2f06e.png

在工具中图层下拉列表中选择刚才的POS图层,然后点击“OK”执行。

99d52ec7c7f7024bb98d05970d34559d.png

此时表格中有了经纬度和高程信息列。

5830daacaef611f1c279f8c10559c8c2.png

从FileGeodatabase(Photos.gdb)中复制POS图层到Personal Geodatabase(PhotoPoints.mdb)中。

3d95431eaa5b90a1d0d4d6808a854f69.png c4ffc1116ccee032931624cb052a7ee6.png

3ee1979abd73b411369df8925f7aa879.png

也许你会问为什么当初不直接把POS图层生成到Personal Geodatabase中,这是因为GeoTagged Photos To Points 工具写入Personal Geodatabase会因为DataTime字段无法创建的问题而失败,所以才到File Geodatabase里绕了一圈。

=============惊叹.jpg=============

2.2   导出POS格式文件

现在回到Windows文件夹中可以看到刚才新建的PhotoPoints.mdb文件,就是导入POS图层的Personal Geodatabase。

b5af337c649b1ebd7a532d4319fce3a7.png

双击PhotoPoints.mdb文件,使用Office的Access打开,打开其中与图层名同名的表,我这里是“POS”:

a1cd247d87c49d85143862fd385a6b0e.png

现在可以看到每张照片的名称以及坐标值了,拖动Name列到POINT_X,POINT_Y和POINT_Z列边上,便于后续复制操作。

14c6b6eb67f2a01ca6ecfcf9a54316bb.png

多选Name、POINT_X,POINT_Y和POINT_Z这几列,并点击键盘“CTRL+C”进行复制。

56d37c7edfce799344191e5ec396bd37.png

新建记事本粘贴,然后将该文件保存成POS.txt,就是倾斜摄影软件所需的POS文件:

4f22f3ed6edf52cde782797752e6d63a.png

3     POS数据导入倾斜摄影软件定位照片

将照片批量导入CC,可以看到DJI_04790.jpg的坐标值是CC直接从EXIF中读取到的,经度小数点后为“544482”。

cb31220ae9adb515986f764e736f9c66.png

点击“导入位置”按钮导入之前通过ArcGIS获得的POS文档。

30fc3d8e6af89cef2f35fa9b5fc7b42f.png

1efbae65ddbc11752f46e83336dd620f.png

因为POS.txt第一行是列名,所以需要在修改“文件开头忽略的行数”设置为“1”,如下图:

fb99d4f956a0e9880716abc8a37e8092.png

点击“下一步”后设置空间参考系统,因为M2P获取的原始坐标系统都是WGS 84,因此这里在列表中选择“WGS 84”。

981aab7375d4c8d7a387f509bfe8aa7f.png

这里逐一设置经度、纬度、高程和影像参考对应字段后,即可点击“导入”按钮导入正确的POS信息。

33a13da17c623a5366296b45f90321a0.png

911fe0885621bd1db31cf0d1c78fb234.png

导入完成后可以看到CC中DJI_04790.jpg的经度从小数点后的“544482”变成了“561526”,其他照片的位置也修正成了XMP中的正确位置。

63f9e2a94e9d78f21cb12c074ef0ce65.png

后续只需要依照正确的位置使用倾斜摄影软件生成倾斜摄影成果即可。

4    总结

该流程的思路说来也简单,就是把位置信息从记录正确的XMP中批量读取成POS文件,再导入到倾斜摄影软件中。其中ArcGIS的操作流程细节略多,请注意关键步骤不要输错。当然如果你有编程能力,也可以把该流程通过编程实现。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值