地下管线管理信息系统设计与实现.doc
J I A N G S U U N I V E R S I T Y本 科 毕 业 论 文地下管线管理信息系统设计与实现Design and Implementation for the Underground Pipeline Information System学院名称: 专业班级: 学生姓名: 指导教师姓名: 指导教师职称: 年 月地下管线管理信息系统设计与实现专业班级: 学生姓名: 指导教师: 职称: 摘要 随着现代城市的发展,地下管线已成为人民生活和经济活动的命脉,也成为城市赖以生存和发展的物质基础。本文对国内外地理信息系统技术和管线信息系统的特点进行了综述,分析了系统的开发模式和实现技术,确定了二次开发的控件和算法,并设计实现了城市地下管线信息系统。本文的主要工作包括:(1)分析了地下管线信息系统的特点以及与地理信息系统的关系,在比较分析三种开发模式和两种流行的GIS开发平台的基础上,结合ComGIS的特点和原理,基于MapObjects进行二次开发形成了一套拓展的GIS控件。(2)分析了管线数据的特点,设计了城市地下管网信息系统数据编码和管线数据组织的模型;阐述了地理信息系统中网络分析的概念及常规网络分析的解决方案,论述了事故分析、最短路径分析、缓冲区分析和纵横断面分析流程的方法,采用深度优先遍历方法实现Dijkstra算法。(3)分析和提出了地下管线的信息编码和属性数据库的设计方案,对管线信息的空间分析手段作了深入的探讨;在此基础上,运用MapObjects作为二次开发控件,以ComGIS为基础对地下管线信息系统项目进行了详尽的方案设计,实现数据输入、属性查询、空间分析、图形输出、系统维护等多方面功能。系统在一定程度上解决了目前大多数系统的数据格式单一、数据互操作性不强,或在数据格式转化中常常出现数据丢失、错误改变等问题,实现了比较完备的管线空间数据与属性数据编辑及维护功能。(4) 采用C/S模式,设计和实现了城市地下管网信息系统,并对系统实现中的几个关键问题,给出了解决方法。关键词:地下管线,地理信息系统,数据库,三维可视化, C/S模式 Design and Implementation forthe Underground Pipeline Information SystemAbstract Along with the urban development, underground pipeline has become the live vein of the people and the economic activities, also become the material base of urban survival and development. This paper gives a review on the development of GIS and an analysis on the characteristics of currently popular GIS platform, analysis of the system development pattern and the implement technology, also, determines controls and algorithms for quadratic development. Main content introduced in this paper includes:After analyzing the special demand of Pipeline Information System (PIS), based on the comparative conclusions among three different development modes of GIS, and two popular GIS platforms, with the characteristic of the COMGIS taken into account, a comprehensive solution based on MapObjects to construct the PIS is proposed.Based on the characteristic of the pipeline data, a plan on the encoding and a data organization model are proposed. Especially, the concept of the geometrical network and the relative network topology analysis are discussed. The accident analysis model, the algorithm to find the shortest path, the buffering analysis, the flow to implement the transect analysis are also introduced. The Dijkstra algorithm is implemented on basis of Depth-First Traversal.The analysis is given on the design of the information encoding and the spatial database. The main method used within the spatial analysis of PIS is introduced. The comprehensive solution of the constructed PIS is introduced in detail. The implemented functions include data input, data query, spatial analysis, map output, system maintain and so on. To a certain extent, the constructed PIS makes progress in Data Integration and System Interoperation. The PIS is constructed with the C/S framework on basis of MapObjects, and produced solutions to several key questions in system realization. KEYWORDS UNDERGROUND PIPELINE, GEOGRAPHY INFORMATION SYSTEM, DATABASE, C/S MODE目 录第一章 绪论11.1 课题研究的背景与意义11.2 地下管线信息系统的现状21.3 本文研究内容31.4 论文的结构4第二章相关理论与技术基础52.1 地理信息系统52.1.1 地理信息系统的概念52.1.2 地理信息系统的结构52.2 地下管线系统62.2.1 地下管线的概念62.2.2 地下管线信息系统与GIS的关系82.2.3 地下管线系统的特点82.3 GIS开发模式92.3.1 三种开发模式92.3.2 三种模式的比较102.4 组件式GIS102.4.1 组件式GIS的特点102.4.2 组件式GIS的实现技术122.4.3 两种比较流行的组件式GIS控件132.4.4 MapObjects的特点15第三章地下管线信息系统分析173.1 地下管线数据组织173.1.1 数据分层、分幅管理173.1.2 属性数据编码173.1.3 地下管线信息系统的数据结构183.2 地下管线空间分析213.2.1 事故分析213.2.2 最短路径分析233.2.3 缓冲区分析253.2.4 纵横断面分析273.3 数据检查283.4 管线三维图形的生成293.4.1 三维可视化软件VRML293.4.2 地下管线三维数据的提取29第四章地下管线信息系统的设计314.1 需求分析314.2 系统设计334.2.1 系统设计的基本原则334.2.2 系统的结构设计344.2.3 功能模块的设计354.2.4 数据库设计36第五章地下管线信息系统的实现385.1 C/S模式地下管线信息系统的网络编程395.2 图形编辑操作425.3 查询统计445.4 空间分析455.5 数据检查465.6 三维显示475.7打印输出475.8 安全性控制及系统维护49第六章总结与展望52致 谢53参 考 文 献54第一章 绪论1.1 课题研究的背景与意义城市地下各类管线是一个城市重要的基础设施,担负着信息传输、能源输送等工作,也是城市赖以生存和发展的物质基础1,2。但由于多方面的原因,镇江市现有地下各类专业管线的资料残缺不全,且有关资料精度不高或与现状不符,造成在建设施工中时常发生挖断或挖坏地下管线,造成停气、停水、停暖、通信中断、污水四溢等严重事故,并且因为缺乏相应的事故分析能力,对事故响应时间不够及时。另一方面,现有的地下专业管线的资料都以图纸、图表等形式记录保存,采用人工方式管理,效率低下。随着时代和科学技术的发展,城市的现代化步伐日趋加快,城市建设、管理、发展的矛盾日益突出。采用高新技术和方法来高效管理地下各类专业管线,满足决策、管理部门和施工单位的需要已成为镇江市信息管理当务之急。城市地下管线信息系统在这种背景下应建设和应用的需要而研制开发。系统的研究开发应充分利用现今蓬勃发展的地理信息系统技术,实现各类专业管线、管孔、井盖等的信息输入、管理、查询、横纵剖面及各类专题图的绘制、地形和各专业管线的1:500、1:1000图幅和自定义图幅输出等等功能,以满足地下各类管线的规划、勘探、维护、施工和管理的需要,为规划、设计、施工等部门提供准确可靠的地下管线的分布、走向、埋深等状态信息及各专业属性信息,并为将来系统进一步扩充和发展奠定基础。地下管线管理信息系统在规划、石化企业、自来水公司、消防、煤气、天然气等部门有着广阔的应用35。出于节约用地、节约能源、安全环保的考虑,往往把重要的管线埋设在地下,甚至埋得很深。由于管线处在地下暗处,看不见摸不着,对管线的走向、相互间距、埋设深度无法直接了解。由于对地下管线情况了解不清,在城市建设施工中随时有可能发生刨断电缆、挖断水管,造成大面积的停水停电,通讯中断也时有发生,给国家造成巨大的经济损失。建立地下管线地理信息系统可以使地下管线变暗为明,利用过去的资料和先进的仪器搞清楚地下管线的确切位置、埋深、走向、埋设方式、方圆直径、材质等,建立起地下管线地理信息系统,为规划设计部门提供确实可靠的数据,从而在建设施工中避免了重大事故的发生6,7。在建立地下管线地理信息数据库后,应用地理信息系统网络分析和各种专业算法,可动态模拟出管道内各种参数,如温度、压力、密度、流量,做出这些物料的流动状态波动曲线图,据此判断管线上各装置的运行情况,发出停、开、升、降等各种指令,何时需开足马力,何时需关闭阀门,合理调控,以维持管线网的最佳运行状态7,8。建立地下管线地理信息系统还有很多方面的应用,如自来水管道、煤气天然气管道突发事故的应急处理系统、在管线地理信息系统基础上进行漏水调查等。在我国应用地理信息系统管理城市地下管网还处于起步阶段,在数据录入、更新和信息的应用过程中还会遇到各种各样的问题和困难,上述的应用分析功能尚待进一步研究和开发911。因此,基于镇江管线信息系统进行相关的技术研究,为城市建设和管理提供决策支持工具,将有助城市管理水平,主要体现在如下几方面:(1) 借助于地下管线信息管理系统强大的空间数据库已能很可靠、很完美地将一个城市的基础地理信息、各种管线、管件空间信息及它们复杂的属性信息一体化存储、分类、分层地进行存储管理。(2)借助于系统强大的空间分析能力、网络分析功能和其它各种模型分析功能,能方便地对管线中的介质运行状态作动态模拟;能快速准确对管线运行的突发事故作紧急处理;能协助科学地进行地下管线的规划和辅助设计;能指导市政工程的文明施工和预防性维护等,总之,能较完美地实现对城市地下管线各种深层次的管理。(3)借助于地下管线信息管理系统的网络运行功能和三维显示功能,使一个城市的建设部门和管线权属机构,一个企业的各个管理部门,能充分实现管线信息的共享并进行各自的管理功能;能远距离浏览查询和形象地观测地下管线的复杂分布和相应的空间关系。(4)借助于系统强大的图形功能和数据库管理功能,可以方便地对基础地理信息、管线信息进行修改和更新。1.2 地下管线信息系统的现状城市地下管线是城市经济活动和人民生活的命脉,任何时期,城市都极为重视地下管线信息的管理7,但是不同时期地下管线信息的管理有其身特点:(1)80年代前,所有管线的权属部门和城建部门都建有完备的档案室,以保存管线的竣工图和各种管线的属性卡片、表册,但随着城市的发展,这种手工管理方式远远跟不上城市发展的需求,矛盾日益尖锐。(2)80年代后期至90年代,为摸清城市地下管网情况,我国开展了大规模的城市地下管网普查,并率先使用计算机辅助制图技术(AutoCAD)绘制管线分布图;使用DBASE、FOXPRO等数据库管理系统存贮管理管线和管件的属性信息。由于管线的空间信息和属性信息分别存贮于不同的介质,很难统一利用和管理,也难以进行信息的更新。(3)90年代初期至中期,随着地理信息系统软件被广泛应用于一些行业,也被迅速推广应用于管线空间信息和属性信息的管理。我国于90年代初相继使用国外的GIS平台(ArcInfo、Intergraph),有的甚至用AutoCAD探索开发管线信息管理系统。与此同时,国产GIS平台研制成功(如MapGIS),用国产GIS平台也开发出了地下管线信息管理系统,如1994年开发成功的南京炼油厂综合管线信息管理系统、江西南昌自来水管网信息系统和苏州市城市地下管网地理信息系统等,由此城市地下管线信息管理系统的发展进入一个新的阶段。但是由于种种原因,目前城市地下管线的管理存在若干问题。首先,由于地下管线现状资料的缺漏和偏差而造成的盲目施工,时常损坏地下管线,导致停水、停电、停气、通讯中断,甚至引起灾害事故。其次,由于事先缺乏地下管线现状资料,有些道路及管线工程无法按设计进行施工,不得不在现场修改设计方案,且覆土前又未进行竣工测量,造成管线数据的动态更新难以实施。此外,城市管线资料来源不明确,精度不可靠,且在传统的管线资料管理模式下,图文表格不统一,分类统计、检索速度慢,不利综合分析,存在较多弊端。所以要实现城市管理的科学化、现代化,就必须实现管线资料的数字化管理,对城市内的管线进行普查,并对管线资料的管理做出长远规划。1.3 本文研究内容地下管线信息系统一方面依赖各种比例尺的地形图,特别是以地形图为基础的专题管线图来管理其空间地理位置信息;另一方面非空间信息(如管线材质、规格、管线高程,底程、埋设年代等)则一般是通过各种不同规格的表格数据形式来管理。这种相对独立且分散的基于文档的管理方法,其弊病是显而易见的:首先表现在于表格文档和地图文档的非同步更新,造成内容上的不一致和混乱;其次,纸质文档有不易查询、保存携带、复制和不便于保密等缺点。近几年随着计算机技术的发展,有一些管线权属单位也采用计算机技术进行地下管线信息的管理,如通过AutoCAD生成地下管线图,用Microsoft Excel或Foxpro保存管线、管点的属性信息,这对地下管线信息的管理发挥着很大的作用,但也存在严重的不足,就是地下管线探测与信息技术分离,AutoCAD只显示空间数据,无法显示属性数据,空间数据与属性数据没有有机的结合在一起;有时管线信息数据可能由于测量出现较大偏差或者人为的原因弄错,在入库时没有一个合理的机制去进行数据正确性和合理性检查;管线信息的查询、统计、分析都要手工进行,不仅效率低,而且容易出错,无法形成科学、系统的事故分析和决策。目前大多数系统使用的数据格式单一,数据互操作性不强,有的系统虽然支持多种数据格式,但在数据格式的转化中常常出现数据丢失、变形等问题。这样使得系统无法和其它相关系统进行数据共享,造成多种系统之间数据的不一致,系统在使用时往往需要重新录入数据,给用户使用带来很大不便。基于原有GIS二次开发平台开发的地下管线管理系统,大多数只具有原平台提供的常用空间分析功能,而缺少针对管线数据管理所需要的网络分析功能,或者只提供了很简单的网络分析功能。本文通过广泛查阅相关文献资料,开发并实现了地下管线信息系统,主要工作包括:(1)设计了适于管网数据存储的栅格矢量一体化数据结构,采用这种数据结构存储管网数据,在保证管线数据全面、准确的同时,简化了存储操作,提高了管网数据的存储效率。(2)讨论了几种常规空间网络分析包括事故分析、纵横断面分析、缓冲区分析以及最短路径分析问题的解决方案;采用深度优先遍历方法,实现了Dijkstra算法。(3)数据录入及入库过程中实现完整性,合理性以及准确性检查。(4)三维图形显示。(5)设计了C/S模式的网络版地下管线信息系统,实现了远程管线数据的管理和非常完备的管线空间数据与属性数据编辑及维护功能。1.4 论文的结构本文主要分为六章,其主要内容概要如下: 第一章主要介绍了课题的背景和研究意义,概述了地下管线信息系统应用范围,总结了目前现有的城市地下管线信息管理系统中存在的不足,阐述了本文的主要研究工作。第二章介绍了地理信息系统和地下管线信息系统的概念及其关系,论述了GIS开发模式和组件式GIS。第三章分析了管线数据的特点,设计了城市地下管网信息系统数据编码和管线数据组织模型;论述了事故分析、最短路径分析、缓冲区分析和纵、横断面分析流程;采用深度优先遍历方法的实现了Dijkstra算法。第四章对系统进行了需求分析,并根据需求分析明确了系统设计基本原则,在此基础上设计了系统的结构、功能模块和数据库的数据字典。第五章设计了城市地下管线信息系统基于MapObjects的C/S模式体系结构,说明了构成系统的几个模块的功能;对系统实现中的几个关键问题,给出了解决方法。第六章对总结全文工作,并对地下管线信息系统的下一步工作进行展望。第二章相关理论与技术基础2.1 地理信息系统2.1.1 地理信息系统的概念地理信息系统(GIS)是以采集、存储、分析和描述整个或部分地球表面(包括大气层在内)与空间和地理分布有关的数据的空间信息系统8。美国国家地理信息与分析中心(NCGIA)于1988年曾给地理信息系统下过一个定义:为了获取存储检索分析和显示空间定位数据而建立的计算机化的数据库管理系统9,10。GIS是以计算机为基础的新兴技术,围绕着这项技术的研究、开发和应用形成了一门交叉性、边缘性的学科,主要涉及地理学、测量学、制图学、摄影测量与遥感、计算机科学等领域1113。GIS是管理和研究空间数据的技术系统、在计算机软硬件支持下,它可以对空间数据按地理坐标或空间位置进行各种处理、对数据(包括地理实体的空间数据和属性数据)的有效管理、研究各种地理实体及相互关系,通过对多种地理要素的综合分析,迅速地获取满足应用需要的信息,并以地图、图形或数据的形式表示处理的结果1215。2.1.2 地理信息系统的结构广义上讲,地理信息系统由硬件设备、计算机软件、数据和用户四大要素组成。硬件设备包括数据存储设备、输入设备(如数字化仪、扫描仪、全数字摄影测量工作站等)、输出设备(如矢量绘图仪、栅格式绘图设备等);数据包括与地理实体相关的各种定量数据和定性数据:用户则是地理信息系统服务的对象1620。狭义的地理信息系统仅指计算机软件,软件部分由五个子系统组成(如图2.l所示)。图2.1 GIS软件的结构组成空间数据与属性数据编辑空间数据输入及其它格式转换数据采集 是解决把现有资料转换为计算即可处理的形式,按统一的参考坐标系统、统一的编码、统一的标准和结构组织到数据库中的处理过程。数据的采集方法包括:现有地图数字化、野外测量数据、航空摄影测量、数字式地理信息处理、属性数据和文字信息的录入等。数据编辑 指对地理信息系统中的空间数据和属性数据进行数据组织和修改等。包括空间数据编辑和属性数据编辑,空间数据编辑就是利用地理信息系统软件工具,对现有的己采集到的空间数据进行处理和再加工的过程。数据存储管理 地理数据不仅具有地理目标的空间位置与形状的三维信息,而且还有空间关系和属性信息;它不但描述地理目标的现状,还可描述地理目标的过去和预测未来,可以具有第四维的时间信息;作为各种专题信息的公共空间载体,数据的一致性和稳定性、权威性要求很高,并与各类专题数据相关,涉及面广,数据共享性强2024。查询与空间分析 对单幅或多幅专题图件进行分析运算和指标量算。地理信息系统的查询与空间分析功能是GIS的主要特色功能,是区别于一般地图制作系统的主要特点。输出与表示 输出与表示是指将GIS内的原始数据或经过系统分析和转换后重新组织的数据以某种用户可以理解的方式提交给用户;表示方式可以是地图、表格、图表、文字、数字、影像等。本文所提到的地理信息系统均是指狭义上的地理信息系统。2.2 地下管线系统2.2.1 地下管线的概念一条管线就是由管线点按一定连接关系构成的线,代表实际管线的走向。管线要实现在计算机内的管理就必然面对如下问题:l 管线的起点、终点位置;l 管线的属性数据(如管径、材料、埋设方式等)的特点及其表示方法;l 管线点的性质。要解决上述问题,就必须对信息系统内的每条管线给出严格的定义,这关系到整个地下管线信息系统的综合查询、网络分析、断面生成等综合功能的实现。地下管线分为地下管道和地下电缆两大类:l 地下管道包括给水、排水、煤气、热力及工业管道;l 地下电缆包括电力及电信电缆。 各大类仍可向下细分,各类管线又设有不同的建筑物、构筑物以及附属设施,具体如表2.1所示。表2.1 地下管线的分类专业建(构)筑物附属设施给水水源井、给水泵站、水塔、清水池、净化池阀门、水表、消火栓、排水阀、排泥阀、预留接头、各种窨井排水排水泵站、沉淀池、化粪池、净化构筑物、暗沟、地面出口检查井、跌水井、水封井、仲洗井、沉泥井、排污装置燃气、热力、工业抽水井、调压房、煤气站、锅炉房、动力站、储气罐、冷气塔浓缩器、排气(排水、排污)装置、凝水缸、各种窨井电力变电所、配电室、电缆检修井、各种塔(杆)杆上变压器、露天地面变压器通讯电缆检修井、控制室、变换站、塔、杆、增音站、差转台交接箱、分线箱、各种窨井这些建、构筑物和附属设施按照其本身的运转特性有机结合,构成城市的生命线工程。以给水管网为例,它是一个由各种管道、水源、泵站、水塔、调节阀(减压阀,止回阀等)、用户等多种设施构成的庞大而复杂的输水管道系统。地下管线GIS的几何数据与属性数据可以用如图2.2所示的方法连接起来。 地下管线 管线的线 管线点 空间数据 属性数据 空间数据 属性数据图2.2 地下管线的层次结构示意图2.2.2 地下管线信息系统与GIS的关系地下管线信息系统的实现方式之一是由城市各职能部门和各有关行业的实体以各自成熟运行的专业(或专题)GIS以一定方式集成为一体。地下管线信息系统是以城市地下管线信息为主要对象的空间信息系统,地下管线信息自身有确定的空间定位,能够自成体系,它是系统空间信息的一种组成部分。地下管线信息系统就是在GIS基础上开发出来的综合性系统,它与GIS系统一样都包含数据采集、数据编辑、数据存储管理、查询与空间分析五个部分3,5,8。 城市地下管线信息系统是城市地理信息系统(UGIS)重要的组成部分,是GIS在城市管理中的现实应用,是对GIS的发展和延伸。2.2.3 地下管线系统的特点从功能上来说,城市地下管线信息系统应能快速提供现势性强、真实准确的地下管线信息,并能实现快速查询、综合分析、辅助设计等操作,从而为城市的发展预测、规划决策等管理提供可靠的依据。同时,它不同于一个单纯的MIS(信息管理系统)、DSS(决策支持系统)、 OA(办公自动化系统)等,它是在某种条件下各系统的综合运用,不仅应用于城市管线的日常管理工作,还可以进行城市规划的辅助设计等管理方面6,8。 根据对城市地下管线信息系统的功能要求,可归纳出该系统的如下特征:(1)有效地实现对空间数据(图形数据)和非空间数据(属性数据)这两种不同性质数据的操作和管理。空间数据表示所描述特征的几何位置,非空间数据是对此位置上特征的属性描述,两者有效的结合才能使“GIS的统计与分析”优势得以充分发挥。(2)所需存储、处理的数据量大,内容繁杂。地下管线信息系统以城市地下管线空间信息为主要操作对象,而任何城市的地下管线,都包括电力、通讯、燃气、热力、上水、雨水、污水、工业及各种其它管道。它们隶属于不同的专业部门管理、建设和维修,但又是一个有机的整体。城市地下管线信息系统对这些空间特征的表示,甚至比常规地形特征描述更为复杂。(3)点线相连,有机结合。各种地下管线不同的井位与地面建立联系,如给水管道通过检修井、各种水表、阀门与地面建立关联。在地下管网GIS中,它们以不同的地理特征表达,以MapObjects平台为例,管线用线(line)表示,井位用点(Point)表示,且以不同的图层来区别;而ARCINFO中管线可用弧表示,井位用结点表示,以不同的编码来区别。不论用何种方式,都须构成点、线结合的整体,形成管网的数据结构。(4)三维立体的表示、实现、分析困难。地下管线信息不但数据量大,内容繁杂,更有位于地下,层层叠加的特点。常常在地下上、下交叉多层,每层并排铺设多根管线,各类型管线形成纵横交错的地下管线立体空间。目前普遍使用的二维GIS技术,是采用地下(或地上架空)数据投影至地表,再加以处理。所有这些系统处理的二维平面图形,都定位于地表,在某一位置上,形成“层”。对于这样的二维系统,可以用公式2-1表达: V=f(x, y) (2-1)Vf(x,y,z) (2-2)其中公式2-1中(x,y)是平面坐标,V是对应于此点的属性数据,对子不同的层,V表示不同的含义。对于三维系统,可扩展为公式2-2,其中(x,y,z)是表示空间真实坐标,它在三维空间连续、自由变化,V是表示该点的属性值,有相对唯一性。但由于三维数据结构的复杂性,三维 GIS技术尚存在许多争议。公式 2-2表达地下管网信息在目前阶段还不成熟,而二维系统在对地下管网信息的描述和空间分析方面受到一定限制2528。(5)决策支持。决策支持在GIS平台基础上建立适合于地下管线信息系统的空间数据分析、规划。2.3 GIS开发模式2.3.1 三种开发模式(1)独立开发指不依赖于任何GIS工具软件,从空间数据的采集、编辑、数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C+、Delphi等,在一定的操作系统平台上编程实现。这种方式的好处在于无须依赖任何商业GIS工具软件,减少了开发成本,另一方面对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比,而且在购买GIS工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价。(2)基于应用系统的开发指基于GIS平台软件上进行应用系统开发,大多数GIS平台软件都提供了可供用户进行二次开发的的脚本语言,如ESRI的ArcView提供了Avenue语言,MapInfo公司的MapInfo Professional提供了MapBasic语言等等。用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的脚本语言,作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发的系统不能脱离GIS平台软件,是解释执行的,效率不高。(3)基于组件的二次开发大多数GIS软件商都提供商业化的GIS组件,如ESRI公司的MapObjects、MapInfo公司的MapX等,这些组件都具备GIS的基本功能,开发人员可以基于通用软件开发工具,尤其是可视化开发工具,如Visual C+ 、Delphi、Visual Basic、Power Builder等为开发平台,进行二次开发。利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects、MapInfo公司的MapX等,在Delphi、Visual C+等编程环境中,直接嵌入这些GIS控件,实现地理信息系统的各种功能。2.3.2 三种模式的比较由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。它的优点是既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且可靠性好、易于移植、便于维护。尤其是使用OCX技术利用GIS功能组件进行集成开发,更能表现出这些优势。集成二次开发方法唯一的缺点是前期投入比较大,需要同时购买GIS工具软件和可视化编程软件,但“工欲善其事,必先利其器”,这种开发方式高效而且实用。目前许多软件公司都开发了很多ActiveX控件,合理选择和运用现成的控件,减少了开发者的编程工作量,使开发者避开某些应用的具体编程,直接调用控件,以实现各种具体应用功能,不仅可以缩短程序开发周期,使编程过程更简洁,用户界面更友好,而且可以使程序更加灵活、简便,系统维护更容易,应用系统间也能更容易地进行无缝集成2931。2.4 组件式GIS2.4.1 组件式GIS的特点 组件式GIS(也称ComGIS)是面向对象技术和组件式软件在GIS软件开发中的应用。认识ComGIS,首先要了解它所依赖的技术基础组件式对象模型和ActiveX控件。 COM(Component object Model)是OLE和ActiveX共同的基础,它建立的就是一个软件模块与另外一个软件模块之间的链接,当这种链接建立之后,模块之间就可以通过被称为“接口”的机制来进行通信3235。 ActiveX是一套基于COM的、可以使软件组件在各种开发语言、开发环境和网络环境中进行互操作而不管组件是用何种语言创建的技术32,33。ActiveX控件是一种可编程、可重用的基于COM的对象,ActiveX 控件通过属性、事件、方法等接口与应用程序进行交互。ComGIS不是一种简单技术在GIS软件开发中的应用,而是一种全新的GIS软件技术体系,不仅仅是GIS,组件式软件技术给整个软件产业带来了一场技术革命。ComGIS基于组件对象平台,具有标准的接口,允许跨语言应用,因而使GIS软件的可配置性、可扩展性和开放性更强,使用更灵活,二次开发更方便。ComGIS不仅可以成功地解决传统GIS在软件开发、应用系统集成和用户学习使用等方面面临的困难,而且有利于降低成本,具有无限扩展性等特点。因此,国际上大多数GIS软件公司把开发ComGIS软件作为重要的发展战略,ComGIS是当今GIS发展的重要趋势。ComGIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用系统。 ComGIS的发展顺应了当今软件技术的发展潮流,极大地方便了应用和系统集成。同传统的GIS相比,这一技术具有以下特点32:(1)提供高效无缝的系统集成方案。ComGIS不依赖于某一种开发语言,可以嵌入通用的开发环境(如:Visual Basic和 Delphi)中实现GIS功能,专业模型则可以使用这些通用开发环境来实现,也可以插入其他的专业性模型分析控件,从而实现高效、无缝的系统集成。(2)无须专门的GIS开发语言。传统GIS往往有独立的二次开发语言,如 Arc/info的AML、 Mapinfo的 MapBasic等。使用二次开发语言,开发往往受限制,而且对用户和应用开发者而言也存在学习上的负担。对ComGIS来说,GIS应用开发者不必掌握额外的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及ComGIS的各个控件的属性、事件和方法,就可以完成应用系统的开发和集成。(3)大众化的GIS。ComGIS的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的可视化工具,推动了GIS的大众化进程。(4)成本低。传统GIS结构的封闭性使不同系统的交互性差,系统的开发难度大。ComGIS提供实现空间数据的采集、储存、管理、分析和模拟等功能,其它非GIS功能可以使用专业厂商提供的专门组件,有利于降低GIS软件开发成本。另外,ComGIS本身又可以划分为多个控件,分别完成不同的功能,用户可根据实际需要选择所需控件,最大限度地降低了用户的经济负担。ComGIS是一种全新的GIS概念,在同MIS耦合、Internet应用、降低开发成本和使用复杂性等方面,具有明显的优势。ComGIS改变了GIS原来过于专业化的开发方式,可以使更多的开发人员掌握GIS开发工具,从而使其成为一个大众化的应用领域3537。尽管ComGIS软件提供的功能还不能完全满足专业应用的需要,但是随着技术的发展,ComGIS最终将取代传统的GIS。GIS的发展经历了几个阶段,组件式GIS是目前较流行的GIS系统开发方法。组件式GIS符合当前软件