杨振杰 原瑞红 朱泽宇 韩 松 李媛媛
(中国兵器工业北方勘察设计研究院有限公司,河北石家庄 050011)
随着数字化城市概念的提出,我国所有行业积极跟进,其中地下管线是一个城市重要的基础设施,它承载着信息传递,资源输送等主要职能,是一个城市的神经和血管,保证着城市的正常运转和活力。传统的二维管线成果很难反映各专业管线之间的实际空间关系,并且图纸专业性较强,对非专业人士不够友好。地下管网的三维可视化很好地解决了这些问题,对地下实际情况的还原,结合属性、权属等信息的显示,更加直观且方便快捷[1-2]。管网的三维可视化主要有两种方法,一种是直接用3ds Max 进行绘制,适用于小规模简单管线建模,附属属性相对较少;另一种是利用起止点位置进行绘制,徐亚军等[3]、唐莉萍等[4]、张玉红等[5]使用Skyline 相应接口进行管线段建模,一些单体化模型使用3ds Max 进行精细化建模,此方法适用于大范围管网建模,但是针对大批量的起止管点数据获取问题,均未提供高效准确的自动化获取方法,仅停留在信息系统的整合方法研究上。管点数据的快速获取问题极大地阻碍了管线段自动化建模的进程。针对柱形管线,本文根据第二种方法进行前期管点数据转换方法创新,对大批量管点数据的快速制作方法进行研究。
Skyline 是可以实现从二维数据到三维真实模拟转换的三维数字地球平台软件。Skyline 系列产品的TerraExplorer 是基于互联网和本地环境的多元地形模型浏览、分析、编辑和发布工具,其开发接口(API)提供了一种集成TerraExplorer 和自定义应用程序的强大方式[6-7],可以为访问外部资源创建扩展。基于COM 协议的所有接口均可进行二次开发。
以外业测绘调查的二维数据为基础,通过数据库连接以及软件接口,根据起始和终止位置、尺寸等主要特征参数进行圆柱或者四棱柱的自动绘制,以此立体图形代替圆柱形管线和管沟,从而完成地下管线的可视化。由于圆柱和四棱柱两种柱体绘制方法仅在程序代码上存在微小差异,制作原理和过程均类似,因此本文以圆柱形管线为例进行讨论。考虑到项目侧重点和计算机计算压力,选择TerraExplorer Pro中ISGWorld701 接口,利用CreateCylinder 方法创建圆柱体[7],以此代替精细化圆形管线的绘制。其中以圆柱体的直径表示圆形管线的管径,圆柱体的“高程值+半径”表示地下圆形管线的埋深,圆柱体的“高程值-半径”表示架空圆形管线的净空高,管点数据中各属性字段可根据实际需求和调查情况进行定义,三维管线自动生成流程见图1。
图1 三维管线自动生成流程
通过数据库读取管点数据,部分代码如下:
其中:IPosition701 表示对象的位置和方向;Radius 表示圆柱体的半径(单位:m);ObjectHeight 表示圆柱体的高度(单位:m);NumOfSegments 表示组成圆柱体的分段部分数目,数目越多,圆柱体越圆滑;LineColor 表示圆柱体线的颜色,用于指定的颜色值的颜色和透明度值。FillColor 如果透明度大于0,为圆柱体的填充色;GroupID 圆柱体在工程树中的位置;Description 圆柱体在项目树中的名称。
为在实际工程中实现大批量圆柱形管线、四棱柱形管沟管点数据的快速制作,以及不同平台下数据的统一,通过“外业调查数据-管点数据-三维可视化”过程进行整理和转换。
已知数据为现场外业调查数据,主要包括管线的空间位置、专业、材质、管径、埋深等信息。
实际管线调查中,为方便画图,通常增加许多辅助定位点,由于使用的管线三维可视化原理是根据管线段无缝拼接成的管网,如果不进行处理,会增加计算机绘制压力。而在上翻、下翻、变径处二维图纸中却没有节点的体现,因此首先需要对二维数据进行优化,突出第三维度(Z轴)的变化位置,具体如下:
(1)在合理的容差范围内去掉冗余的管线折点
删除外业调查辅助点,使管线段尽量符合实际情况,直接减少了后期的管线段数量,从而减轻了计算机绘制压力。将连续管线(如主线、各分支)进行多线段连接,使其成为一个整体,方便后期的路由、流向等信息的管理。
(2)在上翻、下翻、变径处增加节点
在二维图纸中上翻、下翻和变径处的变化通常没有体现,而在三维系统中,由于属性的不同,则需增加节点以挂接不同的属性信息,从而准确地表达出现场实际空间位置和变化情况。
(3)删除多余的图层
在二维CAD 图中,删除不必要的图层,仅需保留管线走向和各个野外调查的属性图层,使图纸更加简洁明了。保留管径、埋深、材质等属性图层可方便后文的管线附属信息的制作。每种属性对应单个图层,可以有效避免在ArcGIS 软件属性挂接过程中的思维混乱,减少属性信息图层对应错误。
(4)坐标转换
将CAD 文件通过坐标转换转换到指定的坐标系下,不同的工程需求也不同,如果三维可视化需要准确位置,则可以通过多个控制点进行四参数或七参数转换到国家通用的坐标系下,比如国家2000 大地坐标系。如果需要的是相对位置,即建筑坐标则省略此步骤。此操作的目的是在ArcGIS 中进行投影定义,将CAD 文件中的投影信息与所要定义的坐标系保持一致,保证在Skyline 中位置能够准确对应。
在CASS 或者CAD 软件中进行管线附属属性的图层制作。首先确定所需增加属性的类别,分别新建文本图层,然后将各个节点对应的属性信息以文字格式与之对应,即属性文本的插入点与该节点重合。对于上翻、下翻、变径等位置的属性标注后期区分是比较困难的,由于最终输出的是每个节点的位置和各种属性信息,而一种属性仅在EXCEL 表格中一个单元格里呈现,因此这些位置的空间变化无法直接表示出来。针对此问题,经过实际工程总结验证,在单种属性发生变化时通过特殊字符的加入能够有效解决问题,本研究以“AA/BB”在埋深图层中代表上下翻变化,“/”表示此处存在上下翻情况,需增加竖直管线,该管线段Z轴的空间位置为AA 到BB。以“CC(DD)”在管径图层中代表变径现象,后期看到“()”立马可以识别该变化,通过前后管点的管径确定两个方向的管径大小,某工程中部分管线属性图层制作见图2。
图2 增加属性图层
在ArcGIS 软件中将各个属性文本图层挂接到节点,并最终将完成所有属性挂接的属性表导出为Excel 表格,某工程中电力管线信息挂接最终处理结果见图3。
图3 属性挂接
(1)格式转换
将CAD 文件添加到ArcGIS 软件里,在Arc-GIS 软件中管线的走向以“polyline”要素形式存在,各种属性信息以“annotation” 要素形式存在。首先需要将线要素、备注要素分别导出为单独的.shp 矢量文件。其中线要素直接导出即可,属性要素可通过ArcToolbox 中“要素转点”工具进行转化。
(2)投影转换
ArcGIS 软件不能直接识别CAD 文件的空间参考信息,缺少空间参考信息不能进行投影转换。经过测试只要有投影信息,投影坐标或地理坐标在Skyline 软件中都能够正确对应。因此需要通过ArcToolbox 中“定义投影”工具对(1)格式转换中数据的投影坐标进行正确的投影定义。如果需要地理坐标,可通过“投影”工具将投影坐标转换为地理坐标。最终得到带有投影信息并且以投影坐标或地理坐标呈现的线要素和点要素。
(2)属性挂接
对管线走向的节点进行整理,将线要素的折点转化为点要素,提取到所有管线的节点信息。各种属性信息在之前步骤中已经转为点要素,每个点都包含了该节点的所有属性信息,由于在二维数据整理时不同图层对应着不同属性,因此仅需在属性表中“Layer”字段下根据图层名称进行分离,完成单个属性的点要素制作。最后根据空间位置通过ArcToolbox 中“空间连接”工具依次完成所有单个属性点要素与管线走向折点点要素的联合,将管线所有属性挂接到对应的管点上。
(3)增加平面坐标
前文投影转换之后,Skyline 便可根据坐标对应到实际位置,因此在矢量文件属性表里增加平面坐标字段。通过“添加X、Y坐标”工具将平面坐标X、Y字段添加到属性表中,作为管点数据中最基础、最重要的组成部分。
(4)属性表转Excel
经过上述步骤操作,完成所有信息挂接以及平面坐标的获取,最后通过 “表转Excel”工具将管点数据属性表以Excel 表格形式导出。
在导出的Excel 表中,ORIG_FID 字段值相同表示一根连续的管线,即2.1 节二维数据的整理第(1)条在合理的容差范围内去掉冗余的管线折点中多线段连接的操作。POINT_X、POINT_Y 字段分别表示X、Y坐标值,其他属性字段名称以命名为准。
由于前面步骤导出的Excel 只是每个节点对应的属性信息,和最终入库要求的起始和终止点位置、属性组有差别(导出的是以单个节点为单位,入库需要的是以管线段为单位),不能够直接使用,因此需要以最终入库表格式为标准,利用Excel 函数公式、宏命令来进行快速的批量处理。首先根据ORIG_FID字段下相同的数字对管点数据进行错位复制、粘贴,完成初步的管线段制作。其次在上下翻、变径处进行重点处理,按照2.2 节管线附属信息图层的制作中定义的规则进行上下翻垂直方向管线段的补充和变径前后管线段管径的修改。最后以入库表定义的规则为准对数据进行对照整理,从而完成最终的管点数据入库表制作,某工程管点数据入库表设计如表1所示。
表1 管点数据入库表
通过数据库的连接和对应接口代码的运行,在Skyline 平台下自动绘制所有入库表中的圆柱体,以此来代替圆形管线。某工程中局部地区管线可视化效果见图4。
图4 管线三维可视化
管网附属设施包括阀门、电表、消火栓、控制器、雨水篦子、检修井、井盖等,与管线的可视化相比较,区别在于管线是利用ISGWorld701 接口下CreateCylinder 方法进行圆柱体的自动绘制,而附属设施则是利用ISGWorld701 接口下CreateModel 方法进行模型的重复加载定位。可视化过程中同样需要在数据库中进行Position、FileName、Scale 等必要参数与模型的对应管理。对于差别较小的模型,可以使用同一个模型数据,无法归类划分的则需进行多个模型的构建。而主要的平面坐标、高程数据、朝向、旋转角度等属性参数与管点数据整理方法类似,某工程中部分附属设施的可视化效果见图5-图8。
图5 阀门可视化
图6 消火栓可视化
图7 检修井可视化
图8 雨水篦子可视化
在根据起止位置绘制管线的方法上,从管点数据角度切入,整理总结了一套快速灵活的批量化处理流程。该方法在二维数据的基础上进行信息优化,通过多软件协助作业完成属性信息的挂接转换,最后利用Skyline 平台接口进行数据库连接并完成三维管线的快速绘制和可视化。此方法在某工程中得到了较好的验证,其主要优势在于:
(1)整理速度快,可合理有效地缩短工期、节约成本;
(2)在大量管点数据的空间对应上,更直观,更易进行增删改查;
(3)管线模型更加轻量化,减轻了计算机计算压力,提升了用户体验;
(4)后期维护更加方便。
本方法能够为管网系统中圆柱和管沟形状的管线三维可视化提供思路,为快速、轻量化地推动数字化城市建设提供有力支持。未来可对管块和隧道等复杂情况进行进一步分析。