智慧城市时空数据三维可视化设计与关键技术

2021-07-25 09:59吴掠桅
地理空间信息 2021年7期
关键词:数据格式线程引擎

吴掠桅,崔 蓓,俞 蔚

(1.南京市国土资源信息中心,江苏 南京 210029;2.南京市城市规划编制研究中心,江苏 南京 210029;3.浙江科澜信息技术有限公司,浙江 杭州 310000)

智慧城市时空大数据平台是测绘地理信息领域数字城市建设的有机延续。新一轮国家机构改革优化测绘地理信息管理职能后,自然资源部于2019年1月印发了《智慧城市时空大数据平台建设技术大纲(2019版)》,进一步完善了智慧城市时空大数据平台的建设方向和内容。三维空间是时空四维环境的基础,特别是纳入地下空间数据、建筑信息模型数据等新型测绘产品数据[1]后,如何对各类基础时空数据进行有效集成,实现更加全面、高效、优化的智慧城市时空大数据三维可视化,是新政策和技术背景下智慧城市时空大数据平台建设需要研究的问题之一。

本文在现状分析的基础上,设计了时空大数据二三维集成以及三维可视化框架,并对三维可视化涉及的数据集成、数据优化、数据索引和并联调度等关键技术进行了研究,为智慧城市时空大数据平台的相关建设提供了技术实现思路。

1 现状分析

在智慧城市时空大数据建设方面,多地已结合自身实际适时开展了建设创新[2-4],如武汉和深圳均已将时空信息云平台纳入智慧城市顶层设计中,并分别提出了五级联动的社会管理模式和众筹模式总体规划;宁波注重政务信息汇聚更新机制的建立,提出了市县一体化建设和应用模式;重庆提出了“三库四平台”建设,并开展了知识引擎、分析模型以及海量数据地理编码等研究。

在地理信息三维可视化技术方面,陈冠臣[5]建立了三维可视化子系统,通过三维渲染引擎、资源调度和数据分发策略提供场景浏览和各类三维分析,实现了智慧城市时空信息多维可视化;王春青[6]等利用开源OpenSceneGraph引擎设计了一套灵活、高效的三维GIS可视化内核,能满足城市级海量三维模型的可视化表现;徐威杰[7]利用OpenGL和LOD模型等三维可视化关键技术实现了基于简化正弦函数模型的海面动态三维可视化;陆平[8]以ArcGIS为基础平台,将模型转换为GIS可处理利用的数据格式,从而实现对三维GIS系统的开发。

综上所述,在智慧城市时空大数据平台建设中,目前针对时空大数据三维可视化的研究和创新相对较少,且地理信息三维可视化的研究主要集中在利用成熟的GIS平台或开源GIS引擎实现城市或专项三维模型的可视化浏览方面。随着时空大数据内涵的不断丰富,三维可视化应用需求不断扩展,应从以下方面寻求突破:①多源数据的三维可视化集成,特别是新型测绘产品类型的不断扩充,要满足三维可视化多源数据集成应有新的思考与设计;②面向效率提升的数据组织优化,随着渲染引擎的效率瓶颈越来越难以突破,通过数据组织优化来提升三维场景可视化效率将是发展方向之一;③系统平台资源的合理化分配,通过对有限资源更加合理地分配,支撑平台对多源集成时空大数据的高效承载。

2 框架设计

2.1 面向三维可视化的时空大数据集成

智慧城市时空大数据主要包括基础时空数据、公共专题数据、物联网实时感知数据、互联网在线抓取数据等四大类。面向三维可视化的时空大数据集成内容如图1所示。三维空间的组织构成和表达方式繁多,需从以下3个方面进行数据集成,以应对不同需求的时空大数据三维可视化:

图1 面向三维可视化的时空大数据集成内容

1)三维集成,即集成基础时空数据中的影像数据、高程模型数据、三维模型数据和新型测绘产品数据(倾斜摄影、实景影像、激光点云、地下空间、建筑信息模型等),构建面向多种应用需求的三维场景。

2)二维驱动,即在地理实体数据、室内地图数据等基础时空数据以及管线、地质等公共专题数据的基础上,通过二维数据驱动形成三维模型,对所构建三维空间的不足进行补充。

3)多源承载,即以上述三维空间为承载,进一步叠加法人、人口、宏观经济、民生兴趣点等公共专题数据以及物联网实时感知数据、互联网在线抓取数据等,以实现丰富、全面的时空大数据三维可视化。

2.2 时空大数据三维可视化框架

