基于设计模式的面向对象制图综合软件.pdf
《基于设计模式的面向对象制图综合软件.pdf》由会员分享,可在线阅读,更多相关《基于设计模式的面向对象制图综合软件.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http:/3国家测绘局.国家三角测量和精密导线测量规范S.北京:测绘出版社,1975.4国家测绘局.国家水准测量规范S.北京:测绘出版社,1974.5清宏计算机工作室.V isual C+编程技巧M.北京:机械工业出版社,2001.收稿日期:2001210230.?修回日期:2002201221.作者简介:艾松涛,硕士研究生,现从事中国南极测绘数据库及相关信息系统研究。E-mail:DES IGNI NG AND I MPLEME
2、NTATI ON O F TRAVERS ENETWORK ADJUS TMENT PROGRAMAISongtao1LI ZhanrongZHANG Pe i(1Chinese Anta rctic Cente r of Surveying&Mapping,W uhan Unive rsity,129Luoyu Road,W uhan430079,China)ABSTRACTThis paper fully introduces the adjustment of lead net,presents the disposalprogram according to this idea,and
3、 gives an example.KEYWORDStraverse network;adjustment;program文章编号:100723817(2002)0620010204中图分类号:P283.7文献标识码:B基于设计模式的面向对象制图综合软件史佳顺朱斌贝倪成凤(上海师范大学数理信息学院,上海市桂林路100号,200234)摘要介绍了面向对象的技术以及设计模式思想在制图综合软件设计中的应用,在设计上使用工厂类的技术思想隐蔽地图数据的实现细节,使用算法类模板抽象了综合流程,使用函数类策略隐蔽地图综合步骤的实现细节,降低了地图数据处理与制图综合的具体算法之间的耦合度,使该系统对于综合过程
4、具有较高层次的抽象,具有高度的易扩充性和安全性。关键词设计模式;制图综合;综合算法;算法类制图综合是一个高度智能化的和具有创造性的作业过程,它是一个整体任务,包含了一系列不同性质的操作,可以分解为若干个子过程来实现。由于这些子过程之间缺少明确的内在或逻辑联系,使得这些子过程是以某种混合形式来组合应用。采用几何方法的自动制图综合过程大致概括为:内容的取舍、形状化简和矛盾解决。内容的取舍就是从大量的客观事物中选出最重要的事物制图,而舍去次要的事物。形状化简用于呈线状和面状分布的事物,去掉轮廓形状零碎部分,以突出事物的总体特征。比如在线状要素的自动综合方法中,有nth点算法、Douglas2Peuc
5、ker算法、垂距算法、角度算法等1。对某种事物进行形状简化时,要考虑到与其他事物的关系,使彼此之间能协调一致。如果对房屋进行化简时,夸大了原有面积,造成了与公路、河流等物的交叉,则必须恢复原来的位置关系。这时就需要有解决矛盾的算法去处理。GIS制图综合发展至今,发展了很多种线状要素的自动综合方法以及面状要素的自动综合方法2,但是往往针对某一类特定的地图有较好的综合效果。对于一个完善的制图系统,就不得不包括这些典型的算法模块,根据地图特征自动调用。随着技术的发展,制图综合的方法还会不断增加,从而导致原有的GIS制图综合系统发生大量的程序修改3。为了适应这种现状,期望有一个高安全性,易于扩充的系统
6、开发平台。概括地说,这样的开发平台应满足的条件有。易扩充性:当某一自动综合过程的方法发生变化时,重编译模块仅限于发生变化的过程算法模块,即需要实现处理算法相对于应用程序的透明。高抽象度描述:系统处理流程的变更也不应影响各自动综合过程算法模块。系统安全性:通过较高抽象层次的处理对象描述和隐蔽详细的对象生成以及管理方法等,减少应用程序编制过程中的错误因素。为此,开发了一个制图综合平台。该平台的软件结构基于面向对象的设计思想,广泛采用设计模式理论,具有易扩展与维护的特点,具体体现在:一个模块的修改不会牵涉到其他模块,修改是局域性的;新功能的加入不是通过修改已有代码,而是通过增加新代码实现;代码依赖界
7、面类,不依赖具体的实现,使得新旧代码无缝衔接;界面及设计模式的广泛使用,使得制图综合平台的几个模块可以并行开发,缩短了软件的研制周期。整个系统由地图元素描述模块和地图综合处理模块两部分组成。地图元素描述模块定义了地图数据元素,及其基本操作和存储方法;地图综合处理模块则定义了各种地图综合处理的流程和算法。01测绘信息与工程Journal of Geomatics2002Dec.;27(6)1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http:/1地图元素描述模块通用的矢量地图文件
8、包括地图元素的层次及其属性、地图元素的点列坐标等等信息,以及一些地图上的注释。各种格式的地图文件的组织方式不尽相同,这样就首先要包装这些地图文件。图1是 对 矢 量 地 图 文 件 数 据 的 模 块 表 示,其 中M apElementBase是地图元素的基类,包含了管理元素点列的M array,又定义了元素的旋转、移动等基本操作函数。M EPoly是道路、房屋等所有用多边形表示的地图元素,继承了M apElementBase基类。然而在地图综合中,必须将道路、房屋等元素分割出来,独立成两个数据系列进行处理,所以必须进一步细化数据层次。地图的综合过程需要综合使用多种综合方法,每一种综合方法又
9、仅作用于某些地图元素。作为一个实用的综合系统,必须使不同形式的地图元素具有统一的描述,提供统一的处理服务,这样才能简化地图元素的变更对程序造成的不良影响。图2描述了如何将数据进一步包装成可供综合算法过程使用的数据形式。接口类IFM E包含了前述的M EPoly类,并通过它派生出M EPolygon和M EPolyline两个类,分别对应地图中的道路和房屋。如果要增加新的地图元素,只要修改IFM E继承之即可。通过接口类IFM ESet实现了地图元素的有序表示,同时又隐蔽了采用M EA rray来形成道路和房屋序列的内部实现细节。而CM apGenR stFactory接口通过其子类M apGe
10、nData模板类封装了两套地图数据,分别代表处理前的数据和处理后的数据,可以通过它派生出具有相同输入输出接口的综合步骤处理类,使处理流程更加合理清晰。2综合算法的组织制图自动综合系统将综合过程抽象为内容的取舍、形状化简和矛盾解决3个步骤,每个步骤都有各自的若干种实现方法,具体生成何种方法,取决于CM apGenR stFactory子类M apGenData中的地图特征,其中用到了工厂类的设计模式;每个综合处理步骤都利用函数类技术进行抽象,提高了系统的易扩充性;整个综合流程又通过模板类技术得以抽象,提高了系统的安全性,如图3所示。在这里首先介绍一下设计模式中的工厂类技术4。图3综合算法模块Fa
11、ctory M ethod模式是为了分离客户与服务而采用的一种模式。在一个Factory类中定义一个用于创建对象的接口Factory M ethod模式方法,让子类决定实例化哪一个类。FactoryM ethod使一个类的实例化延迟到其子类,如图4所11测绘信息与工程Journal of Geomatics2002Dec.;27(6)1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http:/示。一般工厂类的设计思想用于下列几种情况:当一个类不知道它所必须创建的对象的类的时候。当一
12、个类希望由它的子类来指定它所创建的对象的时候。当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。在本制图综合系统中,由于使用何种综合方法,对于每一种地图都是不确定的,大部分是由程序根据地图的特性,比如城市还是乡村地图来自动选用,所以最顶层的父类不知道它所必须创建的综合处理流程对象的类,真正的决定权在于CM apGenR stFactory子类M apGenData中的地图特征,或者用户的综合方法选择。图3中的IFM apGen是一个Factory类的接口,图2中的CM apGenR stFactory由 其 派 生,类 中 的Genera
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 设计 模式 面向 对象 制图 综合 软件
限制150内