顾及对象语义的大规模杆塔电力线分页细节层次模型构建*
2019-02-19彭炽刚许志海廖如超江万寿黄伟
彭炽刚,许志海,廖如超,江万寿,黄伟
顾及对象语义的大规模杆塔电力线分页细节层次模型构建*
彭炽刚1,许志海1,廖如超1,江万寿2,黄伟2
(1.广东电网有限责任公司机巡作业中心,广东 广州 510600; 2.武汉大学 测绘遥感信息工程国家重点实验室,湖北 武汉 430079)
分页细节层次模型的构建是三维可视化的关键技术之一。如何建立合理的细节层次模型并进行有效的内外存调度,使占用尽量少的内存并保证三维可视化平台的流畅运行,是大规模三维场景可视化技术的关键。针对电力杆塔、电力线这类特殊对象的可视化需求,充分利用电力杆塔和电力线的语义结构特征,提出了一种顾及对象语义的大规模杆塔电力线分页细节层次模型的构建方法,在满足不同观察距离的细节感知要求的情况下,实现最大限度的细节简化。实验表明,顾及对象语义的分页细节层次模型能够很好地满足大范围杆塔和电力线可视化的实际需求。
电力杆塔;语义模型;模型简化;分页细节层次模型
自三维可视化技术诞生以来,细节层次模型(Leves of Details,LOD)以及面向内外存交换的分页细节层次模型(Paged LOD,PagedLOD)的构建就一直是大规模三维场景可视化的关键技术之一[1-8]。最开始的地理信息可视化主要针对数字高程模型(Digital Elevation Model,DEM)和数字正射影像(Digital Ortho Map,DOM)进行[1-3],由于DEM、DOM的规则性,一般直接采用四叉树结构就能满足显示需求。随着三维建模技术的发展,三维可视化的对象已由规则的DEM、DOM发展到以建筑物物为主的三维城市模型,这使得可视化的复杂性有了很大的提高[4]。为满足日渐增长的三维可视化需求,细节层次模型技术特别是通用型细节层次模型技术得到了深入的研究并取得了一定的进展(如基于三角网边折叠的细节简化算法[5-7]),不仅广泛运用到三维实体模型的三维可视化,也开始用于三维地图符号的可视化[9]。但通用型层次建模技术有其内在的缺陷,即在构建细节层次模型时无法顾及对象的组成及对象之间的语义关系,细节的简化具有一定的盲目性,往往会出现重要的边被删减的情况,导致模型走样[7]。因此,在构建LOD模型时需要充分考虑模型的内在结构及其语义,以进行更好的模型简化[8]。
电力杆塔和电力线作为国家重要的基础设施,从城市到农村普遍存在,其模型对构建输电线路三维可视化管理平台具有重要的意义[9]。传统上,一般采用3D MAX、SketchUp或其他软件工具来直接构建带有材质的杆塔模型,该方法建立的杆塔模型能够较好地反映杆塔的骨架特征和细节,但所建的模型在进行三维可视化时由于脱离了原有环境,只能以通用三角面元的形式保存,不仅缺乏语义,而且文件较大,既不利于多细节模型的构建,也不利于模型的网络传输。
针对现有模型构建存在的文件大、缺乏语义等问题,本文充分利用杆塔的结构和部件关系,提出了一种顾及对象语义的大规模杆塔电力线分页细节层次模型的构建方法。该方法从建模阶段就考虑了模型的语义特征,不仅可以存储杆塔的关键特征和属性,也可以在三维显示时有选择的实现材质的渲染,可以在建立osg(Open Scene Graph,osg)的PagedLOD模型时按照细节层次需求直接生成简化后的LOD文件,以最大程度减少多细节层次模型的存储需求和传输需求。文章组织结构如下:简单介绍杆塔和电力线的结构,然后介绍基于语义的杆塔电力线的建模方法和简化策略,再介绍基于四叉树的混合式杆塔电力线分页细节模型实现,最后介绍深圳市杆塔电力线LOD生成的具体效果。
1 杆塔、电力线的结构
按使用材料的不同,架空输电线路使用的杆塔可分为钢筋混泥土电杆和铁塔,本文仅以高压线路使用的铁塔为例说明。如图1(a)所示,铁塔一般由主材、斜材和缀材三部分构成[10-11]。主材起到上下支撑作用,斜材和缀材对主材起到横向约束作用。三者的材料可以为同一类型也可以为不同类型,且三者材质宽度和厚度也随着其重要性减小而逐渐减小。从三维可视化的角度出发,在近处看时,杆塔模型需要完整地反映杆塔的结构和材质;在远处看的时候,杆塔模型不管是角钢、薄壁型钢或钢管都可以简化为一条直线;再远一点时,则只需画出杆塔的外轮廓,忽略杆塔的斜材和缀材。
绝缘子是连接导线与塔身的绝缘体,其作用是避免导线直接接触塔身,引发漏电事故。如图1中的(b)和(c),绝缘子一般根据导线的电压由若干个绝缘子片串接而成,且电压越高,绝缘子的片数越多。从三维可视化的角度出发,在近处看时,绝缘子模型需要完整地反映绝缘子的结构和材质;在远处看的时候,则只需用直线表示绝缘子的位置。
图1 铁塔结构、材质、绝缘子与导线
电力线由导线和地线组成。导线通过绝缘子挂在杆塔上,而地线直接挂在杆塔的顶部。按照回路数的不同,导线可分为单回路、双回路、三回路和四回路等情况。每个回路导线由A、B、C三相构成,每相导线又可分为2,3,4,6,8等多条分裂导线[13]。图1(b)为双回路导线,每相导线为二分裂;图1(c)则为单回路导线,每相导线为三分裂。一般情况下,分裂导线横截面分布在一个圆上,构成一个正多边形。从三维可视化的角度出发,在近处看时,电力线模型需要完整地反映电力线的结构;在远处看的时候,电力线模型只需用分裂导线中的一根来表示多分裂导线。
2 杆塔电力线建模方法与简化策略
与基于3DMAX、SketchUp软件直接建模出每个部件的三角形[10]不同,本文的杆塔和电力线建模采用语义建模法,即只采集杆塔部件、绝缘子和电力线的关键点。直接构建每个部件的三角形,可以直接把杆塔的结构和材质三角形化,脱离原有环境进行带材质的三维显示,但存储的文件会比较大。本文以编写osg的文件插件[14]的形式,加载自定义的杆塔文件*.ptm(power tower model,ptm),在加载.ptm文件时根据视觉感知的需要动态绘制杆塔(根据osg的插件命名规则,该插件名字为osgdb_ptm.dll)。该方法可以在生成LOD时根据杆塔按不同LOD级别加载*.ptm文件,从而直接得到不同细节的模型。
2.1 电力杆塔语义模型
为了便于数据的采集、编辑和可视化,本文以干字塔为例建立了如图2所示的杆塔语义模型。不同结构的杆塔语义模型有所不同,比如猫头塔和酒杯塔会包括内环和外环结构。图2所示的杆塔语义模型只是一个示意性模型,对于每一个回路来说,至少会有3个横担,对于换位塔来说会有额外的换位横担。每一个绝缘子由于构造的关系往往不只是由一个绝缘子串组成,而是由多个绝缘子串组成I形、V形、Y形等结构。
图2 干字塔语义模型(简化版)
2.2 基于语义的杆塔电力线简化策略
基于语义的杆塔电力线简化即依据不同的可视化距离,有选择地画出不同复杂程度的杆塔电力线模型,即在近处看时,杆塔电力线模型需要完整地反映杆塔、电力线的结构和材质;在远处看的时候,杆塔电力线模型可以忽略部分细节。
2.2.1 杆塔的简化
杆塔简化层次如表1所示,当视点距离很近时,生成的杆塔模型需要带有材质和细节;当视点较远时,则只需要用直线段代替杆塔的材料,比如把角钢和钢管都简化为一根直线;当视点再远一些时,则只画出杆塔的外轮廓,忽略杆塔的斜材和缀材结果。
同理,对于绝缘子这种半径变化的旋转体,其三角形比杆塔本身多一个数量级,在较远距离时直接用直线段代替绝缘子真实外表能极大地减少数据量。
2.2.2 电力线的简化
电力线简化层次如表2所示,电力线的简化采取逐步减少绘制的电力线数量和减少电力线上的点数相结合的思路,即只有在视点距离足够近时,才画出电力线的所有相数的分裂线,在视点距离足够远时则只画出分裂线中一根,再远时则进一步减少绘制的相数和地线。
表1 杆塔简化层次
视点距离近———————>远 简化层次01234 杆塔主材ÖÖÖÖ 杆塔辅材ÖÖÖ 杆塔缀材ÖÖ 绝缘子骨架ÖÖÖÖ 绝缘子细节Ö 杆塔材质Ö
表2 电力线简化层次
视点距离近—————————>远 简化层次012345 相AÖÖÖÖÖÖ 相BÖÖÖ 相CÖÖ 地线ÖÖ 多分裂线Ö 点数9161311573
3 混合式杆塔电力线分页细节模型实现
为了充分利用osg的PagedLOD功能[14-15]和本文设计的杆塔模型(如图3所示),本文在设计杆塔电力线的分页细节层次模型时将杆塔电力线LOD模型分为osgb(osg二进制文件格式)层和ptm层。其中,osgb层保存简化后的杆塔模型和电力线,ptm层保存原始的杆塔语义模型。
osgb层如图3所示,总共6层,L0和L1层由于可视距离较远,杆塔会被压缩到不到1个像素,因此只显示电力线,而L2到L5层逐步加入杆塔及其细节。和L0到L4层相比,L5层进行了特殊设计:L0到L4层都属于4叉层,L5层则根据本层当前瓦片的杆塔的多少,对每个杆塔建立了独立的PageLOD,这样可以方便地进行。
ptm层就是立体测塔的原始文件,保存了杆塔塔身、塔头、横担、绝缘子等关键点位数据和各部件的材质。由于斜材、缀材、绝缘子实体模型是动态生成的,在文件中并不存储,因此文件通常只有十几KB。
在渲染时,直接利用osgb层渲染无材质的简化模型,而只有在最精细的ptm模型层出现时,才动态渲染当前视野中的带材质的质感模型。由于只有在一个杆塔占显示窗口很大比例的情况下才进行真实感显示,因此,动态渲染的工作量大大减少,从而实现以时间换取存储空间的目标。
图3 基于四叉树的杆塔电力线LOD模型
4 实验与效果
4.1 单个杆塔的PagedLOD对比实验
本文选取3DMAX生成的深圳市岭鲲甲线-N10杆塔LOD模型进行对比说明。如图4所示,图4(b)为某公司提供的利用3DMAX建立的杆塔模型的4级LOD模型文件,文件总大小为54 MB;图4(c)为利用本文方法生成的PagedLOD模型文件,文件总大小为74.1 KB。为了进行更好的对比,图4(d)为4个杆塔及其电力线的生成的PagedLOD模型文件,文件总大小只有550 KB,比3DMAX生成LOD的一个级别还要小至少100%.从数据上看,本文方法生成的PagedLOD文件占用空间很小,有利于杆塔的快速加载和数据传输。
图4 深圳市岭鲲甲线-N10杆塔的LOD模型对比
4.2 深圳市杆塔电力线PagedLOD生成实验
为了验证本文方法的正确性和有效性,本文基于osgEarth搭建了实验平台(32位程序),并对深圳市110 kV、22 kV、500 kV共458条线路的杆塔和电力线数据进行LOD模型生成和三维可视化实验,实验结果如表3所示。所生成的杆塔电力线PageLOD总共615 MB。osgEarth平台单独加载杆塔电力线内存占用最少76 MB,最多只有475 MB;与深圳市DOM、倾斜摄影测量建立的高分辨率电力走廊地面模型一起加载,内存占用最少243 MB,最多只有1.3 GB,刷新率达到每秒60帧。
表3 深圳市杆塔电力线LOD模型及加载情况
可视化内容数据量内存占用刷新率/fps 杆塔与电力线615 MB76 M/475 MB60 DOM、架次模型、杆塔与电力线55.6 G+110 G+615 MB243 M/1.3 GB60
为了直观表示,如图5~6所示,本文截取了深圳市杆塔电力线由远到近3种不同视点距离下的可视化结果。实验结果表明,本方法能流畅快速地加载杆塔电力线LOD模型。
图5 深圳市杆塔部分电力线远景
图6 深圳市杆塔部分电力线近景
5 结束语
针对电力杆塔和电力线这类特殊人造地物的可视化需求,本文根据其结构特征提出了一种顾及对象语义的大规模杆塔电力线分页细节层次模型构建方法。与传统方法相比,本文提出的方法通过实时计算杆塔的细节结构,能有效减少杆塔表示的数据量,有利于缩短网络传输的等待时间,提高三维可视化平台的响应速度;根据本文方法建立的PagedLOD模型占用硬盘空间小,便于网络传输;占用内存少,可以在32位osgEarth程序上流畅浏览。实验结果表明,针对不同可视化对象的结构特征,构建顾及对象语义的分页细节层次模型,对于精细化的三维城市模型构建与可视化具有重要的意义,是可视化模型建立的重要趋势之一。
[1]王永君,龚健雅.用于大范围虚拟地形环境的动态场景管理方法[J].测绘学院学报,2003(03):231-234.
[2]戴晨光,张永生,邓雪清.一种用于实时可视化的海量地形数据组织与管理方法[J].系统仿真学报,2005(02):406-409,413.
[3]冯亮.面向大场景三维可视化的高精度地形数据组织[J].测绘科学,2012,37(05):119-120,125.
[4]朱庆,陈兴旺,丁雨淋,等.视觉感知驱动的三维城市场景数据组织与调度方法[J].西南交通大学学报,2017,52(05):869-876.
[5]周昆,潘志庚,石教英.基于三角形折叠的网格简化算法[J].计算机学报,1998(06):506-513.
[6]周杨,姬渊,蓝朝桢,等.基于三角形折叠的连续多分辨率LOD算法[J].测绘学院学报,2004(04):279-281,285.
[7]熊仕勇,李沁翰,谢爱荣.基于半边折叠的LOD三维模型简化算法[J].计算机工程与设计,2016,37(03):655-659.
[8]蒲浩,罗诗潇,李伟,等.基于OSG的铁路站场三维场景层次细节建模研究[J].铁道工程学报,2017,34(03):63-67.
[9]郭星辰,佘江峰.多细节层次的三维植被符号设计[J].测绘科学,2016,41(06):48-52.
[10]尹晖,孙梦婷,干喆渊,等.基于SketchUp的输电杆塔三维建模研究[J].测绘通报,2015(04):34-37.
[11]刘树棠.输电杆塔结构及其基础设计[M].北京,水利水电出版社,2005.
[12]陈祥和,刘在国,肖琦.输电杆塔及基础设计[M].第2版.北京:中国电力出版社,2013.
[13]谭波,杨亮,周伟才,等.基于圆形度和悬链方程的电力线半自动建模[J].测绘科学,2016,41(12):243-247.
[14]邵孔东.虚拟战场仿真系统的设计与实现[D].西安:西安电子科技大学,2016.
[15]王誉立.基于OSG的三维可视化研究[D].北京:北京邮电大学,2016.
彭炽刚(1963—),男,硕士,高级工程师,主要从事高压输电、电力巡线等研究。
南方电网科技项目(编号:GDKJQQ20161187)
2095-6835(2019)03-0017-04
TM75
A
10.15913/j.cnki.kjycx.2019.03.017
〔编辑:张思楠〕