(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf_第1页
(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf_第2页
(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf_第3页
(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf_第4页
(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)基于组件技术和空间数据库的gis开发和应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉科技大学硕士学位论文第1 页 摘要 随着g i s 系统应用范围的日益普及,g i s 软件越来越大,越来越复杂,从而导致程序开 发周期变长并使得软件难以维护。同时,扩展原有的功能也将面临更大的风险。组件技术是 解决以上困难的有效途径之一。一个组件是二进制形式的软件功能模块,它能和来自其他软 件商的组件相互协同工作。组件技术的基本思路是在软件设计时,采用面向对象的思想,把 软件分成一个个相对独立的组件并分别加以实现,最后再将他们整合成自己所需要的软件。 基于a c t i v e x 技术的g i s 设计方法是目前获取和管理地理信息系统的有效方法,为用户 提供了互操作性g i s 的方法以及g i s 用户和地理信息数据服务间的高度灵活性。a c t i v e x 是 由微软公司推出的一种用于i n t e r n e t 的组件技术,它可以将一个大型的g i s 系统分解成相 对独立的多个组件,通过组件技术和o l e 、空间数据库等实现g i s 系统的开发。 o r a c l es p a t i a l 是o r a c l e 公司推出的空间数据库组件,该组件把相关函数和过程集成 在一起,可实现快速、高效的存储和分析空间数据。用o r a c l es p a t i a l 可以在单个数据库 实例中实现非结构化、有嵌套关系的空间数据的统一存储和管理。 本论文探讨了目前非常热门的g i s 技术,包括g i s 技术的由来、核心理念、相关工具和应 用的框架等,同时结合北京首安公司的实际课题“工业网络消防监控系统”,讨论了组 件式g i s 软件和空间数据库在地理信息系统中的应用。 首先,本文介绍了g i s 组件技术及北京朝夕公司的m a p g n g i n e 软件的基本功能和 m a p e n g i n e 的空间数据、属性数据的结构特点。由于m a p e n g i n e 是g i s 组件,本身不具备完 整的空间数据库,但可以与s q ls e r v e r2 0 0 0 、o r a c l e 或a c c e s s 等数据库相接合,实现数 据绑定,方便g i s 系统的开发。 然后,本文讨论了基于o r a c l es p a t i a l9 i 中的空问数据模型,研究了g i s 多源数据的 存储与管理,分析了矢量数据、栅格数据、元数据、图层、物理存储结构等几个相关概念, 探讨了对象关系模型中矢量和栅格数据存储的关键技术,这些技术对实际g i s 项目开发 具有指导意义。 本文中介绍的系统以m i c r o s o f tv i s u a ls t u d i o2 0 0 5 作为开发平台,使用o r a c l e 9 i 数 据库并利用其提供的s p a t i a l 功能部件完成的空间数据库的构建,所开发的基于组件技术的 6 i s 应用系统采用用户显示层、对外应用接口层和数据服务层的三层架构设计。该系统目前 已成功应用于北京首安公司的工业消防监控系统中,解决了消防监控系统中的关键技术问 题。 最后,根据项目中g i s 功能组件和空间数据库的实际应用效果,总结了o r a c l es p a t i a l 应用的成功经验和开发过程中应该注意的主要问题。 关键词:c o m 组件;o r a c l es p a t i a l 数据库:工业消防监控;g i s 空间数据组织;软件架构 第1 i 页武汉科技大学硕士学位论文 a b s t r a c t w i t ht h eg i ss y s t e ms o f t w a r ei n c r e a s i n gm o r ea n dm o r ep o p u l a r ,i ti sl a r g e ra n dm o l e c o m p l e xt h a nb e f o r e t h eg i ss o f t w a r ep r o g r a m m i n gi st i m e - c o n s u m i n gt od e v e l o pd i f f i c u l t l ya n d m a i n t a i nc o s t l y ,a n dh a v i n gr i s k yt oe x t e n dw i ma d d i t i o n a lf u n c t i o n a l i t y c o m p o n e n tt e c h n i q u ei s aw a yt of i g u r eo u ts u c hp r o b l e m s o n ec o m p o n e n ti sab i n a r ym o d u l e w h i c hc a nc o o p e r a t ew i t l l m o d u l e sf r o mo t h e rv e n d o r s m e n d e s i g n i n g t h e s o f t w a r ei sd i v i d e di n t oi n d e p e n d e n t c o m p o n e n t sb yu s i n gt h eo b j e c t - o r i e n t e dm e t h o d sa n da tl a s tt h e s ec o m p o n e n t sc a nb ei n t e g r a t e d i n t os o r v d a r e t h ed e s i g n i n gm e t h o do fg i sb a s e do na c t i v e xt e c h n i q u ei sa ne f f e c t i v et e c h n i q u et oa c c e s s a n dm a n a g e rt h eg e o g r a p h i ci n f o r m a t i o n i tp r o v i d e san e wm e t h o da b o u ts h a r e do p e r a t i o no ng i s b yu s e r sa n dh i g hf e a s i b i l i t yb e t w e e nt h eg i su s e r sa n dt h ed a t as e r v i c eo fg e o g r a p h i ci n f o r m a t i o n f o rt h e m 1 1 1 ea c t i v e xd e v e l o p e db ym i c r o s o f ti san e wt e c h n i q u eu s e di ni n t e m e t w h i c hc a n d e c o m p o s eat r e m e n d o u sg i ss y s t e mi n t os o m er e l a t i v eu n a t t a c h e dc o m p o n e n t s i ti sn o td i f f i c u l t t od e s i g nt h eg i ss y s t e ms o f t w a r eb yu s i n gt h ec o m p o n e n tt e c h n i q u e s ,o l et e c h n i q u ea n ds p a t i a l d a t a b a s e o r a c l es p a t i a ld e v e l o p e db yo r a c l ec o r p o r a t i o ni sac o m p o n e n to fs p a t i a ld a t a b a s e 1 1 l e c o m p o n e n tc a ni m p l e m e n tm e m o r i z i n ga n da n a l y z i n gd a t ae f f e c t i v e l yb e c a u s ei ti n t e g r a t e ss o m e r e l a t i v ef u n c t i o n sa n dp r o c e s s e s u s i n go r a c l e s p a t i a lc o m p o n e n t ,s p a t i a l d a t aw h i c hi s n o n s t r u c t u r a la n dn e s t i n gc a l lb em e m o r i z e da n dm a n a g e di na s i n g l ed a t a b a s e t h i st h e s i sd i s c u s s e sg i st e c h n o l o g yi n c l u d i n gt h es o u r c eo fg i s ,c o n c e p t i o n ,r e l a t e dt o o l s a n da p p l i c a t i o nf r a m e w o r k t h e n ,t h et h e s i sa n a l y z e st h ea p p l i c a t i o no fg i ss o f t w a r eb a s e d o n c o m p o n e n ta n ds p a t i a ld a t a b a s ei ng e o g r a p h i c a li n f o r m a t i o ns y s t e ma s s o c i a t i n gw i t hap r o j e c t n a m e d i n d u s t r yn e t w o r kf i r ep r o t e c t i o ns y s t e m ”i ns u r e l a n dc o m p a n y f i r s t l y ,t h i st h e s i si n t r o d u c e sg i sc o m p o n e n t st e c h n i q u e ,s u c ha st h ef u n d a m e n t a lf u n c t i o no f m a p e n g i n es o f t w a r e ,s t r u c t u r a lc h a r a c t e r i s t i co fs p a t i a ld a t aa n dp r o p e r t yd a t a m a p e n g i n ei sa p a r to fg i sc o m p o n e n t st e c h n i q u ea n di td o e s n th a v ee n t i r es p a t i a ld a t a b a s e i no r d e rt ob i n dw i m d a t a , i tc a nb ec o n n e c t e dw i t ho t h e rd a t a b a s e ,s u c ha so r a c l e ,s q ls e r v e r2 0 0 0o ra c c e s s s e c o n d l y , t h ea u t h o ra n a l y z e ss o m ec o n c e p t i o n sa b o u tv e c t o rd a t a ,l a t t i c ed a t a ,m e t a d a t a , l a y e r , c o o r d i n a t es y s t e ma n dp h ) r s i c a lm e m o r ys t r u c t u r ea n da n a l y s e st h es t o r a g ea n dm a n a g e m e n to f t h e m u l t i p l e s o u r c ea b o u tg i sb yd i s c u s s i n gt h es p a t i a ld a t am o d e li no r a c l e9 i t h e nw ed i s c u s st h e k e yt e c h n i q u e sa b o u tm e m o r i z i n gv e c t o ra n dl a t t i c ed a t ai no b j e c t r e l a t i o nm o d e la n dt h e s e a n a l y s e sa x es o m eg u i d i n gs i g n i f i c a n c ef o ra c t u a lg i sp r o j e c td e v e l o p m e n t t h e nt h et h e s i sd e m o n s t r a t e st h es y s t e mw h i c ht a k e sm i c r o s o f tv i s u b 1s t u d i o2 0 0 5a st h e 武汉科技大学硕士学位论文 第1 i i 页 d e v e l o p m e n tp l a t f o r m t h ed a t a b a s eu s e di nt h es y s t e mi so r a c l e9 ia n di m p l e m e n tt h ef r a m e w o r k o fs p a t i a ld a t a b a s ew i t ht h es p a t i a lc o m p o n e n t sp r o v i d e db yo r a c l e9 i t h eg i sa p p l i c a t i o ns y s t e m b a s e d - o nc o m p o n e n tt e c h n i q u ea d o p t st h r e e - t i e ra r c h i t e c t u r ew h i c hi sc o m p o s e do fu s e rd i s p l a y l a y e r , e x t e r n a la p p l i c a t i o ni n t e r f a c el a y e ra n dd a t as e r v i c el a y e r t h i ss y s t e mi sm a i n l ya p p l i e di n t h ei n d u s t r yf i r ep r o t e c t i o nn e t w o r km o n i t o rp r o j e c ta n ds o m ek e yp r o b l e m si nf i r ep r o t e c t i o n m o n i t o rs y s t e mh a v eb e e ns o l v e d f i n a l l y , s o m es u c c e s s f u le x p e r i e n c e so fo r a c l es p a t i a ld a t a b a s ea n dn o t i c e a b l ep r o b l e m sa l e s u m m e du pa c c o r d i n gt ot h ee f f e c to fa p p l i c a t i o na b o u tg i sf u n c t i o n a lc o m p o n e n t sa n ds p a t i a l d a t a b a s e k 郫v o r d s :g i s ,c o mc o m p o n e n t ,o r a c l es p a t i a ld a t a b a s e ,i n d u s t r yf i r ep r o t e c t i o nm o n i t o r ; g i ss p a t i a ld a t as t r u c t u r e ,s o f ta r c h i t e c t u r e 武汉科技大学硕士学位论文 第1 页 1 1 选题的意义 第一章绪论 随着计算机技术的飞速发展,地理信息系统g i s “1 ( g e o g r a p h i c a li n f o r m a t i o ns y s t e m ) 技术得到了长足的发展,并逐渐成为i t 技术研究的热点。作为一种采集、存储、管理、分析、 显示与应用地理信息的计算机系统,它在资源环境调查、资源环境评估、区域和城市发展规 划、公共设施管理、交通管理和安全等领域发挥着日益重要的作用。随着我国国民经济的持 续发展,信息技术的进步,人们对于信息、物质的交流将更加频繁。在这些频繁的交流中, 有7 0 的信息与空间位置有关。因此有必要对这些信息进行有效的管理与分析。g i s 是一门综 合性的技术,它已经与其他技术相互融合。g i s 的应用需要其他技术的支持,其中数据库技 术在g i s 中的应用中尤为重要。尤其当g i s 对人们的各种活动提供数据服务,与国民的日常生 活结合在一起时,g i s 与数据库技术的集成成为必然。1 。 组件式g i s 是近年计算机软件技术的发展而产生的,它代表了g i s 系统的发展方向。组 件式g i s 具有标准的组件式平台,各个组件不但可以进行自由、灵活的重组,而且具有可视 化的界面和使用方便的标准接口。其中,最主要的组件技术是c o m 。基于c o m ,m i c r o s o f t 推 出了a c t i v e x 技术。新一代的组件式g i s 大都采用a c t i v e x 技术来实现的。开发者不必掌握 专门的g i s 系统开发语言,只需熟悉基于w i n d o w s 平台的通用集成开发环境,掌握了组件式 g i s 控件的属性、方法和事件,就可以利用各种可视化开发语言和控件实现g i s 系统。所以, c 0 m 组件式g i s 在系统无缝集成和灵活性方面具有优势,代表了g i s 系统的发展方向。 空间数据库作为任何g i s 的核心。3 ,是g i s 发展的技术支柱。同时空间数据库也是数据库 技术的一个前沿课题,它突破了传统的数据库主要基于文字、数字信息的应用,可以用于存 贮和分析大量的具有复杂结构的信息。它是一个存贮空间和非空间数据的数据库系统,其数 据模型和查询语言中能提供空间数据类型,可以进行空间索引,并且提供空间查询和空间分 析的方法。作为一种有效的工具,地理信息系统数据库可以很好地满足人们对空间数据的管 理和查询的需要,它作为一种应用技术从数据库技术中分化出来,其目的是为用户对空间数 据的查询和操作提供便捷的服务。g i s 数据库是数据库技术和程序设计语言、软件工程和人 工智能等技术相互融合、共同发展的结果“,它把被管理的地理空间数据从一维推向二维、 三维甚至更高,且具备对地理对象进行模拟和推理的功能。 1 2 空间数据库的发展现状 空间数据库管理系统是g i s 的核心,每一次空间数据库管理系统的技术变革都带来了g i s 软件技术的革命。由于空间数据的复杂性和特殊性,一般的数据库难以满足要求,因而围绕 第2 页武汉科技大学硕士学位论文 空间数据的管理,有以下几种管理模式 1 2 1 文件与关系数据库混合管理系统 文件与关系数据库混合管理系统一般用文件管理系统管理空间数据,而用商用关系数据 库来管理属性数据,它们之间的联系通过目标标识或内部标识码进行连接。导致这种连接方 式的主要原因是早期的数据库管理系统不提供高级编程语言( 如c 接口) ,只能采用数据库 操纵语言。这样,通常会启动两个系统( g i s 空间数据管理系统和关系数据库管理系统) ,甚 至是两个系统来回切换,使用起来很不方便。 1 2 2 全关系型空间数据库管理系统 全关系型空间数据库管理系统5 1 是指空间数据和属性数据都用现有的关系数据库管理系 统管理。关系数据库管理系统的软件厂商不作任何的扩展,由g i s 软件商在此基础上进行开 发,使之不仅能管理结构化属性数据,而且能管理非结构化的空间数据“1 。其管理空间数据 有两种模式,一种是基于关系模型的方式,空间数据按照关系数据模式组织,这种方式在访 问空间数据时需要复杂的关系连接运算,非常费时;另一种是将空间数据的变长部分处理成 二进制块字段,这种方式省去了前面所述的大量关系连接操作,但二进制块读写效率要比定 长的属性字段慢得多,特别是涉及到对象的嵌套,速度更慢。 大多数商用g i s 平台采用关系型数据库管理系统( r d b m s ) ,在处理复杂数据、进行复杂操 作时有很多限制难以克服。r d b m s 向对象关系数据库管理系统( o r d b m s ) 或面向对象的数据库 管理系统( 0 0 d b m s ) 过渡是大势所趋。 1 2 3 面向对象空间数据库管理系统 面向对象模型最适应于空间数据的表达和管理,它不仅支持变长记录,而且支持对象的 嵌套、信息的继承与聚集。面向对象的空间数据库管理系统允许用户定义对象和对象的数据 结构以及它的操作。 面向对象的方法具有很强的数据建模能力。首先,通过类定义机制,数据库设计者可以 创建新的数据类型,直接完成实体的建模,而不会局限于预先定义的数据类型与操作;第二, o o d b m s 的指针数据类型在表达目标之间的关系时十分有利;第三,通过继承可以表达类型 子类型之间的关系,子类可以从超类中继承变量与方法;第四,目标行为建模扩展了建模的 应用范围。此外,不需要对数据类型进行标准化可以大量减少数据冗余或r d b m s 中的关系表 数目。 对于g i s 应用,最初时倾向于采用o o d b m s ”1 的方法,它所提供的建模语义的丰富的可扩展 性及其与编程语言紧密结合的完整计算方法,非常具有吸引力。但是由于0 0 d b m s 缺乏有效的 武汉科技大学硕士学位论文第3 页 查询语言支持,管理与维护的复杂度很大,在g i s 界并没有引起广泛的共鸣。相反,随着各 大r d 跚s 厂商对关系数据模型大刀阔斧的有效扩展和商业化实现,使得面向对象的关系数据 库管理系统重新焕发了无穷的生命力,也成为当前海量空间数据管理的有效载体。对象关系 数据模型也成为空问数据表达的有效技术手段伽。 1 2 。4 对象数据库管理系统 由于直接采用通用的关系数据库管理系统的效率不高,而非结构化的空间数据又十分重 要。所以许多空间数据系统的软件商纷纷在关系数据库管理系统中进行了扩展,使之能直接 存储和管理菲结构的空间数据,知i n f o 耶i i x 、o r a c l e 等推出了空间数据专用模块,定义了点, 线、面、圆、长方形等数据对象的a p i 函数。这些函数,将各种空间对象的数据结构进行了 预先的定义,用户使用时必须满足它的数据结构的要求,用户不能根据g i s 的要求再定义。 这种扩展的空间对象管理模块主要解决了空间数据变长记录的管理,虽然它仍然没有解 决对象的嵌套问题,空间对象也不能由用户任意定义,但效率要比前面所述的二进制块的管 理高的多,这种关系数据库通过扩展数据模型而带来巨大优势。 通过允许增加新的、用户定义的抽象数据类型( a d t s ) 及面向对象编程语言的其他特征, 鲡继承、操作爵数、封装等提高r d b m s 的数据类型系统。由于是基于r d b 赫s 的扩展,r d 粥上 大量的工作成果得以保留。 1 3 课题来源和本论文所做的工作 随着g i s 技术的不断发展,组件的使用在g i s 中也越来越广泛。组件技术可以解决很多传 统g i s 系统中难以解决的诸如程序开发周期变长以及软件的难以维护的问题,而且可以使各 功能模块的结构清晰化。本课题在实际项目开发中引入了组件技术,较好地解决了g i s 应用 系统开发中的问题。 本文主要的工作是在北京首安公司的工业网络消防监控系统中实现g i s 功能,针对项目 的具体需求,采用m i c r o s o f tv i s u a ls t u d i o2 0 0 5 开发平台,在g i s 组件方面我们选择了北 京朝夕公司提供的m a p e n g i n e ,因为该组件与开发平台具有良好的兼容性,而后台数据库选 择的是0 r a l c e g i 及其s p a t i a l 功能组件。 本文首先讨论t m a p e n g i n e 的相关技术、实际应用,以及如何利用m a p e n g i n e 在工业网络 消防监控系统中完成g i s 技术所需要的功能。在了解g i s 和遵循开放g i s 规范的基础上。对 m a p e n g i n e 组件进行了二次封装,根据实际工程需要将其提供的子功能进行了整合,最后对 接口函数的正确性进行了验证。同时分析了现有g i s 软件的数据库机制,根据消防监控系统 软件的实际需求,利用o r a c l e 数据库的s p a t i a l 组件,提出了g i s 组件加空间数据库的实现 方案。并最终实现了消防监控系统中的g i s 功能。 本文主要工作如下: 第4 页武汉科技大学硕士学位论文 ( 1 ) 研究了组件技术的特点和应用领域,总结了组件技术的发展和现状,分析了基于组 件技术的g i s 系统的当前进展。 ( 2 ) 研究了利用组件技术开发g i s 系统中的几个关键问题,并与其它开发方法进行了对 比,分析了组件式g i s 应用开发中的基本工作流程。 ( 3 ) 讨论t m a p e n g i n e 的各种相关技术,研究了m a p e n g i n e 的开发框架,在遵循开放g i s 规范的基础上,对m a p e n g i n e 组件进行了二次封装,根据实际工程需要将其提供的子功能进 行了整合,对其原理进行了分析并给出了一个基本应用原型。 ( 4 ) 具体分析了0 r a c l e 9 is p a t i a l 与空间数据库的存储技术,对矢量数据结构和栅格数 据进行了比较分析,在分析g i s 空间数据模型的基础上提出了g i s 数据存储方案。 ( 5 ) 结合实际应用需求,将g i s 组件进行了二次封装,在工业网络消防监控系统中使用 o r a c l e 提供的s p a t i a l t 具来架构空间数据库,将组件技术与o r a c l es p a t i a l 技术成功应用 于实际项目开发,取得了良好的开发效果。 1 4 本论文的组织和结构 论文分为六章。各章内容简要如下: 第一章绪论,对课题的研究背景、国内外研究的发展现状、课题的主要工作进行了综 述。 第二章组件技术部分,主要讨论了g i s 组件技术封装,介绍j m a p e n g i n e 组件,利用面 向对象的方法,针对m a p e n g i n e 提供的平台,详细分析了g i s 系统中涉及到的各类对象。并以 北京首安公司的工业网络消防监控系统为例,对m a p e n g i n e 组件提供的属性、方法和消息进 行了封装并给出了部分功能的实现代码。 第三章空间数据的理论研究部分,对空间数据的特点进行了分析,介绍了空间数据组 织与管理领域常用的三种常用数据模型:层次模型、网络模型和关系模型,并对矢量数据结 构和栅格数据进行了比较分析。 第四章介绍了o r a c l e 数据库中提供的空间数据库的相关技术和o e i 程序接口的调用,并 对空间数据库系统的架构进行了分析。 第五章设计与实现了结合组件技术和o r a c l e 9 is p a t i a l 技术的工业网络消防监控中的 空间数据库。介绍了空间数据库系统的g i s 功能实现过程,并给出了该系统的部分运行效果。 第六章为本文研究工作的总结与展望。对组件式开发的应用实例以及消防监控系统中 对空间数据库技术的应用进行了总结,给出了基于组件技术和空间数据库的g i s 应用的发展 趋势和下一步工作的重点。 武汉科技大学硕士学位论文第5 页 第二章组件式软件与g i s 在传统的面向对象编程语言中,对象的继承机制提供了类一级的重用。1 ,但这只是源代 码级的重用,在代码不可知的情况下,就变得毫无意义了。同时,由于系统应用越来越复杂, 程序越来越大,开发难度也相应增大。当一个新的版本推广到市场后,如果要对某个部分进 行修改或加强,就要对整个系统代码进行重新编译和测试,最后再提供给用户。显然这将使 得软件的开发工作越来越困难,开发周期越来越长,维护费也越来越高,并且使功能的扩展 变的危险且难行。 从软件模型角度考虑,最直观的方法是:把一个大的应用系统按照功能划分成一个个相 对独立的子系统,各个子系统之间通过定义好的接口进行通信、联系。而具体的实现在子系 统间是相互透明的,也就是说对子系统而言,并不需要知道别的子系统是如何实现的。这种 子系统被称之为组件。一个设计良好的应用系统往往被切分成一些组件,组件可以单独开发、 单独编译、单独调试和测试,甚至根据客户需要,出售客户所需的组件。当所有的组件开发 完成后,把他们组合在一起就得到了完整的应用系统。当系统的外界软硬件环境发生改变或 用户的需求发生变化时,并不需要对所有的组件进行修改,而只需要对受影响的组件进行修 改,然后重新组合便可得到新的升级软件。 2 1c 伽技术 c o m 组件对象模型( c o m p o n e n to b j e c tm o d e l ) ,是一种允许对象之间跨进程、跨计算机 进行交互( i n t e r a c t ) 的技术,并且使得这种交互容易得好像在本地计算机同一进程中进行一 样。 2 1 1c 伽结构 c o m “”不是一种面向对象的语言,而是一种二进制标准,它定义了组件对象之间基于这 些技术标准进行交互的方法。c o m 所建立的是一个软件模块与另一个软件模块之间的链接, 当这种链接建立之后,模块之间就可以通过称之为“对象接口”的机制来进行通信,进而实 现c o m 对象与同一程序或者其它程序甚至远程计算机上另一个对象之间的传递。 c o m 为组件和应用程序之间进行通信提供了统一标准,为组件程序提供了一个面向对象 的活动环境。c o m 标准包括规范和实现两大部分:规范部分定义了组件和组件之间的通信机 制,这些规范不依赖于任何特定的语言和操作系统,只要遵循该规范,任何语言都可以作为 组件开发的原始语言;实现部分是指c o m 库,c o m 库为c o m 规范的具体实现提供了一些核心服 务。图2 1 表示了c o m 组件、c o m 对象与c o m 接口三者之间的关系。 第6 页武汉科技大学硕士学位论文 图2 1c o u 组件,o 呲对象与0 叫接口三者之间的关系 c o m 对象和客户之间的相互作用是建立在客户服务器模型上的,客户服务器模型的最 大优势就是它的稳定性,正是这种稳定性为c o m 奠定了基础。另外,在客户服务器模型的基 础上,c o m 技术灵活地扩展了这一模型。在图2 2 中,每个箭头表示了一个客户一服务器关系。 图2 2 ( a ) 表示了一种简单的客户服务器模型模式;在图2 2 ( b ) 中,对象1 既是客户又是服务 器,它不但是对象2 的一个客户,又为客户提供服务。对象2 不仅为客户提供服务,还为对象 1 提供服务。在该模型中,对象1 由客户直接创建,而对象2 既可以由对象1 创建,又可以由客 户刨建;图2 2 ( c ) 和图2 2 ( d ) 分别表示了c o m 中两种重要的对象重用结构:包容 ( c o n t a i n m e n t ) 和聚合( a g g r e g a t i o n ) 。对于客户来说,它只知道对象1 的存在,而并不 知道对象2 的存在,但对象1 在某些服务的实现中用到了对象2 的某些服务。图2 2 ( c ) 和图 2 2 ( d ) 所表示的两种模型的区别在于,在图2 2 ( c ) 中,当用户调用到对象2 的服务时,由对 象l 调用对象2 的服务然后将服务结果传递给客户的,这是一种间接的调用,而在( d ) 中,对 象l 直接把客户对服务的调用转移给对象2 ,由对象2 直接对客户提供服务,这是一种直接调 用。 c o m 对象l 一对象2 l ( c ) 国 图2 2c o m 的客户服务器模型扩展 武汉科技大学硕士学位论文第7 页 2 1 20 叫组件对象接口 c o m 对象的客户与对象之问通过接口进行交互,c o m 规范的核心内容是关于接口的定义。 在软件重用上,c o m 同传统的a p i 相比具有很大的优势。传统的a p i 一般是通过d l l 动态链 接库来实现的,在函数声明中也可以基本实现组件程序的重用性,可以将两个程序连接起来, 但是这种a p i 存在以下两个主要问题: ( 1 ) 当a p i 函数非常多的时候,使用不方便,需要对函数进行有效的组织。例如,w i n d o w s 系统的a p i 函数有3 0 0 多个,编程接口面太宽,不利于接口层的管理。 ( 2 ) a p i 函数需要标准化,需按统一的调用方式进行处理,以使用不同的语言编程实现。 参数的传递、参数类型、函数返回处理都需要标准化。 c o m 定义了一套完整的接口规范,不仅弥补了a p i 作为组件接口的不足,另外发挥了组件 对象的优势,并且还实现了组件对象具有的多态性。 在c o m 接口中最常用的是i u n k n o w n 接口,其它所有的c o m 接口都从该接口继承过来, i u n k n o w n 接口提供了两个非常重要的特性:生存期控制和接口查询。i u n k n o w n 接口引入了 “引用计数”机制,可以有效地控制对象的生存期。另一方面,如果对象实现了多个接口, 初始化时,对象不可能提供所有接口指针,它只会拥有一个接口指针,这时,用户可以使用 接口查询的方法来获得其它接口。在i u n k n o w n 接口中定义了三种方法:q u e r y i n t e r f a c e a d d r e f , r e l e a s e ,所有的c o m 接口都可使用这三种方法1 。 2 2 组件式g i s 传统g i s 开发工具存在开发方式不灵活,而且开发成本较高,在相当大的程度上限制了 g i s 应用领域的发展。而组件式g i s 技术,则可以比较理想的解决这些弊端。通过这种技术, 可以降低系统开发的巨大开销,同时也能达到高效无缝的系统集成o ”。 2 2 1 组件式g i s 的优势 组件式g i s 是当今g i s 的发展趋势。目前大多数g i s 软件公司把开发组件式g i s 软件作为一 个重要的发展战略。与传统的g i s 系统相比,组件g i s 的优势在于:组件技术给g i s 带来全新 的开发方式,基于组件的g i s 可以嵌入到任何开发环境中,使用通用的v c + + 3 1 、v b 、d e l p h i 、 f o x p r o 及p b 等语言环境,可以充分利用这些语言环境的可视化功能“町。而传统的g i s 开发环 境面临挑战,传统g i s 开发环境采用专门的语言,有庞大的函数库,普通技术人员难以掌握。 组件式的g i s ,其功能组件可以被封装成能实现与具体任务最紧密相关的功能模块。因而 小巧、灵活,可以方便地进行组装和嵌入。在一些非专业g i s 系统中,如一般的m i s 系统中, 也可以很方便的利用g i s 组件实现数据的可视化或地图的显示等任务。g i s 组件由于只为特定 功能定制,一方面降低了系统的复杂性,另一方面增强了复用性。 因为组件技术已经完全标准化,所以可以利用其创建平台无关的大型地理信息应用系 统,方便地进行多系统协同、互操作和数据的共享与交换,并使其符合o p e n g i s 规范“娜。 o p e n g i s 规范为所有的软件开发者提供了一个详细的公共界面模板,以便开发出来的软件能 第8 页武汉科技大学硕士学位论文 与其它软件开发者开发出来的软件兼容“”“”“”。 2 2 2 组件式g i s 与用户的交互 组件式g i s 与用户之间通过属性、方法和事件进行交户。 属性( p r o p e r t i e ) :描述控件性质的数据,可以通过修改属性值来改变控件和对象的性 质,在控件内部,属性通常对应于变量。 方法( m e t h o d s ) :指控件的动作,例如,增加图层( a d d l a y e r ) 通过调用方法可以让 控件执行打开地图,添加数据等操作。在控件内部,方法对应于函数。 事件( e v e n t s ) :指控件的响应( r e s p o n s e ) ,当进行某些动作时激发一个事件,程序就 响应该事件。例如,用鼠标在地图上选择某城市,控件会产生选中事件,通知程序有要素被 选中,程序可以作进一步的处理。 2 2 3 基于组件技术的g i s 系统结构 基于组件技术的g i s 系统结构如图2 3 所示。 图2 3 基于组件的g i s 系统结构图 在图2 a c e ,g i s 应用接口是指由二次开发人员利用g i s 组件开发的,面向某些特殊应用 领域用户的应用程序,它可以是基于桌面或网络环境而开发的。 g i s 组件层对用户提供g i s 功能的接口,但是屏蔽了其实现细节。g i s 组件层作为用户与 g i s 服务器之间的沟通桥梁,一方面要为用户提供功能明确、便于重用的接口组件;另一方 面又要与服务器实施有效快速的通信及数据传输,并过滤平台异构性。 g i s 数据存储层和g i s 数据服务器部分是系统中最底层的组成部分。数据存储层实现g i s 数据的存储和管理。g i s 数据服务器通过访问g i s 存储层的数据,向g i s 组件层提供服务。 武汉科技大学硕士学位论文 第9 页 2 3m a p e n g i n e 的开发方法 m a p e n g i n e 是基于a c t i v e x 技术的可编程控件,它为开发人员提供了一个快速、易用、 功能强大的地图化组件。它是一个o c x 组件,可以被快速集成到开发工具中。在v b ,d e l p h i 和v c 等可视化开发环境中,只需在设计阶段将m a p e n g i n e 控件放入窗体中,并对其进行编程, 设置属性或调用方法或相应事件,即可实现数据可视化、专题分析、地理查询和地理编码等 丰富的地图信息系统功能。通过m a p e n g i n e ,可以完全按照开发人员的意愿在应用程序中加 入强大的制图功能。 2 3 1m a p e n g i n e 的数据格式 在m a p e n g i n e 中,图库是一个以“y j ) b ”为后缀的文件,用来保存所有空间信息,包括: 复合图、图层、专题等等。数据库用来保存所有的属性信息,数据库可以是m d b 或d b f 。 图层是最基本的图单位,也可以说是具有最小意义的图。例如:只记录道路分布情况的 道路图,只记录单位分布情况的单位图。 图层是有类别的。例如:这几张是道路图,那几张是单位图;那么,道路图和单位图就 是两种类别的图。由此,我们引入了图专题概念。所谓图专题,就是指图的类别。 图上的点、线或面被称之为实体,他们都表征了一定的实际意义。比如:道路图上的线 表示道路;单位图上的点的表示单位。可以看出,道路和单位是两种类型的实体,也就是说, 实体是有类别的。由此,我们引入实体专题概念。所谓实体专题,是指实体的类别。 那么如何定义具体一张图层上实体的类型? 经过分析,一类图上所允许的实体类型是同 样的。在这里使用图专题,它包含的实体专题来定义一类图允许包含的实体类型。例如:图 专题“道路图”允许包含“道路实体”,那么图专题为道路图的图层,道理图上面的线就可 以是道路。实际应用中,道路图上的点也可以表示单位,而道路图上的线不一定就是道路。 通过图专题和实体专题的关系都可以得到解决。至于图上的每一个实体到底是什么,还需要 进行其他操作才能最终确定。 根据实际需求,将若干图层叠加形成复合图。复合图是面对一个实际应用时,比如进行 道路施工,需要一张道路分布图,那么,仅仅只有道路的道路图就满足不了诸多需求,我们 需要知道道路的名称,需要知道道路在哪个街区等等,当我们将道路标注图、道路图、街区 图叠加在一起,就形成了一个复合图,一切问题迎刃而解。例如当我们进行电网维修时,可 以将电网标注图、电网图、道路图、街区图叠加形成电网分布复合图。 2 3 2m a p e n g i n e 体系结构 m a p e n g i n e 控件应用面向对象的方式来处理地理信息系统,对地理信息数据的操作实际 上是对类对象的操作。它由一系列的o b j e c t ( 对象) 和c o l l e c t i o n ( 对象集合) 组成,m a p 是最基本的对象。每个m a p 由c o m p o u n d m a p ( 符合图) 、m a p l a y e r ( 图层) 、e n t i t y ( 实体) 这三个对象及对象集合( c o m p o u n d m a p s 、m a p l a y e r s 、e n t i t i e s ) 来定义。其中,c o m p o u n d m a p 用来操作复合图,复合图由若干图层( l a y e r ) 组成;m a p l a y e r 用来操作地图图层;e n t i t y 第1 0 页武汉科技大学硕士学位论文 指存在于图层中的点、线、面或由点、线、面构成的组合实体,实体具有实体码( o i d ) ,实 体码在图库中是唯一的、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论