在数据集成的基础上,遵循分层架构的技术思路,设计形成了包括基础设施层、数据层、引擎层和平台层的时空大数据三维可视化框架,如图2所示。其中,基础设施层主要包括存储设备、计算设备、网络设备以及虚拟化软件、数据库软件、云操作系统等支撑三维可视化运行的软硬件云环境;数据层主要集成并存储基础时空数据、公共专题数据、物联网实时感知数据、互联网在线抓取数据等,形成三维可视化的数据基础;引擎层主要包括数据引擎、服务引擎、地名地址引擎等三维可视化必备引擎,用于驱动各类时空大数据实现三维可视化功能;平台层主要包括基础浏览、数据查询、空间分析等三维可视化必备功能。

图2 智慧城市时空大数据三维可视化框架

3 关键技术研究

多源、高效是时空大数据三维可视化的重点和难点。在三维可视化框架的基础上,需着重进行数据集成存储、细节层次构建和计算资源调度3个方面关键技术的研究。

3.1 数据集成存储

根据类型和内容的不同,时空大数据具有众多数据格式。统一数据格式,集成存储各类数据是三维可视化的基础和前提。因此,设计一种三维数据格式,应满足并实现以下需求:①支持各类三维数据格式之间的相互转换;②针对多源数据集成进行硬件渲染优化,在符合底层渲染硬件指令要求的基础上兼顾数据组织和渲染效果;③具备可扩展能力,便于其他新数据格式的扩展集成,且保证数据的向下兼容。数据格式的基本结构如图3所示。

图3 硬件渲染优化下的可集成和可扩展三维数据格式

3.2 细节层次构建

构建细节层次模型(LOD)是提升三维可视化效率的常用技术手段。模型简化和层级组织的方法策略是决定LOD构建效果的两个关键技术点,将直接影响三维可视化的渲染效率和响应速度。

在模型简化方面,首先根据顶点对三维模型轮廓的贡献程度计算权重值;再以权重值为依据生成每个顶点的聚类单元,并依次判断聚类单元内是否存在其他顶点;然后判断顶点间的距离是否大于预设值,以确定是否合并顶点信息;重复上述流程即可实现模型的简化,如图4所示。

图4 基于视觉贡献度的模型简化示意图

在层级组织方面,利用场景图来组织数据,再优化不同层级场景中数据的分布。场景图是多层级树或图结构,每个层级被赋予调度信息,根据用户视点参数读取所在层级的调度信息,从而决定不同层级数据在场景中的分布以及各层级间的细节过渡,如图5所示。

图5 基于场景图的层级数据组织

通过上述方法构建LOD,可在显著减少格网数的前提下,使数据的几何形态和纹理精度基本满足原有的视觉效果,并能保障不同层级场景中数据的加载效率,尤其对大数据量、大场景的三维可视化有较好的效果。

3.3 计算资源调度

三维可视化是利用计算资源加载并展示三维数据的过程,数据请求、数据传输和数据加载是影响效率的关键步骤。由于数据量大而网络带宽固定且有限,三维可视化过程中,数据加载往往需等待数据请求和传输完成。

采用多线程数据调度机制可有效提升三维可视化效率。首先利用多线程技术使数据请求、数据传输和数据加载等过程相互独立,将计算资源均衡分配到各个步骤中去,避免因串行等待影响效率;然后可多线程技术同时执行,最大化利用计算资源,增加各过程的效率;最后考虑线程之间的交互和数据共享,选取一个线程作为管理线程,主要进行数据请求与加载,其余线程作为下载线程,主要进行数据传输。管理线程与各下载线程在发送数据请求与数据下载完毕时进行线程间的交互,下载线程之间保持相对独立,如图6所示。

图6 多线程调度机制示意图

4 结 语

高效的三维可视化是各类时空大数据应用的基础条件。本文结合智慧城市时空大数据平台建设的最新政策和技术要求,设计了三维可视化的数据集成框架,研究了关键技术,为相关建设提供了参考。在三维可视化的基础上,开展智慧城市时空大数据的三维数据挖掘和空间分析,支撑各行业智慧城市应用,将在后续工作中进一步开展研究和建设。

猜你喜欢
数据格式线程引擎
基于国产化环境的线程池模型研究与实现
基于水利标准数据格式的BIM数据管理和水利BIM生态探索
蓝谷: “涉蓝”新引擎
浅谈linux多线程协作
世界首个可记录物体内部结构等复杂信息的3D打印数据格式问世
无形的引擎
论子函数在C语言数据格式输出中的应用
基于Cocos2d引擎的PuzzleGame开发
基于ArcGIS的规划数据格式转换研究
One Engine Left只剩下一个引擎