航摄像片生成DSM(Pix4d)2021.5.21

航摄像片生成DSM(以Pix4d软件为例)2021.5.21

  • 1、常用无人机数据处理软件
    • 1.1、ContextCapture
    • 1.2、Pix4d
  • 2、Pix4d安装步骤
    • 2.1 Pix4d安装包下载
    • 2.2 Pix4d安装方法
  • 3、准备无人机倾斜摄影测量数据(航摄像片)
  • 4、利用Pix4d生成DOM和DSM
    • 4.1 新建项目开始处理
    • 4.2 Pix4d处理航摄像片生成的DSM和DOM
    • 4.3 ArcGIS打开DSM和DOM结果查看坐标系
  • 5、DSM结果tif投影坐标转换为地理坐标WGS84
    • 5.1 使用ArcGIS中的ToolBox(ArcMap手动操作)
    • 5.2 后台调用ArcGIS中的Arcpy实现栅格重投影并处理NoData(python脚本)
      • 5.2.1 栅格重投影坐标系arcpy脚本所用工具介绍
      • 5.2.2 ConvertTifToWGS84.py调用示例
      • 5.2.3 成功叠加WGS84坐标系的DSM和DOM到三维地球OSGEarth显示

1、常用无人机数据处理软件

1.1、ContextCapture

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
航摄像片生成DSM(Pix4d)2021.5.21_第1张图片
航摄像片生成DSM(Pix4d)2021.5.21_第2张图片

1.2、Pix4d

航摄像片生成DSM(Pix4d)2021.5.21_第3张图片

2、Pix4d安装步骤

2.1 Pix4d安装包下载

        到百度网盘下载链接中下载Pix4d安装包文件,提取码:mw66
航摄像片生成DSM(Pix4d)2021.5.21_第4张图片
        下载到本地文件夹后如下图所示:
航摄像片生成DSM(Pix4d)2021.5.21_第5张图片

2.2 Pix4d安装方法

        首先双击Pix4Dmapper.msi安装包文件,弹出安装界面,点击Next
航摄像片生成DSM(Pix4d)2021.5.21_第6张图片
        选择安装路径为 D:\Pix4Dmapper\ 后点击Next
航摄像片生成DSM(Pix4d)2021.5.21_第7张图片
        之后点击Install开始安装,安装结束后取消勾选 Launch Pix4Dmapper后点击Finish即可。
航摄像片生成DSM(Pix4d)2021.5.21_第8张图片
航摄像片生成DSM(Pix4d)2021.5.21_第9张图片
        下面利用Pix4d文件夹中的破解工具进行破解,双击硬件获取.exe后弹出窗口坐下角输入123后点击右侧的Generate HWID后在上方的文本框中生成了硬件ID码,复制下来。
航摄像片生成DSM(Pix4d)2021.5.21_第10张图片
        之后打开注册机文件夹下的注册.exe,将HWID码粘贴到左侧文本框中后在右侧Owner中输入123,Days输入9999后点击Decode后会在右侧生成log日志,最终点击最右侧的Save REG两次即可在注册机文件夹生成123_pix4d.reg注册表文件。
航摄像片生成DSM(Pix4d)2021.5.21_第11张图片
航摄像片生成DSM(Pix4d)2021.5.21_第12张图片

        现在双击123_pix4d.reg注册表文件,看到123_pix4d.reg中包含的项和值已成功添加到注册表中后点击确定即可,至此Pix4d破解完成。
航摄像片生成DSM(Pix4d)2021.5.21_第13张图片
航摄像片生成DSM(Pix4d)2021.5.21_第14张图片
        最后双击Pix4d文件夹下的联网工具.exe后在右下角弹出Pix4d Tool v4.0,点击AutoStart即可,启动桌面或开始菜单的Pix4Dmapper.exe便可打开Pix4D。
航摄像片生成DSM(Pix4d)2021.5.21_第15张图片
在这里插入图片描述
航摄像片生成DSM(Pix4d)2021.5.21_第16张图片
在这里插入图片描述
航摄像片生成DSM(Pix4d)2021.5.21_第17张图片
航摄像片生成DSM(Pix4d)2021.5.21_第18张图片
航摄像片生成DSM(Pix4d)2021.5.21_第19张图片
航摄像片生成DSM(Pix4d)2021.5.21_第20张图片
        进入上述Pix4d界面表示破解成功,可以新建项目了。(注:如果没正常启动该界面,需要多次尝试注册机破解后并注意打开联网公工具中的AutoStart后打开Pix4Dmapper.exe)

3、准备无人机倾斜摄影测量数据(航摄像片)

        外业无人机倾斜摄影测量数据如下图所示。
航摄像片生成DSM(Pix4d)2021.5.21_第21张图片

