收稿日期:2006-12-24; 修订日期:2007-03-31
基金项目:辽宁省国土资源厅资助项目[2004]6号/辽宁省鞍山市地质灾害评价预警系统建设0
作者简介:吴自兴(1982-),男,博士研究生,研究方向为GIS 和信息地质。E-mail:w zxing@pku.edu
基于UML 和面向对象方法的GIS 应用模型设计与实现
吴自兴,潘 懋,丛威青,李光辉
(北京大学造山带与地壳演化教育部重点实验室,北京100871;北京大学地球与空间科学学院,北京100871)
摘要:应用分析模型是面向专业应用领域GIS 的关键模块之一,其设计和实现应具备良好的可扩展性和可移植性,从而达到软件复用、降低系统维护成本的目标。采用面向对象方法,对辽宁省鞍山市地质灾害评价预警系统中地质灾害危险性区划分析模型模块进行分析和设计,提出分别封装表达地质灾害分析模型方法的抽象类(class CM odel)、描述灾害评价因子的抽象类(class CF actor),以及描述灾害分析单元格的抽象类(class CGridLayer)的设计方案,达到模块划分的/高内聚、低耦合0要求,便于模块的修改和扩展。以描述单元格的抽象类(class CG ridL ayer)作为模块与GIS 平台的中间层,面向模块屏蔽不同G IS 平台的实现细节,使得模块具备良好的可移植性。最后,以M apGIS 615为平台,按上述设计方案构建鞍山市地质
灾害评价预警系统并投入实际应用。关键词:面向对象方法;地理信息系统;地质灾害危险性区划
中图分类号:P208  文献标识码:A  文章编号:1672-0504(2007)03-0038-04
0 引言
随着GIS 的应用领域越来越广泛,专业GIS 逐渐成为其重要研究方向。例如,在地质灾害危险性评价与预警领域,提炼灾害危险性评价与预警预报分析模型,利用GIS 提供的空间分析功能处理原始数据,最终形成基于GIS 平台的预警分析系统,这是当前研究的重要方向。三峡库区、京津塘地区、浙江省以及辽宁鞍山等地区先后开展了基于GIS 的地质灾害危险性评价和预警工作[1-4]
在专业GIS 应用系统中,数学模型是系统的关键模块,并且针对同一问题往往需要建立多个模型,以满足运算分析和验证对比的需求。在地质灾害危险性评价预警应用系统中,由于地质灾害发生机理的高度复杂性和时空差异性,以及模型建立所用数学原理不同,需要提供多种分析模型,以便从不同角度和研究目的进行分析。从建模和系统开发角度看,各种专业模型是面向应用领域的,本质上与通用GIS 平台无关。针对专业模型的上述特点,系统的设计和实现应保证模型模块的可扩展性及其在不同GIS 平台之间的可移植性。
采用传统的过程式程序设计方法很难达到上述要求,主要是传统程序设计方法难以实现模块高内聚、低耦合的封装,数学模型的程序化过程与底层GIS 平台结合得太紧密,不利于模块的移植。其次,传统方法抽象层次低,容易导致设计和实现过分注
重细节,不利于提炼问题域的公用方法,以实现软件的复用和降低模块维护的复杂程度。而面向对象方法能很好地解决上述问题。它引导人们在抽象层次分析问题域的概念并实现软件系统的良性封装。在设计工具方面,U ML 采用形式化的语言和方法支持面向对象软件系统的设计。
结合/辽宁省鞍山市地质灾害评价预警系统0研究,采用面向对象方法及U ML 辅助工具,设计和实现了滑坡、泥石流和岩溶塌陷灾害危险性区划分析模块。本文提出的设计方案,分别封装了表达分析模型方法的抽象类(class CModel)、描述灾害评价因子的抽象类(class CFactor),以及描述灾害分析单元格的抽象类(class CGridLayer),在模块内部划分了/高内聚、低耦合0子模块,便于模块的修改和扩展。同时,以描述单元格的抽象类作为模块与GIS 平台的中间层,屏蔽了不同GIS 平台的实现细节,使得模块具备良好的可移植性。
1 基于面向对象方法的GIS 应用模型设计
1.1 地质灾害危险性区划分析模型的面向对象分析
在/辽宁省鞍山市地质灾害评价预警系统0中,针对滑坡泥石流灾害的危险性区划实现了专家打分、层次分析、人工神经网络、信息量、Logistic 回归、
统计量6种模型[5];针对岩溶塌陷灾害的危险性区划实现了层次分析、人工神经网络、模糊评判和灰聚类4种模型。这些分析模型具有两个基本特点,
第23卷 第3期
2007年5月
地理与地理信息科学
Geo graphy and Geo-Infor matio n Science
V ol.23 No.3M ay 2007
即基于单元格和多元信息耦合的分析计算。
基于单元格的分析模型以单元格为单位进行分析计算,每个单元格包含所有评价因子的信息,从而形成一个完整的计算单元;计算过程中,单元格之间可以相互影响(如插值),也可相互独立。地质灾害危险性区划分析模型的计算单元可分为栅格单元、地貌单元、均一条件单元、流域单元及地形单元等[6,7]
;按单元格形态则可分为规则单元格(如栅格单元)和不规则单元格(如流域单元、行政区划单元等)。多元信息耦合是指综合多种评价因子进行分析计算,如对于滑坡和泥石流灾害应同时考虑地形、植被、降雨等致灾因子的影响。模型评价因子多是独立的,具有独立的数据采集和计算处理方法。计算过程中,需针对每个单元格提取各因子的信息,亦即对研究区内各评价因子的信息以单元格为单位进行重采样。此后即可执行模型的分析计算过程,并输出分析结果。
综合上述分析,可以抽象出描述单元格的类,并提供一套便于以单元格为单位进行评价因子信息重采样的方法。此外,分析模型和评价因子作为问题域中十分明确的概念,也可分别抽象为类。
1.2 地质灾害危险性区划分析模型的面向对象设计
依据上述分析,以UML 为工具设计的地质灾害危险性区划分析模块的类图如图1
所示。
图1 地质灾害危险性区划分析模块类图
Fig.1 The class diagram of the geological hazards zonation model
单元格图层类用于描述单元格。这是因为单元格划分是在整个研究区内进行,组合各单元格即形成单元格图层,模型计算时将遍历该图层中的所有单元格。类CGridLayer 是抽象类,定义了单元格图层所提供的公共接口,这些接口的实现与系统所依赖的GIS 平台有关;类CModel 是描述模型的抽象类,是各具体模型类的基类,定义了它们所提供的公共接口;类CFactor 是描述评价因子的抽象类,是各具体评价因子的基类,定义了它们所提供的公共接口。图中类CModel 和类CFactor 之间的聚合关系表示模型耦合多元信息的特点;类CM odel 和类
CGridLay er 之间的依赖关系表示模型基于单元格进
行分析计算的关系。
模块的设计目标包括:1)将CGridLay er 、CFactor 和CModel 所定义的公共接口作为模块与系统之间的接口,基于这些接口应能驱动执行单元格划分、评价因子信息重采样以及模型计算方法的运行等地质灾害危险性区划分析的全部流程,并且向模块中添加新模型或修改现有模型时,无须修改现有的接口定义,从而保证模块具有良好的可扩展性;2)合理设计模块和GIS 平台的中间层,实现两者的分离,便于模块在不同GIS 平台间的移植。针对前一目标,模块主要接口的设计情况如下。
(1)单元格划分方法。单元格划分接口由类CGridLayer 定义。如前文所述,地质灾害危险性区划分析单元格从形态上可分为规则与不规则两类。本文设计的单元格划分接口实现了不规则单元格的划分,它同样适用于规则类型单元格的划分。接口设计的主要思路是,对于GIS 图层(点、线或多边形图层)中的空间对象,根据其属性可对其任意组合形成/单元格0。即用户可以指定图层属性表中某字段为单元格划分标识,在该字段上具有相同属性值的空间对象划归同一单元格。规则单元格的划分如图2所示。依据图2a 中的模版对图2b 中的空间对象划分单元格,得到图2c 所示结果:多边形1被分为8部分,依次编号为1-1至1-8;多边形2被划分为3部分,依次编号为2-1至2-3。每部分均应划归相应的单元格,如1-1属于单元格A,1-5属于单元格E,1-6和2-3属于单元格F 等。利用GIS 的矢量叠置分析功能便可完成图2c 的划分,
并且能在结果中保存划分模版的相关信息。基于M apGIS 615二次开发平台实现上述划分时,得到的结果图层中包含11个多边形对象,每个对象的属性均记录了模版中与其相交的单元格的编号,如多边形1-8和2-1的属性记录中均保存了单元格编号H 。因此很容易根据空间对象的属性将其组合以确定其所在的单元格。将单元格划分模版换成不规则模版,依据上述方法即可完成不规则单元格的划分。
图2 规则单元格划分
Fig.2 The regular grid dividing
与单元格划分接口配套的其他接口包括:取划
39第第3期        吴自兴等:基于U M L 和面向对象方法的GIS 应用模型设计与实现
分结果中有效单元格的总数,取指定单元格的全局ID,取指定单元格所包含的空间对象的数目,遍历单元格内所包含的空间对象等。
(2)评价因子信息重采样方法。由于单元格是一个完整的计算单元,因此常用的评价因子信息重采样方法是对单元格内所包含空间对象的属性进行统计得到采样值。一方面由类CGridLayer提供单元格内空间对
象属性值的基本统计分析接口;另一方面类CFactor定义了完成因子信息重采样计算的接口(不带参数),而该接口的实现则由其子类提供,以决定具体采用的重采样方法。类CGridLayer定义的相关接口包括:取某单元格内某空间对象的属性值,取该属性值的最大/最小值、平均值或属性值的和,设置属性值的方法等。
基于类CGridLayer定义的上述访问单元格以及单元格内空间对象的接口,各评价因子类(类CFac-tor的子类)能实现遍历单元格,统计单元格内的因子信息值,并将计算结果保存在各单元格,即完成因子信息的重采样计算。常见的重采样计算方法如计算单元格内空间对象属性值的算术平均值、加权平均值、密度值等。
(3)模型运行方法。模型的分析计算过程可分为两部分,一是驱动各评价因子完成其在单元格内信息的重采样计算,只需调用类CFactor定义的信息重采样接口即可完成;二是基于重采样结果进行危险性分析,需依据具体分析模型的计算要求实现。
各模型类在初始化时将生成其所包含的因子对象。类CModel定义了驱动各因子对象完成其信息重采样的接口(不带参数),该接口(由类CM odel的各子类实现)遍历模型包含的评价因子对象,逐个调用其信息重采样计算方法。类CModel也定义了启动危险性分析过程的接口(不带参数),该接口(由类CModel的各子类实现)根据各单元格保存的评价因子重采样值完成该单元格的地质灾害危险性评价分析;通过类CGrid
Layer定义的设置单元格内空间对象属性值的方法将分析结果保存至相应单元格。类CGridLay er、CFactor以及CModel中定义的接口全为纯虚函数,以运用面向对象方法的多态性。
在上述设计方案中,单元格图层对象是一个纯粹的抽象概念,一方面评价因子的信息重采样以及模型的分析计算都基于它来完成,而不是直接调用GIS平台的功能接口;另一方面,具体实现其所定义的接口时,又涉及访问和操作GIS图层中的空间对象,与实际采用的GIS平台相关。因此它可作为应用分析模型与底层GIS平台的中间层,实现模型计算与底层GIS平台的相互隔离,便于模块在各GIS 平台之间的移植。
2应用模型模块的实现
鞍山市地质灾害评价预警系统以M apGIS615为底层GIS平台,其提供二次开发功能接口和VC6开发环境。系统以鞍山市当前发生频率较高、破坏性较大的地质灾害(主要包括滑坡、泥石流和岩溶塌陷)为研究对象,实现了6种滑坡、泥石流灾害危险性区划分析模型和4种岩溶塌陷危险性区划分析模型。其中,滑坡泥石流灾害分析涉及16个独立评价因子,岩溶塌陷灾害分析涉及20个独立评价因子。从类CModel派生10个子类分别实现上述10种灾害分析模型;从类CFactor派生了36个子类分别实现上述36个独立评价因子,并且各因子可在不同模型中复用;为实现单元格图层,从类CGridLayer派生类CM apGISLayer。该类基于M apGIS615平台的图层)))工作区实现了类CGridLayer所定义的所有接口。模块实现后与GIS平台集成、运行的流程如图3所示。
图3应用模型模块与GIS平台集成运行示意
Fig.3The integration of application analysis model and GIS platform 图3中,单元格图层的接口可基于不同GIS平台实现。如要将模块移植到其他GIS平台(如Ar-cGIS),只需从类CGridLayer派生出其他子类,并基于该平台的功能接口实现基类所定义的接口,无需修改各模型和因子类的内部实现。因此,该模块具有较好的可移植性。同时,修改现有模型或添加新模型时,均仅限于模块内局部范围的改动,不涉及模块与GIS平台之间接口的调整,因此具有较好的软件维护和可扩展性。图4和图5就是模块中多种模型实际运行的结果。图4是基于流域单元和人工神经网络模型的鞍山市岫岩县泥石流灾害危险性区划结果;图5是基于规则单元格和模糊评判方法的鞍山市区岩溶塌陷灾害危险性区划结果。
40
对象模型是什么
第地理与地理信息科学第23卷
图4 鞍山市岫岩县泥石流灾害危险性区划结果
Fig.4 Debris flow hazard zonation in Xiuyan,Anshan City
图5 鞍山市市区岩溶塌陷灾害危险性区划结果
Fig.5 K arst hazard zonation in the downtown area of Anshan City
3 结语
本文提出的设计方案具有良好的可扩展性和可移植性。在此基础上,可平滑过渡到组件式应用模型模块的设计和实现;亦可进一步研究模型库的设
计和实现,使其在独立于具体应用的前提下,对专业模型进行分类管理和维护,并支持模型动态生成、存储、查询、运行和分析应用。
参考文献:
[1] 刘传正,李铁锋,温铭生,等.三峡库区地质灾害空间评价预警
研究[J].水文地质工程地质,2004(4):9-19.
[2] 张永波.李向全.张礼中,等.地质灾害信息处理与决策支持系
统的设计与开发[J].地理学与国土研究,2002,18(4):25-27.[3] 张桂荣,殷坤龙,刘礼领,等.基于W ebGIS 和实时降雨信息的
区域地质灾害预警预报系统[J].岩土力学,2005,26(8):1312-1317.
[4] 丛威青,潘懋,任志,等.泥石流灾害多元信息耦合预警系统
建设及其应用[J].北京大学学报(自然科学版),2006,42(4):446-450.
[5] 丛威青,潘懋,李铁锋,等.基于GIS 的滑坡、泥石流灾害危险性
区划关键问题研究[J].地学前缘,2006,13(1):185-190.[6] CARRARA A ,GUZZETTI F.U se of GIS technology in the pre -diction and moni tori ng of landslide hazard [J ].Natural Hazard,1999,20(2):117-135.
[7] GUZZETTI F,CARRARA A,CARDINAL I,et al.Land-slide evalu -ation:A revi ew of current techniques and the appli cation i n a multi-scale study,Central Italy[J].Geomor-phology,1999,31:181-216.
Design and Realization of the GIS Application Model Based on UML and Object -Oriented Method
WU Zi-x ing,PA N M ao,CON G Wei-qing ,L I Guang-hui
(T he K ey L aboratory of Orogenic Belts and Cr ustal Evolution,M inistr y of Education,
College of Ear th and Sp ace Sciences ,Peking University ,Beij ing 100871,China)
Abstract:T he module of application analysis models is one of the key modules in a professional-application-o riented Geog raphical Information System(G IS).It .s required t hat the design and realization of the module should be extensible and portable.In this paper,t he design and realization of t he g eolo gical hazards zonation module,w hich w as a module in the geo logical hazards appraising and warn -ing system of Anshan City,Liaoning Province,China,was discussed.Acco rding to the solution that was proposed in this paper ,three abstract classes o f class CM odel,class CFactor and class CG ridL ayer w ere desig ned to present respectively t he sub module for g eolog ical hazards zonation analysis models,the sub module for zonation factors,and the sub module for analysis cells.T hese three sub modules with strong cohesion and loose coupling constructed the geological hazards zonation module,and any modification and ex tension to the super module would be limited in the thr ee sub modules.M eanw hile,the class CGridLayer was designed to be the mid -layer betw een the ge -olog ical hazards zonat ion module and t he general G IS platform,which shielded t he module from th
e trivialities of different GI S plat -forms,so the portability of the module was guaranteed.T he whole system was finally r ealized w ith t he M apGIS 6.5SDK and C 6.Key words:object-or iented method;GI S;geological hazards zonation
41第第3期        吴自兴等:基于U M L 和面向对象方法的GIS 应用模型设计与实现

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。