无人机倾斜摄影图像地理配准-随笔

本文介绍了如何从OpenStreetMap下载地图数据,利用QGIS处理并保存为GPKG文件,然后通过Python的osgeo库将GPKG转换为SHP文件。此外,还探讨了numpy库的np.flip()函数,用于数组的翻转操作,包括垂直和水平翻转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yaw/pitch/roll与Omega/Phi/Kappa的关系

phi, omega, kappa是希腊字母φ、ω、κ的英文读音写法;而pitch,roll, yaw的英文含义为俯仰,横滚,航偏。

在摄影测量学中,外业航飞获得的pos数据中三个外方位角元素分别代表的意思如下:

Pitch(俯仰角),绕着X轴旋转,对应角元素Omega

Roll(横滚角),绕着Y轴旋转,对应角元素Phi

Yaw(航偏角),绕着Z轴旋转,对应角元素Kappa
其中的yaw/pitch/roll是相对于无人机本身来说的,以无人机为原点,机头方向上下俯仰,机头左右偏航,机身翻滚为Roll。
而Omega,Phi,Kappa为GPS/INS给出的大地测量值。相当于对无人机进行了UTM投影。两者对应关系就是上面的。

从OpenStreetMap下载大范围数据,并将gpkg转换为shp

1.打开OpenStreetMap找到相应的地图范围,点击‘导出’–‘手动选择不同的区域’–‘Overpass API’这样三步就可以下载足够的范围,但下载的是gpkg文件。该文件可以使用开源的QGIS软件打开。QGIS是开源的,直接百度就可以下载安装很简单。
在这里插入图片描述
下载好是一个map文件。可以直接拖入Qgis打开。拖入会出现如下图,直接全选打开就行。
在这里插入图片描述
这样就可以看到地图已经加载了,包括道路,兴趣点,建筑等等。
在这里插入图片描述
接下来,我们只保留建筑。右击图层,打开Export–Save Feature as。在对话框中输入保留的名称。默认保留路径在安装路径的bin文件中或者自定义位置保存,自定义不行就用默认。这是已经生成gpkg文件了。
在这里插入图片描述
然后使用代码直接将gpkg转化为shp文件,代码使用了osgeo库,可以自行处理,直接上代码:

from osgeo import ogr
source = ogr.Open('F:/bathdata/Dortmenddata/dada/buildings.gpkg',update=False)#就是gpkg文件的本地路径
drv = ogr.GetDriverByName( 'ESRI Shapefile' )
for i in source:
    LayerName = i.GetName() 
    inlyr = source.GetLayer( LayerName )
    outds = drv.CreateDataSource( 'F:/bathdata/Dortmenddata/dada/' + LayerName + '.shp')#保存文件的路径
    outlyr = outds.CopyLayer(inlyr,LayerName)
del inlyr,outlyr,outds  

这样就直接可以得到shp文件了。

在这里插入图片描述
之后就是ArcGIS随便你咋玩了。上一个最后的建筑轮廓图层。
在这里插入图片描述

矩阵的翻转函数np.flip()

1.函数形式:numpy.flip(m, axis=None)
2.作用:沿给定轴的顺序颠倒数组中元素,数组的形状被保留,但是元素被重新排序。
3.参数:m–输入的数组
axis–None或者int(整数)或者tuple(整数的元组)。作用就是用来翻转的轴。默认值axis=None将翻转输入数组的所有轴。如果轴为负,则从最后一个轴数到第一个轴。如果axis是一个整数元组,则在该元组中指定的所有轴上执行翻转。
4.结果:返回一个已经按照指定轴进行翻转的数组。
5.实际应用:
垂直翻转数组,即上下翻转(axis=0)。
水平翻转数组,即左右翻转(axis=1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值