4、利用Pix4d生成DOM和DSM

4.1 新建项目开始处理

        打开Pix4Dmapper后,点击新项目,项目名称输入TestUAVGerateDOMandDSM后点击Next
在这里插入图片描述
航摄像片生成DSM(Pix4d)2021.5.21_第22张图片
        在弹出的新项目窗口中点击添加图像,在图像浏览窗口选择无人机倾斜摄影测量的数据(54张航摄像片)后点击Next
航摄像片生成DSM(Pix4d)2021.5.21_第23张图片
        在图片属性窗口会显示图像的地理位置、基准和相机型号等信息,直接点击Next
航摄像片生成DSM(Pix4d)2021.5.21_第24张图片
        在选择输出坐标系窗口可以看到自动检测到WGS 84/ UTM zone 44N,而非纯粹的地理坐标系WGS 84,处理的结果如果要用WGS 84地理坐标系的话需要进行坐标转换
航摄像片生成DSM(Pix4d)2021.5.21_第25张图片
        选择处理选项模板为 3DMaps,右侧可以看到为应用实例生成DSM和正射影像图,选中开始处理后点击Finish。
航摄像片生成DSM(Pix4d)2021.5.21_第26张图片
        下面进入数据处理阶段,只需等待
航摄像片生成DSM(Pix4d)2021.5.21_第27张图片
航摄像片生成DSM(Pix4d)2021.5.21_第28张图片
航摄像片生成DSM(Pix4d)2021.5.21_第29张图片
航摄像片生成DSM(Pix4d)2021.5.21_第30张图片
航摄像片生成DSM(Pix4d)2021.5.21_第31张图片

4.2 Pix4d处理航摄像片生成的DSM和DOM

        最后项目处理结果文件夹如下图所示,数字表面模型DSM和数字正射影像DOM结果都被保存在3_dsm_ortho文件夹下,其中DSM被保存在1_dsm文件夹,DOM被保存在2_mosaic文件夹。
航摄像片生成DSM(Pix4d)2021.5.21_第32张图片
航摄像片生成DSM(Pix4d)2021.5.21_第33张图片
航摄像片生成DSM(Pix4d)2021.5.21_第34张图片
DSM正射影像对应的空间参考投影文件TestUAVGerateDOMandDSM_dsm.prj内容为:

PROJCS["WGS 84 / UTM zone 44N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32644"]]

航摄像片生成DSM(Pix4d)2021.5.21_第35张图片
DOM正射影像对应的空间参考投影文件TestUAVGerateDOMandDSM_transparent_mosaic_group1.prj内容为:

PROJCS["WGS 84 / UTM zone 44N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",81],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32644"]]

4.3 ArcGIS打开DSM和DOM结果查看坐标系

航摄像片生成DSM(Pix4d)2021.5.21_第36张图片
        打开ArcMap后,点击添加数据,选择DSM和DOM后确定,显示效果如下图所示,同时在图层上右键->属性->源可查看对应的空间参考(坐标系)为WGS 84 / UTM zone 44N。
航摄像片生成DSM(Pix4d)2021.5.21_第37张图片
航摄像片生成DSM(Pix4d)2021.5.21_第38张图片
航摄像片生成DSM(Pix4d)2021.5.21_第39张图片
航摄像片生成DSM(Pix4d)2021.5.21_第40张图片

5、DSM结果tif投影坐标转换为地理坐标WGS84

        在ArcGIS中导出地理坐标系WGS84对应的空间参考文件WGS 1984.prj
航摄像片生成DSM(Pix4d)2021.5.21_第41张图片
航摄像片生成DSM(Pix4d)2021.5.21_第42张图片
WGS 1984.prj内容如下:

GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]]

5.1 使用ArcGIS中的ToolBox(ArcMap手动操作)

        在ArcGIS的工具箱ToolBox中找到数据管理工具下的投影与变换,进入栅格中的投影栅格,打开投影栅格窗口,选择要重投影的栅格文件和输出坐标系WGS84地理坐标系后确定即可。
航摄像片生成DSM(Pix4d)2021.5.21_第43张图片
航摄像片生成DSM(Pix4d)2021.5.21_第44张图片
航摄像片生成DSM(Pix4d)2021.5.21_第45张图片
航摄像片生成DSM(Pix4d)2021.5.21_第46张图片
        在ArcMap中查看重投影后DSM84.tif和DOM84.tif的坐标系
航摄像片生成DSM(Pix4d)2021.5.21_第47张图片
航摄像片生成DSM(Pix4d)2021.5.21_第48张图片
航摄像片生成DSM(Pix4d)2021.5.21_第49张图片

        DSM84影像中通过识别工具查看影像像素值发现黑色的边框部分对应的RGB的值均为0,可在图层上右键选择属性,在符号系统下的RGB合成中选中显示背景值左侧的方框,并选择背景颜色为白色则可去除黑色边框。
