引言:实景三维作为真实、立体、时序化反映人类生产、生活和生态空间的时空信息,是国家重要的新型基础设施,是数字政府、数字经济重要的战略性数据资源和生产要素。2022年2月,自然资源部办公厅已印发《关于全面推进实景三维中国建设的通知》,为保障实景三维中国建设顺利实施,自然资源部组织编制了实施方案,对2022~2025年实景三维中国建设的建设任务、技术路线与方法、主要成果与汇集、组织实施等进行说明。从技术和成本的角度出发,选择Cesium作为开发基础。Cesium是一款开源js库,也是新一代的三维引擎框架,通过HTM5网页标准和WebGL技术规范实现动态的三维场景显示和渲染,无需安装任何插件即可创建最佳性能、视觉质量和易用性的世界级三维地球影像和地图。
1 三维可视化系统设计
系统以Cesium三维引擎技术为基础,采用B/S架构,客户端采用支持WebGL的谷歌、360等浏览器。系统后端采用轻量级的容器Tomcat,前端以VUE和Cesium为基础实现二三维模型数据的渲染展示。系统各主要包括浏览器客户端、服务层和数据层3个部分,如图1所示。
图1 系统技术架构设计
2功能设计
系统该设计目的是打破不同格式数据需不同软件打开的窘境及各专业数据不能及时共享的困境,实现在线浏览各类三维模数字模型,同时能够对建筑模型信息、POI数据等信息进行查询。系统主要包括实景展示、测量工具、空间分析、场景渲染、场景漫游等主要功能。
实景展示主要是进行图层管理,负责二三维数据的加载显示;测量工具负责平台内空间距离量算,包括距离测量、面积测量、高差测量;空间分析模块主要包括通视分析、日照分析、淹没分析、视域分析和地形开挖等功能;场景渲染模块主要是模拟雨天、雪天、大雾、夜间等效果;场景漫游模块主要是路径漫游和实景漫游。系统总体页面功能页面展示如下图:
2 系统关键技术
2.1 Cesium开发
作为新一代的开源三维引擎框架,Cesium通过HTML5网页标准和WebGL技术规范实现动态的三维场景显示和渲染,无需安装插件即可创建具有最佳性能、精度、视觉质量和易用性的世界级三维地球影像和地图,并具有丰富的开源社区内容。Cesium支持多种视图,能以二三维进行展示;支持加载3D Tiles和glTF格式数据,海量倾斜、点云模型数据以及符合OGC标准的WMS、WMTS等地图服务。
Cesium接口丰富,通常只需调用接口即可满足三维模型业务需求。系统在HTML5平台中利用Cesium和WebGL图形渲染器进行可视化交互开发。程序运行时,客户端发出请求命令,从服务器提取瓦片数据,服务器响应接收并传回客户端,客户端解析文件并调用图形绘制方法将其渲染在网页上,实现三维可视化交互。
2.2 WebGL3D绘图标准
WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
3 功能实现
3.1 实景展示
实景展示是系统数据的展示窗口,可进行加载、关闭、更改透明度等操作,加载后的数据能在三维地球上进行叠加显示。图层管理功能以天地图影像和地形为基础底图,叠加显示倾斜、人工模型等三维模型数据以路网、POI等二维矢量数据。系统加载三维模型和二维矢量效果如图2、图3所示。
图2 图层管理及实景模型展示
图3 3Dmax模型展示
3.2 空间量测
空间量测是对场景中的点进行空间量测,主要包括空间距离量测、空间面积量测和三角量测。空间距离量测的实现原理为:监听鼠标左键点击事件获取起始点位坐标信息,根据空间坐标绘制实体线,再调用from Degrees、Distance方法获取其空间点位之间的距离。
3.3 空间分析
空间分析主要通过空间数据和空间模型的联合分析来挖掘出空间目标的潜在信息。其中距离、方位、拓扑关系组成了空间目标的空间关系,可以作为数据组织、查询、分析和推理的基础。系统主要实现了视域分析、日照分析及淹没分析等功能。以视域分析为例,主要实现原理为:点击事件-鼠标移动事件,显示创建一个格网以及锥体,对相机视野中的空间区域做阴影贴图,最后做属性绑定。视域分析效果如下图:
图4 视域分析效果
3.4 信息查询
信息查询是对建筑信息、POI等内容进行信息查询,包括属性查询和空间查询。属性查询在输入框内输入要查询的信息,并与数据库进行模糊匹配,然后列表显示查询结果,同时在地图上以图标展示其位置。空间查询是当用户点击地图上的图标时,系统会利用Cesium events API监听到点击事件,再通过pickPosition获取点击位置,若该处有信息被定义,则通过弹出框显示该地物的详细信息。
图5 信息查询显示
结语
Cesium开源框架能加载不同类型的矢量和三维模型数据,无需插件即可在浏览器端实现可视化三维场景的构建。本文以Cesium开源框架为基础,结合GIS和Web前端技术,开发了图层管理、空间量算、信息查询等模块,实现了多源数据在线浏览,交互性好、运行流畅,为用户带来了全新的视觉体验,能为构建三维展示及应用场景提供可行的技术方法。

作者:王文杰 测绘副总工
编辑:朱媛云
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/80520.html