1、基于 Engine 的城市给水管网的二三维一体化系统技术文档一、需求分析随着城市建设的快速发展,城市供水管线数量急剧增加,形成一个纵横交错的巨大网络,供水管网管理的难度越来越大,要求越来越高,涉及面越来越广。随着城市用水和自来水管网规模的不断扩大,手工的管理模式和管理手段已无法满足城市的安全用水,优质服务的要求,更难以适应各种突发事故的应变处理需求。由于城市的不断变化,地下管线也在不断的更新,需要开发高效可行的管理系统对管线进行及时的补充和更新,实现对地下管线的动态管理;以前的地下管线资料多为多为纸质档案,在查询和统计时的效率比较低,并且容易出错,为此我们需要对查询和统计任务做出快速响应;城市
2、规划需要综合城市资源环境信息各要素进行认真分析,优化组合,合理布局。给水管线是城市的重要地下基础设施,起地面站点位置、地下基准、线路布局是城市规划需要综合考虑的内容。因此可靠、准确、完整的管线信息是城市规划的必备资料。在工程施工建设前,设计人员需要了解管线的分布现状,根据提供的资料和数据进行分析,提出各种预估方案,应用决策方法选出最佳方案,确定最优的管线接入位置和路径,在施工中采取有效措施,确保不发生事故。目前的大多数管网管理系统仅停留在二维阶段,但由于二维数据不能够很好的表达出实际管线的布设情况,使得研究三维管线成为了必然趋势,当然三维空间分析是三维管线信息系统的核心功能。三维视图在表达出地
3、下管网的布设、管线之间的空间位置关系和拓扑关系等方面强于二维视图,但二维视图在表达整体宏观性等方面较三维视图有优势,鉴于此我们开发了“基于 Engine 的城市给水管网的二三位一体化系统”充分结合了二三维可视化的优势,使得空间分析可以在二三维中同时进行,并且分析的结果可以同时在两种视图中显示。二、解决思路1、数据库设计使用用户表表 2-1-1 用户表字段 字段类型 字段长度 字段说明UserID INT 10 用户 IDUserName char 50 用户名Password char 50 用户密码IsAdmin Bit 是否管理员给水管线属性信息表表 2-1-2 给水管线字段 字段类型 字
4、段长度 是否可为空字段说明LENGTH Double 12,2 管长MAP_NAME Char 8 所在图幅TYPE Char 4 管线类型MATERIAL Char 8 管材(镀锌、铸铁、球墨、钢管、钢塑、砼管、白铁、玻璃钢、UPVC、PE、未知)D_S Char 15 管径DS_W Double 12,2 宽DS_H Double 12,2 高SCEN_H Double 12,2 起始管心高程ECEN_H Double 12,2 终止管心高程SSURF_H Double 12,2 起始地面标高ESURF_H Double 12,2 终止地面标高BELONG Char 30 权属单位REC_
5、NUM Char 12 可为空 报建案号ARC_ID Long (长整型) 管线编号(SPID+EPID)SPID Char 15 填写起始管点编号(PID)EPID Char 15 填写终点管点编号(PID)LAY_DATE Char 10 可为空 埋设年代(竣工日期)MEMO Char 400 备注INV_DATE Char 10 调查日期DATA_VER Char 10 数据说明(市政一期使用,反映:新增、历史情况)表 2-1-3 给水管点字段 字段类型 字段长度 字段说明MAP_NUM Char 4 图上点号EXP_NUM Char 10 物探点号SUR_NUM Long (长整型)
6、测量点号(系列号)MATERIAL Char 8 材质FEATURE Char 6 特征SUBSID Char 6 附属物(每一种如何编码)X Double 12,2 X 坐标Y Double 12,2 Y 坐标SURF_H Double 12,2 地面高程TOP_H Double 12,2 管顶高程BOTTOM_H Double 12,2 管底高程D_S Char 15 管径大小DS_JG Double 12,2 井盖大小MAT_JG Char 8 井盖材质LAY_DATE Char 7 埋设年代BELONG Char 30 权属单位DIR_NUM Char 6 连接方向(可为空)MEMO_
7、 Char 20 备注TYPE Char 4 管点类型MAP_NAME Char 6 所在图幅REC_NUM Char 12 报建案号PID Char 15 管点编号(图幅号 8北京坐标管点类型 2不带字母的图上点号 3)FCODE Char 6 要素代码(例:010102)INV_DATE Char 12 调查日期DATA_VER Char 10 数据说明2、数据模型建立(1)二维模型主要利用 Arcgis 矢量化得到,建立 Featureclass 要素类存储在FileGeodatabase 中。(2)三维模型地面模型主要包括建筑物模型、道路模型、湖泊、草地等,其中建筑物模型使用Sketc
8、hUp 建立精细模型(下图),以符号的形式保存在 sxd 文档中。地下给水管线由给水管点按一定的连接关系构成,能够反映出管线的真实走向。如上表 2-1-2 所示,给水管线既有管长、管型、管材、管径等自然属性,又有起始点埋深等空间属性。管线模型采用 ArcEngine 的 IMultipatch 接口以多片的形式作为管线要素类的 Shape 字段统一管理;管点利用 SketchUp 建立管点模型并将其导出为 3ds 格式文件,在ArcGis 中采用符号化的方式对管点进行统一符号化渲染。3、 空间分析(1) 剖面分析:横断面分析 管线横断面分析,是指在二维或三维视图里任意地点画一条横截面线,通过该
9、横截面线生成一个断面,能够分析出与该断面相交的地下管线的分布情况。在 坐标系中标示出与断面相交管线的管径、埋深、管线间的间距等属性,正确反映管线与道路之间、管线与管线之间的相对位置关系。在表格中显示详细的管线属性信息,双击表格中的行实现在三维中选中要素。效果图如下:纵断面分析纵断面是指将一定范围内的相互连通的管线走势在图上反映出来。通过纵断面图,管理人员可以获取在一定范围内的某个方向上的管线以及其附属设施的纵深位置关系。与横断面结合,可以更深入、详尽地体现管线的空间关系。在三维管线图上通过鼠标点选输入起始管线和终点管线,标明欲作纵断面的确切管线段后,点击分析后即能自动生成管线对应的纵断面展开图
10、,表现管线的走向与路面的相对位置关系。生成管线纵断面图的同时,还自动产生该纵断面对应的管线属性数据和线上的拐点的属性数据。纵断面管线属性数据包括该管线长度、起始拐点编号、管径、管线类型、材料等属性。效果图如下:(2) 事故分析:爆管分析当管网系统发生爆管事故时,需要快速定位爆管管段,从该管的两个顶点出发,采用图的深度优先搜寻的方法搜索关闭阀门。2.3.1 初步搜索拟关闭阀门算法步骤如下:(1)确定爆管事故发生位置所在管段,分别以该管段的两端点为开始节点进行搜索。(2)判断开始节点是否为阀门,如果是而且为可用阀门,将其加入应关闭阀门集中(应视关闭阀门集中是否已存在该阀门而定),并停止该方向的搜索
11、,否则进行下一步。(3)将该点加入已访问节点集,判断其是否为终点,若是则停止该方向的搜索,转而搜索其他相邻节点,否则进行下一步。(4)搜索该点相邻节点,将未曾访问的节点加入标示空队列,从队列中依次弹出节点,同时在队列中删除该节点,以此节点为开始节点转入步骤(2),直至全部相邻结点处理完毕。2.3.2 排除不必关阀门算法步骤如下:(1)首先假设应关闭阀门集中的阀门全部关闭,分别以集合中的每个阀门为开始节点进行搜索。(2)搜索开始节点的相邻节点,加入标示空队列,从队列中依次弹出节点,同时在队列中删除该节点,判断其是否遇到关闭阀门,若没遇到则以该节点为开始节点重复步骤(2)。否则停止该方向的搜索,转
12、而遍历下一个节点,看是否存在其他通路,直至队列为空。如果不存在其他通路,说明此阀门为不必关闭阀门,将其排除应关闭阀门集中,否则予以保留。效果图如下:关阀分析关阀分析是在进行关阀处理前,能够快速有效的得到影响区域,以及对受影响的单位做出及时的通知,以便应对。关阀分析的原理为:从关闭的阀门节点出发,依次便利其下游节点,将其中的用户点标出,并绘出影响轨迹图,供决策人员分析使用。效果图如下:抢修分析抢修分析利用二维视图简洁明了得特点,在图上标绘出管线的事故发生点,并利用 ArcEngine 网络分析中的临近设施相关接口,生成从管理部门到事故点的最优路径,并提供动态模拟功能。(3) 拓扑分析缓冲区分析当
13、某一处的管线或管点需要改建,需要知道一定范围内的施工区域可能会影响到的用户。主要用到 ITopologicalOperator 接口的 Buffer 方法生成缓冲区,并通过ISpatialFilter 接口过滤得到在此范围内的建筑点。效果图如下:连通性分析连通性分析主要研究从指定起点到终点能否连通。本系统主要利用几何网络建立给水管网的数据模型,利用 ITraceFlowSolverGEN 接口和 INetSolver 接口来实现分析功能。效果图如下:(4) 碰撞分析覆土深度分析检验在一定区域内的管线的覆土深度是否符合国家标准。主要用 ISpatialFiltEr 接口过滤在所画区域内的管线并与
14、国家标准相比较。效果图如下:水平净距分析主要目的是为了查看两条管线之间的水平距离是否达到了国家标准。通过水净距分析,使管理员在查看和分析管线现状变的更加直观和科学,为管线的设计提供理论依据。实现该功能主要用到 IProximityOPerato:接口的 ReturnDistance 方法,该方法主要用来计算两条管线之间的最短距离。通过计算出来的距离和两类管线距离的国家标准对比。效果图如下:垂直净距分析垂直净距分析的目的是为了确定在空间位置上相交的两条管线之间的距离是否符合国家标准。在平面图上,我们只能确定管线的水平距离,而相交管线的空间位置关系是不明确,也是不直观的。通过垂直净距分析,可以得到
15、两条相交管线在垂直方向上的距离,看其是否满足国家标准,这对于管理部门对管线的管理,规划和审批都具有现实意义。只有对在空间位置上相交的管线做垂直净距分析,才有意义。因此需要首先用ITopologicalOperator 接口判断两条管线是否相交,若相交则求得交点并通过线性内插的方法确定交点在两条管线上相应的高程值,用上面管线的管底高程减去下面管线的管顶高程,最终得到两条管线的垂直距离。效果图如下:碰撞检验碰撞检验是管线设计中常遇到的问题,也是设计中最忌讳的问题之一。手工通过信息工具查询属性数据库检查高程或埋深非常繁琐。因为新建管线位置稍有变动,设计者不得不进行重复性的工作。因此碰撞分析得出的结论
16、可以大大提高工作效率,避免重劳动。碰撞检验是指通过分析一条管线与其可能发生碰撞的管线之间的水平、垂直净距,并和国家标准做比较,得出是否有碰撞的结论。在分析时首先要确定管线与管线之间的关系,判断两两管线的空间位置是否相交。如果空间位置相交则计算其垂直净距,否则计算其水平净距,通过计算得出一定区域内管线与管线之间的空间位置关系。由于碰撞分析是水平净距分析和垂直分析的综合应用,其实现原理是基本上相同的,在此不再赘述。三、总体设计1、系统功能文档管理:包括打开、保存、另存为文档;用户管理:包括用户信息管理(添加、删除、信息修改、角色修改)、用户注销、退出系统;地图浏览:联动浏览通过二维控制三维可以实现
17、而三维联动(放大、缩小、平移、全图、固定放大、固定缩小),三维场景浏览(放大、缩小、平移、全图、漫游);空间量算:包括距离量算、面积量算;空间分析:包括横断面分析、纵断面分析、爆管分析、关阀分析、抢修分析、缓冲区分析、连通性分析、覆土深度分析、水平净距分析、垂直净距分析、碰撞检验。(除了抢修分析、缓冲区分析、覆土深度分析、碰撞检验只能在二维视图中进行操作外,其余分析功能都可以在二三维视图中进行操作);查询统计:包括图查属性、属性查图、按材质统计、按管径统计、按埋设日期统计;帮助:包括邮件发送、联系我们和获取帮助资料;2、体系架构番禺地下管线综合管理系统应用程序界面专题应用组件 ArcEngin
18、e 应用组件公共应用组件数据源管理组件空间数据 属性数据空间量算用户管理统计分析空间分析系统 帮助文档管理信息查询视图操作4、关键技术系统界面:使用第三方控件即 DevelopeExplorer 控件,采用 office2007 的界面风格;三维建模:使用 SketchUp 软件,其创作过程不仅能够充分表达设计师的思想而且完全满足与客户即时交流的需要,它使得设计师可以直接在电脑上进行十分直观的构思。空间对象的可视化表达:二维数据如建筑物、道路、草地、管线等,主要通过矢量化并用相应的符号来表示,其中管线数据是带有高程值的 Polyline,在程序进行分析过程中需要使用 IZaware 接口使其
19、Z 值可用。三维视图的可视化分为地上和地下两部分,地上三维表达即地形模拟,地面三维建模。地下的三维管线,我们将采用 Multipatch 进行三维管线模拟,这样管线不但在可视化效果上呈三维模型,给人以更好的视觉效果,而且其具有三维高程信息,管线之间的高低埋深清晰可见.另外,管点符号也采用 SketchUp 建模后进行符号化设置,使得管线系统变得更为真实。算法及所用接口:上文“解决思路”中以说明,在此不再赘述。5、接口设计本系统大部分工具是继承 BaseTool 类,重写MouseDown、MouseMove、MouseUp 等方法,以便使用 ITool 和 ICommand 接口来使用该功能。四、设计亮点1、二三维一体化:目前管线管理系统大多为二维视图下的管理,三维系统还只停留在可视化浏览的角度,而我们从二三维一体化的角度出发,充分利用二三维各自的表达优势,实现了二三维视图中的空间分析,使得空间分析的结果可以同时在二三维中表达,增强了可视化效果。2、界面友好:利用第三方控件,采用 office2007 的界面设计风格,人机交互有好。