• 1.52 MB
  • 2022-04-22 11:22:00 发布

供水管网地理信息系统的设计与实现

  • 54页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'郑州大学硕士学位论文供水管网地理信息系统的设计与实现姓名:吴军胜申请学位级别:硕士专业:计算机软件与理论指导教师:庄雷20031120 供水管网地理信息系统的设计与实现摘要作者在对国内已建成的供水管网地理信息系统的考察中发现,目前国内还没有出现应用十分成功的GIS供水管网管理系统。就供水行业的GIS的开发,从用户分析、系统设计、数据库建设到系统开发,仍没有非常成功的工程范例。本文通过对地理信息系统的概念、发展、应用及相关实现技术的介绍,对供水管网地理信息系统建立过程的研究,探讨了基于Mapinfo地理信息平台的系统设计,详细描述了其中较有特色的分层体系结构。同时,同一般数据库相比,GIS数据库不仅要管理属性数据,还要管理大量的空间数据,以描述空间位置分布及拓扑关系。而且,属性数据和空间数据之间具有不可分割的联系。因此,作者对以四叉树编码为索引的空间数据组织技术进行详细阐述,结合供水管网数据特点,给出供水管网地理信息系统的空间数据库组织策略。作者结合参加郑州市自来水总公司立项的项目“供水管网地理信息系统”的经验体会与实践,以本论文的理论研究成果为基础,开发了一个事故处理子系统,该系统利用最短路径算法对爆管分析功能加以实现。该算法提供了网络拓扑追踪的功能,能返回所有追踪到的点、线的拓扑ID号,从而得到相应的属性数据。总之,随着计算机技术的发展,GIS技术也呈现出了数据标准化、系统集成化、平台网络化的发展趋势,这些发展变化将使GIS技术更加完善,也会给供水管网地理信息系统带来更快、更好的发展。关键词:供水管网;地理信息系统:空间数据;属性数据 堡查笪堕丝望堕垦墨篓塑堡生量壅翌AbstractForalongtime,watersupplynetworkmaterialshavebeenadoptingtheartificialmethodtomanage,thiscausedifficulttokeep,difficulttoshareetc.So,itisquiteurgenttomakeuseofGIStechnologytorealizethedemandformodernizedmanagementofthewatersupplynetwork.TheauthorfindsthathasnotusedverysuccessfulWaterSupplyNetworkGeographicalInformationSystematpresent.SupplyingwaterofthedevelopmentofGIS,stillthereisnotaverysuccessfulprojectexample.Intiffspaper,theauthordesignsthegeneralfTameoftheWaterSupplyNetworkGeographicalInformationSystembased011Mapinfogeographicalinformationplatform,anddescribesindetailmorecharacteristiclayerdsot=}warearchitecture.Meanwhile,theauthorexplainsindetailthespatialdataorganizetechnology,combinedthedatacharacteristicofthewatersupplynetwork,providestheorganizetacticsofthespatialdatabasebaseoftheWaterSupplyNetworkGeographicalInformationSystem,andrealizesthecrashhandlingfunctiononthisbasis.Inaword,withthedevelopmentofGIStechnology,itwillalsobringbetterdevelopmenttotheWaterSupplyNetworkGeographicalInformationSystemKeywords:Watersupplynetwork;Geographicalinformationsystem;SpatialdataAttributedata 供水管网地理信息系统的设计与实现第一章绪论1.1论文研究的工作背景城市地下管线是城市基础设旌的重要组成部分,提供城市高质量高速度运转所必需的物质流、信息流、能量流、价值流,从而保证各种生产经营和社会活动的正常进行。地下管线布设现状的基础资料是城市规划、城市设计、施工建设和城市管理的重要依据,是城市宝贵的建设基础资料,应妥善保管,并充分利用,发挥其应有的价值。目前,我国许多城市地下部分管线的使用时间已相当长,如何科学合理地管理和利用管线信息,是长期以来困扰着各城市管线管理部门的一大难题。具体到城市供水管线管理,随着城市建设的飞速发展,在对部分老管线更新、改造的同时,又铺设了新的管线,使城市的供水管网系统也越来越庞大,许多供水管线的填埋情况复杂、资料不清,有些管线甚至仅凭当时施工工人记忆去寻找,造成诸多设计上的失误和旌工中的事故。而现在国内绝大部分水司对现有的管网资料采用手工绘制图纸的办法来进行管理,这在客观上造成如下突出问题:●难于保存:一些纸张地图很容易污损、撕坏、老化,查询时费时、费力、费人、费事。●难于共享:由于信息没有统一的格式、企业内部没有统一的系统,所有数据没有统一的管理和维护,导致企业内部各个部门之间无法共享地图数据。●图纸与管线实际位置有出入:由于没有利用电子地图及城市坐标,管线走向、埋深、管线改管、设施维修情况等内容不能及时准确地反映在图纸资料上。●难于统计:由于数据资料数量很大,数据格式多样化导致无法进行一致的数据统计。●难于分析:综合查询和分析在日常工作中占有较大比重,例如:人工判断已有管道的供水能力能否满足新建工程的供水需求时,没有现时、直观的资料,就必须花费大量的时间和人力物力。●查找资料效率较低:人工处理地图及相关资料的速度很慢,尤其碰到一些紧急情况,如需要临时关闭某个阀门时,由于没有现时、直观的资料和快速的查询手段,很难快速地确定应该关闭哪些阀门,并判断出相应的影响范围。●在供水公司业务分工中,管网管理部门负责管网信息的维护和修改,设计部门,3. 供水管甄地理信息系统的设计与实现负责管网设计,这样两者的地图信息在统一到地图数据库中时必须解决数据一致性问题。●无法查到地下其它专业管线与供水管网的位置情况:Fh于没有其它专业管线的资料,在供水管网施工与维修时无法方便、准确得知地下详细情况,特别是工作点附近是否有电线、电信光纤等线路。而当地理信息系统建成后,可将其它管线做为单独显示的图层,方便位置查阅,甚至可通过立体图显示相对位置情况。以郑州市供水系统为例,其DNl00以上管线总长近1200公里,供水面积达130余平方公里,管线上各种属性设备达5万多个,户外支干线破损事故处理每年1400多次,凭借图纸、经验和记忆来手工管理、查询和统计如此纷繁的数据资料,是非常困难的。许多城市由于自来水管道破损造成的水泄漏损失己达其输送量的四分之一,对事故不能及时发现,发现后难以迅速制定和实施应急方案是其中的重要原因。由此可见采用人工方法,借助图纸、各类卡片来管理城市供水管网系统,已越来越难以满足实际需要。所以,利用先进的管理方式实现对供水管网现代化管理的需求是相当迫切的。业内众多有识之士已达成共识:使用计算机,借助GIS(GeographicInformationSystem)技术来进行供水管网管理、管网设计及事故处理等已是势在必行。1.2Ills是现阶段管线管理信息化必不可少的技术基础在构建管线信息系统时,要考虑的一个重要问题是技术方案。从国内外的既往的实践来看,用计算机实现管线管理曾经或正在采取的技术方案主要有四种。[1】第一种方案是走管理信息系统(haS)的路子,运用关系数据库管理系统(DBMS),对现有管线的坐标数据和卡片信息实施整理录入,放置在数据库系统的一个或多个数据表中,在DBMS上开发常规的属性数据管理功能,如录入、修改、删除、查询等。这种方式可以有效地管理现有管道属性数据和各类设备的卡片资料,便于查询和分类,但这样的系统完全不管理图形,无法解决各类图件的维护问题,,更谈不上基于空问数据的检索和分析。第二种方案是MIS结合图形系统。仍使用MIS来存放和处理属性数据,对设计图、竣工图、管线全图、大样图等图件,则通过另外的图形系统(AutoCAD、CorelDraw等)来录入,以文件的形式单独存储。在这种方案中,属性数据和图形数据是分离的,彼此不相关联.虽然对图件维护提供了手段,但图形数据仅仅停留在复制图件的水平上,,4. 供水管礴地理信息系统的设计与实现图件本身所蕴涵的丰富信息不能被系统自动识别、提取和利用。本质上看,这种方案只是把MIS的思路简单扩展到了图形数据上。第三种方案是采用数据库和图形挂接的方法,或采用桌面图形信息系统,它是对传统MIS思路的一次真正意义上的超越。基本思路是:在属性数据表中扩展字段来存储对应图形的图元号或数据索引,将图形与对应的属性记录关联起来,从而实现图数互查。在系统的具体实现上,可以在DBMS和图形系统上同时作二次开发,自行构建;也可以使用现成的桌面图形信息系统(如AutoCADMap等)作为平台来开发。由于实现了图形和属性的关联,使得单个图元具有了”意义“,为基于空间数据的检索分析奠定了基础。但是,这样的系统存在以下缺陷:●图形和属性的松散耦合导致关联关系的维护比较复杂。●虽然单个图元的属性得到了管理,但图元间的相互关系(称为拓扑信息,如管线与管线的贯穿、阀门三通等管点与管线间的连接关系等等)无法有效管理,从而使得很多重要豹深层的分析(如多边形叠置、路径分析、关阀分析等)难以完成,即使能实现,效率也极低。●对海量数据的一体化管理缺乏手段。以地形图为例,一个城市的1:500的地形图有数千幅之多,如果将全部图幅合并在一个图形文件中,文件的字节数将是惊人的,对这样的巨型文件实施显示、查询。几乎是不可能的,桌面图形信息系统一般只能以单一图幅作为管理单位,这又使图形数据的整体性遭到破坏,图幅接边困难,跨图幅的实体被人为地切断,妨碍了空间分析和检索。O--维数据处理能力低下。管线系统中通常要处理高程(如计算自由水头)、压力数据等,这些数据的处理要依据数字地形模型(D1M).而这一技术方案对此种需求不能很好地满足。第四种方案则是采用地理信息系统来统一管理图形、属性、拓扑信息。管线信息和与管线相关的地形、环境信息从根本上讲是地理信息。地理信息除了具有信息的一般特性,如共享性、客观性外,还具有区域分布性(具有空间定位的特点)、数据量巨大、信息载体多样等特殊性质,这就决定了传统数据库管理的观念与方法不能有效地管理和分析纷繁复杂的地理信息,而GIS技术可以将地理信息相关的空间位置、属性特征及时域特征进行统一的管理,按一种新的方式组织和使用地理信息,以便更有效地分析和生产新的地理信息;同时地理信息系统的应用也改变了地理信息分发和交换的方一≮, 供水管网地理信息系统的设计与实现式。作为新的通用技术,GIS并非仅仅在所管理的数据内容方面与众不同,在理论和方法上也有很多特色,相应地许多新的重要功能也是传统方法无法提供的。例如,地理信息系统特别重视对海量空间数据的有效管理,特别重视对拓扑结构的管理和拓扑关系的自动生成,特别强调与空间相关的查询统计、空间分析(多边形叠置、缓冲分析、网络分析等)和三维模型分析,提供多种空间数据录入和输出手段,等等。而这些功能正是一个完备的管网信息系统所应具备的。通过对以上几种管线信息系统技术方案的分析,我们可以看到,为了真正实现对供水管线空间数据、属性数据、拓扑关系的一体化管理,充分利用现有管线及地形数据,必须利用GIS技术。1.3论文课题来源本课题来源于郑州市Ih来水总公司立项的项目:供水管网地理信息系统。郑州市自来水总公司现有管网现状图700余张,均为手工绘制纸质图纸,图纸规格为500mmX500mm,比例为1:1000,采用四角坐标。背景地形图为1986年购自郑州市规划局,随着城市建设的飞速发展,该版本背景地形图与实际对比相差较大。供水管网定位采用参照地物地貌相对位置定位。由于郑州市自来水总公司管网管理有管网处管理,营业处、工程公司等多个部门应用。且各部门之间地理位置相对分散,要求该系统建立在网络构架之上。结合郑州市自来水总公司具体实际情况情况,课题组选用Mapinfo公司产品作为地理信息平台,对该系统进行了比较明确的设想,拟分二期实施。一期设想:实现在管网处内部使用的目标。●购置最新版本电子地图:●根据管网现状图(纸质)资料,采用扫描原图,与电子地形图坐标配准后,将原有管网资料利用系统提供的绘图工具绘制在电子地形图上,完成纸质管网图的数字化;■实现供水管网地理信息系统的基本功能(查询、统计、管理、专题图制作、日常工作报表、爆管分析、关阎搜索等功能):●⋯⋯⋯⋯⋯。二期设想:实现在郑州市自来水总公司相关部门的使用及用户的查询。.6. 供水管网地理信息系统的设计与实现笔者作为课题组成员,全程参与了该系统的考察、信息平台选择、需求分析、系统设计等前期工作。现该项目已进行到管网图纸数字化阶段。1.4论文研究的技术线路本系统将在目前强大的MAPINFO平台功能的基础上深入调查和研究系统的具体需求、业务流程,针对自来水公司的空间数据动态更新及存储管理特点,进行系统总体设计、资料收集、编码和数据库结构设计等工作,采用VB作为主要设计语言,开发一个适用于数据管理工作的GIS应用系统,为自来水公司管网信息化管理提供一个强有力的、实用的工具。【2】根据自来水公司现有的现状管网图、电子地图等数据资料,通过电子地图数据转换和现状管网图纸资料的扫描矢量化及管网元素的属性数据录入等操作,建立起系统的空间数据库和属性数据库,将自来水公司供水管网统一管理起来,实现信息资源共享,提高管网管理效率。具体开发流程将严格按照软件开发规范和流程进行。1.5论文的组织本文拟从五个部分来进行研究。其中第三部分和第四部分是本文的重点。●第一部分主要介绍本文的工作背景及论文组织。●第二部分简要介绍地理信息系统的一些基本知识和概念。●第三部分主要介绍供水管网地理信息系统的设计。主要包括以下内容:①系统需求分析概要,以简要说明需求分析中应考虑的基本内容。②系统总体结构设计,其中包括了一个完整系统(包括硬件和软件)应具有的组成成分和组织结构。③软件体系结构设计,详细描述本项目的分层体系结构,说明各层的重要作用和相互关系。④数据库详细设计。●第四部分对系统空间数据组织和爆管分析功能实现作以阐述。●第五部分主要对全文做以简要总结。.7一 供水管网地理信息系统的设计与实现第二章GlS及相关技术综述GIS(GeographicInformationSystem,地理信息系统)技术作为一种空间信息处理与分析技术,是在信息空间中构建与现实地理空间相对应的虚拟地理信息空间(数字地球、数字城市),并在管理与决策中应用的核心技术,具有广泛的应用前景。近年来,GIS技术应用已从主要为政府部门提供管理和决策服务,逐步拓展到为企业和社会提供服务。GIS技术融入信息技术的主流并进入千家万户已成为一个不可逆转的潮流。[3]2.1GIS的定义地理信息(GeographicInformation)是指与空间地理分布有关的信息,它表示地表物体和环境固有的数量、质量、分布特征以及它们之间联系和规律的数字、文字、图形、图象等的总称。【4】地理信息属于空间信息。它与一般的信息的区别在于它具有区域性、多维性和动态性。区域性是指物体的定位特征,且这种定位特征是通过公共的地理基础来体现。例如,用经纬网或公共网坐标来识别空间位置,并指定特定的区域。所谓多维性是指在一个坐标位置上具有多个专题和属性信息。例如,在一个地面点上,可取得高程,交通等多种信息。动态性是指地理信息的动态变化特征及时序特性,从而使地理信息常以时间尺度划分成不同时间段信息。有地理信息的以上特性可以看出GIS是--1"7多技术交叉的空间信息科学,它依赖于计算机科学、地理学、测量学、地图学、统计学等基础性学科,又取决于计算机硬件与软件技术、航天技术、遥感技术的进步与成就。要给出GIS的准确定义是困难的,因为GIS涉及面太广,站在不同角度给出的定义就不同。通常可以从四种不同的途径来定义GIS。(1)面向功能的定义GIS是采集、存储、检查、操作、分析和显示地理数据的系统。(2)面向应用的定义这种方式根据GIS应用领域的不同,将GIS分为各类应用系统。例如土地信息系统、城市信息系统、规划信息系统、空间决策支持系统等。(3)工具箱方式定义一8一 供水管网地理信息系统的设计与实现GIS是一组用来采集、存储、查询、变换和显示空间数据的工具的集合。这种定义强调GIS提供的用于处理地理数据的工具。(4)基于数据库的定义GIS是这样一类数据库系统,它的数据有空间次序,并提供一个对数据进行操作的操作集合,用来回答对数据库中空间实体的查询。虽然GIS是一门多学科综合的边缘学科,但其核心是计算机科学,基本技术是数据库、图形学和空间分析。因此,可以这样定义:GIS是在计算机硬件和软件的支持下,运用计算机科学和信息科学的理论,科学管理和综合分析具有空间内涵的地理数据,以提供规划、管理、决策和研究所需的空间信息的系统。2.2发展历史地理信息系统的存在与发展已历经四十余年。用户的需要、技术的进步、应用方法论的提高,以及有关组织机构的建立都深深地影响着地理信息系统的发展。综观GIS的历史,大致可以划分为如下四个阶段:060年代为地理信息系统初创阶段。这一阶段以加拿大第一个地理信息系统(CGIS)建成为标志。该阶段的GIS开发以使用基础计算机语言为特征,即直接在计算机硬件平台上进行开发。070年代至80年代中期,为地理信息系统的巩固发展期。这一时期,随着计算机技术迅速发展,专业化人才不断增加,政府的需求加大,出现了专业化的GIS软件平台。美国环境系统研究所(Es耐)便成立于1969年。080年代中期至90年代初期,这一阶段是GIS技术在全世界范围迅速普及和发展的时期。专业平台开发工作并入软件开发产业,软件平台完全市场化,咨询公司、软件制造商大量涌现,并提供系列专业性服务,商业化的实用系统不断进入市场。090年代初期至现在为地理信息系统的用户时代,随着客户机/服务器操作系统平台的出现,分布式GIS诞生,近几年分布式系统又从局域网发展到因特网(Intemet),使GIS应用迅速普及,不仅成为现代企业和各级政府进行科学经营管理的重要手段,而且广泛应用于交通、电信、电力、市政等社会生活的方方面面,地理信息系统已经发展成为现代社会最基本的服务系统。我国地理信息系统的研究工作自80年代处开始,经过二十多年的发展,取得了~.o. 供水管网地理信息系统的设计与实现系列的研究和应用成果,并形成了一定的产业规模,已经具备了走向产业化的条件。2.3Gls的分类GIS应用面广,技术潜力大,且发展极为迅速,因此很难用一个固定的方法分类。通常可以从下面几种角度来分类。以研究对象的性质和内容分类可分为综合性GIS和专题性GIS。以研究对象的分布范围分类可分为全球性GIS和区域性GIS。以GIS应用功能分类可分为工具型GIS和应用型GIS。以GIS的数据结构类型分类可分为矢量数据结构、栅格数据结构和混合数据结构GIS。[5】工具型的GIS是指为GIS的使用者提供一种技术支持,使用户能借助GIS工具中的功能直接完成应用任务,或者利用工具性GIS加上专题模型完成应用任务。目前国内外已经有很多工具型的GIS。如ARC椰O、MAPn师O、SuperMap、MapGIS等。应用型GIS的开发分两类,一类是借助工具型GIS开发的,另一类是为某专业部门应用自行开发的,这种系统针对性明确,专业性强,系统开销小,适于在本专业中推广应用。矢量数据结构GIS是以X,Y坐标对来表示空间数据的点、线和面等图形的GIS。栅格数据结构的GIS指以二维数组来表示空间各象元特征的GIS。混合数据结构的GIS是由于矢量数据结构和栅格数据结构的特点不同,使用范围不同,相互之间不能相互取代两产生了矢量数据结构和栅格数据结构并存的G/S。2.4GIs的基本技术GIS软件一般由五部分组成,即空间数据输入、空间数据库组织、空间数据处理分析、空间数据输出管理及应用模型组成。各部分之间的关系见图2.1,每一部分都有相应的实现技术。【6】(1)空间数据输入技术空间数据输入的目的是将GIS中各种数据源输入,并转换成计算机所要求的数据格式进行存储。随着数据源的种类不同,输入设备以及系统选用的数据格式不同,就需采用不同的技术。大多数的空间数据是从纸制的地图输入的,其常用的方法是数字化和扫描。数字化的效率低且代价高。扫描输入得到的是栅格数据,由于栅格数据不能反映点、线、.10. 供水管网地理信息系统的设计与实现面之间的拓扑关系,需将扫描得到的栅格数据转换成易于反映拓扑关系的矢量数据进行存储。图2.1GIS主要模块遥感数据是GIS的另一个重要数据源,遥感数据输入到GIS中较为容易,但通过对遥感数据的解释来采集和编译地理信息则是一件较为困难的事,因此,在GIS中融入了图象处理技术。【7】(2)空间数据库的组织技术同一般数据库相比,GIS数据库不仅要管理属性数据,还要管理大量的图形数据,以描述空间位置分布及拓扑关系。而且,属性数据和图形数据之问具有不可分割的联系。GIS中数据库的数据量大,涉及内容多,这些特点决定了它既要采用关系型数据库管理系统来管理数据,又要采用一些特殊的技术和方法来解决通常数据库没法管理的空间数据问题。栅格数据结构简单,便于空间分析和易于与遥感数据结合,但其数据量大、图形质量差、不易表示拓扑关系。矢量数据结构的图形显示质量好、数据结构紧凑、易于表示拓扑关系,但其数据结构复杂、信息复合难度大。因此,为了充分利用这两种数据结构的优点,空间数据库一般采用混合型的数据结构。空间数据在垂直方向上按图层进行组织,在水平方向上按图幅进行组织。(3)空间数据的处理与分析GIS提供一些基本和常用的空间数据处理和分析功能,其功能的强弱直接影响到.11— 供水管网地理信息系统的设计与实现GIS的应用范围。因此,它是体现GIS功能强弱的关键。空间数据的处理提供了对空间数据的有效管理。它借鉴了CAD和关系数据库中的成熟技术,对地图上的图形数据和属性数据进行增加、删除和修改等操作。其中的关键在于应将图形数据和属性数据紧密联系,保持其一致性。另外,为了便于空间分析和提高效率,空间数据库中还应有反映拓扑关系的数据。这种拓扑数据可以从图形数据中提取,也可以根据需要单列出来形成一种独立的数据结构。空间数据的分析是指用户根据需要从现有的空间数据中得出隐含的重要结论,这对于许多应用领域是至关重要的。由于空间数据一般包含两种数据结构:栅格数据结构和矢量数据结构。相应的数据分析也分为两大类:栅格空间数据分析和矢量空间数据分析。矢量空间数据分析包括:面运算、网络分析、缓冲区分析等。栅格数据空间分析包括:区域操作、统计分析和记录分析等。这些分析都有相应的算法实现。(4)应用模型由于GIS应用越来越广,常规系统提供的处理和分析功能很难满足所有用户的要求。因此,一个优秀的GIS应当为用户提供二次开发手段,以便用户开发新的空间分析模块。为了提供这样的功能可以构造一个二次开发环境和二次开发语言,让用户利用该语言通过该环境去调用GIS提供的功能,从而构建新的应用模型。如mapinfo提供的mapbasic二次开发环境。但这样实现的模型环境依赖性大,缺乏灵活性。还可以利用activx技术,将GIS实现的功能打包进控件中。充分利用面向对象技术,使构造的新的应用模型更加灵活,适应性更强。如Mapinfo公司的MapX控件和ESIR的Mapobject控件。另外,随着互联网技术的发展,分布式计算机技术不断完善。[8】还可以将各领域的GIS的应用制成组件,再利用分布式的环境将不同的组件组装成新的应用模型。利用组件技术不仅可以实现跨平台,还可使系统的互操作性、可扩充性和可复用性得到提高。可利用Microsoft的COM/DCOM、OMG组织的CORBA和SUN的JAVARMI实现。(5)空间数据输出管理GIS中输出的数据种类很多,可能是输出地图、表格、文字、图象等。输出的介质.12. 供水管网地理信息系统的设计与实现可以是纸、光盘、磁盘、显示终端等。随着输出数据类型的不同和输出介质的不同需配备不同软件,最终向用户报告分析结果。其中为了保证高精度和高质量的输出需要解决:数据校正、图形修饰、误差消除和坐标变换等问题。【9]2.5GIs与其他相关技术的区别GIS与CAD系统的区别:CAD主要是利用计算机代替或辅助工程设计人员进行各种设计。它处理的对象是规则的几何图形及其组合。因此,CAD的图形处理功能极强,属性功能很弱,其中的拓扑关系较为简单。GIS的处理对象往往是自然目标,因此图形处理难度大,属性功能十分重要,图形和属性之间联系紧密,常具有丰富的属性库和符号库,它强调空间数据的分析功能,且数据源及输入数据的方法种类繁多,数据结构复杂。『10]GIS与数字地图制图的区别:数字地图是模拟地图在计算机中的表示形式。它主要考虑地形、地貌和其他专题要素在图上的表示,并以数字形式将地图存储、管理和在绘图仪上输出。数字地图系统强调的是图的表示,通常只对图形数据进行管理,而缺少对非图形数据的管理能力。GIS是按数据库管理系统,将图形数据和属性数据统一进行存储、处理和分析。它强调的是空间数据的结构和分析,因此,它不仅有图形数据库,还有非图形数据库,并把两者结合起来进行深层次分析。GIS与事务处理系统的区别:GIS处理的数据是空间数据,它不仅管理反映空间属性的一般的数字、文字数据,还要管理反映地理分布特征及其之间拓扑关系的空间位置数据,而且要把两者有机结合起来进行协调管理和分析。而事务数据处理系统的功能着重查询检索,没有深层次的分析功能。此外,GIS对计算机硬件和软件资源的要求都比一般事务处理系统高。2.6G18的发展动态GIS技术的发展始终同计算机信息技术的发展息息相关。随着计算机技术领域中面向对象技术、分布式计算技术、网络技术、软件集成技术和数据库技术的发展,GIS技术也呈现出了数据标准化、系统集成化、平台网络化的发展趋势:[1U(1)开放GIS的研究。数据标准化意味着支持GIS工作的数据结构和数据交换格式的标准化,提供GIS工作的基础数据接口的标准化。开放GIS研究的目的是保证用户-13. 供水管网地理信息系统的设计与实现可以存取广泛分布在网络上的GIS数据和处理单元,而不考虑数据和处理的源地和规格。一个由用户和开发商组成的联盟(OGIS)已经成立并开始为GIS的互操作与数据共享制定标准。(2)关系型数据库(RDBMS)和GIS的结合。利用RDBMS存储GIS数据,并通过RDBMS存取和操纵这些数据。新的RDBMS也将支持新的对象一关系模型(ORACLE),从而可以更好地支持空间数据类型。(3)o:s组件(Component)的开发。[12]系统集成化意味着GIS的软件部件的对象化。可实现互操作和自我管理的组件,使数据不仅能在应用系统内流动,还能在系统间流动。原来的巨型GIS系统现在正迅速走向组件化,分解为基本的GIS组件。标准的包装技术(Wrapper)已经出现,从而使GIS应用的开发者可以利用这些元件快速地组装GIS应用软件。(4)WebGIS的开发。【13]平台网络化意味着GIS的工作平台将逐步从单机转入网络工作环境。互联网,尤其是万维网(WWW),已经成为GIS的新的操作平台。GIS在互联网上的应用目前主要集中在空间数据的发放、地址的查询和地图的显示,并开始出现更为复杂的GIS应用。将来会允许对专家功能系统的存取。现在GIS产品已经从单机发展到基于计算机网络环境的客户机胡艮务器或浏览器明艮务器模式,这是计算机科学与技术发展的结果。单机的GIS系统,数据只能存储在单一的机器上,由一人操作,而管线相关的数据资料极为庞大,依靠单个人员录入和维护是难以承担的,而且也与管线管理的工作分工和业务流程矛盾,不利于数据动态更新和共享。网络版GIS系统允许多人并行编辑同一数据,利用操作系统和数据库提供的权限控制机制和互斥功能来维护数据安全和统~,允许多个部门依照业务流程动态维护管网数据,保证数据的现势性,更重要的是,服务器上的管线数据可供所有需要的部门或客户随时查询检索,便于及时处理事故、组织施工,强化社会服务职能,使管线数据的作用得到最大限度的发挥。因此管线单位,特别是大中城市的管线管理单位,大都选用网络版GIS系统。.14. 供水管网地理信息系统的设计与实现第三章供水管网地理信息系统的设计a.1系统需求分析3.1.1项目需求概述作为供水企业的一名职工,在平日的工作中发现,现代城市供水管网已经构成了规模巨大而复杂的管线网络系统,每个城市都累积了一大批供水管网设计、施工、竣工的图件和表册资料。长期以来,各城市的供水部门都沿用人工方式来管理这些资料。随着时间的推移,这种人工管理模式很难满足实际需要。为提高供水管线的管理水平,供水管理部门希望建立供水管网地理信息系统。要求系统能存储全部管网图形和属性信息,并可随时更新,能方便对管网信息进行双向查询,能对自来水爆管事故提出应急方案与工程意见,并探索利用系统对自来水漏水区进行预测,对水质污染源的查询提供线索,在此基础上逐步实现水压平差与自来水优化调度功能。同时,随着社会信息化进程的加快,各企业内部网之间的互连,以及与Intemet的互连和信息共享都成为发展的必然趋势。因此,供水管网地理信息系统的建立应力求达到用户受益、企业受益、职工受益、社会受益的目标,成为企业管理的基础组成部分。所以该项目在需求上具有以下特点:【14】【15】●信息种类较多,处理流程复杂。为用户提供水质、水压、停水区域及时问和为企业决策者、技术人员、普通职工提供管网基础资料及管网运行状况等信息,是本系统最基本也是最重要的任务。因此管网信息必须全面准确,管网信息的变化能及时反映到各相关部门或用户。●具有较好的先进性。系统设计尽量采用成熟的先进技术,网络满足多媒体通信要求,大型商业数据库及软件平台支撑工具采用较好的主流产品。系统结构设计必须合理、技术先进,应采用当今流行的科学体系结构,数据处理速度快,并采用冗余技术,具有数据安全防护功能。●使用方便,易学易用。该系统需要很多人轮班并行操作使用,或者一人操作多个子系统。同时,考虑到供水企业现有人员和维护人员的计算机素质还不算太高,因此本系统应具有友好的人机界面,操作简单灵活,各子系统的用户界面在外观和操作方式上必须协调一致。-15. 供水管网地理信息系统的设计与实现●具有较高的可靠性和可用性。系统应能长时间持续无故障运行,其核心设备网络及数据库服务器应配备备份服务器,数据库数据必须定期复制和备份,当服务器出现意外故障时,整个系统应能自动切换到备份服务器上继续工作,当网络出现故障时,该系统能以本地方式运行,不会因局部故障而引起整个系统瘫痪。●系统易于管理维护。应具有简单方便的系统管理工具,包括:用户权限管理;系统运行参数管理:运行日志管理;集成的网络管理和系统监控、调试、诊断工具等。●良好的系统伸缩性。由于各企业的条件和经费情况不同,其选择的功能模块和软、硬件配置都不相同。因此,要求系统能方便地通过裁剪模块、替换软件接口和配置系统参数来实现系统的装配和升级。●良好的性能价格比。由于供水企业的资金有限,因此在充分满足系统应用功能需求、系统性能和保证系统安全可靠的前提下,必须选用价廉物美、经济实用的系统和产品,提高性能价格比,这样对软件的可靠性和健壮性也就提出了更高的要求。●系统应具有良好的开放性,外部接口清晰标准。该系统可以连接很多台PC工作站,多种硬件设备,还可能同供水企业内外的其它网络互连,这就要求系统具有良好的开放性,才能实现网络互连以及与其它设备的互连。3.1.2功能需求描述供水管网地理信息系统应具有以下主要功能:●地形图的存储管理和漫游,地形图的局部修改和更新。●供水系统各组成部分的基础数据存储管理。●各种查询检索功能。●属性统计功能。●紧急事故处理和抢修工程通知功能。●一般的管道工程辅助设计功能。[16]●管道维护管理功能。●管网运行调度功能。●多种输出功能等。3.1。3性能需求描述-16一 供水管网地理信息系统的设计与实现●存储容量:电子地图的引入使系统所管理的数据量大幅度增加,随着系统的不断完善,数量级将很快达到GB级。●操作响应时间:本地操作响应时间一般应小于1秒;网络命令或消息响应时间一般应小于5秒。●网络带宽:100MB以太网可满足属性、空间信息和网络操作命令的传输要求。3.1.4运行需求1.用户界面一般供水企业的操作人员,多数是未使用过计算机或对计算机不太熟悉的用户,因此要求更友好、更简单和更容易学习的用户界面。为了更好地确定用户的需求,可以使用大量的快速原型,通过用户试用原型获得较准确的用户需求。2.运行环境●网络服务器:CPU:主频800Hz以上内存:至少128M硬盘:至少40G网卡:10/100M自适应快速以太网卡●PC工作站:CPU:PIII以上内存:至少64M硬盘:至少20G网卡:10/100M自适应快速以太网卡3.外部接口●用户接口。设计良好的人机交互界面,对于用户的各种操作(包括错误操作),系统均能给以相应的提示,用户依系统提示,通过简单的鼠标、键盘操作就可以驱动程序运行。●软件接口。通过组件对象模型(COM)接口,用Ⅶ开发各功能部件,对Mapinfo进行客户化。●其它接口。提供与其它数据格式的转换接口。.17. 供水管网地理信息系统的设计与实现4.故障处理●对一般性错误给出错误提示;●将各种错误和异常情况记录在日志文件内,以备事后检查分析故障原因:●当网络服务器出现故障时,可自动或手动完成备份服务器切换;●当整个网络故障时,可启动本地工作方式。3.2系统总体结构设计3.2.1系统的网络结构随着Intemet的快速发展,Web服务正逐步进入供水管理部门的业务范围,基于供水管网管理业务发展需要和系统的前瞻性的设计思路,系统采用通用的Browser/WebServer/GISServer多层结构(如图3.1所示),由分布在各客户端的浏览器、Web服务器和GIS服务器组成。这样,可以通过供水公司的内部局域网,实现集中办公、统一管理,同时城市居民可以通过Intemet查询停水信息。[17][18】.1马咖洲冯凰凰是弋/弋蓝画画◇茴绘图佚拥虮扭}6;f史数靴仪图3.1网络结构示意图一18. 供水管网地理信息系统的设计与实现3.2.2系统主要硬件组成●网络服务器:建议中心服务器选用专用服务器机型(如CompaqProLiant6000服务器)。另外考虑到数据的安全性和可靠性,应采用双电源、双硬盘、硬件智能容错控制卡,并且每个服务器配置一个备份服务器。●网络设备:若干台10/100M自适应以太网网络交换机或HUB;若干块10/100M自适应快速以太网网卡;若干KM网线。●微机:主频PHI以上;内存64MB以上;硬盘10GB。O-V程扫描仪:如CONTEX(A0幅面)800dpi。●喷墨绘图仪:如HP750等。●数字化仪:A0幅面。●打印机:针式、喷墨或激光打印机若干台(用于打印表格、抢修通知单等)。3.2.3系统主要软件组成●操作系统:PC工作站操作系统为Windows98或Windows2000Professional;网络操作系统为WindowsNTServer或W"mdows2000Server。●软件平台:Mapinfo网络平台。●数据库软件:关系数据库管理系统RDMBS(服务器端为SQLServer)。●辅助工具:AutoCAD。●开发工具:VisualStudio6.0,其中VisualBasic6.0中文版为本系统的主要开发工具。3.2.4系统的安全策略数据安全是一个GIS应用系统的重要组成部分,本系统充分考虑了安全因素,用户在登录本系统时,必须输入用户名和相应的密码,系统经验证正确后,方能进入。系统管理员可以对不同的用户设置不同的权限,以确保系统和数据的安全。3.3软件体系结构设计3.3.1关于面向对象技术.19. 供水管网地理信息系统的设计与实现1、模块化技术’要编写出整个高质量的程序或软件应用系统必须应用面向对象技术,面向对象的概念早在1966年就在仿真语言Simula67中出现了,但直到模块化理论在70年代和80年代经过稳步发展而成熟后,对象才成为模块化理论合乎逻辑的发展结果。因此,想要很好地理解和应用面向对象技术,就必须深入地研究模块化技术。[19】Yourdon和Constantine给出了模块的一个定义:“一个模块是一个由边界元素限定词限定的相邻的程序语句序列,而且有一个总体的标识符“,例如一般的函数和过程就是模块,对象以及对象内的方法也是模块。模块具有两个重要的基本性质:模块内聚陛和模块耦合。模块内聚性是指一个模块内相互作用的程度,Myers将内聚性划分为7层:1)偶然内聚性2)逻辑内聚性3)暂时内聚性4)过程内聚性5)通信内聚性6)信息内聚性7)函数内聚性函数内聚性对于结构化范型来说是最理想的,而信息内聚性对于面向对象的范型来说是最理想的,因此具有这两种内聚性的模块都是较理想的模块。耦合是指两个模块之间相互作用的程度。它也可以分为不同的级别:1)内容耦合2)共用耦合3)控制耦合4)特征耦合5)数据耦合数据耦合是模块的一种理想目标。本节仅简要说明模块的基本性质,与模块化有关的其它问题此处不在详述。总之,我们应该尽量设计高内聚性和低耦合度的模块。2、对象.20. 供水管网地理信息系统的设计与实现对象是面向对象开发模式的基本成分。每个对象可用它的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作通常又称为方法,它描述了对象执行的功能。对象之间可通过消息进行交互。类是一组具有相同数据结构和相同操作的对象的集合。类的定义同样包括一组数据属性和在数据上的合法操作。类定义可以视为一个具有类似特性和共同行为的对象的模板,可用来产生对象。类具有继承、多态性和动态联编等性质,使用类的优点在于采用了抽象数据类型,包括数据抽象和过程抽象,而类的继承提供了更高层次的数据抽象。将数据和数据上的操作封装在同一个包中,可获得一系列极重要的好处:数据和过程的内部实现细节对外界隐蔽(信息隐蔽),这降低了对象之间的耦合度,减少当变化发生时副作用的传播;数据结果和对它们的操作被合并在单个名字的的实体中,有利于构件复用;简化被封装对象间的接口。发送消息的对象不需要关心接收对象的内部数据结构,因此接口被简化,系统耦合度被降低。作为~种模块,关于高内聚性和低耦合性模块的讨论i司样适合于对象。由于模块的内聚性是指模块所执行的动作在功能上的相关程度,而类在这点上没有任何不同,也就是说,设计糟糕的类同样可能具有较低的内聚性。对于耦合,在没有继承的情况下,类可以具有各种级别的耦合度。例如:一个类的属性被定义为public,就会引入公共耦合。而继承则会引入另一类耦合,在建立类的继承层次时,我们的目标是使提取元素的通用性达到最高,因此通常希望这种耦合的层次越高越好。同时,类和子类一般是现实世界的模型,其继承关系和偶合程度往往是由现实世界决定的,而不是由设计决定的。总之,对象技术为我们更好地实现模块化提供了很好的机制,但并不能完全避免低内聚性和高耦合度的对象的产生。因此,笔者在分层体系结构(参见3.3节)的设计中,尽量仔细地设计了各层次的功能,并通过数据结构的封装,利用面向对象的技术获得了较高的内聚性和较低的耦合度。.3、Ⅶ环境下的对象编程技术●用类进行编程VB实现了尽可能多的面向对象编程方法的模块化功能,提供了基本的面向对象的编程方法,例如类模块的属性和方法的定义。由于“纯”面向对象编程要求编程结构必须支持封装、继承和多态性,而VB目前仅实现了对象封装,支持接口继承却不支持.2j一 供水管网地理信息系统的设计与实现对象的实现继承,每个新的类必须从头设计和实现。因此,许多人常称VB为基于对象的编程语言。虽然如此,VB确实以最简单的方式实现了最重要的对象编程特性。另外,vB的事件声明允许类对象通知客户程序在对象中将发生什么事情。VB的类模块中内置了两个事件:Initilize(初始化)事件和Terminate(终止)事件,这两个事件完成对象在创建时的初始化和销毁时的必要工作。VB的这种事件驱动特性,极大地提高了应用程序的灵活性,简化了应用程序的结构。●用VisualBasic开发COMDLL在VB中内置了对cOM和DCOM的支持,VB自动生成一个类标识符(CLSID⋯classidentifier),CLSID是一个GUID,客户应用程序利用它来创建类。VB在创建COM对象时,自动完成一系列的工作来支持COM或DCOM,包括:自动创建COM接口来展示该类模块的属性和方法,VB还隐藏了如接口标识符(IID⋯interfaceidentifier)等细节来简化客户应用程序的设计,使程序员不必自己处理这些琐碎的细节问题;另外还自动创建类型库来支持MTS,这样MTS可以利用类型库为COMDLL中的方法确定类、接口和参数类型,以方便MTS管理该组件。VB中还实现了一些方便版本兼容控制以及COMDLL注册的工具。【20]3.3.2子系统和功能模块划分像大多数地理信息系统一样,本系统由若干子系统组成,每个子系统又可进一步细化为若干功能模块(如图3.2所示)。在功能上,这些模块是相互独立的,但其代码不一定是单独的代码模块,它可能包括对其它模块函数或过程的调用。因此,我们实际上是在逻辑上将功能独立的程序划分为逻辑模块,每个逻辑模块在功能上是独立的,不受其它逻辑模块变化的影响,这种独立性是影响程序可维护性的关键因素。本系统主要包括以下子系统:●管网输入编辑子系统,管网输入编辑子系统为用户提供方便、快捷的数据网络输入手段,包括地形、管网的空间数据和属性数据的输入、编辑,构造网络拓扑关系,建立与管网元素相关的属性数据库和提供供水管网的图形属性编辑工具。(1)属性数据输入①按照供水管网各组成成分进行属性输入;.22— 供水管网地理信息系统的设计与实现图3.2供水管网地理信息系统的子系统和模块结构图一23. 供水管网地理信息系统的设计与实现②提供可视化的编辑功能;③管网属性的存储和更新管理。(2)空间资料转入①可由空间数据库读入;②可由电子簿直接读入;③由其它格式数据转入;④键盘输入。(3)管网编辑及设计①对管线、管点空间数据的各种操作和编辑;②对管线、管点参数和属性的编辑和修改。●管网管理子系统管网管理子系统是通过一些有效的方法快速对目前的管网信息进行全面的了解和详细的分析,从而能够指导管理人员高效率、正确地进行管理和抉择,另外通过提供的查询工具的各种查询方法方便地得到想要的资料和信息。此时用户可以实现空间数据、属性数据的编辑、查询与统计:通过裁剪随一11,所欲地输出图形、动态标注;进行纵横断面显示和三维立体显示;统计计算等。●管网运行调度子系统根据对系统本身的各类数据的计算和分析比较,找到最优的水源调度方案,并以报表的形式输出,供调度使用。●事故处理子系统事故是指供水管网中突发的爆管等,这类事故会造成较大的损失。所以事故发生后及时制定事故处理方案是非常重要的。用户只需指定事故发生处,系统能自动地分析出应该关闭的阀门,提供相关阀门、管线、用户信息,并提出关阀方案。首先,系统要分析阀门的开闭状况,检查哪些阀门是可以正常开关的,哪些阀门是异常的,已经不能进行正常的开闭了;哪些阀门已经处于关闭状态;系统考虑单水源和多水源的情况,对不同的情况有不同的处理过程和结果。对于爆管分析结果,系统将在地图上自动把所有需关闭的阀门作以特殊颜色标记,例如:阀门颜色变红,表明是需关闭的;不变色的,表明是不需关闭的;变绿色的,表明阀门已废或者设备状况不正常。统计.24. 供水管网地理信息系统的设计与实现出由于关闭阀门而受影响的用户,并将这些用户的详细情况打印出来。系统将停水的管网闪烁显示,辅助有关人员进行抢修。●管网设计子系统在管网图文数据的基础上,应用管网平差原理模拟管网运行状态及进行水力分析,显示管网动态运行数据。通过这一功能,用户可以判定水的流向和进行管网运行的负荷分析,结合发展规划,依水源、水量、水的流向,进行管网布线、走向设计,确定管径:并可进行多种设计方案的优选。还可结合管网分析,提出更新改造规划,并可对改造前后的压力、流量、流速等变化进行对比等。并设计生成管道平面图、轴测图,生成管道材料统计表、设计说明等。●用户水表管理子系统提供与收费系统的接口,以获取完整的用户信息。查询各种用户、水表属性,实时读取水表用水量。●管网维护子系统维护管网拓扑完整性和数据一致性,管理管件维修记录,及时发出管件更换预警。●管网Web发布子系统用户通过网页浏览器可以直接访问管网系统的主页,浏览图形,按类型、区域、条件查询管网信息,浏览器端不用安装任何附加软件。3.3.3层次结构设计逻辑模块的划分在一定程度上有效降低了整个系统的复杂度,但许多逻辑模块仍然很复杂和难以维护,毕竟,每个逻辑模块就像是一个独立的小程序。因此,我们必须将各子系统进一步分层,每一层提供独立的、有时可重用的、更易于维护的代码平面。有些层可为多个逻辑模块提供通用功能。在本系统中,绝大部分子系统或逻辑模块是基于数据库的程序,这类程序在地理信息系统中最为重要,也最为普遍,因此本文仅绘出数据库应用的分层结构。【21]本系统中基于数据库的子系统采用N层客户/服务器体系结构,共分为以下五层(如图3-3所示):●用户服务层:负责所有与用户的交互操作,它可能是一组VB的窗体,也可能是动态HTML文档。●商业服务层:包含本系统中所有的业务逻辑对象,可被封装在多个COMDLL一2S一 供水管网地理信息系统的设计与实现中,以便配置在MTS环境下运行,可为本系统的所有程序服务。●工作数据服务层:通过数据集对象为应用程序提供所有工作数据的存储管理服务,它也被封装在一个COMDLL中,可为所有需要数据管理的工程提供服务。●数据访问服务层:提供实际操作数据库的服务,针对不同的数据库访问技术,实现不同的COMDLL。[22]IVBFormsI咖矗L一_肋’月路层1.I◆础臁}胁抽烈m,,}Busi▲ness2.m,}13usiness3.殂,,t工f铹蚓路摆IlataSet&dll,⋯。⋯’一▲’燃棚剥Ntal瑚.dll,Datal|ID0.dll,l嘶,▲图3.3基于数据库的分层体系结构●数据库层:就是物理上的数据库,本层包括所有数据表、视图等数据库对象。但触发器和存储过程逻辑应属于商业服务层,即使它们物理上位于数据库内。图3.3描述了本系统采用的层次化体系结构的一般形式,它适用于本系统中的大多数模块。对将来任何基于数据库的应用软件,该结构同样能很好的支持。3.3.4用户服务层用户服务层又称为GUI前端,是应用程序中暴露给用户的那部分,包含所有的窗体和控件,及需要它们操作的所有逻辑线程。事件驱动的控件程序是填满该层的线程。用户服务层具有以下特点:●只包含窗体和控件,及需要它们操作的最少代码。.26。 供水管网地理信息系统的设计与实现●不包含任何隐式或显示的事务知识。●是与用户交互的唯一层。●仅调用相邻的商业服务层代码,不认识其它任何层。●既可以是VisualBasic窗体,也可以是HTML文档。总之,一个好的用户服务层必须是一个很“薄”的层,也就是说应包含尽量少的代码,这些代码是使窗体和控件以期望方式运转所必须的。不应包含任何数据库操作,也不包含任何持久的数据或任何事务规则,包括输入验证规则也不应包含在用户服务层中。3.3.5商业服务层商业服务层包含所有的事务规则和逻辑。该层接受并处理来自用户服务层的请求,但它对用户服务层本身并没有任何认识。它不知道用户服务层是一个VisualBasic窗体还是一个HTML文档,也不知道其中显示了什么具体的信息。商业服务层的运算被用户服务层所请求,但不受用户服务层逻辑的影响。由于包含所有的事务逻辑,商业服务层完成以下工作:●执行用户服务层请求的运算,并将结果放入本地工作数据服务层。●执行基于事务规则的数据验证。●通过数据访问服务层向数据库或其它数据源请求数据。3.3.6工作数据服务层在大多数应用程序中,用户层显示和容纳工作数据值。当从数据库中读取数据时,通常将其存储在显示它的同一控件中。这种方法直观易于理解,开始时实现功能极快,适合于用快速原型法开发时迅速建立原型,但当应用程序变大时,程序结构混乱,难于维护。.在本系统的体系结构中,所有的数据在工作数据服务层存储并保持,在用户服务层显示。工作数据服务层是一个容纳读自数据库的信息的本地数据仓库,同时存放了应用程序所需的其它任何工作数据,这些工作数据可能并不是来自于数据库,例如:计算域。工作数据服务层还存储数据库表或域的规则,以便验证数据库规则和约束的变化。一27. 供水管网地理信息系统的设计与实现它存储了每个数据元素的原始值以便能轻松判断是否已被改变,以及在没有从数据库重载数据的情况下丢弃更改。工作数据服务层同时还提供数据缓冲服务,以便使应用程序获得较好的性能。通过将用户服务层控件与数据域简单地进行“绑定”,可获得灵活而健壮的显示机制。如果工作数据服务层中的域没有用户服务层的控件与之“绑定”,那么就不显示信息,仍在工作数据层等待内部操作。如果与用户服务层控件对应的域还没有被载入工作数据层,那么也不显示。如果一个域被显示在几个控件中,也许同时显示在不同的窗体中,所有控件都会得到正确更新。但是,VB中常说的绑定与此处的“绑定”有着本质的区别。多数程序员通过简单地将用户界面控件与数据库控件或ADO记录集直接绑定,很快地实现了数据的访问,但它的缺点是必须在用户窗体和控件的事件处理代码内管理业务逻辑,从而最终导致“厚”而复杂的用户层,实际上它已经不存在任何其它层了,它就是整个程序。3.3.7数据访问服务层数据访问服务层是与数据库通信的唯一层,它完全通用并且不认识或不管数据库中的具体信息。该层读数据、写数据、提交对存储过程的调用。数据访问服务层不在本层存储数据,而使用存储在工作数据服务层的数据。数据访问服务层是唯一知道DAO或ADO等数据访问方法的层。如果该层实现了对非数据库数据的访问接口方法,整个应用程序就可以像处理数据库一样处理其它任何数据。3.3.8数据库层数据库层就是物理上的数据库,可以是一个标准的数据库,也可以是一个数据仓库,一个OLAP立方体,或其它任何能被数据访问服务层访问的信息存储设备。如果数据库中存储了包含事务逻辑的存储过程或触发器,逻辑上,这些数据库对象实际上是商业服务层的一部分,即使它们并没有放在一起。3.3.9层的重用本系统的每一层均相对独立并与其它层绝缘,这使其可重用、可替换,并易于维护。-28— 供水管网地理信息系统的设计与实现——_H————_————————-___———_—___—————————————_——————_●-—_—-———————一———————————●-●—-——————_——————————————————_——一其中,完全通用,可重用在任何工程的任何应用程序中的层有:●工作数据服务层●数据访问服务层一旦创建自己的可重用层,就不需要为以后的工程重建它们,但通过对原有接口的支持和扩充新的接口,可实现对它们的维护和升级。与应用程序相关的层有:●用户服务层●商业服务层●数据库层以上三层可在同一工程的不同应用程序间重用。其中用户服务层主要包含窗体设计,如果创建了一个具有良好设计的原型,用户服务层就几乎已经完成,本系统的用户服务层正是通过对工程初期实现的快速原型进行少量修改得到的。无论采用那种体系结构,分层或不分层,均需要创建一个数据库,为特定应用创建数据库层。必须为每个工程创建一个商业服务层,但很好地实现分离的事务逻辑远比实现和调试混杂在其它层(如用户层)中的逻辑容易得多。3.4数据库详细设计按性质划分,供水管网地理信息系统的数据库可分为空间数据库和属性数据库,前者由地形图空间数据(X,Y坐标等)和供水管网各组成成分(如水表、阀门等)的空间数据(x,Y坐标等)组成:后者由地形图属性数据(如房屋层数等)和供水管网各组成成分(如水表、阀门等)的属性数据(材质、口径等)组成。按类型划分,本系统的数据库包括地形图数据、管段数据t管网阀门数据、管网水源数据、管网用户数据、排气阀数据、排泥阀数据、消火栓数据、水表井数据、管网节点(如三通、四通、堵头等)数据和其它(杂类管点)数据。3.4.1空间数据库空间数据主要由地理底图数据、点文件(.州)、线文件(.w1)、网文件(.wn)组一29. 供水管网地理信息系统的设计与实现成,其中地理底图数据包含一些最基本的信息,如道路、建筑物等;阀门、消火栓、测压点等的空间数据形成的点文件;管段和管线的空间数据分别形成的线文件和网文件。结构如图3.4所示。图3.4供水管网地理信息系统空间数据库结构图3.4.2属性数据库根据目前供水工作的实际情况,本系统属性数据主要包括管线、管段、阀门、节点、排气阀、排泥阀、消火栓、水表、水表井、用户、水源、水池、其它管点及测压点等数据类型。其部分属性数据库结构如表3.1到表3-4所示。表3.1节点(三通、四通、堵头等)数据库结构字段名称字段类型字段长度小数位节点编号数值型200配件名称字符型12配件材质字符型12接口形式字符型12,埋设时间日期型10坐标浮点型123高程浮点型122配件规格数值型123检修记录字符型30—30一 供水管网地理信息系统的设计与实现表3-1管线数据库结构字段名称字段类型字段长度小数位管径数值型123管材字符型12接口形式字符型12埋设时间日期型10埋设地土质字符型12所在路名字符型30管内防腐字符型20旌工单位字符型20检修记录字符型30控制点高程浮点型122控制点坐标浮点型123控制点坡度浮点型82表3-3阀门数据库结构字段名称字段类型字段长度小数位编号数值型20O名称字符型12型号数值型12O规格数值型。123生产厂家字符型30出厂日期日期型10坐标浮点型113高程浮点型8,2开启方式字符型10方向字符型10埋设时间日期型lO所在地点字符型24l全开转数数值型83螺杆材料字符型12.31. 供水管网地理信息系统的设计与实现表3-4用户数据库结构字段名称字段类型字段长度小数位编号数值型20O用户名称字符型24联系人字符型12联系电话数值型200用水性质字符型10立户时间日期型10接管管径数值型123接管地点字符型24接出点坐标浮点型123接出点高程浮点型123接出管径数值型123接出管材字符型12接出形式字符型12水表口径数值型123水表编号数值型200卡号数值型12O帐号数值型30O户号数值型12O.32. 供水管网地理信息系统的设计与实现第四章数据组织与爆管分析功能实现建立供水管网地理信息系统,首先考虑的是系统数据库建立的问题,一切算法的实现都是基于一定数据结构的,一切系统功能的实现也有赖于数据库的建立。在3.4节已经对数据库进行了详细设计,知道地理信息系统与一般的信息管理系统最大的不同在于地理信息系统不仅具有属性数据而且具有海量的空间数据,必须实现对两种不同性质数据的有效管理和结合,才能使系统的统计与分析的优势得以发挥,从而构成有效实用的数据库。下面主要从空间数据方面来论述供水管网地理信息系统的数据组织。4.1空间数据的组织4.1.1空间数据的特点空间数据具有三个基本特点:数据的空间性、与属性数据相关性和数据的时间性。空间数据的空间性是指这些数据反映空间实体的空间位置及空间实体之间的位置相对关系。通常以坐标数据来表示空间位置,这些坐标数据必须以同一坐标系作为参考,不同坐标系之间应能相互转换。空间实体之间的位置相对关系是通过空问拓扑信息来表示的。属性数据是指描述空间实体的类别和特征等性质的数据。例如,一座阀门的属性包括编号、名称、型号、规格、生产厂家、高程等。属性数据本身属于非空间数据,但其是地理信息的重要组成部分,它同空间数据相结合,才能表达空间实体的全貌。空间数据的时间性是指空间数据的空间特征和属性特征随时间而变化。它们可以同时随时间变化,也可以独立随时间变化。.4.1.2拓扑关系空间数据与一般的事务处理系统中的信息数据主要区别在于,空间数据不仅表现了目标本身的位置信息,而且也表达了目标之间的相互的位置关系。这就在地理信息系统中引入了拓扑关系的概念。拓扑关系是定义空间实体之间相对位置关系的一种数学方法。地理信息系统中用拓扑关系来描述空间的点、线、面之间的关系和属性,并可以实现相关的查询和检索。因此,拓扑关系对空间数据的组织、空间数据的分析和处理都具有非常重要的意义。.33— 供水管网地理信息系统的设计与实现空间数据拓扑关系的表示方法主要有:拓扑关联性、拓扑邻接性和拓扑包含性。拓扑关联性表示图形中不同类型元素之间的拓扑关系。如图4.1(a)所示的图形,具有多边形和弧段之间的关联性PINl,a5,a6;P2地,“,a6,a7等,也具有结点与弧段之间的关联性N1N1,a3,a5;N2N1,a6,a2等。从图4.1(a)可推出图4.1(b),图4.1(c)两张关联表。【23】N(a)多边形号弧段号Plala5a6P2a2a4a6a7P3a3a4a5P4a,弧段号起点终点alNlN1a2N2N3a3N3N1a4N3N4’a5N1N4a6N4N2a7N5(c)图4.1拓扑邻接性示意图.34.. 供水管网地理信息系统的设计与实现用关联表表示图的优点是不仅能够表示出空间实体间的位置关系,还可以节省存储空间。这是因为每条段所包含的坐标点只需存储一次。拓扑邻接性表示图形中同类元素之间的拓扑关系。如多边形之间的邻接性,弧段之间的邻接性及结点之间的邻接关系(连通性)。由于弧段是有方向的,因此可用弧段的左右多边形来表示并求出多边形的邻接性。可由图4.1推出表4.1。弧段号左多边形右多边形alP1/a2/P2a3iP3a4P3P2a5P1P3a6P1P2a7P4P2表4.1多边形的拓扑邻接性拓扑包含性是表示空间图形中,面状实体中所包含的其它面状实体、线状或点状实体的关系。面状实体中包含面状实体的情况又分为三种情况:简单包含、多层包含和等价包含。如图4.2所示。(a)简单包含(b)皋屡包含(c)等价包含图4.2拓扑包含性由以上的分析可知,拓扑关系表示的空间数据可以清楚的反应空间实体之间的逻辑结构关系,并且方便空间要素的查询。因此,它是建立地理信息系统的重要工具。一35— 供求管弼鳆理信息系统的波诗与实现4.1.3空间数据的数据结构正是由于空间数据的上述特点决定了其需要用特殊的数据结构去表示:栅格数据结构和矢量数据结构。[24]1、橱格数据结构栅格数据结构是把真实的地理面假设成平面笛卡尔面来描述地理空间。在每个笛卡尔平面中,用行列值来确定各个栅格元素的位置,以栅格元素值来表示空间属性。栅格元素是栅格数据的最小单位。在搬搔数据结构中,点月一个掇格元素来表示,线用~组掘邻的援格元素来表示,面用相邻栅格单元的集合来表示。栅格数据结构具有以下特点:描述区域位置明确,属性明显:栅格数据的位置一般用行列数来确定,每个位置只能表示单一的特征,当某一位置需要表示多种特征时,引入图层的概念。如某一地区需要同时描述高程、道路、区界、时,在栅格数据表示中需要建立三个栅格数据层。数据结构简单,易于遥感结合:栅格数据以阵列方式来描述空间实体,其数据结构简单,便于同遥感图象交换信息,并予以处理。难以建立地物之间的拓扑关系:栅格数据是一种面向位置的数据结构。在平面空间上的任意一点都可以直接同某个或某类地物相联系.很难完整建立地物间的拓扑关系。实际上,~类地物或一类目标可能在区域的多处出现,这时只能通过遍厉整个栅格矩阵才能得到,这导致栅格结构不便于对单目标进行操作。图形质量低且数据量大:在栅格数据中,栅格元素是表示地物的最基本单位。因此,所反应的实体在形态上会出现畸变,在属性上会出现偏差,觚而影嫡图形质量。为了提高图形质量,要尽可能增加栅格数,但却因此增加栅格数据量和数据的冗余度。2、矢量数据结构矢量数据结构是用实际的地理坐标来表示空间物体。它是基于矢量描述方法来表达和处理空间地物特征的一种数据组织方法。矢量数据结构具有以下特点:用离散的线或点来描述空间物体及其特征:在矢量数据结构由,点用空间的一个坐标点(x,y)来表示,线用多个点组成的矢量弧段(xl,y1)(x2,y2)⋯⋯(xn,.36, 供水管踊地理信息系统的设计与实现._———————————_——_——●—————————●——————_———_——————————————————一—————__———●——_——————————————●h—●————————一v11)表示,面用曲线段组成的多边形来表示。用拓扑关系来描述矢量数据之间的关系:矢量数据结构能以最小的存储空间精确地表达地物的空问位置。因此,由矢量数据结构生成的图形能以较少的存储空间获得高质量的图形。由于矢量数据结构以空间坐标来描述空间物体,可以对其进行拓扑结构的编码,从而来描述空间的“相连”、“相邻”及“包含”关系,而清楚地表达空间地物之间的结构。面向目标的操作:对矢量数据的操作,更多地面向目标,从而使精度高,数据冗余度小,运算量少。如对区域面积的计算和道路长度的计算,分别用计算区域多边形和弧段的长度而获得。这样直接根据目标物几何形状用坐标值计算方法,使计算精度大大提高。另外,由于矢量数据是以点坐标为基础的记录数据,不仅便于对图形放大、缩小,而且还便于将数据从一个投影系统转换到另一个投影系统。数据结构复杂且难以同遥感数据结合:矢量数据数据结构的精度高,数据冗余度小,同时也带来了数据结构复杂的缺点,而且也难于同遥感数据相结合。难于处理位置关系:在矢量数据结构中,给出的是地物的坐标,判断地物的空间位置关系时,往往需要进行大量求交运算。例如:要将两个重叠的多边形合并成一个多边形时,就需要求出两个多边形各边的交点,从而建立新的拓扑关系。因此,用矢量数据结构解决这类问题是相当复杂的。3、栅格数据结构与矢量数据结构的比较栅格数据结构与矢量数据结构各有长处和不足,而且相互之间还具有互补性。有关两种数据结构的优缺点归纳成表4.2。船格数据结构矢量数据结构数据结构简单数据结构紧凑优便于空间分析便于网络分析易于遥感数据结合图形显示质量好,精度高点便于面向对象的数字表示图形数据量大数据结构复杂缺图形投影转换比较困难缺乏同遥感数据的结合能力点图形显示质量差信息复合难度大不易表示空间的拓扑关系对硬件技术要求高表4.2栅格数据结构和矢量数据结构比较.37. 供水管网地理信息系统的设计与实现4.2空间数据库系统组织技术GIS中涉及的数据不同于常规管理信息系统中的数据,它是具有丰富地理特征的数据的集合,这些数据信息量大、来源复杂、数据格式不规范。因此,如何将这些数据规范化、数字化,建立完整的GIS空间数据库是GIS建立过程中相当重要的基础工作。空间数据库系统是一个存储空间和非空间数据的数据库系统。在它的数据模型和查询语言中能提供空间数据类型,可以进行空间索引,并且提供空间查询和其它空间分析的方法。[25】空间数据库的设计和实现需要考虑以下几个方面的问题:确定数据库结构:GIS中既有空间数据又有属性数据,是将这两种数据分别存储,还是将两者一体化存储会导致不同的数据库结构。因为属性数据与一般的事务类数据有相同的特征,用一般的关系数据库技术即可建立属性数据库。空问数据由于所具有的特性,除了利用~般的关系数据库技术外还需要对其进行特殊处理。设计空间数据索引:在数据库中建立适当的数据索引结构可以提高数据访问的效率,在空间数据库中,建立索引更为重要。因为空间数据属于海量数据,~个地理特征就有可能由上万个点组成,不通过索引对空间数据进行查询是不可想象的。因此,空间索引也被称为空间数据访问方法。通常,可以用四叉树编码或R树建立空间索引。数据的导入及输出:由于空间数据的数据源多种多样,有遥测数据,有纸制地图数据,还有各种文件数据等。空间数据库系统应能提供一个空间数据的转换接口,使不同数据源的数据都能输入到空间数据库中。另外,空间数据还应能支持长时间事物和几何一致性检查。数据分析:确定某个应用的数据范围,即该应用的数据在垂直方向上的层次划分,在水平方向上的图幅范围。数据分析还需确定数据表达的精度和所使用的坐标系。设计数据操作:空问数据库的操作应与实际应用中的空间操作功能相对应。例如:对空间对象的编辑对应着数据库的数据更新(插入、删除、修改):空间对象的合并对应着数据库中对应的对象记录的合并等。这些功能在设计空间数据库接口模块时都要考虑到。空间数据查询语言S-SQL的设计:由于空间数据的类型不仅含有一般的关系数据库所支持的基本数据类型,还有一些特殊的空间数据类型。因此,需要定义一种支持-38. 供水管网地理信息系统的设计与实现这些类型的新的查询语言。空间数据查询语言S-SQL是对传统的SQL语言的扩展,其重点在于可以在SQL语言中定义用户自己的操作,并将这些操作嵌入在SQL命令中。支持GUI及信息显示:由于GIS主要是通过图形界面向用户提供直观的信息和分析功能。因此,空间数据库系统应能提供适合快速图形显示与数据分析的数据结构。目前,比较流行的空间数据库组织技术有商用系统MAPINFO中的空间数据库技术和美国环境系统研究所(英文简称ESRI)的GIS原型系统中的空间数据库引擎SDE。Mapinfo中的数据模型采用混合型的空间数据结构,分别用不同的模块存储空间数据和属性数据,其空间数据在垂直方向上是按图层进行组织的,在水平方向上是按图幅进行组织的。同时,MAPINFO采用基于对象的空间数据模型,将所描述的信息空间视为离散的、可标识的和与空问相关的对象的集合体。Mapinfo中每个图层由五个文件组成:以.TAB、.DAT、.IND、.ID、和.MAP为后缀的文件。TAB文件定义了该图层属性数据的表结构,DAT文件存储该图层每个对象的属性数据,m文件中每4个字节为一个对象的空间数据索引,MAP文件存储该图层的每一个对象的空间数据,IND文件为交叉索引文件。这五个文件相互作用,构成了具有空间索引结构的数据组织形式。ESRI设计的SDE是一个空间数据库的原型系统,它在现有商用关系型数据库的基础上进行空间扩展,可以将空间和非空间数据存储在单一的关系型数据库中。SDE中数据采用无缝数据连接方式,垂直方向上数据按层次进行组织。4.3空间数据编码技术空间数据的编码是空间数据结构的组织和实现。通过编码过程把空间的图形数据和属性数据经过分类、量化和组织转换成计算机所能接受的形式,以便进行各种处理分析。由于有栅格和矢量两种数据结构,相应的就有两种编码技术。4.3.1矢量数据编码矢量数据结构与拓扑关系联系紧密,因此,一般有两种编码技术:不含拓扑信息和含拓扑信息的编码。坐标系列编码属于不含拓扑信息的编码,这种编码方法将空间实体分成点、线、面三类。点用坐标对(x,y)表示,线用两队以上的(x,y)坐标表示,面用组成其.39— 供水管网地理信息系统的设计与实现边界的各顶点的有序闭合的坐标序列表示。这种编码的优点是结构简单,缺点是不便于分析处理,数据冗余度大。因此,这种编码方法主要用于功能简单的系统。含拓扑信息的编码有多种实现形式,其中以线段为主的记录编码方式DIME编码又称双重独立地图编码(其基本结构如图4.3所示)被广泛的采用。弧段编号起始点女皋结占左多边形右多边形弧坐标AlN1N2/P2xllyll⋯x12y12A2N2N4lP4x21y21···x22y22A3N4N5|P3x3ly31···x32y32A4N1N5Pl|x41y41·-·x42y42A5N1N3P2Plx5ly51⋯x52y52A6N3N5P3P1x61y61‘‘‘x62y62●礤N3N4P4P3x7t"y7l⋯x72"y72A8N2N3P4P2x8ly81⋯x82y82图4_3(b)——图4_3(a)的DIME编码其基本思想是把研究对象看成有点、线、面组成的简单的几何图形。以线段为主,把线段看成是用起始点、终止点及相邻的左多边形和右多边形作为基本代码形成拓扑关系。通过基于图论的拓扑编辑不仅实现上述三要素的自动编辑,还可以查出数据组织中的错误。可以看出,含有拓扑信息的矢量编码结构较复杂,但其便于空间分析,且数据冗一40— 供水管网地理信息系统的设计与实现余度小。4.3.2栅格数据编码栅格数据最简单的编码形式是按行列值给每个栅格单元进行编码。由于通常有许多相邻的单元格具有相同的属性,这样编码会造成很大的浪费,同时使操作效率低下。通常,用压缩的编码方法,如四叉树结构进行栅格编码。四叉树分割的基本思想是;首先把一幅地图等分成四份,逐块检查其栅格值,若每个子区中所有栅格都含有相同值,则该子区不在往下分割,否则,将该区域再分割成四含子区域,如此递归地分割,直到每个子块都含有相同的灰度或属性值为止。根据所分的区域,进行编码。通过编码过程可知四叉树的编码与空间坐标之间存在着转换关系,只需将四又树的各叶结点以及这些叶结点所对应的空间对象组织起来,就可以起到空间索引的作用。4.4系统的空间数据库系统组织策略由供水管网地理信息系统的地理信息数据所具有的特点,我认为可以从以下几个方面组织其空间数据库系统:确定数据库结构:由于供水管网地理信息系统中的地理信息数据具有很强的现势性,同时,地理信息数据中的空间数据和属性数据分别存储,即空间数据与属性数据都单独设计表结构,两种表结构之间通过关联字段进行联系。由于属性数据与一般的事务类数据具有相同的特征,用~般的关系数据库技术进行组织。空间数据在垂直方向上按图层组织,在水平方向上按图幅进行组织。在表中应能根据不同数据源确定地图所用的坐标系。将空间数据表分成三组,即拓扑关系表组、索引表组和空间位置表组。拓扑关系表采用栅矢混合结构,空间位置表采用矢量数据结构,索引表采用栅格数据结构。这三组表相互关联构成的整个系统的空间数据组织结构如图4.4所示。因为点、弧段、面特征对象的数据结构不同,因此对于同一图层的不同特征对象分别用点表、弧段表和面表表示,划分成多个表不仅符合数据的逻辑结构,而且可以提高查询速度。属性表是存储特征对象的属性信息的,根据不同图层的不同应用,其表结构也相应不同,但其中必须含有对象编号字段,用于与特征对象相关联。属性表中的每个记录对应点表、弧段表和面表中的一个特征对象。一41. 供水管网地理信息系统的设计与实现图4.4系统空问数据组织结构索引表组用作空间数据的各种基本操作,它是为了提高操作速度而设计的。其中图幅索引表是栅格数据结构,采用的静态四叉树编码技术,将对整个图层的所有特征的操作转化为对某个图幅中的相对较少的特征的操作,从而提高系统的反应速度。拓扑关系表组只是借用了GIS中的拓扑关系的技术来提高空间分析的效率。GIS中的拓扑关系是建立在同一图层上的特征之间相对位置关系,若在应用中将所有图层都建立拓扑关系,不仅使数据库结构复杂,给数据维护带来困难,而且过于复杂的数据拓扑关系会破坏网络数据传输的高效和数据操作的灵活性。在供水管网地理信息系统中的一些空间分析往往涉及到不同图层上的特征对象,因此,只对同一图层上的特征建立拓扑关系意义不大。这里所建的拓扑表组是涉及不同图层的特征对象的位置关系。设计空间数据库的索引:由于一般的关系型数据库未提供空间数据的管理机制,因此需要在其一般的关系结构的基础上,建立空间数据管理机制,其中关键一点就是.42— 供水管网地理信息系统的设计与实现建立空间数据的索引结构。本文采用四叉树编码的方法建立空间索引。数据的导入与输出:供水系统的空间数据一般以具有不同格式的文件存储,因此需要设计数据转换模块,将这些数据写入空间数据库,为供水管网地理信息系统提供统一的数据源。该数据转换模块可以设计成COM组件的形式。『261另外,供水管网地理信息系统空间信息一般以地图的形式输出,还可以根据空间分析得出得结果,以专题图形式输出。设计数据操作:供水管网地理信息系统从一定意义上讲是一个地理信息系统。因此供水管网地理信息系统的空间数据库的操作应与实际应用中的空间操作功能相对应,例如,对空间对象的编辑对应着数据库的数据更新(插入、删除、修改)等。空间数据分析:供水管网地理信息系统中的空间分析功能可以看成是一种扩展的SQL功能。一般的SQL只是对基本数据类型操作,而这种扩展的SQL是对空间数据类型的操作。例如,查询离漏水点最近的阀门的操作,其处理对象是空间的坐标和路径信息。4.5系统爆管分析功能的实现●实现过程:爆管分析功能模块应具有管网中某一点出现故障后,计算管网停水应关阀门及影响管段、用户的能力,经分析,该模块包括以下子程序:①初始化初始化的功能是将拓扑关系装入内存,并建立与外部数据库的链接关系。为计算关阀方案作准备。②指定故障点管网中的故障点可以是管段、节点或者NI"-J,使用者可以在图上用鼠标指定。程序返回故障点的拓扑ID号。⑧关阀方案计算迸行关阀策略计算。该子程序主要利用最短路径算法完成。这些算法提供了网络拓扑追踪的功能,能从点、线建立的网络拓扑中的某一点出发,自动追踪该点的所有连线及相应的下游点,直到所经过路径的阻力值之和大干指定值为止。这些算法能返回所有追踪到的点、线的拓扑ID号,从而得到相应的属性数据。子程序利用这些算法,生成受影响管段、节点及应关阀门的数据,并在图上用不同的颜色表示。可以做连续.43— 供水管网地理信息系统的设计与实现的关阀方案计算。④关阀方案数据查询及报告生成可以查询受影响管段、节点、用户及应关阀门的属性数据,并可以生成文本报告,以便编辑、打印。⑤图形打印⑥复位删除关阀方案计算后的结果数据标注及将颜色换为原来的颜色,以备再一次做关阀策略计算。⑦结束先将拓扑数据从内存中卸下,并断开与外部数据库的链接关系。然后退出子系统。●程序实现:实现爆管分析功能的关键算法是最短路径算法。该算法用VB的具体实现如下:该最短路径查询程序,速度特快,3万节点,35000条路全部遍历,只需1秒。本例以由拓扑关系的Mapinfo文件为数据源。其中al、bl、cl是fnode排序生成的数组,a1对应fnode、bl对应mode、el对应1engtll,同样a2、b2、c2是以mode生成的数组。Indexal是对应某一起点与其相连的终点的个数,indexbl是对应某一终点与其相连的起点的个数,即其拓扑关系。PublicFunctionshortpath(starmoAsInteger,endnoAsInteger)AsSingle以开始点,结束点为参数。Dimresult0AsSingleDimresultlAsInteger.定义结果点DimslAsSingleDimrainAsSingle,Dimii,i,j,aaAsIntegerDimycOAsBooleanDimycdOAsBooleanDimrslOAsSingleDimnoOAsInteger一44. 供水管网地理信息系统的设计与实现DimnopointAsIntegerReDimycOToma)z.Alo)AsBooleanReDimycd(1Tomaxno)AsBooleanReDimrsl(1Tomaxno)AsSingleReDimresult(1To2,lTomaxno)AsSingle定义结果,其中resutt(1,maxno)为结果点,result(2,maxno)为结果长度。Fori_1Tom部xnoHmaxno为网中最大的节点数。yc(i)=False//标记已经查过的点。ycd(i)=Falsell{12,记已经作结果点用过的点rsl(i)=1E+38//假设从起点到任一点的距离都为无穷大NextI11=startno//设置开始点。yc(11)=True/,标记开始点为真。郎已经作结果点用过。j=OForaa=lTomaxno先从与开始点相连的终点寻找Fori=1Toindexal(2,11)//以与Il点相连的起点的个数循环。resultl2bl(indexal(1,11)一i+1)//找出与LL点相连的终点的点号。sl2c1(indexal(1,ID—i+1)+result(2,11)H找出长度并求和。Ifyc(resultl)=TrueThenGoTO200#如果以被经查过进行下一个。Ifycd(resultl)=TrueThen//如果已经作为结果点判断哪~个长。Ifrsl(resultl)>=slThe酬如果这一点到起点的长度比现在的路线长,替代。rsl(resultl)=slresult(1,resultl)=11//设置到这点的最短路径的前一点为LL点(精华部分)result(2,resultl)=sl设置到这点的最短路径长度GoT0200ElseGorrb200EndIf.45. ——一垡查篁旦垫望笪垦墨笙塑垦生量窭銎一——一EndIf如果上面的条件都不符合则进行下面的语句ycd(resultl)5Truersl(resultl)=slresult(1,resultl)211result(2,resultl)2sl每找到一个点加一,为了下面的判断j=j+1ReDimPreserveno(1Toj)AsInteger从新定义数组并使其值为当前的点号no(j)=resultl200NextI再从与开始点相连的终点寻找,与上面一样不再标注Fori=1Toindexb2(2,11)resultl=a2(indexb2(1,11)-i+1)sl=c2(indexb2(1,11)一i+1)+result(2,11)Ifyc(resultl)=TrueThenGo"Ib300Ifycd(resultl)2TrueThenIfrsl(resultl)>=slThenrsl(resultl)=slresult(1,resultl)=11result(2,resultl)=slGoTo300ElseGoTo300EndIfycd(resultl)=Truersl(resultl)=s1.46. 供水管旦垫里堡垦墨竺竺堡盐兰塞堡——result(1,msultl)211result(2,resultl)。slj=j+1ReDimPreserveno(1Toj)AsIntegerno(j)=resultl300NextI设置最小为无穷大,最短路径点为空min=1E+38minpoint。Null(优化部分)找出已经查过点中长度最短的点Fori=aaTojIfmin>rsl(no(i))Thenii=1rain=rsl(no(i))minpohat=no(i)EndIfNextI如果没有结果,即起点与终点没有通路退出程序Ifmin=1E+38ThenExitFunction(重点优化)将两点互换,减少循环。no(ii)=no(aa)no(aa)=minpoint标记已经作为结果点判断过yc(minpoint)2True11=minpoint判断结果点是否等于终点,如果等于则已经找到最短路径Ifminpoint=endnoThenExitForNextaa一47. 供水管网地理信息系统的设计与实现返回最短路径长度stpath=result(2,endno)EndFunction●实现结果:用户用爆管分析工具在管线爆管处单击,系统将自动通过网络追踪进行关阀分析,并根据管道中介质流向区分为必须关闭的阀门和可不关闭的阀门,对关阀失灵的阀门可以进行二次关阀分析,并根据关阀方案分析受影响的用户。一48. 供求管网地理信息系统的设计与实现第五章总结与展望GIS技术作为一门多学科交叉技术,应用范围相当广泛,而把GIS技术应用于设施管理是近几年我国GIS应用的热点。笔者在对国内已建成的供水管网地理信息系统的考察中发现,目前国内还没有出现应用十分成功的GIS供水管网管理系统。有的企业一开始就试图建立管网模型,但是由于缺乏基础资料或基础资料管理机制不能满足系统现势性要求,所以开发应用工作进行不下去,很快便搁置下来,回头来做基础工作。已开发应用的GIS信息系统,大多处于起步阶段即基础资料管理或小范围试验阶段,离规划副示差距很大。造成这种现象最主要的原因是系统建立过程的规范性问题,目前就供水行业的GIS的开发,从用户分析、系统设计、数据库建设到系统开发,仍没有现成的工程规范。笔者结合郑州市自来水总公司立项的项目:供水管网地理信息系统,试图从这方面加以探索。本文通过对供水管网地理信息系统建立过程的研究,探讨了基于Mapinfo地理信息平台的系统设计,详细描述了其中较有特色的分层体系结构。同时,对四叉树编码为索引的空间数据组织技术进行详细阐述,结合供水管网数据特点,给出供水管网地理信息系统的空间数据库组织策略,并在此基础上利用最短路径算法对爆管分析功能加以实现。建立一个成功的地理信息系统涉及的领域很多,本文采用的关键技术有:计算机技术、网络通讯技术、GIS技术,空间数据组织技术、模块化技术、对象编程技术等。由于数据资料有限,时间仓促,作者水平有限,系统实现方面还存在一些问题,有待进一步开发研究。总之,随着计算机技术领域中软件工程技术、面向对象技术、分布式计算技术、网络技术、软件集成技术和数据库技术的发展,GIS技术也呈现出了数据标准化、系统集成化、平台网络化的发展趋势,这些发展变化将使GIS技术更加完善,也会给供水管网地理信息系统带来更快、更好的发展。.49.. 供水管网地理信息系统既设计与实现致谢在工作两年之后,于1999年能重新回到学校攻读硕士学位,对我来说是既令人兴奋又富于挑战的事情。在这四年期间,有艰苦而紧张的学习生活,有废寝忘食的工作,有成功的喜悦,也面临过极大的困难。但幸运的是在任何时候总能得到老师、同学、同事和家人的无私帮助与鼓励,正是在他们的帮助和鼓励下,我才能走到攻读学位的终点。在此,我要向他们表示衷心的感谢。首先,我要对我的导师庄雷教授表示由衷的感谢和崇高的敬意。庄老师以丰富深厚的理论功底指导我的论文工作,使我找到正确的研究和工作的努力方向。在论文的写作过程中,从论文题目的确定到论文工作后期内容的修改,庄老师都给予了我大量有益的建议,从而帮助我改正论文中的缺陷和不足,提高论文的质量。更为重要的是:庄老师实事求是的作风、严谨的治学态度是我终生学习的楷模。衷心的感谢苏锦祥教授、李连友教授、陈国勋教授、周清雷教授等各科授课老师和教学办公室马乃兰老师与高明磊老师。四年来,正是在他们的关心、帮助和教导下,经过自己刻苦努力,顺利通过各门课程,取得申请学位的机会。感谢我的同学和同事们,四年来,我们在学习上共同探讨,生活上互相帮助,工作中相互提高,结下了深厚的友谊。深深的感谢我的家人,在我四年的求学生涯中,家人一直对我各方面进行无微不至的关心和支持,他们是我顺利完成学业的坚强后盾。在说感谢已经显得有些多余,我只有把这感激之情铭刻在心,并将它化作自己奋斗不息的动力,希望能用自己的不断进步来回报他们的厚爱和支持!.50. 供水管网地理信息系统的设计与实现参考文献【l】赵新华、李琼:城市排水管网信息GIS管理系统设计,中国给水排水,2002年第9期【2]MapinfoCorporation,MapinfoProfessionalUser’SGuide,[M][3]EricSheppard:GISandSociety--TowardsaResearchAgenda,CartographyandGeographicalInformationSystems,2001.9[4】张超:地理信息系统实习教程,高等教育出版社,2000年[5】邬伦等:地理信息系统一原理、方法和应用,2001年[6]EnvironmentalSystemsResearchInstituteInc,MapObjects’sReference,1998【7]HinterJ.C.:GISandRemoteSensingIntegrationforEnviornmentalApplications,Int.J.GeographicalInformationSystems,1996.10【8】唐大仕、邬伦等:基于CORBA组件技术的GIS系统,地理学与国土研究,2001年第4期【9]赵军喜、华一新:GIS中地图输出的表现形式,测绘通报,2001年,第2期【10]赵永红:城市地下管网图形信息管理系统,[硕士论文],2001年5月【11]T丹:我国城市空间数据和GIS应用的现状与前景,工程勘察,2001年第1期【12]刘正军等:基于Intemet的分布式组件GIS集成的实现方法,计算机工程与应用,1999年第9期【13]郭腾云:GIS应用体系结构发展演化及WebGis实现方法与应用研究,计算机与现代化,1999年6月[14】田一梅、黎荣:GIS技术在供水系统中的应用与发展,中国给水排水,2000年第9期[15】员建华、郭爱华:济南市自来水管网管理地理信息系统,地下管线管理,2000年第l期【16]于海龙、谢刚生等:基于GIS的城市地下管网纵横断面分析的设计与实现,工程勘察,2001年第l期[17]SinhaA:Client/ServerComputing,CACM,1992(2)【18]AndrewS.Tanenbaum:ComputerNetworks,清华大学出版社,1996年.51. 供水管网地理信息系统的设计与实现【19】郑人杰等:实用软件工程(第二版),清华大学出版社,1997年【20】潘钢:利用VisualBasic开发GIS应用软件,中国计算机用户,1996年,第7期[21]Nl"fl乐:数据库系统概论,高等教育出版社,1994年[22]张文群、E-Pg:多媒体GIS查询系统的建立,测绘通报,2001年,第12期[23]EnvironmentalSystemsResearchInstituteInc,MapObjectsIntemetMapServer’SReference,1998[241刘勇景宁等:基于Com技术的GIS应用系统中一致性数据管理的实现,计算机工程,2002年第lO期[25]FairfieldJ.&P.:DrainageNetworksfromGridDigitalElevationModles,WaterResourceResearch,2000.2[26]JohnMontgomery:ForCORBAAndDCOMit’Stimetogetpractical,ByteMagazine,April、1997—52- 供水管网地理信息系统的设计与实现附录(攻读硕士学位期间发表论文)吴军胜、李忱、胡尊礼:浅议GIS技术在供水系统中的应用,河南水利,2003.2-53-'