基于ArcGISEngine的地震灾区无人机影像三维建模软件开发
2015-09-11刘宇等
刘宇等
【摘 要】在大型地质灾害中,第一时间应急救灾,抢救人民的生命财产最为重要。而无人机的最大特点就是灵活机动,可以在第一时间获取重灾区的信息。基于此特点,利用嵌入式开发组件ArcGIS Engine工具和C#为主要开发语言,开发出一套无人机高分影像三维建模系统,可以直观地将灾情呈现在应急救灾指挥员面前,方便他们快速制定正确的救灾方案。
【关键词】三维建模;应急救援;无人机;ArcGIS;Engine
近年来地震频发,震级较大的地震对灾区造成了严重的破坏,因此地震发生时应急救援显得相当重要。当这些事故突然发生时,救援人员往往无法或不方便及时到达事故现场。因为其特有的优势,无人机在2008年汶川大地震,2013年雅安地震,2014年云南鲁甸地震等救灾工作中都有应用,其快速的反应能力在突发事件应急处置工作过程中,发挥了巨大的作用。
无人机可以进入测绘人员不能够到达的危险地带,有效的保障测绘人员的人生安全;并且无人机机动灵活,携带方便,起飞不需要专门跑道,可以高危地区勘测,能够有效避开云层和天气干扰,获取影像分辨率高,可以直接作为三维景观重建的地图。与载人飞机航空遥感和卫星遥感相比,无人机影像成本更低,时效性更好,影像获取更简单,分辨率更高;与测绘人员直接施测相比,无人机遥感测速更快,效率更高。
通过对无人机遥感影像的处理,得到了地震灾区的地形和地貌数据,可以从处理后的无人机遥感影像中得到灾区的道路和房屋的损坏程度以及空间分布,这样就给决策者提供了第一时间的地震灾区的信息以便更好的部署抗震救灾。在地震后对示范区进行三维景观系统的建立,可以对灾区的三维景观再现,可以为灾后重建提供基础数据,可以模拟地质次生灾害为灾后重建的规划提供决策信息,可以查询信息为开发旅游提供导向信息。
在救灾过程中,时间就是生命,如果我们的应急测绘服务能在最短的时间内提供为指挥应急救援服务的工具,我们的工作换来的就是更多的生命和国家财产安全。
1 三维建模技术
早期的三维建模是随着“数字地球”,“数字城市”的提出以及发展而相应产生的。目前实现三维建模的方式可以归纳为两种:一种是,基于程序设计的直接建模方式;另一种是,基于三维建模软件的间接建 模方式建立三维模型。基于程序设计的建模技术通常采用Java3D、VRM、Shockwave3DL、Cult3D等方式。但是,各种方式都具有其利弊, 分别适用于不同方面。
ArcGIS是ESRI公司曁GIS与软件工程、数据库、网络技术、人工 智能等技术之后,推出的能够代表GIS的最高的技术水平的地理信息 系统产品。ArcScene是一个同时基于OpenGL以及TIN数据显示功能 的模块,其适用于展示三维场景的制作显示,并且实现对在三维场景 的漫游鹰眼,可以对三维矢量格式数据与栅格数据进行交互。 ArcScene中的场景表现为平面投影,并且适用于小范围内的精细场景 的表现。
2 无人机数据预处理
无人机图像具有分辨率高的特性,地物的轮廓完全清晰可见。为此,我们直接将拼接好的无人机影像作为底图,对道路,房屋,山地轮廓在底图上直接矢量化来确定地物的几何形状,所选数据为2014年云南鲁甸灾区影像。
对有阴影的建筑高程数据可以通过地面阴影的长度和遥感时太阳高度角计算建筑的高度信息,这种方法计算的高度精度不高,但是可以省去外业测量节约大量时间;特殊建筑物可用常规测量的方法进行测量;如果条件不充分以及精度要求高时,高度信息需用专门测绘仪器进行外业测量确定。但根据阴影长度和太阳高度角估算高程的方法是可以满足大部分精度要求不高情况的。
具体处理用ArcMap软件实现:首先创建高程点要素和房屋线要素,坐标系与遥感影像相同。然后打开编辑扩展模块,开始编辑,绘制房屋轮廓,添加必高程点,并将高程信息加入各自属性表中高程点。
根据高程点和房屋高程数据创建tin,输入数据分别为高程点和房屋的高程数据,并注意创建约束性Delaunay选项打钩,创建出tin。
然后打开ArcScene,加载原图,并将原图属性中的基本高度设置为使用上一步中的tin,调整好比例后效果如下图。将数据保存为.sxd文件。
3 基于ArcGIS Engine的三维建模功能二次开发
ArcGIS Engine为嵌入式开发组件,是ArcGIS 系列产品中用于开发人员创建和自定义地图应用程序的GIS 组件的一个完整类库。我们可使用 ArcGIS Engine 提供的3D Analyst类库开发 GIS 功能并嵌入到现有的应用程序中,并可用3D Analyst组件和接口开发自定义的三维建模应用程序。
我们在 Windows7操作系统下开发,以 Visual Studio2010为开发平台,开发语言为C#,利用ArcGIS Engine接口类库作为GIS 功能开发类库。 C#是一种现代的面向对象的编程语言,更为灵活和富有逻辑的编程语言,它提高了开发人员的工作效率,同时也消除了在编程的过程中可能导致的严重错误,保证了开发人员所需要的灵活性和强大性具体步骤为在Visual Studio 2010中创建一个C#“Windows应用程序”,添加相关ArcGIS Engine的引用和控件,并将相关控件调整位置。
然后将相关控件设为伙伴控件,如将TOCControl,ToolBarControl与axSceneControl设置为伙伴控件。并在license控件属性中将3D Analyst控件打钩,使3D Aanalyst功能可用,并在ToolbarControl控件中加入相关功能,如图层的放缩小,导航漫游,飞行,全图等功能。最后综合调整,加入上一步处理好的数据,实现三维建模功能。
4 结论
无人机可代替测绘人员进入灾区,避免测绘人员面临危险,获取灾区第一时间影像。并且无人机具有机动灵活、携带方便、安全且成本低廉、适宜高危地区勘探等特点,拥有广阔的市场前景。
本文运用Visual Studio 2010开发平台,C#开发语言,ArcGIS Engine接口类库作为GIS 功能开发类库,以及ArcGIS软件ArcMap,ArcCatalog和ArcSense开发基于无人机实时数据应急救灾系统,开发出对无人机数据三维建模软件,基本实现了预期的功能。该过程的研究实现了灾区影像预处理,基于ArcGIS Engine的编程实现三维建模,为快速抗震救灾和灾后重建提供了数据参考,具有一定的推广性。
利用无人机所拍摄的图像分辨率高这一特点,本文详细介绍了利用无人机影像制作三维景观模型的步骤,以2014年云(下转第14页)(上接第38页)南鲁甸地震为例,制作了地震灾区的三维景观模型。实现了地震灾区三维景观的多角度浏览、基本地理数据查询及分析功能;通过通过数据的获取和处理,以及系统的研制,为抗震救灾和灾后重建提供了准确、详细、可靠的决策支持信息。
【参考文献】
[1]彭博.基于ArcGIS的三维地图制作[J].科技信息,2014(11).52.
[2]李军.基于地震灾区无人机遥感的地形图制作及三维重建技术研究[D].西南交通大学,2012.
[3]赵海龙.基于面向对象的高分辨无人机影像灾害信息提取关键技术研究[D].电子科技大学,2012.
[4]锥燕飞.地质灾害应急地理信息数据库设计及其应用[D].山东科技大学,2010.
[5]张纪满,韩宇鹏,周振华,史云飞.基于二维图形数据的三维模型重建[J].电子技术与软件工程,2014(21):122.
[6]ESRI公司. ArcGIS Engine开发指南[M].环境系统研究所公司(美国),2004:288-313.
[7]ESRI公司,ESRI中国(北京)有限公司.ArcGIS轻松入门教程-ArcGIS Engine[M].2008.
[责任编辑:邓丽丽]