航摄像片生成DSM(Pix4d)2021.5.21_第50张图片
航摄像片生成DSM(Pix4d)2021.5.21_第51张图片

5.2 后台调用ArcGIS中的Arcpy实现栅格重投影并处理NoData(python脚本)

5.2.1 栅格重投影坐标系arcpy脚本所用工具介绍

        这里主要利用ArcGISToolBox中的投影栅格和复制栅格两个工具,通过查看工具帮助里的arcpy调用API来实现python脚本对DSM和DOM的重投影,最终编写了一个ConvertTifToWGS84.py脚本文件,放到ArcGIS对应的python编译器路径(D:\ArcGIS\Python27\ArcGIS10.4)下打开cmd窗口输入python.exe ConvertTifToWGS84.py即可运行。
航摄像片生成DSM(Pix4d)2021.5.21_第52张图片
航摄像片生成DSM(Pix4d)2021.5.21_第53张图片
航摄像片生成DSM(Pix4d)2021.5.21_第54张图片
航摄像片生成DSM(Pix4d)2021.5.21_第55张图片
航摄像片生成DSM(Pix4d)2021.5.21_第56张图片
航摄像片生成DSM(Pix4d)2021.5.21_第57张图片

5.2.2 ConvertTifToWGS84.py调用示例

航摄像片生成DSM(Pix4d)2021.5.21_第58张图片
        如上图所示,要转换的栅格影像Tif所在的文件夹为C:\Users\Administrator\Documents\pix4d\TestUAVGerateDOMandDSM\3_dsm_ortho\DSMandDOMToWGS84,需要手动在此文件夹下新建一个result文件夹,这个result文件夹用来保存转换为WGS 84坐标系后的Tif文件,同时在D:\ArcGIS\Python27\ArcGIS10.4文件夹下修改ConvertTifToWGS84.py代码的第三行为rootdir = "C:/Users/Administrator/Documents/pix4d/TestUAVGerateDOMandDSM/3_dsm_ortho/DSMandDOMToWGS84"后内容如下所示。
ConvertTifToWGS84.py(利用ArcGIS 的python2.7 arcpy)

import os
import arcpy
rootdir = "C:/Users/Administrator/Documents/pix4d/TestUAVGerateDOMandDSM/3_dsm_ortho/DSMandDOMToWGS84"
flag = 0
for (dirpath, dirnames, filenames) in os.walk(rootdir):
    for filename in filenames:
        suffex = filename[len(filename) - 4] + filename[len(filename) - 3] + filename[len(filename) - 2] + filename[len(filename) - 1]
        if (suffex == '.tif'):
            inputTif = rootdir + '/' + filename
            middleTif = rootdir + '/result/' + '' + 'wgs1984' + filename
            outputTif = rootdir + '/result/' + '' + 'Noda_wgs1984' + filename
            print(inputTif)
            filename_prj = inputTif.replace('.tif','.prj')
            #sourceSR = arcpy.SpatialReference(filename_prj)
            print(filename_prj)
            targetSR = arcpy.SpatialReference("C:/Users/Administrator/Desktop/WGS 1984.prj")
            arcpy.ProjectRaster_management(inputTif, middleTif, targetSR, "BILINEAR")
            # arcpy.ProjectRaster_management(inputTif, middleTif, targetSR, "BILINEAR", "#", "#", "#", sourceSR)
            arcpy.CopyRaster_management(middleTif,outputTif,"#", "#", 0);
            print('Result:'+outputTif)
print('successed!')
# python.exe ConvertTifToWGS84.py

航摄像片生成DSM(Pix4d)2021.5.21_第59张图片

GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]]

        下面需要将WGS 1984.prj复制到桌面,在D:\ArcGIS\Python27\ArcGIS10.4文件夹下打开cmd命令行窗口,并输入命令python.exe ConvertTifTiWGS874.py回车开始执行坐标转换,执行完成后会在result文件夹得到转换后的DSM和DOM。
航摄像片生成DSM(Pix4d)2021.5.21_第60张图片
        result文件夹下转换为WGS 84坐标系后的DSM和DOM结果如下,可以在ArcGIS中打开查看坐标系。
航摄像片生成DSM(Pix4d)2021.5.21_第61张图片
航摄像片生成DSM(Pix4d)2021.5.21_第62张图片
航摄像片生成DSM(Pix4d)2021.5.21_第63张图片

5.2.3 成功叠加WGS84坐标系的DSM和DOM到三维地球OSGEarth显示


你可能感兴趣的:(ArcPy进行栅格地图代数运算,Pix4d,ContextCapture,WGS84,dsm,dom)