Pix4Dmapper空间三维模型的应用实例:GIS选址分析
本文介绍基于无人机影像建模完成后的结果,利用ArcMap软件进行空间选址分析,从而实现空间三维模型应用的方法。
前面三篇博客分别基于不同软件、不同方法,详细讲解了空间三维模型建立的过程,具体文章包括物体三维模型的构建:3DSOM软件实现侧影轮廓方法、空间三维模型的编码结构光方法实现:基于EinScan-S软件与无人机影像的空间三维建模:Pix4Dmapper运动结构恢复法。
以上三篇博客主要是对空间三维建模的原理与具体操作加以总结;而空间三维模型在建立之后,如何对其加以更为具体的应用,如何提升模型自身的实践价值,同样需要我们去深入探讨。那么本次,综合上述第三篇博客所提到的方法与原理,我们就将在无人机影像三维模型重建的基础之上,对其加以更为具体的实际应用。
其中,本文在上述博客3的基础之上,直接基于无人机影像建模完成后的结果加以空间分析;如果需要了解建模的详细过程,大家查阅无人机影像的空间三维建模:Pix4Dmapper运动结构恢复法即可。另一方面,本文并没有像前期遥感图像处理的相关博客那样,具体将每一个步骤记录,更多的则是展现基于三维模型进行空间分析的一个思路;因此,对于本文中没有表明如何具体进行的操作,大家如果有疑问可以留言。
本文原始数据为无人机影像的空间三维建模:Pix4Dmapper运动结构恢复法所得到的某校园空间三维模型结果,空间分析部分借助ArcMap 10.2软件完成。
1 空间分析目标确立
完成前述全部无人机航拍影像空间三维建模工作,结合当今疫情实际情况,期望借助建模所得数字表面模型(Digital Surface Model,DSM)与数字正射影像图(Digital Orthophoto Map,DOM),运用坡度分析、缓冲区分析、叠加分析等空间分析方法,继续以前述某校园部分区域为研究对象,加以临时观察隔离选址评价。
基于前述空间三维模型建立过程,已知研究区域如下图所示。
基于实际情况,为该学校疫情临时观察隔离选址条件加以初步规划,结果如下:
1)坡度在3°以下;
2)海拔低于35 m;
3)周围15 m不得含有20 m以上地物;
4)需具有一定防洪能力;
5)面积不可过小;
6)阳光照射时长尽可能长(择优)。
上述约束条件更多仅仅作为一种选址分析的首要考虑因素,后续操作过程中将视情况对其加以适当修改。结合上述目标条件,借助空间三维模型建立后所得DSM数据与DOM数据,尝试对其加以实现。
2 基于基本约束条件的选址求解
2.1 坡度计算与提取
利用三维建模所得部分校园区域DSM数据,求取其坡度信息,如下图所示。
其中,可以看到部分房屋在坡度图中具有较好的辨识信息;将其放大即可观察到,这些房屋多为该学校老宿舍区、艺术馆、景园楼等具有倾斜房顶的建筑,如下图所示。
依据前述限定条件,对坡度小于3°的部分加以提取,得到提取结果如下图所示。
随后将其转换为矢量图层,如下图所示。
2.2 海拔提取
依据前述对海拔条件的限制要求,提取出海拔小于35 m的地区;如下图所示。但是,可以发现依据这种划分指标的理想海拔区域明显包括了一些建筑物,如景园楼、艺术馆等。很显然,疫情临时观察隔离不可以设置在已有建筑物区域。
出现这一问题的原因亦较为简单,即由于该所学校面积大、研究区域跨度长,且在东西方向、南北方向均具有较大的海拔差,从而使得所得研究区域DSM数据各位置(如研究区域西侧与东侧)之间海拔范围较大;可能在某一海拔整体较高区域,其地表高度就已高于海拔较低区域建筑物的高度。因此,使得海拔提取结果较为不理想。
基于上述分析,随后尝试将对海拔的要求更改至15 m,得到提取结果如下图所示。
可以看到,以15 m为阈值提取的海拔区域尽管较之前者有了一定改观,但在其理想区域中依然包含有建筑物的存在。因此,同样放弃15 m海拔的提取结果。
进一步考虑,发现不仅仅是海拔的提取会受到影响,DSM数据在地物高度提取方面同样存在一定问题。例如,前述对疫情临时观察隔离的选址初步要求中提及了“周围15 m不得含有20 m以上地物”;其中,20 m以上地物的定义自身即具有一定问题——在未获取研究区域地表平均高程的情况下,地物高度自然没有一个统一的衡量标准,即无法对具有某一高度的地物加以提取。例如,由于研究区域西侧海拔普遍高于东侧,则15米既可能是研究区域西侧某一地表的海拔,亦有可能是东侧某一建筑物的顶层高度。因此,需要首先确定研究区域的平均地表高度,才可依据DSM数据对地物的高度加以进一步求解。
2.3 LAS数据初探
综上所述,考虑是否可对研究区域模型的地表平均高度加以求解。查阅互联网资料后,亦得知通过对地表点云加以分类等方式可对地表平均海拔加以求解;但这些方法整体操作往往较为复杂。随后,看到有部分网络资料提及,可以利用Pix4Dmapper软件建模所得点云LAS结果文件对地表高度加以求解。因此,尝试由这一角度加以实现。
首先,在Pix4Dmapper软件中生成模型所对应的点云文件,并将其导入至ArcMap软件中。如下图所示。
随后,基于导入的LAS数据,创建LAS数据集,如下图所示。
依据网络资源所述,选用“平均值”像元分配类型方法,将LAS数据集转换为栅格,即可得到研究区域的地表平均海拔。借助相关教程,实现这一步骤,如下图所示。
对得到的结果加以识别,并与DSM数据对比,如下所示。
可以看到,其中的像元值与DSM数据几乎并无差别。由此,可以认为基于LAS数据的地表平均高度提取方法似乎亦不奏效。
基于上述分析,个人决定还是需要直接由海拔高度入手,选取一个对研究区域DSM数据中建筑物与地表高度具有较好区分度的海拔数值,并以其作为建筑物与地表的分割阈值。经过多次尝试,发现这一阈值选取为20 m时整体较为合适。
阈值为20 m时,所得海拔提取结果如下图所示。
可以看到,上述所得结果整体对于建筑物与地表具有较好区分能力——除北部一带,其它位置的建筑与地表分离较好。而北部一带由于其自身复杂的地形,原本就不适合疫情临时观察隔离的建立。因此,可以认为20 m阈值的海拔提取结果较好。
对上述海拔提取结果转变为矢量图层,并以15 m为半径进行缓冲区分析,得到结果如以下三幅图所示。
2.4 淹没分析
考虑到该所学校所在城市整体地势,以及过去一段时间曾在该城市发生过的洪涝灾害实例,考虑到需要对疫情临时观察隔离加以一定防洪能力考虑。首先,选择以5 m水位为阈值,对区域整体防洪能力加以区分。其中,防洪能力较高区域即指5 m水位无法淹没区域。所得结果如下图所示。
可以看到,仅仅在研究区域东南角具有部分防洪能力较弱区域。由于这一防洪能力较低区域面积较小,因此考虑适当加大淹没分析对应阈值。
分别以8 m与10 m水位作为阈值,利用同样的方法对研究区域防洪能力加以区分,所得结果如下图所示。
可以看到,当阈值为8 m时,所得到较易淹没地区多为研究区域东南侧一带;而当阈值为10 m时,较易淹没地区则还包含了运动场等区域。结合实际情况与往年该城市洪涝灾害实际情况,认为以8 m为阈值的淹没分析所得结果具有较高的现实性与实际意义。因此,最终结果中,选择以8 m为阈值,对疫情临时观察隔离选址的防洪能力加以评价。
2.5 区域相交
基于上述坡度、周围建筑、防洪能力等因素,将各约束条件所得结果加以整合,从而得到能够满足上述全部要求的区域。
下图为同时满足坡度要求与临近地物要求(距离20 m以上建筑物15 m以上)的区域。
下图为同时满足坡度、临近地物要求与防洪能力(8 m水位为阈值)要求的区域。
由此,即可得到初步选址结果。但是,可以看到所得结果较为零散——其中包含较多零散的点状区域。当然,由上图观之,由于分辨率等影响,点状分布区域或许并不明显;但实际这种小面积区域数量较多。下图即为将ArcMap图层放大后结果,可以明显观察到上述点状区域。
这些区域由于实际面积较小,并不具有建设疫情临时观察隔离的实际价值。因此,我们需要借助各区域的实际面积,对上述所得选址结果加以进一步筛选,从而得到更加符合实际的选址方案。
2.6 面积约束
假设每一疫情临时观察隔离至少应具有10 m2的面积。通过计算几何方法实现各区域面积的量算。
依据10m2阈值,对不符合要求的区域加以剔除,所得结果如下图所示。
其中,绿色区域即为结合了坡度要求、临近地物要求、防洪能力要求与面积要求的选址结果。
3 基于择优条件的选址求解
至此,已完成全部基于基本约束条件的选址求解。考虑到疫情临时观察隔离的防菌、健康需求,尝试以日照情况作为择优条件,对上述区域的选址适宜性进一步加以求解。
其中,以太阳方位角315°为例,求解研究区域山体阴影情况,所得结果如下图所示。
将日照情况较好区域加以提取,如下图所示。
与前述基本约束条件所得选址结果结合,得到具有适宜性评价的该学校疫情临时观察隔离选址分析图,如下图所示。
其中,黄色区域为满足全部基本选址约束条件与具有光照优势的选址区域;将其作为疫情临时观察隔离的首要选址对象,即一级选址区域。红色区域为满足全部基本选址约束条件,但在光照方面较之前者次之的区域;将其作为疫情临时观察隔离的次要选址对象,即二级选址区域。
可以看到,选址区域多分布于整体较为开阔,远离建筑物、山体等位置,尤其在运动场等位置集中分布;此外,较为空旷的区域,如广场等位置,同样是疫情临时观察隔离选址的热门区域。
当然,其中一级选址区域面积较小,分布较为零散,显然存在一定问题。类似的空间分析中的不足将统一列于以下部分。
4 不足与问题
结合上述操作流程中出现的问题,以及所得选址结果的表现效果,可以看到本次空间分析依然具有一定不足。
1)未对选址区域外形特征加以限定。在结果图东北侧,所得结果中将细长的道路同样作为了选址区域。而在实际情况应用中,这一区域由于其细长的特征,或许并不适合作为隔离点选址区域。即上述空间分析中未对各区域的形状特征加以描述、筛选。
2)未对水体加以提取。在前期建立各类缓冲区时,未专门对水体区域加以划分。尽管所得选址区域结果恰好未落入水体,但这样的操作还是具有一定不严谨之处。
3)衡量防洪能力的实际水体高度意义不明确。进行淹没分析时,分别选取5 m、8 m与10 m作为模拟水体高度,从而区分不同区域的防洪能力。但是,这里的5 m、8 m与10 m仅仅是相对所得到的DSM数据而言的相对海拔高度,其所表述的实际意义可能由于无人机拍摄误差等而并不明确(例如,此处8 m的洪水高度到底代表多高的实际标准水位,是否有可能出现此处8 m的洪水等),具有一定不确定性。
4)未考虑零散选址点的联通性。在进行面积筛选时,将很多零散的可选址点直接舍弃;但对于一些相距较近、分布密集的可选址点而言,其往往可以实现相互之间的联通,从而组成更大的选址区域。
5)针对光照约束条件的执行、结果均不理想。针对光照这一约束条件,在操作过程中选取了山体阴影的分析方法。但这一方法一方面未考虑到全天内太阳高度角、太阳方位角等的变化,且在阈值选取过程中具有一定主观性(因为需要自主决定光照是否充足区域的划分阈值),因此这一步空间分析过程并不精密;并进一步导致所得光照条件的分析结果(即一级备选区域)较为不理想。
Pix4Dmapper空间三维模型的应用实例:GIS选址分析的更多相关文章
- GIS规划应用——基于哈夫模型的GIS服务区分析
1. GIS服务区分析 区位因素是商业分析中一个至关重要的因素,因此在商店选址时,例行的服务区分析十分重要.服务区是指顾客分布的主要区域,在其范围内该店的商品销售量或服务营业额超过其竞争对手.对于现 ...
- JavaBean 基础概念、使用实例及代码分析
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
- 【转】证书的应用之一 —— TCP&SSL通信实例及协议分析(下)
原文链接 前面两部分分别讲解了如何在.net程序中使用SSL实现安全通信以及SSL的通信过程,并通过抓包工具具体分析了ssl的握手过程,本文通过一个demo来模拟ssl协议,在TCP之上实现自己的安全 ...
- 【VS开发】【Live555-rtsp】RTSP服务器实例live555源代码分析
原文地址:RTSP服务器实例live555源代码分析作者:mozheer 1. RTSP连接的建立过程 RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClient ...
- 增加临时表空间组Oracle11g单实例
#需求,测试库与生产库,临时表空间同步一致 #经过查询生产环境,数据库默认临时表空间,为临时表空间组,有三个成员,三个临时表空间,每个临时表空间一个数据文件,自动扩展 #使用临时表空间组的优点,减少不 ...
- [置顶] Cocos2d-x 实例源码分析之二 小实例的主框架
这篇文章是分析第一个小实例ActionTest的源码.其实所有实例程序的结构都是一样的,只有特定方法里的代码不同,大的框架都是一样的.也就是说看完这篇文章你就可以自己开始分析其他源码了. 废话不多说, ...
- Android中的跨进程通信方法实例及特点分析(二):ContentProvider
1.ContentProvider简单介绍 在Android中有些数据(如通讯录.音频.视频文件等)是要供非常多应用程序使用的.为了更好地对外提供数据.Android系统给我们提供了Content P ...
- GIS专业分析方法(待更新)
遗传算法 核密度估计 http://blog.163.com/zhuandi_h/blog/static/1802702882012111092743556/ http://blog.csdn.net ...
- Android中的跨进程通信方法实例及特点分析(一):AIDL Service
转载请注明出处:http://blog.csdn.net/bettarwang/article/details/40947481 近期有一个需求就是往程序中增加大数据的採集点,可是由于我们的Andro ...
- Java精通并发-锁粗化与锁消除技术实例演示与分析
在上一次https://www.cnblogs.com/webor2006/p/11446473.html中对锁的升级进行了一个比较详细的理论化的学习,先回忆一下: 编译器对于锁的优化措施: 锁消除技 ...
随机推荐
- 达梦数据库-DW-国产化--九五小庞
武汉达梦数据库股份有限公司成立于2000年,是国内领先的数据库产品开发服务商,国内数据库基础软件产业发展的关键推动者.公司为客户提供各类数据库软件及集群软件.云计算与大数据等一系列数据库产品及相关技术 ...
- 深信服 9-15笔试 C卷
深信服 9-15笔试 C卷 15题填空,4道编程 填空 填空比较基础,考察了数据结构(队列,二叉树),和简单编程,二进制等. 1.1 2 3 4 5 入队,然后队首弹出,6 7 8 9 10 入队,然 ...
- SQL函数升序Asc,降序Desc使用总结
关键字-升序Asc及降序Desc的使用语法 对某一结果集按列进行升序或降序排列即:结果集 Order by 列名/数字 Asc/Desc. 一.Asc,Desc排序讲以下5点 1.不写关键字Asc/D ...
- bash解释器特性、目录结构、命令种类及优先级、常用命令
bash解释器的交互式环境特性 命令和文件自动补全 注意:Tab只能补全命令和文件及其文件路径 [root@localhost ~]# ls /etc/sysconfig/network-script ...
- python第2~5章 学习笔记
# 第2~5章 学习笔记 ## 什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就得干什么! 需要通过计算机的语言来控制计算机(编程语言)! 计算机语言其实和人类的语言没有本质 ...
- linux常用命令(七)
用于系统内信息交流的相关命令 echo mesg wall write echo:在显示器上显示文字 命令语法:echo[选项] [字符串] 选项 选项含义 -n 表示输出文字后不换行 例子:将文本& ...
- 在线问诊 Python、FastAPI、Neo4j — 问题咨询
目录 查出节点 拼接节点属性 测试结果 问答演示 通过节点关系,找出对应的节点,获取节点属性值,并拼接成想要的结果. 接上节生成的CQL # 输入 question_class = {'args': ...
- 区间检测(range)
区间检测(range) 时间限制: 1 Sec 内存限制: 128 MB 题目描述 给定一个长度为n的序列,进行m次检测,每次检测某个区间中,是否有重复的数. 输入 第一行,两个整数n和m,表示序列 ...
- 【短道速滑十一】标准的Gabor滤波器及Log_Gabor滤波器的实现、解析、速度优化及其和Halcon中gen_gabor的比较。
最近有朋友在研究Halcon中gen_gabor的函数,和我探讨,因为我之前也没有怎么去关注这个函数,因此,前前后后大概也折腾了有一个星期去模拟实现这个东西,虽然最终没有实现这个函数,但是也是有所收获 ...
- MAC版本vmware无法识别虚拟机网卡适配器
一.问题 莫名其妙的突然mac上的vmware无法识别网络适配器了 二.解决过程 1.重装vmware-无效 2.降级安装vmware-无效 3.安装pd虚拟机,并使用sudo命令启动-偶尔有效 4. ...