APP下载

基于ArcGIS Engine的校园管网管理系统的设计与实现

2017-03-23郝杰

经济研究导刊 2017年3期
关键词:管网

郝杰

摘 要:传统的校园管网管理需要耗费大量人力,采用图纸的方式,当管网发生变化时,难以实时地变更图纸,为管网的维修带来极大的困难。根据当前校园管网管理的需求,利用Esri公司发布的ArcGIS Engine组件,构建校园管网管理系统。该系统采用主流开发语言C#编写,通过ArcSDE与功能强大的Oracle数据库连接作为企业级地理空间数据库,减少了人力成本,同时实现了对复杂校园管网的方便、高效管理。

关键词:ArcGIS Engine;管网;ArcSDE

中图分类号:G647 文献标志码:A 文章编号:1673-291X(2017)03-0156-02

引言

在校园管网的管理中一直使用纸质地图与CAD相结合的方式对管网进行管理,随着社会的快速发展,校园的建筑面积也在不断扩大,校园的管网系统也变得更加庞大和复杂。这种传统的管理方式数据更新困难,管理效率低下,已经难以满足管理复杂管网的需求[1]。而ArcGIS Engine为解决这一问题提供了很好的平台,同时结合ArcSDE与Oracle数据库也解决了数据的存储和同步问题,基于以上技术构建的校园管网管理系统,可以极大地提高管网管理的效率和数据的同步性。

一、总体设计

(一)关键技术

本系统的开发平台为ArcGIS Engine,ArcGIS Engine是美国 Esri 公司发布的一款GIS二次开发产品,是目前 GIS 业界最为著名的组件式 GIS 开发产品。它是对ArcGIS Desktop开发包ArcObjects组件集中的大部分接口、类、库进行封装后构成的独立的嵌入式组件,可以方便地实现GIS功能,这使得开发者能够将精力集中到解决应用程序的业务逻辑中[2]。为解决管网地图和数据的存储问题,本系统选取了Oracle数据库作为地理空间数据库,采用ArcSDE组件直连的方式将数据库与管网系统连接,ArcSDE是一套空间数据库解决方案,它在现有关系型数据库系统的基础上进行空间扩展,可以将空间和非空间数据存储在单一的关系型数据库中[3]。在开发语言的选取上,采用了主流成熟的C#语言,力求将程序做到简洁、高效、稳定。

(二)功能模块

系统主要有四大功能模块,首先是地图操作模块,可以响应用户对地图的一些交互操作,例如放缩、前后视图和漫游等,这是系统的基础功能;其次是属性查询模块,负责根据用户的需求对管网节点,线路和校园建筑进行属性的查询,或者根据用户指定的条件筛选出符合要求的地物;再次是地图编辑模块,用于满足用户对管网节点、管线、建筑物等进行标注和节点拓扑编辑的需求;最后是空间分析模块,空间分析是GIS的核心功能,包括缓冲区分析、网络分析和爆管分析等,可以为用户利用GIS进行科学规划与管理提供决策依据[4]。

二、系统实现

(一)地图操作功能模块

地图操作模块用于响应地图与用户的交互操作,例如加载数据、放大缩小、平移、测距等功能,需要使用ToolbarControl控件,ToolbarControl控件无法单独使用,需要与MapControl控件绑定后协同工作,ToolbarControl使用hook来联系命令对象和MapControl控件,并提供属性、方法、事件,主要使用ICommand接口和IToolControl接口加载内置命令。

(二)属性查询功能模块

查询模块负责根据用户的需求对管网节点,线路和校园建筑进行属性查询,“点击查询”功能是用户通过直接在屏幕上选取地物目标来查询其属性信息,“范围查询”功能则是用户通过鼠标在屏幕上划定一个区域来查询其中包含的地物属性信息。上述两种查询主要由IFeatureLayer.Search()方法或IFeatureSelection.SelectFeatures()方法,通过制定的标准过滤器filter和方法选择要素来实现,查询结果实现的是FrmSelectResult窗体类,将生成的属性表pDataTable加载到FrmSelectReasult的DataGridView表中,并显示出来。“筛选查询”功能则是根据用户选择的条件,筛选出符合用户条件的管道或节点,“筛选查询”原理主要是将用户需求解析为SQL语句,生成IQueryFilter对象,通过IFeatureSelectionSelectFeatures()方法执行查询,将结果在MapControl控件中显示出来。

(三)地图编辑功能模块

此模块用于满足用户对管网节点、管线、建筑物等进行修改的需求,同时实现对地图符号修改的功能。地图编辑可以对管线的节点、建筑物等进行修改,同时对增加的多个点、线、面要素进行拓扑处理后将正确的编辑结果显示在地图上。要实现编辑功能,需要使用IWorkspaceEdit接口,它可以让程序启动或者停止一个编辑流程,在这个编辑过程中,可以对地图数据进行修改。要对地图符号進行修改,分为三种类型,对点、线、面符号的修改分别对应MarkerSymbol、LineSymbol和FillSymbol。系统可以对地图符号进行颜色、大小、宽度、角度等的修改,修改的效果会在右上角窗口中实时生成预览,极大地方便了用户的操作。

(四)空间分析功能模块

空间分析作为GIS的核心功能,为用户利用GIS进行科学规划与管理提供了决策依据[4]。空间分析模块包括缓冲区分析、网络分析、爆管分析等功能,在桌面ArcGIS软件中,GP工具软件提供了大量的分析功能,要在ArcGIS Engine中进行空间分析,也需要引用Geoprocessing程序集,通过IGeoProcessor2接口的Execute实现对GP工具的执行,首先创建GeoProcessorClass对象,其次创建实现IVariantArray接口的对象,并设置其参数数据,最后gp.Execute执行GP工具。

缓冲区分析可以用来模拟管线损坏后的影响范围,规划预警方案;网络分析则可以动态的分析管网的分布,分析管网最短路径,规避不可施工区域,降低施工成本;爆管分析通过对管网的空间分析,可以迅速查明发生故障的节点,提高维修效率。

结论

本系统基于ArcGIS Engine开发,弥补了传统的管网管理方式数据更新困难,管理效率低下的问题,配合ArcSDE和Oracle数据库,提高了系统的易用性,特别是在地图编辑和空间分析方面,减轻了对复杂管网系统管理的难度,极大地提高了管理效率。

参考文献:

[1] 鲁涛.基于Arc Engine的校园管网信息系统的设计与实现[J].科技视界,2014,(4):52-53.

[2] 吴建华.基于ArcGIS Engine的GIS软件开发方法[J].测绘通报,2010,(11):54-57.

[3] 张佐帮.基于ArcSDE和Oracle的东盟空间信息系统的研究与实现[D].武汉:武汉大学,2005.

[4] 檀丁,李明峰,张蔚,等.GP服务在基于SOA的WebGIS空间分析中的应用研究[J].测绘通报,2011,(7):70-77.

[责任编辑 李晓群]

猜你喜欢

管网
市政道路给排水管网设计分析
东莞打响截污次支管网建设攻坚战
浅谈GIS在石油管网信息管理系统中的应用
石家庄裕西隔压热力站混水改造方案探讨
由爆炸事故反思油田管网档案管理