邹伟林,周 文,常 松,高思岩,周新鹤,宋红亮,谢长虹,范维宁
(1.正元地理信息集团股份有限公司,北京 101300;2.北京市智慧管网安全评价及运营监管工程技术研究中心,北京 101300)
随着人类社会的快速发展,城市建设也在快速推进,交通拥堵、城市绿化面积小、公共设施短缺等问题也随之而来,很多城市的地上空间已经无法满足人们的生活需求,为了获得更多的空间,人们逐渐重视地下空间的开发。但是地下空间相比地上来说是不可见的,盲目的开发利用可能会带来重大安全隐患。
为解决现阶段国内地下空间信息化工作中复杂环境三维地质模型构建困难、地上地下全空间信息统筹管理与利用不足、精细化管理程度不高、地下空间开发利用缺乏综合辅助决策支撑等难题,国内外企事业单位在地下空间三维地质模型可视化领域进行了深入研究,并取得了一定的成果(杨颖,2022;李斯等,2023;李雪红等,2023)。发达国家较早开展了积极的探索和建设,如澳大利亚MAPTEK公司研发的Vulcan软件(徐新山和张志华,2016),具有较强大的功能和丰富的内容,用户可以将勘探数据转换为相应的地质模型,并在为露天矿的规划中提供了交互式道路设计模块和采石场建模模块等。美国CTECH公司研发的Mining Visualization System( MVS )系列软件是一款专门对地质体模型进行可视化与相关空间分析的软件产品(徐新山和张志华,2016),提供真三维地质体建模、地质统计分析、隧道体模拟、地质构造分析、地质工程计算等内容。
目前,中国城市地下空间开发利用进入了蓬勃发展时期(路世昌等,2021),各行业深入研究地下空间信息化需求,纷纷建立了三维地质模型专业管理系统。3D Mine矿业工程软件是北京三地曼开发的一套主要服务于矿山地质建模、测量、储量预测和生产管理的三维软件系统(肖凯和肖传桃,2014;徐新山和张志华,2016;马朝阳等,2022)。中地数码集团研发的MapGIS是一款具有完全自主知识版权的地理信息平台(徐新山和张志华,2016;马朝阳等,2022),在地质方面的工具主要有MapGIS地质环境专业成图软件、MapGIS地质三维填图工具、煤炭地质勘查主流程工具、固体矿产资源勘测与三维建模工具等。
随着计算机技术软硬件的发展,三维可视化技术越来越趋于成熟,数据承载力持续加强、展示效果也越来越丰富(俞美成等,2023)。但是目前较为通用的方式是在专业的地质建模软件中通过单一场景展示与分析地质数据,而对于城市管理决策者来说,海量的三维地质模型数据如何高效管理,城市地质三维模型如何应用更多的地质分析场景等问题还没有得到非常好地解决(李青元等,2016;刘天奇,2020)。本文围绕城市地下空间全要素、全空间、全生命周期的信息化工作,聚焦地质信息集成融合与地质模型可视化技术研究,形成海量三维地质模型数据组织方法、城市地下空间模型数据融合方法以及地下空间信息三维可视化技术,从全局掌握城市的发展状况,通过在三维场景中进行展示与分析,进行理论研究,进而服务于城市一体化建设与管理。
本文提出的城市地下空间三维地质模型可视化技术方法已在正元GeniusWorld平台中实现并应用,技术路线如图1所示。
图1 城市地下空间三维地质模型可视化技术路线图Fig.1 Technology roadmap of 3D geological model visualization for urban underground space
针对海量三维地质模型数据的构建与调度加载速度慢、渲染不流畅等问题,提出海量三维地质模型数据组织方法。通过构建地质模型分级数据、沿水平x、y方向计算切割面、沿切割面进行数据切割与补面、构建LOD数据等流程,能够减少单次调取数据的数据量,进而降低网络数据传输压力。同时,减少渲染引擎每帧渲染的数据量,减轻显卡渲染压力,从而实现海量三维地质模型的高效调度渲染,使三维场景的渲染更加流畅。提高大规模地下全空间数据展示效果,为城市地下空间规划建设与管理提供数据支撑(谭仁春,2005;杨东来等,2007;孙卡等,2012;张院等,2015)。
2.1.1 构建地质模型分级数据
根据三维地质模型的复杂程度提取模型数据的上顶面、下顶面以及上下顶面的边界点,并在模型水平x、y轴方向上按照二分法递归计算数据抽稀级别,直到最后一级的数据在水平x方向与y方向最大长度不超过500 m为止(魏嘉等,2013)。不同级别数据的抽稀比例可灵活计算或配置(线性关系或非线性关系),取值范围在0~1之间,在从最小级别向最大级别抽稀过程中抽稀比例越来越小,保留的数据越来越多,模型越来越精细(屈红刚等,2014;李青元等,2015)。
2.1.2 沿水平x、y方向计算切割面
将分级后的模型数据按照分块规则计算沿x、y方向的切割面,示意图如图2所示。
图2 地质体模型分块过程Fig.2 Block division process of geological body model
①计算外包围盒与分块数
通过遍历模型中每个顶点的三维坐标获取模型在x、y、z方向上的最大值maxX、maxY、maxZ与最小值minX,minY,minZ,经过组合得到外包围盒的最大 角 点maxCorner(maxX+dDelta,maxY+dDelta,maxZ+dDelta)和最小角点minCorner(minX-dDelta,minY-dDelta,minZ-dDelta)。其中,dDelta为包围盒的扩展因子,用来降低后续算法复杂度,其取值范围在0~1之间。
在x、y轴方向的分块数xBlcok、yBlcok计算公式如下:
其中,nBlock为分块数;currentLevel为当前处理数据的级别。
②计算x、y方向分块尺寸
根据外包围盒在水平方向上的大小与分块数分别计算沿x、y方向分块的尺寸xBlockSize、yBlockSize,计算公式如下:
③计算x、y轴方向切割面
由数据外包围盒最小点计算x、y方向的切割面,切割面可用两个三维点表示,一个代表方向vDir,另一个代表该面通过的空间点vPoint。其中,x轴切面的方向为固定值vDir=(1.0,0.0,0.0),空间点的计算公式为:
式中,i表示块的索引,其取值范围为0<i≤xBlcok,计算结果保存到xPlans数组中。
y轴切面的方向为固定值vDir=(0.0,1.0,0.0),空间点的计算公式为:
式中,j表示块的索引,其取值范围为0<j≤yBlcok,计算结果保存到yPlans数组中。
2.1.3 沿切割面进行数据切割与补面
(1)分别沿模型x、y方向进行切割与补面,切割过程如下:
①遍历x、y轴方向的切割面
遍历x轴方向的切割面,每遍历一次取相邻两条切面,第一条称为左切面,leftPlane=xPlanles[i],第二条称为右切面,rightPlane=xPlanles[i+1],式中i为块的索引值,取值范围为0<i<xBlcok,共计遍历xBlcok次。
遍历y轴方向的切割面,每遍历一次取相邻两条切面,第一条称为下切面,bottomPlane=yPlanles[j],第二条称为上切面,topPlane=yPlanles[j+1],式中j为块的索引值,取值范围为0<j<yBlcok,共计遍历yBlcok次。
②左、右切面计算
使用左切面遍历原始模型中的每个三角面,若该三角面不与左切面相交且三个顶点在切面的左侧,则丢弃该三角面;若三个顶点在左切面的右侧,则保留该三角面;若该三角面与左切面相交,计算交点,并将所有交点通过首尾相接的方式连接为一条或多条闭合环,并将剖切后的模型保存。
使用右切面遍历左切面剖切后的模型中每个三角面,若三角面不与右切面相交且三个顶点在切面的右侧,则丢弃该三角面;若三个顶点在切面的左侧,则保留该三角面;若三角面与右切面相交,计算交点,并将所有交点通过首尾相接的方式连接为一条或多条闭合环,得到x轴方向的未补面的块数据。
③下、上切面计算
使用下切面遍历原始模型中的每个三角面,若该三角面不与下切面相交且三个顶点在切面的下侧,则丢弃该三角面;若三个顶点在切面的上侧,则保留该三角面;若该三角面与下切面相交,则构建交点对象拓扑结构,存储交点与所在三角形单元及空间邻近要素的相对位置关系(万波等,2016)。通过计算交点,将所有交点通过首尾相接的方式连接为一条或多条闭合环,并将剖切后的模型保存。
使用上切面遍历下切面剖切后的模型中每个三角面,若三角面不与上切面相交且三个顶点在切面的上侧,则丢弃该三角面;若三个顶点在切面的下侧,则保留该三角面;若三角面与上切面相交,计算交点,并将所有交点通过首尾相接的方式连接为一条或多条闭合环,得到y轴方向的未补面的块数据(明镜等,2008;屈红刚等,2008;万波等,2016)。
(2)切割面的模型数据生成过程为:分别处理左、右切面生成的闭合环数据以及下、上切面生成的闭合环数据,若没有闭合环,说明所有的模型数据都在左右切面或下上切面之间,则不再处理;如果有一条或多条闭合环,则对其进行三角化处理,从而生成切割面的模型数据。
(3)数据“缝合”过程为:将经过左、右切面以及下、上切面剖切后和切割面模型的顶点信息数据重新组织,将多个几何对象融合为一个几何对象,分别生成x、y轴方向上的块数据,并按照方位存储到二维数组blockData[i][j]中,其中i,j分别为不同级别数据的x、y轴方向的索引号,i取值范围为(0,xBlock),j的取值范围为(0,yBlock),其中xBlock和yBlock分别为不同级别数据的x、y方向分块数。
三维地质模型切割前后、补面效果如图3所示。
图3 三维地质模型切割前后、补面效果Fig.3 Effect of 3D geological model before and after cutting and surface repair
2.1.4 构建LOD数据
采用参数化的方法按照左下、右下、左上、右上的顺序在切割缝合后的数据创建不等分四叉树,用于存放分块数据,可对任意大小的地质体用多级分块的四叉树来表示,而不必受限于传统方法必须满足2n+l的规定,同时能够保存相应节点高一级别数据的名称,LOD数据调度效果如图4所示(黄全品,2005)。
图4 三维地质模型数据调度Fig.4 Scheduling of 3D geological model data
针对海量城市地下空间三维数据模型的多样性和对象空间分布的不均衡性、模型融合困难及融合精度低等问题,充分考虑地下空间设施要素及地质要素之间的关系,研究形成城市地下空间模型数据融合方法(吴志春等,2016)。
(1)三维空间网格码规范编码
通过传入的三维坐标计算所在平面,分别根据纬度值、经度值、高程值以及级别计算索引值,从而得出三维希尔伯特值,并将平面与三维希尔伯特值整合成一个128位整数,再与级别进行整合,最终得到128位网格编码,实现由地上地下6378 km的三维空间内最高切分40级的网格快速计算。以建筑物为例,通过点击建筑任意网格生成该网格坐标信息,随后计算出网格编码结果,编码效果如图5所示。
图5 三维空间网格码规范编码效果图Fig.5 Encoding rendering of 3D spatial grid code specification
(2)地下空间三维模型融合
基于配准后的三维空间网格编码数据,构建能够提供将三角面集合转换成网格码集合的sdk库,运用降维、非布尔运算的方法,通过一维数组对比计算得到模型相交部分,实现最大精度化的地下全空间三维模型无限逼近的融合,融合效果如图6所示。
图6 地下全空间数据融合渲染应用效果图Fig.6 Application rendering of underground full space data fusion
针对海量地下空间模型数据可视化显示效率不高的问题,提出地下空间信息三维可视化技术。采用多渲染引擎的混合渲染架构,支持DirectX、WebGL(OpenGL ES)、OSG(OpenGL)和游戏引擎(Unreal Engine)等多引擎,通过视频流技术,根据前端三维场景的视口距离和业务场景,充分利用不同渲染引擎的优势,能够后台自动切换渲染引擎进行高效渲染,并将渲染结果通过视频流传输前端显示,保证前端用户无感知(张宝一,2007;吴冲龙等,2011;姜作勤,2013)。
同时,采用基于地理坐标系的四叉树或八叉树划分的空间索引技术,构成从本地缓存、内存、显存的三级缓存结构和调度策略。整个调度过程使用多线程技术,一个线程进行数据的渲染,一个或一个以上的线程从网络下载数据,并将其缓存到本地磁盘,进而加载到内存中(范宇等,2019;潘良波等,2021;丁志庆等,2021)。
此外,在数据预处理阶段,可基于视觉外壳提取技术,对BIM、手工建模模型等内部构造复杂的三维模型进行外壳提取,得到无损外壳简化模型,能够在大场景下浏览下减少渲染数据量;在数据生成缓存时,进行对象打组及压缩处理,减少对象存储空间,提升网络传输性能与渲染性能。同时,引擎还通过实例化技术、LOD技术、场景视锥体剪裁技术等,实现TB级地下时空数据的真实感可视化与高效调度(潘良波等,2021)。
利用本文研究方法,以城市地质数据、地下空间设施数据和基础地理信息数据为基础(周文等,2021),在正元GeniusWorld平台上实现城市地下空间三维地质模型的可视化表达,并成功应用于国内多个城市地下空间信息化相关项目,为地下空间开发利用提供了技术支持,取得了显著的社会、经济和安全效益,并为相似工程实施提供了成果转化示范样本(李朝奎等,2015)。
(1)河北雄安新区地下空间开发利用管理与辅助决策系统软件开发项目
基于本文研究的城市地下空间模型数据融合方法和地下空间信息三维可视化技术,应用于雄安23.4 km2地下空间信息化建设,实现了示范区基础地理、地下管廊与构(建)筑物三维模型、三维地质模型等城市级数据的统一管理、一体化表达和智能服务。
(2)杭州城市地质大数据信息服务与决策支撑平台建设项目
基于本文研究的海量三维地质模型数据组织方法、城市地下空间模型数据融合方法和地下空间信息三维可视化技术,应用于“钱江新城一期”4 km2地下空间设施、地质体等三维模型数据进行综合管理及一体化显示。构建基础数据共享、空间管理精细、决策科学精准、部门工作协同的城市地质大数据信息服务与决策支撑平台,为保障杭州市地下空间智能管理与科学精准决策提供强健支撑,有力推动地下空间信息融入城市规划、建设、管理全流程,提升杭州市地下空间信息化服务水平。
(3)天府新区成都直管区三维地质结构模型建设项目
通过充分分析成都市复杂地质环境条件,利用海量三维地质模型数据组织方法、城市地下空间模型数据融合方法和地下空间信息三维可视化技术,建立成都市14312 km2三维地质模型以及天府新区644 km2模型三维基础地质模型,并研发覆盖地下空间数据入库、分析应用、三维可视化、数据共享全过程的地下空间信息平台,实现城市地质、地表三维、地下构(建)筑物等各类地上地下全空间二三维数据的一体化管理与可视化展示。为成都市地质信息管理与地下空间开发利用提供了有力的技术支撑与信息服务,有效促进成都市地质信息管理工作的科学化、规范化、高效化。
本文基于正元自主研发的GeniusWorld平台,研究形成城市地下空间三维地质模型可视化技术方法,具有以下技术特点和优势:
(1)研究海量三维地质模型数据组织方法,通过构建地质三维模型分级数据,按照不规则四叉树结构形成LOD数据,从而减少渲染引擎每帧渲染的数据量,减轻显卡渲染压力。
(2)研究城市地下空间模型数据融合方法,根据地下空间模型三位坐标、高程值建立三维空间网格编码,构建能够提供将三角面集合转换成网格码集合的sdk库,运用降维、非布尔运算的方法,实现最大精度化的地下空间模型数据无限逼近的融合。
(3)研究地下空间信息三维可视化技术,采用多渲染引擎的混合渲染架构,支持DirectX、WebGL(OpenGL ES)、OSG(OpenGL)和游戏引擎(Unreal Engine)等多引擎渲染,实现TB级地下时空数据的真实感可视化与高效调度。
综上,城市地下空间三维地质模型可视化技术方法,实现了海量庞杂城市地下空间模型数据的高效管理,能够更加丰富地表达城市地下空间三维模型地质信息,为城市地下空间开发利用提供数据支持和辅助决策分析支撑。
[附中文参考文献]
丁志庆,周文,郭燕燕, 王琨, 宋红亮.2021.城市地下空间信息管理关键技术研究与应用[J].测绘与空间地理信息,44(8):129-131, 134.
范宇,简季,陈倩羽.2019.一种改进的三维地质体模型存储与重构方法[J].地质与勘探,55(1):203-211.
黄全品.2005.基于四叉树和分块调度技术的海量地形数据实时可视化研究[D].成都:成都理工大学:22-45.
姜作勤.2013.从2D纸质地图到3D地质模型—地质信息表达方式的重大突破[J].地质信息化,(2):2-6.
李青元,马梓翔,崔扬,陈春梅,董前林.2015.三维地质模型数据交换格式( Geo3DML) 在三维地质建模中应用研究与建议[J].地质学刊,39(9):358-366.
李青元,张洛宜,曹代勇, 董前林, 崔扬, 陈春梅.2016.三维地质建模的用途、现状、问题、趋势与建议[J].地质与勘探, 52(4):759-767.
李斯,杨自安,李冬月, 张建国, 鲁佳, 尹展.2023.基于无人机倾斜摄影三维建模技术的赤马山铜矿地质环境调查及评价[J].地质与勘探,59(6):1271-1281.
李雪红, 杨剑,秦浩森.2023.地下空间可视化技术研究与应用[J].科技创新与应用,13(10):156-159.
李朝奎,严雯英,肖克炎,赵亚楠.2015.地质大数据分析与应用模式研究[J].地质学刊,39(3):352-357.
刘天奇.2020.小型无人机倾斜摄影三维建模技术在矿山地质环境治理中的应用[J].资源信息与工程, 35(4):106-114.
路世昌,叶超,黄益良.2021.地下人行通道防火设计探讨[J].安全,42(10):48-52.
马朝阳,王占昌,张立海, 姚聿涛, 乔亚凯.2022.新型三维地质建模方法及其在成都-昌都区域建模的应用[J].西北地质,55(2):82-92.
明镜,潘懋,屈红刚,兰向荣.2008.基于TIN数据三维地质体的折剖面切割算法[J].地理与地理信息科学,24(3):37-40.
潘良波,周文,丁志庆, 石小蒙, 李倩楠, 范维宁.2021.城市地下空间信息集成管理与服务平台关键技术及应用[J].隧道建设(中英文),41(4):588-596.
屈红刚,潘懋,明镜, 吴自兴, 孙志东.2008.基于交叉折剖面的高精度三维地质模型快速构建方法研究[J].北京大学学报自然科学版, 44(6):915-920.
屈红刚,王占刚,吴自兴,张永波,花卫华,李景朝,李魁星,鲍晓明,孙莉,王想红.2014.Geo3DML: 三维地质模型数据交换格式[C].第十三届全国数学地质与地学信息学术研讨会论文集:198-199.
孙卡,程小宁,秦雯.2012.支持海量三维空间数据存储的文件结构[J].南昌航空大学学报(自然科学版), 26(3):96-102.
谭仁春.2005.GIS中三维空间数据模型的集成与应用[J].测绘工程, 14(1):63-66.
万波,尹芮芮,左泽均, 王润, 吴信才.2016.一种基于三角网的地质体三维模型切割方法[J].地球科学,41(11):1966-1976.
吴冲龙,何珍文,翁正平,刘军旗.2011.地质数据三维可视化的属性、分类和关键技术[J].地质通报,30(5):642-649.
吴志春,郭福生,姜勇彪,罗建群,侯曼青.2016.基于地质剖面构建三维地质模型的方法研究[J].地质与勘探,52(2):363-375.
魏嘉,唐杰,武港山, 张杨.2013.三维地质模型海量数据组织和可视化技术研究[J].石油物探,52(2):141-150, 112.
肖凯,肖传桃.2014.基于3Dmine的小柳沟钨矿区三维可视化研究[J].化工矿物与加工,43(8):33-35, 48.
徐新山,张志华.2016.基于WebGL的地层体信息三维可视化[J].测绘与空间地理信息,39(11):65-68.
杨东来,张永波,王新春.2007.地质体三维建模方法与技术指南[M].北京:地质出版社: 244-245.
杨颖.2022.城市地下空间信息三维可视化技术的研究[J].信息系统工程, (5):145-148.
俞美成,吴静红,王源, 师文豪, 王兴.2023.三维地质建模及其在地下空间开发的应用研究[J].防灾减灾工程学报,43(3):588-595, 636.
张宝一,尚建嘎,吴鸿敏,刘修国,吴信才.2007.三维地质建模及可视化技术在固体矿产储量估算中的应用[J].地质与勘探,43(2) :76-81.
张院,刘殷,许苗娟,孙颖,郑菲菲,宋国玺.2015.北京三维地质建模研究与实践[J].工程勘察,(6):60-65.
周文,李倩楠,石小蒙, 潘良波.2021.面向地下空间规划建设的三维辅助决策平台研究与实现[J].测绘与空间地理信息,44(1):99-102.