基于ArcGISEngine和ArcGISServer的数字管道系统的设计与实现.

6382010,31(3)计算机工程与设计ComputerEngineeringandDesign开发与应用 0引言

GIS(地理信息系统)技术是数字管道的关键支撑技术之

一。目前在数字管道系统的开发中,与GIS相关的功能多选 择GIS桌面软件或软件自带的二次开发语言进行,过多地依 赖于GIS软件本身,缺乏自定义功能,无法与其它IT系统紧 密结合,可移植性差,限制了系统在实际上的应用。同时,数 字管道系统具有数据结构复杂,数据量巨大的特点,随着网络 技术和管理技术的发展,如何将海量空间数据和属性数据通 收稿日期:2009-03-25;修订日期:2009-05-26。

过网络进行有效信息共享,以及提供空间分析、统计等功能已成为数字管道建设亟待解决的问题。数字管道的应用在国内还刚刚起步,目前的数字管道系统大多以单机应用为主,这造成了数字管道管理的不完善和低效率。随着GIS技术的发展,基于组件式技术和WebGIS[1-2]技术的GIS开发成为主流,组件式GIS[3]专注于GIS功能的自定义定制和嵌入应用,WebGIS专注于GIS功能的网络应用。ArcGISEngine[4]是美国ESRI公司推出的组件式GIS开发包,ArcGISServer[5]是ESRI公司推出的WebGIS开发平台。为解决上文提到的问题,本文基于ArcGIS 李贞培,李平,吴明:基于ArcGISEngine和ArcGISServer的数字管道系统的设计与实现

2010,31(3)639

Engine和ArcGISServer构建了甬沪宁数字管道系统,并介绍了ArcGISEngine和ArcGISServer的开发方法,以及系统的实现过程和方法。 1

开发平台概述

1.1

ArcGISEngine

ArcGISEngine是基于ArcObjects[6](ESRI公司基于COM技

术所构建的GIS组件库)的一组完备的嵌入式GIS组件库和工具集,是ArcObjects的子集,它没有ArcObjects复杂的组织结构,但是拥有ArcObjects的大部分核心功能。通过ArcGISEn-gine,开发人员可以将GIS功能嵌入自己的应用或现有的商业软件,也可以开发独立的GIS程序[7]。ArcGISEngine包含有低层次的API和高层次的控件,使得开发人员可以快速的开发出功能强大,适应各种需求的GIS程序和系统。

ArcGISEngine包括开发包(DevelopKit)和运行时(Run-time)两部分。开发包包括控件、工具命令集和对象库3个关键部分。运行时(Runtime)是为能够运行基于ArcGISEngineGIS开发的应用程序而提供的运行环境工具包。

1.2ArcGISServer

ArcGISServer是基于ArcObjects构建的企业级WebGIS开

发平台,以网络为核心支持,用于构建集中管理的、支持多用户的、具备高级GIS功能的企业级GIS应用与服务。ArcGISServer提供广泛的基于Web的GIS服务,丰富的GIS功能,满足工业标准的GIS应用,以支持在分布式环境下实现地理数据管理、制图、空间分析、数据编辑和其它的GIS功能[8] 。

ArcGISServer由两个部件组成:GISServer和Web应用开发框架(简称ADF)。GIS服务器是ArcObjects对象的宿主,包含核心的ArcObjects库,并为ArcObjects在服务器中的运行提供一个灵活的环境。ADF是一组在ArcObjects之上构建的服务器控件和工程模板,ADF集成到IDEs如VisualStudio.net,便于开发人员开发,简化了编程模型。

1.3ArcSDE

ArcSDE是应用程序与关系数据库之间的数据引擎,用于

高效地在关系数据库中存储各种空间数据。支持多用户,支持长事务处理和版本管理,支持流行的DBMS如Oracle、Micro-softSQLServer、IBMDB2等。ArcSDE解决了DBMS的多样性和复杂性,实现了空间数据和属性数据的统一存储,给用户提供了极大的灵活性。 2系统总体架构

基于ArcGISEngine和ArcGISServer的甬沪宁数字管道

系统的设计目标是在计算机软硬件、网络、关系数据库的支持下,利用GIS技术实现对甬沪宁长输管道及其设施、周边情况的空间和属性信息进行远程输入、输出、编辑、查询、统计、空间分析、更新维护等的管道信息计算机管理系统。系统总体结构图如图1所示。系统由ArcGISEngine开发的独立GIS程序、GIS服务器、基于ArcGISServer开发的WebGIS程序3部分组成,分别对应管理维护、数据服务、查询分析3个模块。 2.1管理维护模块

由ArcGISEngine开发的独立GIS程序和GIS服务器组

成,采用C/S模式,通过独立GIS程序,工作人员不仅可以浏览分析GIS服务器上的管道空间和属性数据,有权限的管理员还可通过独立GIS程序对GIS服务器上的数据进行输入、编辑和更新维护。 2.2数据服务模块

由GIS服务器、ArcSDE、关系数据库组成。通过ArcSDE,

所有的管道空间和属性数据都统一存储在关系数据库里,为管理维护模块和查询分析模块提供数据服务。GIS服务器同时还是ArcObjects对象的宿主,供查询分析模块的WebGIS程序使用,为WebGIS程序提供GIS功能。该模块是管理维护模块和查询分析模块数据共享的桥梁。 2.3查询分析模块

由GIS服务器、Web服务器,浏览器组成,采用B/S结构。

GIS服务器负责向数据库发送数据请求,并由ArcObjects组件完成各种空间数据分析处理;Web服务器负责处理客户的请求,将处理结果发回客户,并完成与GIS服务器的交互;Web浏览器提供用户和系统交互的界面,由ASP.NET页面组成,负责通过HTTP协议向Web服务器发出请求和接收显示服务器返回的结果。

查询分析模块将管道数据进行网络发布,并提供强大的GIS功能,以供用户在互联网上浏览、查询、统计、分析管道数据,并反映管理维护模块模块更新的服务器上的最新数据。 3系统功能设计

系统的设计功能包括可远程对数字管道进行显示输出、

查询统计、数据编辑、以及空间分析操作等功能,提供多方面、多层次的空间信息服务,为数字管道的管理、决策提供服务。

(1)基本地图操作。用户可对管道地图进行放大、缩小、平移等漫游操作,还提供了全景、分层管理、鹰眼、导航等功能。

(2)查询功能。包括空间信息查询、属性信息查询、模糊查询、由空间信息查询属性信息、由属性信息查询空间信息等查询。还可以通过鼠标点选地物从而获取地物的详细信息。

(3)数据输出。包括地图的打印输出,图层导出为图片、导出为其它格式文件等功能。

(4)数据编辑(仅管理维护模块有此功能)。有权限的管理人员可对系统数据进行远程编辑。包括添加删除图层,添加删除实体要素,修改实体要素的空间位置、属性数据等。

(5)空间分析。空间分析是GIS系统的核心功能。考虑到数字管道的特点,系统实现了缓冲区分析(管道泄漏灾害预测

6402010,31(3)计算机工程与设计ComputerEngineeringandDesign

分析)、网络分析(最短路径分析)、纵断面显示、距离量测、面积量测等功能。 4

系统实现

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4