城市地下管线二三维一体化数据库设计研究 | ![]() |
城市地下管线是指城市内的供水、排水、燃气等管线及附属设施,是保障城市运行的重要基础设施,被称为城市的“生命线”。随着城市化建设的快速推进,地下管线建设、管理水平不能与城市化发展相适应等导致的问题日渐凸显。为改善这一现状,国务院办公厅发布关于《加强城市地下管线建设管理的指导意见》,各地据此相继掀起地下管线普查、管线信息系统建设高潮。管线信息系统建设的核心是数据库体系建设,包括数据组织、存储、更新。空间数据具有数据量大、数据种类复杂、对访问性能要求高等特点[1],如何设计较为科学的、合理的,同时支持管线二三维应用的城市管线数据库,才能较好地管理地下管线数据,成为各地比较关注的问题。
1 需求分析 1.1 管线探测成果根据规程[2]规定,管线探测的主要成果一般有两种格式的数据,一类是Access文件数据库存储的管线数据,以二维关系表的形式组织;另一类则是基于CAD成图系统绘制的综合管线图。CAD成果一般用于检查、打印出图、归档,而Access成果作为探测成果库管理,是后期管线管理信息系统入库管理的管线源数据。
1.2 应用需求管线管理经历了传统的纸质图、MS系统、CAD、二维地下管线系统,到现在的三维地下管线系统。由于地下管线具有立体性、隐蔽性、复杂性、系统性等特点,因此二维管线系统难以表达诸如垂直管线、廊管以及管线间的复杂关系,而三维地下管线系统能更真实、直观地反映地下管线的埋深、走向、埋设方式,尤其是同类管线间的连接关系、不同类型管线间的垂直分布等。
目前,许多三维地下管线系统数据存在两套,二维通过ArcSDE存储管理,或以shp文件存储管理,再以ArcEgine地图接口进行二维管线展示[3-6];而三维管线模型则是通过Skyline或CityMaker存储管理[7],以相应三维可视化软件接口进行三维管线场景展示。这种数据库设计会导致管线数据存在冗余,并且要保证管线更新前后数据的一致性比较困难,管线查询定位、分析展示需通过ID关联实现,不能在底层实现真正二三维存储一体化。目前CityMaker最新的数据引擎FDE支持矢量数据、模型等同时存储在关系型数据库中,但缺乏二维地图渲染引擎、二维符号库,无法实现二维管线地图。SuperMap支持通过其空间数据引擎SDX+同时将管线数据、三维模型存储在关系型数据库中,支持将管线数据生成二维管线地图、三维管线场景进行展示,从数据存储层面实现管线二三维一体化。本文选择SDX+作为地下管线二三维一体化数据库设计的空间数据引擎。
2 管线数据二三维符号化分析 2.1 管线二维符号化思路二维管线图制图是基于地下管线行业相关要求定制相应的管线符号,形成管线符号库;再将管线点、管线段添加到地图中,设置相应图层的符号风格,或配置专题图,即形成综合管线图或专题管线图。目前二维地图制图的相关功能较为成熟,主流商业软件均能较好实现,对数据并无特殊要求。
2.2 三维管线场景配置思路三维管线场景可简单理解为由基础场景和地下三维管线组成。基础场景配置是指将数字高程模型作为地形,正射影像作为基底,同时将城市地面模型、地名道路等数据添加在三维场景中作为一个三维层,共同组成三维场景的地上部分。管线三维可视化有两种方法,一是直接通过Max创建模型,二是使用三维可视化软件,通过代码构建模型。第二种方法又分永久构建[3-7]和实时构建,永久构建一般采用Skyline或CityMaker等三维软件;实时构建即管线三维符号化 (简称管线三维化),是基于符号化思想,将管线矢量数据添加在场景中作为一个层,并设置相应的三维符号风格或制作三维专题图,将矢量数据渲染成三维可视化效果。永久构建存储了管线三维模型,实时构建不存储管线三维模型,管线加载时根据既定参数实时构建。
2.3 管线三维化总体技术路线设计管线三维化主要包括管线段、管线点、附属物边界以及辅助管线三维化。总体流程如图 1所示,具体包括以下方面:
![]() |
图 1 管线三维符号化总体技术路线 Figure 1 Overall Technical Route of Pipeline 3D Symbolization |
1) 管线段形状根据规程主要可抽象为圆形管道、方形管道、管廊和极少异形管,如梅花管。管线段三维化可通过设置三维线型、管径等参数实现。
2) 管线点有特征、附属物两个属性标识,根据规程以附属物展现为主。① 特征包括一般管线点、三通、四通、五通、多通、变径以及弯头等,并且这些特征未必仅是某一特定标准的样式,比如弯头可能有不同角度,三通未必就一定是垂直的三通。特征三维化需要借助SuperMap自适应管点技术,该技术是将管线构建三维网络后,根据构网时创建的空间拓扑关系以及设置的自适应管点符号参数,自动生成连接处的管线点特征的三维可视化对象。此特征三维可视化对象不必存储为三维模型文件,仍是以字段属性参数形式记录在管网数据表中,需要浏览显示时根据相关参数自动生成。② 附属物则可概括为固定对象、非固定对象。固定对象是指像消防栓、变压器、分线箱这类不需要缩放大小,也无需旋转角度的地物对象;非固定对象是指像水表、阀门、井等需要缩放大小或旋转角度的对象。其中井又可抽象概括为方形井、圆形井。井的大小、深度不一样,某些还要指定旋转角度,如雨落口 (雨篦)。附属物三维化则可通过3ds Max采用常规手工建模的方式创建相关三维模型,并记录各模型的长宽高,作为三维模型符号存储在三维符号库中。三维化时,根据其属性,匹配相关三维符号,放置在其坐标位置,设置好旋转角度、缩放比例即可。
3) 附属物边界即井室,可通过拉伸建模、贴图的方式实现三维化。
4) 辅助管线主要指立管,根据规程不需要探测、不记录。三维场景中为保证地面地物对象与地下管线连接的逻辑关系,创建辅助管线存储立管信息,辅助管线三维化时与管线段三维化方式一致。
3 管线数据库设计 3.1 数据库总体设计多数管线数据库设计是将二维管线数据与三维管线模型数据分开组织存放[8-10],本设计所有数据均通过SDX+空间数据引擎一体化存储管理,支持Microsoft SQL Server、PostgreSQL、Oracle、Oracle Spatial、DB2、KingBase、MySQL、BeyonDB等多种数据库型数据源。数据库总体设计如图 2所示,各库间的关系是:基础地理空间数据与模型数据作为管线三维场景基础数据,系统运维库中记录系统运行必需的基础数据,管线专题数据库存储管线各阶段数据。本文重点研究管线专题数据库如何设计才能保证同时实现二三维管线的一体化应用。
![]() |
图 2 数据库总体设计图 Figure 2 Overall Design of Database |
1) 基础地理空间数据库包括栅格数据 (DEM、DOM)、行政区划、地名地址,以及其他需要在系统中展示的基础地理空间数据,如水系、建筑物轮廓等,这些数据可同时在二维地图、三维场景中展示应用。
2) 模型数据库包括手工建模的三维城市模型数据或倾斜摄影数据,这类数据只能在三维场景中展示。
3) 管线专题数据库包括现状管线、竣工管线以及历史备份,以保证能通过历史备份对现状库进行恢复,或单独查看某一项目的竣工管线。
4) 系统运维数据库中除存储常规的用户权限、日志等信息外,还存储管线三维符号化参数相关的信息。
系统运维库初始化时,需要先将管线三维符号库中的相关符号、规程等基本信息写入三维化参数表中。管线数据在入库时与三维化参数匹配,得到每条管线段、管线点的三维符号ID、颜色值、缩放、旋转等参数,存储在现状管线库的相关要素类中。
3.2 管线表结构本文仅介绍地下管线三维化相关的表结构,包括参数表、管线表。
1) 参数表:记录管线类型、符号等基本信息,存储在系统运维数据库中。详细描述如下:管线类型表,记录管线分类信息 (见表 1);管线符号表,记录管线符号信息 (见表 2);附属物符号表,记录附属物符号信息 (见表 3);管线编码,记录管线、管点4位代码 (见表 4)。
表 1 管线类型表 Table 1 Pipeline Type |
![]() |
表 2 管线符号表 Table 2 Pipeline Symbol |
![]() |
表 3 附属物符号表 Table 3 Pipe Subsid Symbol |
![]() |
表 4 管线编码 Table 4 Pipeline Code |
![]() |
2) 管线表:用于记录管线三维符号化参数,且所有管线都以三维要素集进行存储,即包含Z值,以存储高程信息。详细描述如下:管线段记录管线符号化所需的符号ID、颜色、断面缩放倍数 (见表 5);管线点记录附属物符号化所需的符号ID、缩放、旋转角度 (见表 6);辅助管线记录立管及三维符号化所需的颜色、线宽 (见表 7)。
表 5 管线段 Table 5 Line |
![]() |
表 6 管线点 Table 6 Subside |
![]() |
表 7 辅助管线 Table 7 LSegment |
![]() |
3.3 管线分层组织
空间数据具有海量、多时空、多尺度、多源异构等特征。为提高空间信息存取和检索速度,对海量数据需要进行有效组织。本文按管线专题的种类进行分组,组内按要素类分层。一般可分为电力、电信、给水、排水、燃气、热力、工业和地下综合管廊 (沟) 等管线专题,再将专题中管线点的附属物提取成一个单独图层,即每种管线形成管线段、管线点、附属物、立管、井室,共5个图层,如图 3所示。
![]() |
图 3 管线及场景分层组织 Figure 3 Pipeline and Scene Hierarchical Organization |
3.4 管线更新流程设计
管线竣工探测时一般探测至最近的未变化点,以保证变化前后的数据能以未变化的管线点作为同名点进行接边,且工作量最小。基于此原则,结合管线三维化流程及要求,设计管线数据更新总体流程,如图 4所示。
![]() |
图 4 管线更新总体流程图 Figure 4 Overall Flow Chart of Pipeline Update |
1) 竣工管线探测要求探测到变更范围外的管线点,以保证管线接边时能在现状管线中找到相匹配的旧管线点,作为同名点进行匹配接边。
2) 每次管线更新理解为一次竣工管线成果更新,更新前,将现状管线备份为历史备份,填写竣工项目信息后,将管线探测成果导入至临时库。
3) 依管线类别检查是否需要删除 (有废弃管线),如果有,则删除管线及相关信息。
4) 依管线类别检查是否需要接边,如果有,则找出同类且在同一位置的管点作为同名点,将原管线点删除,并修改现状管线与该同名点相关的管线的起始管线点信息。
5) 计算三维化相关参数,并构建三维网络,然后将竣工管线追加进现状管线,即得到最新的现状管线。
6) 将管线探测成果上传至竣工管线,并保存项目信息,即形成整个管线专题数据。
4 设计验证验证环境见表 8。
表 8 验证环境 Table 8 Environment of Code Verification |
![]() |
4.1 三维符号库定制
三维符号库包括点符号库、线符号库等。附属物符号、自适应管点符号属点符号库,三维线型符号属线符号库,定制方式如下。
1) 附属物符号是通过3ds Max建模,通过点SuperMap桌面应用程序新建三维符号,设置模型、初始缩放比例、旋转角度,将建好的附属物模型加到模型库中。
2) 自适应管点可通过新建三维自适应管点符号创建 (图 5),设置端部厚度、转角细分,或通过SymbolPipeNode创建自适应管点符号,并设置SymbolPipeNodeSetting接口属性CoverLength、SliceNum。
![]() |
图 5 点符号库及自适应管点符号 Figure 5 Point Symbol Library and the Editor of Adaptive Tube Point Symbol |
3) 三维管线符号通过新建三维线型符号进行定制,定制界面如图 6所示。
![]() |
图 6 线符号库及三维线符号定制界面 Figure 6 Line Symbol Library and the Editor of 3D Line Symbol |
4.2 代码验证
1) 代码实现主要接口
每类管线将其数据集添加到三维场景中作为一个图层,设置自定义专题图,并分别针对管线、附属物、井室、立管等设置图层属性、专题图参数即可实现三维化。管线三维化代码实现主要接口如下:
管线三维专题图通过LineSymbolIDExp、LineColorExp、SymbolScaleX、SymbolScaleY 4个参数设置为Line表中的相应字段,即可实现管线三维化。立管三维专题图设置与管线三维专题图设置基本一致。
附属物三维专题图通过MarkerSymbolIDExp、Marker3DScaleXExp、Marker3DScaleYExp、Marker3DScaleZExp、Marker3DRotateXExp、Marker3D-RotateYExp、Marker3DRotateZExp 7个参数设置Subside表中字段,即可实现附属物三维化。
井室三维专题图通过设置侧面贴图SideTextureFiles、顶部贴图TopTextureFile,实现井室拉伸建模。
特征专题图通过MarkerSymbolID设置自适应管点符号,再通过Layer3D.SetParentLayer () 关联相应管线图层风格,即可实现管线段、管线点之间的三通、四通、多通、弯头等连接处的特征三维化。
所有图层设置可通过SuperMap工作空间保存在场景配置中,每次打开场景时,系统会自动根据场景中三维管线图层的相关设置,结合管线数据,按符号库中相关符号信息实时进行三维渲染,形成三维管线场景。
2) 结果验证
管线三维化部分效果如图 7所示,可以看出,基于本数据库设计,通过SDX+可以实现较完整的三维管线场景符号化渲染,包括附属物、特征、立管、井室等。管线连接处可通过自适应管点技术基于三维网络拓扑关系自动生成三通、四通、弯头,如图 7所示,自适应效果好。二三维对比效果如图 8所示,可按常规地图制图方式基于此管线数据库实现查询、统计、分析。
![]() |
图 7 管线三维化效果 Figure 7 3D Effect of Pipeline |
![]() |
图 8 管线二三维联动 Figure 8 Linkage of 2D View and 3D View |
5 结束语
本文通过分析管线二三维一体化的具体需求,基于矢量数据符号化总体思想,结合管线规程,设计出一套适合管线数据存储、更新、管理、应用全流程的数据库框架。基于本设计,可同时实现管线二维地图、三维场景的符号化渲染,相较于其他方法,具有数据库统一存储、参数化实现、特征点自适应能力强、三维化速度快、效果好等优点。本设计与二维+三维可视化联动模式从数据底层有本质区别,能将二三维一体化贯穿后期整个应用体系,是管线二三维一体化的方向。本文利用SDX+空间数据引擎进行实验验证,并取得良好效果,可应用于城市大规模三维管线系统建设,为城市管线规划、辅助设计提供基础数据框架。
[1] | 曾广鸿, 杨兴旺. GIS软件和数据库的设计及发展[J]. 测绘信息与工程, 1999, 24(3): 16–19 |
[2] |
CJJ 61-2003/J271-2003城市地下管线探测技术规程[S]. 北京: 中国建筑工业出版社, 2003 |
[3] | 刘军, 鲜海峰, 孙永新. 基于Skyline的三维综合地下管线应用与研究[J]. 城市勘测, 2001, (4): 43–45 |
[4] | 吕国胜, 李兆雄. 基于Skyline的管线接头自动建模[J]. 地理空间信息, 2013, 11(3): 135–137 |
[5] | 张剑波, 李春亮, 张耀芝, 等. 基于Skyline的城市三维管道自动生成技术[J]. 测绘通报, 2013, (12): 66–70 |
[6] | 张军. 基于二维地下管线数据快速建立地下管网三维场景[J]. 北京测绘, 2014, (2): 81–84 |
[7] | 李浩. 基于CityMaker的三维地下管线地理信息系统建设[J]. 城市勘测, 2014, (2): 51–54 |
[8] | 农宇, 杜清运. 基于Geodatabase的城市地下综合管线数据库设计[J]. 测绘信息与工程, 2010, 35(6): 36–38 |
[9] | 徐爱锋, 徐俊, 龚健雅. 基于Skyline的三维管线系统的设计与实现[J]. 测绘通报, 2013, (6): 75–77 |
[10] | 史宜南, 代侦勇, 刘鹏. 二三维一体化的数字地名管理系统开发与关键技术研究[J]. 测绘地理信息, 2015, 40(1): 84–86 |