大藤峡实景三维可视化淹没分析系统开发与应用
2021-04-21邓理思朱长富
邓理思,刘 闯,朱长富
(1.中水珠江规划勘测设计有限公司,广东 广州 510611;2.广西大藤峡水利枢纽开发有限责任公司,广西 南宁 530200)
近年来随着三维GIS技术的发展,地球空间信息的三维可视化以其开放性、可量测性和可挖掘性成为了信息化服务的基本要求,搭建与现实世界一致的三维立体空间框架也已成为GIS技术研究与应用的国际前沿[1]。如卢健等[2]利用Sketch Up和ArcGIS技术,开发了基于三维GIS的玉米精准作业农田环境模拟检测系统;王威等[3]利用先进的计算机技术和三维可视化技术,形成了一套完整的三维滑坡灾害预警系统;黄少华等[4]以高分辨率数字高程模型和遥感影像为基础,建立了三维交互式展示水库地形地貌、水工建筑物及下游河道沿线的可视化平台。以上研究为三维可视化技术在各行业中的推广和应用奠定了坚实的基础。本文针对大藤峡水利枢纽工程建设管理中的突出问题,立足于提升工程建设管理中的三维可视化表达水平。提出了基于无人机航摄的三维可视化方法,研究实现该方法的关键技术。并借助于ArcGIS ModelBuilder工具成功构建淹没分析模型,最终设计开发了大藤峡实景三维可视化淹没分析系统。本文成果可以作为项目进度、质量、安全、文明施工等管理的重要技术支撑,应用于水利水电工程施工阶段的全过程。
1 系统开发概述
近几年,无人机对大藤峡水利枢纽工程库区重点防护区、坝址区、重点施工区进行了周期性航摄,生成了海量且繁杂的三维实景模型[5]。三维实景模型目前仅作为历史存档资料保存在本地电脑中,不仅占用大量存储空间,而且带来了检索困难、无法共享等诸多问题。同时三维实景模型的可视化仍依赖于市面上的三维桌面端应用软件进行操作,缺少具有自主知识产权的三维可视化系统,系统的首要任务即是解决三维实景模型的存储管理与可视化。
大藤峡水利枢纽工程每期所生成的三维实景模型数据量与区域面积大小、精度有关,小则5 G左右,大则10~15 G,近年来所有的数据量之和大到难以预估。如何将数据量如此大的三维实景模型实现高效检索,缩短可视化渲染时间是系统需要解决的重大难题。对数据库进行优化并设计读写操作机制将多期、多区域的三维实景模型进行分类管理是实现高校检索的手段之一,采用有效的缓存机制和前后端分离技术等操作也能一定程度上提高了三维可视化的速度[6]。
系统在实现三维可视化的基础上,结合大藤峡水利枢纽工程目前库区水位逐渐抬升这一施工现状,提出了淹没分析模型的需求。淹没分析模型基于三维点云所生产的DEM并参考库区回水位数据进行构建,依赖于ArcGIS提供的空间分析工具运行[7]。系统将直接获取淹没分析所生成的淹没面,与已有的三维实景模型相结合进行高逼真展示,同时对淹没范围内的专题数据、社会经济数据进行统计,直接量化了水库水位抬升过程中所造成的影响程度。
2 系统总体设计
大藤峡实景三维可视化淹没分析系统整体基于WebGIS的架构进行开发,总体框架划分为3层,从下至上依次为数据库层、地图服务器中间件、客户端UI层(图1)。其中空间分析工具基于ArcGIS ModelBuilder工具生成,发布完成后托管到ArcGIS Server,供客户端UI层使用[8-9]。
图1 技术路线
系统涉及到的相关地理数据如三维地理空间数据、正射影像、矢量要素等先经过一系列标准化处理,通过Portal for ArcGIS门户进行数据的发布,将其存储到ArcGIS Data Store中,并指定托管在对应的ArcGIS Server中[10-11]。淹没分析模型则在ArcGIS ModelBuilder(即模型构建器)中完成一系列工作流的创建,包括栅格计算、重分类、融合等,创建成功后托管在对应的ArcGIS Server中。
系统客户端UI层则面向使用系统的用户,支持主流浏览器如谷歌(Chrome)、火狐(Firefox)等访问。以地图服务器ArcGIS Server、数据库ArcGIS Data Store为基础,在浏览界面用户通过添加三维实景模型指令向Web应用服务器发送请求,调用ArcGIS API for JavaScript接口向地图服务器ArcGIS Server请求三维实景模型,请求成功后即可返回三维地理数据的json描述数据,经客户端解析即可在三维场景中展示[12]。用户也可通过输入库区淹没高度参数,触发淹没分析控件,携带库区淹没高度参数向Web应用服务器发送淹没分析请求,调用API接口向地图服务器ArcGIS Server请求淹没分析工具,将携带的库区淹没高度参数作为工具的输入参数,工具运行成功后的结果即淹没面矢量要素将以json数据形式返回客户端,经解析后即可展示在三维场景中。
3 关键技术研究
3.1 三维可视化技术
三维实景模型和三维点云同属于三维地理空间数据,两者在三维可视化的方式上是类似的。ArcGIS支持i3s开源的三维地理数据规范,采用json文件来描述数据,二进制文件来存储三维地理数据[13]。三维实景模型和三维点云在ArcGIS中均以slpk格式的文件来实现i3s,使用树结构切分,以适应大量数据的快速分发、显示。切分的结果就是节点,节点资源包括三维实景模型和三维点云的几何数据、属性数据以及材质纹理信息。
三维实景模型和三维点云经预处理后生成的slpk由ArcGIS Portal代为托管存储并解包发布成三维场景服务(图2)。几何体以及属性信息预先构建空间索引并缓存在地图服务器中,通过ArcGIS API for JavaScript接口返回给客户端UI层,包括几何、属性、纹理,也包含了LOD信息(会根据屏幕分辨率自动切换显示等级)、空间坐标系和空间参考。这样web环境就能快速访问三维数据,实现可视化供用户浏览、查询,并作为空间分析工具的输入参数参与到系统的实现过程。
图2 三维场景服务
3.2 淹没分析关键技术
淹没分析功能实现依赖于淹没分析模型的构建。构建淹没分析模型先确定模型所需的数据,包括大藤峡DEM、回水位内插DEM、专题数据、社会经济数据。大藤峡DEM由0.1 m高分辨率的无人机航摄的三维点云数据生成;回水位则主要利用MIKE软件中的HD水动力模块计算得出,然后通过断面内插生成回水位内插DEM[14];专题数据和社会经济数据要进行实地调查或参考当地相关资料来获取,是进行淹没情况统计的依据。参与计算过程的数据精度将直接决定淹没分析模型最终成果的可靠性。
接着在模型构建器中设置空间分析工作流,通过DEM之间的乘、加、减等栅格运算,获取该抬升水位下的栅格数据。将其进行重分类并通过融合等操作转化为面要素数据,至此淹没范围面数据生成。淹没面数据与专题数据进行相交、合并等操作得到被淹没地物的要素图层,最后进行淹没地区属性信息的分类统计,可得到当前抬升水位下淹没区域的整体情况如耕地面积、建筑物面积、影响人口等[15]。
淹没分析模型(图3)构建成功后,将封装成一个地理处理工具包(即GP)托管在地图服务器中。客户端通过输入抬升水位调用GP服务,自动返回并显示当前抬升高度下淹没范围面,得到淹没面积、分类统计等数据,制作成图表在客户端显示。
图3 淹没分析模型
4 系统实现
大藤峡实景三维可视化淹没分析系统基于ArcGIS API for JavaScript进行二次开发,是一个集数据管理、数据展示、空间分析三大功能于一体的三维WebGIS平台。系统目前采用ArcGIS Server托管GIS资源,Tomcat作为Web 服务器,部署在Windows Server 2012 R2操作系统的服务器上,硬软件配置需满足以下要求:①硬件环境满足CPU4.0GHz以上,硬盘120 G以上,内存4 G以上;②支持Windows 7及以上操作系统;③支持谷歌(Chrome)、火狐(Firefox)等浏览器访问。
大藤峡实景三维可视化淹没分析系统实现将各期的三维实景模型、正射影像、三维点云进行集中管理和实时检索,对施工区域兴趣点、兴趣范围等进行三维展示,并重点对库区水位抬升情况进行科学地分析,三维展示库区淹没范围面并实现相关数据的统计分析。其功能架构见图4,其主界面见图5。
图4 功能架构
图5 主界面
4.1 基础功能实现
大藤峡实景三维可视化淹没分析系统中添加了如平移、旋转、指北针、图层管理等工具。用户可以通过鼠标滚动、点击等操作对三维地理空间数据进行放大、缩小、旋转。也可以在浏览界面选择性地显示、隐藏、导入或移除图层。
在三维场景中可以选择合适的视角和范围并进行命名,即可添加成为飞行过程中的一个视点,通过连续添加多个视点并设置飞行时间来达到动态俯瞰飞行效果。飞行线路可进行收藏、查看。
三维场景中的兴趣点、兴趣范围等要素数据可以自行编辑、修改其属性信息,如名称的更新等。并支持上传图片、视频、文档、表格等附件(图6)。也可以自行添加兴趣点,或者绘制感兴趣的区域,并录入相关的属性信息或附件,保存后数据库也将同步完成更新,以供复用。
图6 编辑操作
大藤峡实景三维可视化淹没分析系统可随着鼠标光标的移动,实时获取并显示光标处的坐标值,包括经度、纬度和高程。支持输入坐标值进行位置跳转,选择不同的投影坐标系进行坐标转换。
距离测量可测得其直线距离、水平距离和竖直距离(图7)。面积测量时获得当前水平投影的面积和周长。土方开挖则是通过绘制开挖面,得到某平整高程以上和以下的土方量和表面积,辅助施工决策。
图7 距离测量
4.2 核心功能实现
无人机航摄数据采用统一的命名规则托管在ArcGIS Portal中,用户通过选择数据类型和航摄区域,再选择对应的航摄时间,即可提取相应的航摄数据叠加到三维场景中。
大藤峡实景三维可视化淹没分析系统通过添加副屏的方式进行分屏操作,自主选择副屏三维场景中添加的图层,主屏与副屏的视角位置支持实时联动进行对比查看。通过绘制范围还可以进行两期填挖方数据计算,得到该范围内土方量的变化情况(图8)。
图8 分屏对比
淹没分析功能实现由用户输入库区抬升水位,即可推求出淹没范围面和库区淹没面积并展示在三维场景中(图9)。统计分析功能则依赖于专题数据、社会经济数据等的支撑。其中房屋、耕地等地物面积的分类统计、分区域统计,可以直观地展示库区蓄水变化的影响程度,指导相关工作的开展。
图9 淹没可视化
5 结语
综上,针对大藤峡水利枢纽工程三维实景模型具备周期性、区域性的这一特点,本文提出了基于航摄时间和航摄区域来存储和检索三维实景模型的方法,并对其三维可视化展示过程进行了研究,将往期获取的所有三维实景模型按照统一的标准和命名方式,以切片缓存的方式入库,并借助缓存框架、前后端分离等技术手段,在一定程度上解决数据量过大带来的三维实景模型加载过慢、渲染等待时间过长等问题。在此基础上,本文设计了水库水位抬升过程三维动态可视化方法流程。以无人机航摄获取的高精度DEM整合回水位数据,构建淹没分析模型,保证三维动态展示数据源的精度和多源数据地理空间基准统一化。对专题数据、社会经济数据进行统计分析,以统计图表形式展示影响程度,改善了传统水库水位抬升过程中表达和展示的不足。本文研究成果兼具科学性、实用性和可靠性,为大藤峡水利枢纽工程建设管理提供辅助决策的科学依据和数据支撑,具有良好的实际应用价值。