已阅读5页,还剩54页未读, 继续免费阅读
(机械电子工程专业论文)基于组件技术的gis系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于组件技术的g i s 系统设计与实现 摘要 随着g i s 应用技术在各个领域的不断深入,g i s 应用技术得到了 快速和长足的发展,目前已经形成了组件式地理信息系统( c o m g i s ) 这一研究热点。c o m g i s 是适应软件组件化潮流的新一代地理信息系 统,研究c o m g i s 技术在g i s 应用软件开发中的应用对于发展我国g i s 产业,促进g i s 大众化有着重要的意义。 论文着重阐述了“三台合一”g i s 系统的设计思想及设计过程, 实践了基于m a p x 组件和c # n e t 的二次开发方法。德清县公安“三 台合一”地理信息系统是在w i n d o w s 2 0 0 0 操作系统上,应用n e t 架 构并采用m a p x 的信息系统,使用c # 语言编程;数据库平台采用o r a c l e 数据库,运用一定的机制,保证了数据的完整性、安全性和一致性。 德清县公安“三台合一”地理信息系统实现了地图主界面、指挥预案 界面、图层控制界面以及地图控制功能、地图查询功能、鹰眼功能、 g p s 跟踪定位、长度量算与面积量算功能、地图输出功能、数据库管 理等功能,并对相关关键技术进行了详细论述。最后,对系统进行了 相关的测试和运用,获得了预期设计的效果。 本系统己经投入了正常使用,据客户反馈的信息,系统达到了设 计的性能目标,并且运行良好。本文所提出的“三台合一”g i s 系统 的开发模式,对我国“三台合一”g i s 系统的研究和发展具有一定的 促进作用,为“三台合一”g i s 系统的构建和应用增加了一套可供选 择的参考方案。 关键词:地理信息系统,组件,m a p x ,n e t 平台 t h ed e s l g na n dr e a l i z eo fg i s s y s t e mb a s e do nc o m g i s a b s t r a c t w i t ht h e a p p l i c a t i o nd e e p l y , a p p l i c a t i o nt e c h n i q u e o fg i sh a s d e v e l o p e dg r e a t l y , t h e r e s e a r c ho fc o m g i sh a sb e c a m eah o t s p o t c o m g i si san e wg e n e r a t i o ng i sw h i c ha c c o m m o d a t et h et i d eo ft h e c o m p o n e n ts o f t w a r e s t u d y i n gh o wt ou s et h et e c h n i q u eo fc o m g i s t o d e v e l o pt h eg i sa p p l i c a t i o ns o f t w a r eh a sg o tt h ei m p o r t a n tm e a n i n gt o d e v e l o p i n g t h e i n d u s t r y o fg i si nc h i n aa n dt o p r o m o t i n g t h e p o p u l a r i z a t i o no fg i s t h ep a p e re x p a t i a t eo nt h ed e s i g nc o n c e p ta n dp r o c e s so ft h eg i s s y s t e mo f ”s a nt a ih ey i , p r a c t i s i n gt h ed e v e l o p m e n tm e t h o db a s e d eo n m a p xc o m p o n e n ta n dc 拌n e t t h eg i ss y s t e mo fd e q i nd e v e l o pw i t h cs h a r pl a n g u a g eb a s e do n n e tf r a m ei nw i n d o w s 2 0 0 0o s ;u s i n g o r a c l ea si t sd a t a b a s ew i t hc e r t a i nm e c h a n i s mt oa s u r et h ei n t e g r a l i t y , s e c u r i t y ,c o h e r e n c eo ft h ed a t a t h eg i ss y s t e mo fd e q i nr e a l i z et h e m a i nm a pi n t e r f a c e ,c o m m a n dc o u n t e r p l a ni n t e r f a c e ,m a pl a y e rc o n t r o l i n t e r f a c ea n dm a pc o n t r o lf u n c t i o n ,m a pq u e r y ,e y ev i e wf u n c t i o n ,g p s t r a c k i n ga n dp o s i t i o n ,d i s t a n c em e a s u r ea n da r e am e a s u r ef u n c t i o n ,m a p o u t p u tf u n c t i o n ,d a t a b a s em a n a g e rf u n c t i o ne t c ,e x p a t i a t i n go nt h ek e y t e c h n i q u ei nd e t a i l s a n dt e s tt h es y s t e mi nt h ee n d ,o b t a i n i n gt h ep u r p o s e o fe x p e c td e s i g n n o w , t h es y s t e mh a sb e e nl a u n c h e di n t or u n n i n gn a t u r a l a c c o r d i n g t ot h ef e e d b a c kf r o mt h ec u s t o m ,t h es y s t e mh a sm e tt h ed e s i g na n d r u r m i n gw e l l t h ed e v e l o pm o d a lo ft h e “s a nt a ih ey i ”o fp o l i c et h i s p a p e rp u t t i n gf o r w a r dw i l lp r o m o t et h er e s e a r c ho ft h e “s a nt a ih ey i o f p o l i c eo fo u rc o u n t r yg r e a t l ya n dp r o v i d ea s u i to fs c h e m ef o rt h eg i so f t h e s a nt a ih e y i ”o f p o l i c ec o n s t r u c t i o n k e yw o r d s :g e o g r a p h i ci n f o r m a t i o ns y s t e m s ,c o m p o n e n t ,m a p x ,n e t p l a t f o r m 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确地说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:j 巡 本人承担一切相关责任。 日期:! ! :鱼:望 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密 论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 造丝堕 日期: 0 6 、易、2 * 北京邮电犬学硕士研究生学位论文 第一章绪论 1 1课题研究的背景和现实意义 地理信息系统( g e o g r a p h i ci n f o r m a t i o ns y s t e m s ,g i s ) 作为信息技术 ( i n f o r m a t i o nt e c h n o l o g i e s 。i t ) 的重要组成部分,经过四十多年的发展,g i s 在诸如环境评价和监测、土地和资源评价管理、市政工程建设、为政府和企业提 供管理和决策工具等领域得到了广泛应用。0 1 目前,它已经深入到区域规划、公 共设施管理、公共安全、交通、电信、城市建设、能源、电力、气象、农业等国 民经济的重要部门。“。 随着我国经济社会的快速发展,改革开放的进一步深入,社会格局发生了深 刻的变化。当前我国刑事犯罪的活动性、对抗性、隐蔽性和犯罪手段的技术化、 智能化日益突出,加上其他各种突发、应急、重大事件的多样化,所有这些都给 公安工作带来了严峻的考验。为了保障城市经济社会的持续快速发展,创造良好 的投资环境,就必须大力加强社会综合管理,强化社会治安防范和社会应急事件 管理。因此,公安工作必须走信息化的科技强警的发展道路。然而,由于目前我 国公安系统基本上是计划经济体制下的产物,各个部门资源比较分散,没有统一 的资源调度机制,这大大降低了公安机关的整体快速反应能力与运作效率。 为了提高公安机关的整体快速反应能力,推动运转商效的公安工作机制的建 立,2 0 0 4 年3 月,公安部发布了关于大力推进县市公安机关1 1 0 、1 1 9 、1 2 2 “三台合一”工作的通知。所谓“三台合一”系统一般是以计算机网络系统为 基础,以有线和无线通信系统为纽带,以接处警系统为核心,集成了g i s 地理信 息系统、g p s 卫星定位系统、计算机辅助决策系统、大型数据库系统、大屏幕显 示系统等。g i s 地理信息系统作为“三台合一”系统的重要组成部分,发挥着重 要的作用。 本人有幸参与了朝华公司德清县公安局“三台合一”项目的开发的全过程, 并主要负责参与了“三台合一”系统g i s 系统的研究开发。本论文的研究内容就 基于德清县公安局“三台合一”g i s 系统开发的具体实践,对基于组件技术的 g i s 系统的设计与实现进行研究与探讨。 1 2 国内外研究动态 地理信息系统概念的提出,要追溯到5 0 年代。由于电子计算机科学的兴起 和它在测量学与地图制图学中的应用,使人们开始有可能用电子计算机来收集、 存储和处理各种与空间和地理分布有关的图形和属性数据,并希望通过计算机对 北京邮电大学硕士研究生学位论文 数据的分析来直接为管理和决策服务。1 9 5 6 年,奥地利测绘部门首先利用电子 计算机建立了地籍数据库,随后各国的土地测绘和管理部门都逐步发展土地信息 系统( i 。i s ) 用于地籍管理。1 1 9 6 3 年,加拿大测量学家r f t o m l i n s o n 首先提 出地理信息系统这一术语,并建立了世界上第一个g i s 一加拿大地理信息系统 ( c g i s ) ,用于自然资源的管理与规划。1 9 7 2 年加拿大地理地理信息系统全面 投入运行与使用,成为了世界上第一个运行型的地理信息系统。在此期间,美国 也发展了5 0 多个地理信息系统,用于获取和处理地质、地理、地形和水资源信 息。 地理信息系统作为信息技术的重要组成部分,地理信息系统经过5 0 多年的 发展,其整个g i s 软件技术体系也得到很大发展。具体如下图: 图1 1g i s 软件技术体乐的发展 从图卜1 可以看出,g i s 的发展经历了六个阶段,即:g i s 模块、集成式 g i s 、模块化g i s 、核心式g i s 、组件式g i s 和万维网g i s ( w e b g i s ) ,使得g i s 的 发展日益走向成熟和完善。 1 ) g i s 模块 在g i s 发展的早期阶段,由于受到技术的限制,g i s 软件只是满足于某些功 能要求的一些模块,没有形成完整的系统,各个模块之间不具备协同工作的能力。 2 北京邮电大学硕士研究生学位论文 这一阶段可以称为g i s 模块( g i sm o d u le s ) 阶段。 2 ) 集成式g i s 随着理论和技术的发展,各种g i s 模块走向集成,逐步形成大型的g i s 软件 包( g i sp a c k a g e ) ,我们暂称之为集成式g i s ( i n t e g r a t e dg i s ) ,如e s r i 的 a r c i n f o 、g e n a s y s 的g e n a m a p 等均为集成式g i s 的典型代表。集成式g i s 是g i s 发展的一个重要里程碑,其优点在于其集成了g i s 的各项功能,形成独立完整的 系统;而其缺点在于系统过于复杂、庞大,从而导致成本高,也难于与其它应用 系统集成。 3 ) 模块化g i s 另一类为模块化g i s ( m o d u l a rg i s ) ,代表软件为i n t e r g r a p h 的m g e 。模块 化g i s 的基本思想是把g i s 按照功能划分为一系列模块,运行于统一的基础环境 之上( 如m i c r o s t a t i o n ) 。尽管许多集成式g i s 软件也可以划分为几个模块,但 模块化g i s 软件的模块被有目的地划分得更细。模块化g i s 具有较大的工程针对 性,便于开发和应用,用户可以根据需求选择所需模块。但无论是集成式g i s 或是模块化g i s ,都很难与管理信息系统( m i s ) 以及专业应用模型一起集成高 效、无缝的g i s 应用。 4 ) 核心式g i s 为解决集成式g i s 与模块化g i s 的缺点,提出了核心式g i s ( c o r eg i s ) 的 概念。核心式g i s 被设计为操作系统的基本扩展。w i n d o w s 系列操作系统上的核 心式g i s 提供了一系列动态链接库( d l l ) ,开发g i s 应用系统时可以采用现有的 高级编程语言,通过应用程序接口( a p i ) 访问内核所提供的g i s 功能。除了一些 基本的动态链接库以外,实现各种功能的动态链接库可以被拆卸和重组,它提供 了动态链接库一级的更底层的组件化方式,给用户提供较大的灵活性。对数据库 管理要求较高的用户甚至可以选择m i s 开发工具来构造g i s 应用,为g i s 与m i s 的无缝集成提供了全新的解决思路。但是,由于核心式g i s 提供的组件过于底层, 给应用开发者带来一定难度,一般用户难以掌握,也不适应可视化程序设计的潮 流。目前还没有成熟的核心式g i s 商业软件。 5 ) 组件式g i s 这种新的g i s 系统开发思路是将g i s 系统功能分散制作成a c ti v e xc o n t r o l 和a u t o m a t i o n ,这些标准的a c t i v e xc o n t r o l 和a u t o m a t i o n 可以被任何支持它 们的开发环境所调用,以便在原有的或新开发的信息系统中加入g i s 系统功能。 组件软件的可编程和可重用特点为系统开发商提供了方便的二次开发手段,将在 很大程度上推动g i s 软件的系统集成化和应用大众化。同时c o mg i s 也很好地适 应了网络技术的发展,是一种w e b g i s 的解决方案。它所涉及的关键技术包括各 北京邮电大学硕士研究生学位论文 种组件技术的集成、通用性和可移植性的研究,因此利用c h a p o n e n d q 技术更容 易建立i n t e r n e tg i s 或i n t r a n e tg i s 信息系统。 6 )w e b g i s 众所周知,信息高速公路的建立极大地方便了世界各地用户之间的信息交换 与信息查询。由于g i s 系统具有丰富的空间查询、空间分析及属性管理功能,因 此g i s 系统正在成为i n t e r n e t 或i n t r a n e t 的一个主要内容。随着i n t e r n e t 技 术的不断发展和人们对g i s 系统的需求,把g i s 系统与网络技术相融合,利用 i n t e r n e t 在w e b 上发布空间数据,为用户提供空间数据浏览、查询和分析的功 能,形成一个网络化的地理空间集成平台,已经成为g i s 系统发展的必然趋势。 w e b g i s 系统的概念是i n t e r n e t 技术应用于g i s 领域的产物。g i s 系统通过w w w 功能得以扩展,真正成为一种大众使用的工具。通过w w w 的任意一个节点, i n t e r n e t 用户就可以测览w e b g i s 系统站点的空间数据、制作专题图,以及进行 各种空问检索和空间分析,从而使g i s 系统进入千家万户。0 3 由于g i s 模块阶段技术不够成熟,目前已基本淘汰,核心式g i s 尽管在理论 上是g i s 软件技术体系发展的重要阶段,但是缺乏完整、成熟的商业软件。随着 理论和技术的发展,各种g i s 模块走向集成,逐步形成大型g i s 软件包( g i s p a c k a g e ) ,我们暂称之为集成式g i s ( i n t e g r a t e d g i s ) ,如e s r i 的a r c i n f o 、 g e n a s y s 的g e n a m a p 等均为集成式g i s 的代表。集成式g i s 是g i s 发展的一个重 要里程碑,其优点在于其集成了g i s 各项功能,形成独立完整的系统,缺点在于 系统复杂、庞大,从而导致成本高、难于与其它应用或系统集成等问题。为解决 集成式g i s 与模块化g i s 的缺点,提出了核心式g i s ( c o r e g i s ) 的概念,它提供 了动态连接库一级的更底层的组件化方式,给用户提供更大的灵活性,但是,由 于核心式g i s 提供的组件过于底层,给应用开发者带来一定难度,也不适应可 视化程序设计的潮流。随着计算机软件技术的发展,g i s 组件化发展到了一个全 新的阶段,出现了组件式g i s 。组件式g i s 基于标准的组件式平台,各个组件之 间不仅可以进行自由、灵活的重组,而且具有可视化的界面和使用方便的标准接 口,组件式g i s 代表着当今g i s 发展的潮流。e s r i 和m a p l n f o 分别推出了 m a p o b j e c t s 和m a p x 。我国的超图公司和中地公司也分别推出了s u p e r m a p 和 m a p g i s 。 目前,g i s 在几乎所有与空间信息相关的,诸如资源管理、城市规划、环境 管理、设施管理等领域得到了广泛应用。公共安全领域g i s 在国外应用较早的 是美国加利福尼亚的圣地亚哥市,在它的城区和所属地区共有2 8 个部门参与建 成了一个共同的g i s 一区域城市信息系统( r u i s ) ,公共安全就是其中一个部门。 在我国第一次把g i s 应用到公共安全领域的是江苏扬州的“三台合一”系统。 4 北京邮电大学硕士研究生学位论文 经过这几年的发展,我国的“三台合一”地理信息系统建设已初具规模,但这些 系统比较分散、综合应用能力较弱,无法满足各业务部门之间信息共享、实现各 系统相互调用进行综合决策分析的要求,存在软件技术不统一、缺乏统一的数据 交换和数据通讯接口标准,系统之间相互独立,无法实现数据共享等问题。本文 结合开发德清地理信息系统的具体实践,对这些问题作出了相应的研究和探索, 并做了一些有益的尝试。 1 3 本论文的主要内容 本论文主要内容是在n e t 架构下应用c # 语言开发基于m a p x 组件的公安“三 台合一”g i s 系统,第一章绪论部分主要论述了开发地理信息系统的现实意义 和研究动态。在第二章简单介绍了g i s 开发环境及组件技术的相关内容。在第三 章提出了“三台合一”g i s 系统的开发模式以及该系统软件的开发平台。在第四 章为g i s 系统在德清公安“三台合一”的应用和实现。第五章对该系统的功能进 行测试并且对该系统的开发提出了自己一些建议。 北京邮电大学硕士研究生学位论文 第二章基于组件技术的g i s 开发 2 1g i s 系统的基本概念 地理信息系统( g e o g r a p h i ci n f o r m a t i o ns y s t e m 简称g i s ) 是六十年代开 始迅速发展起来的地理学研究技术,是用于回答地理问题的艺术、科学、工程和 技术的统称,是一种用计算机创建和描述地理的数字表达方法;是一项以计算机 为基础的新兴技术,围绕着这项技术的研究、开发和应用形成了一门交叉性、边 缘性的学科,是管理和研究空间数据的技术系统,在计算机软硬件支持下,它可 以对空间数据按地理坐标或空间位置进行各种处理、对数据的有效管理、研究各 种空间实体及相互关系。通过对多因素的综合分析,它可以迅速地获取满足应用 需要的信息,并能以地图、图形或数据的形式表示处理的结果。”1 2 2g l s 系统的组成 有这样一个公式:g i s = c a d + d a t a b a s e + s p a t i a lo p e r a t i o n 。它明确的指出 了g i s 的组成。 一个完整的地理信息系统一般由五个部分组成,分别是:硬件环境、软件环 境、系统数据、人员和方法。“1 2 2 1 硬件环境 硬件环境是一个地理信息系统能够运行的基础,一方面包括各种类型的计算 机及相关的计算机网络硬件环境,从大型的计算机系统到小型的桌面工作站、从 单机到局域网再到i n t e r n e t :另一方面还包括各种用于数据采集的设备,比如说 数字化仪、g p s 定位设备等,一般包括: 1 ) 计算机主机; 2 ) 数据输入设备:数字化仪、图像扫描仪、手写笔、光笔、键盘、通讯 端口等; 3 ) 数据存贮设备:光盘刻录机、磁带机、光盘塔、活动硬盘、磁盘阵列 等; 4 ) 数据输出设备:笔式绘图仪、喷墨绘图仪( 打印机) 、激光打印机等。 2 2 2 软件环境 地理信息系统的软件是指运行于操作系统之上的g i s 应用,主要用于提供业 务需求所需的存储、分析和显示地理信息的功能和工具。广义上来说由下面这些 6 北京邮电大学硕士研究生学位论文 部分组成: ( 1 ) 输入和处理地理信息的工具 ( 2 ) 数据库管理系统( o b m s ) ( 3 ) 支持地理查询、分析和视觉化的工具 ( 4 ) 容易使用这些工具的图形化界面( g u i ) 2 2 3 数据环境 一个o i s 系统中最重要的部分就是数据了。一般来说地理信息系统的数 据包括空问数据和属性数据,空间数据就是那些地理要素或者需要存储的对象 的和空间密切相关的数据。比如说经纬度、高程、夹角一类的数据:属性数据 是那些和用户业务逻辑密切相关的数据,这些数据记录了空间要素各方面的属 性情况,也正是需要从这些数据中通过空间数据挖掘对用户的业务进行分析。 g i s 将把空间数据和属性数据集成在一起,通过从空间的角度进行数据挖掘而 获得需要的深层次信息,并且这些数据可以使用主流的数据库管理系统进行存 储和管理。 2 2 4 人员环境 对于一个完整的地理信息系统来说人员也是一个相当重要的组成部分。g i s 技术如果没有人来管理系统和制定计划应用于实际问题,将没有什么价值。地理 信息系统的人员范围包括从设计和维护系统的技术专家到那些使用该系统并完 成他们日常业务的人员。 2 2 5 方法 这里的方法主要是指空间信息的综合分析方法,即常说的应用模型。它是在 对专业领域的具体对象与过程进行大量研究的基础上总结出的规律的表示。g i s 应用就是利用这些模型对大量空间数据进行分析综合来解决实际问题的。如基于 g i s 的矿产资源评价模型、灾害评价模型等。 2 3g i s 系统应用开发 地理信息系统根据其内容分为两大类型:一是应用型g i s ,以某一专业、 领域或者工作为主要内容,包括专题g i s 和区域综合g i s ;二是工具型g i s ,具 有空间数据输入、存储、处理、分析和输出等g i s 基本功能。随着g i s 应用领域 的扩展,g i s 应用的开发工作日显重要。按照地理信息应用系统开发的方式,可 以分为3 类: 7 北京邮电大学硕士研究生学位论文 2 3 1 基础开发 开发者不依赖任何g i s 开发工具,利用程序设计语言在一定操作平台上完全 重建g i s 的所有必需的功能。这样做的好处是自主产权,发行成本低。缺点是设 计和实现都复杂,而功能往往没有专业的g i s 强大。 2 3 2 借助g l s 工具开发 目前大多数的g i s 软件商都向开发提供者提供了利用自己的g i s 软件进一步 开发的宏语言。例如,e s r i 公司针对a r c v i e w 有a v e n u e 语言,m a p l n f o 的m a p l n f o p r o f e s s i o n a l 有m a p b a s i c 语言。用户利用这些宏语言可以方便的构造应用,但 是由于宏语言功能极其有限,不利于将多种管理信息系统的工具和方法引入g i s 应用中。 2 3 3 集成二次开发 集成二次开发是指利用专业的g i s 工具软件,如a r c v i e w 、m a p l n f o 等,实 现g i s 的基本功能,以通用软件开发工具尤其是可视化开发工具,如d e l p h i 、 v i s u a lc + + 、v i s u a lb a s i c 、p o w e rb u i l d e r 等为开发平台,进行二者的集成开 发。 集成二次开发目前主要有两种方式: 1 ) o l e d d e 采用o l ea u t o m a t i o n 技术或利用d d e 技术,用软件开发工具开发前台可执行 应用程序,以o l e 自动化方式或d d e 方式启动g i s 工具软件在后台执行,利用回 调技术动态获取其返回信息,实现应用程序中的地理信息处理功能。” 2 ) g i s 控件 利用g i s 工具软件生产厂家提供的建立在o c x 技术基础上的g i s 功能控件, 如e s r i 的m a p o b j e c t s 、m a p l n f o 公司的m a p x 等,在d e l p h i 等编程工具编制的 应用程序中,直接将g i s 功能嵌入其中,实现地理信息系统的各种功能。c o m g i s 与用户和客户程序之间则主要通过属性、方法和事件进行交互( 图2 - 1 ) 。属性、 方法和事件是控件的通用标准接口,适用于任何可以作为o l e a e t i v e x 包容器 的开发语言,具有很强的通用性。 北京邮电大学硕士研究生学位论文 e o m g i s 控件 ( c v x 服务器) ,i 么、 r k 性li 方法 事件 i i 弋夕弋,7 弋,7 可视化集成开发环境 ( c t i 7 x 容器) 图2 - 1c o m g i s 与集成环境及其他组件之间的交互 通过以上分析可以看到,第3 种方式充分利用g i s 工具软件对空间数据库的 管理、分析功能以及强大的制图功能,又可以利用其它可视化开发语言具有的高 效、方便等编程优点,按照用户的需求,灵活实现各种管理功能,集二者之所长, 不仅能大大提高应用系统的开发效率,而且实用可视化工具开发出来的应用程序 具有更好的外观效果、更强大的数据库功能,而且可靠性好、易于移植、便于运 维。尤其是g i s 功能组件进行集成开发,提高了软件产业的生产效率,这一点已 逐步成为软件开发人员的共识。由于对开发者的g i s 专业背景要求并不高,大大 有利于g i s 应用系统在各个领域迅速推广。 2 4 组件技术 2 4 1 组件技术的产生背景 面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。 从o o p 面向对象编程到o o a 面向对象分析、o o d 面向对象设计已经渗入到计算机 软件科学的各个领域。虽然面向对象程序设计在一定程度上促进了程序的再使 用,从而提高了软件开发的效率,但是它并没有从根本上解决程序开发的模式。 在传统的面向对象编程语言中,对象的继承机制提供了类一级的重用,但这 只是源代码级的重用。“”同时由于现在的系统应用越来越复杂,程序也越来越 大,开发难度也相应增大。当形成一个新的版本并推到市场后,如果在系统中对 某个部分进行了修改或加强,就要对整个系统代码进行全部编译和测试,最后再 全部提供给用户。显然这使得对庞大软件的开发越来越困难、开发周期越来越长、 维护费用也越来越高,并且使功能的扩展变的危险而难行。在面向对象的编程技 术中,不存在一种标准的框架可以使得不同的厂商创建韵软件对象在同一个地址 空间中进行交互操作。正是在这种背景下,组件化程序设计思想得以诞生并取得 9 北京邮电夫擘硕士研究生学位论文 了很大的发展。 按照组件化程序设计的思想,把复杂的系统被设计成一些小的、功能单一、 彼此相对独立的子系统,各个子系统之间通过定义好的接口进行通信、联系。而 具体的实现在子系统之间是相互透明的,也就是说对子系统而言,并不需要知道 别的子系统是如何实现的。这种子系统就被称之为组件。这些组件可以单独开发、 单独编译、单独调试和测试,甚至根据客户需要,出售客户所需的组件。当所有 的组件开发完成后,把它们组合在一起就得到了完整的应用系统。当系统的外界 软硬件环境发生变化或用户的需求有所改变时,并不需要对所有的组件进行修 改,而只需要对受影响的组件进行修改,然后重新组合得到新的升级软件。这些 组件模块可以运行在同一台机器上,也可以运行在不同的机器上。在理想的情况 下,每台机器的运行环境可以不同,甚至可以是不同的操作系统。为了实现这样 的应用软件,组件程序和组件程序之间需要一些极为细致的规范,只有组件程序 遵循了这些统一的规范,软件系统才能正常运行。 2 42 组件技术与a c t i v e x 组件技术是新一代g i s 的重要基础,组件式g i g ( c o m g i s ) 是面向对象技术 和组件技术在g i s 软件开发中的应用。认识c o m g i s ,首先需要了解其所依赖的 技术基础一组件对象模型c o m ( c o m p o n e n to b j e c tm o d e l ) 、对象链接和嵌入o l e ( o b j e c tl i n k i n ga n de m b e d d i n g ) 和a c t i v e x 控件。 1 ) o l e 技术 o l e 的原意是对象链接与嵌入。在o l e1 o 中组件与客户之间的通信,采用 的是动态数据交换机制( d d e ) ,由于d d e 以w i n d o w s 消息机制为基础,而不是基 于接口技术,因此,效率低、稳定性差,使用不方便。从o l e2 0 开始,微软放 弃了d d e ,而采用了新的c o m 模型,采用接口作为程序之间通信的标准。此后, o l e 技术不再局限于“对象链接与嵌入”,而成了桌面系统上进行程序通信的一 个实用技术统称。 o l e 具有相当复杂的技术内容,其中自动化技术概念与用户密切相关。o l e 自动化是w i n d o w s 应用程序操纵另一个程序的一种机制。o l e2 0 提供了一种方 法来集成应用程序,这就是应用程序之间的命令操作。利用o l e2 0 ,程序员可 以定义一组命令,使它们进入到其它程序中。这些命令可带参数,看起来很象应 用程序在调用函数或过程一样。“。采用上述办法,可以在人不参与的情况下, 就能使得两个应用程序的相互作用。被自动化的程序称作自动化对象或自动化服 务器,操作或自动化其他程序的应用程序称为自动化控制器或自动化客户器。 自动化控制器一般都提供一个称为o l e 容器的控制,具体处理服务器和控制器的 北京邮电大学硕士研究生学位论文 通信。o l e 自动化服务器给控制者提供的可编程工具有事件、属性和方法,通过 o l e 容器,可以编程获取o l e 服务器的属性,处理其时间,调用其提供的方法。 2 ) c o m 技术 c o m ( c o m p o n e to b j e c tm o d e l ) 是组件之问互相接口的规范,它是o l e 和 a c t i v e x 共同的基础,其作用是使各种软件组件和应用软件能够用一种统一的标 准方式进行交互。c o m 不是一种面向对象的语言,而是一种二进制标准。c o m 所 建立的是一个软件模块与另一个软件模块之间的链接,当这种链接建立之后,模 块之间就可以通过接口的机制来进行通信,它有两个基本属性: 1 ) 组件可以在二进制级别上进行集成和重用,这保证了组件独立于开发语 言,甚至操作系统。 2 ) 组件必须按照共同的标准被独立地生产、获得和配置。与环境和上下文无 关是组件封装性的体现。 c o m 组件提供了一种基础性的接口,这种接口为所有以c o m 为基础的技术提 供了公共函数,它通过一种与平台无关而且二进制兼容的语言i d l ( i n t e r f a c e d e f i n el a n g u a g e ) 来定义,通过这些接口可以实现组件与组件之间、程序与组件 以及本地组件与远程组件之间的功能调用,c o m 组件的运行机理( 如图2 - 2 ) 。 接口 c o m 组件 l 俐哞纠掣 憋炒 应用程序 图2 - 2c o m 组件的运行机理 c o m 技术是继面向对象技术之后发展起来的一种新的软件工程技术,是面向 对象技术和分布式计算在软件工程中应用的深化和融合。基于组件的系统仍然是 一种面向对象的结构,但系统中的对象是按照规范设计的模块,这些定义良好的 软件模块在系统中共存,并充分地相互作用。按照这种结构,可以将若干个组件 组合起来,以建立更大和更复杂的系统。 基于分布式环境下的c o m 称为d c o m ( d i s t r i b u t e dc o m ,分布式对象模型) 。 d c o m 是a c t i v e x 的基础,它实现了c o m 对象与远程计算机上的另一个对象之间 直接交互。d c o m 规范定义了分散对象创建和对象通信的机制。“”d c o m 也是一种 北京邮电大学硕士研究生学位论文 c s 的对象模型,这一模型使得各种软件构件和应用软件能够使用一种统一标准 方式进行交互。d c o m 使用一种基于标准的远程过程调用,提供了网络透明及通 信自动化,可以使运行于不同机器上的对象之间进行无缝互操作,而且一个对象 无须了解另一个对象的位置。分布式对象技术也可以使全局的网络和信息资源看 上去象是本地的。通过分布式c o m 和远程自动化,用户可以在整个网络内放置 和执行部件,而根本无须知道所处理的信息在什么地方。 c o m 的一些基本特征:”“ 1 ) c o m 作为一项软件工业标准,定义了完整的用以生成对象以及如何保证 对象与其用户之间通讯的标准机制和规范。c o m 规范是基于二进制的标准而不是 基于语言的规范,这保证了c o m 对象可以用不同的程序语言来开发,可在不同计 算机系统上运行,也可由不同的高级程序语言来调用,只要这些程序语言和操作 系统支持c o m 制定的二进制接口。 2 ) 在c o m 下,组件通过对象支持的接口来使用其提供的服务功能。一个c o m 组件可能有一个或多个c o g 对象,一个c o m 对象支持一个或多个接口,而每个 接口又支持或实现若干个方法c o m 对象支持面向对象模型继承,但c o m 只支持接 口继承而不支持实现继承。因而c o m 对象不能实现直接的程序再使用,但可通过 包含和聚合的方法来实现程序再使用,这主要是提高c o m 的适用性。 3 ) 接口不带任何版本,接口一旦公布,即不能作任何修改,若要修改接口支 持的对象方法、参数和语义,必须定义新的接口,赋予新的接口标识码。采用这 种限制,并支持多个接口是c o m 解决版本更新的有效手段。 4 ) c o m 吸取了客户服务器基本思想,一个c o m 组件就是一个服务器,可同 时为多个客户提供服务,c o m 组件采用计数( r e f e r e n c ec o u n t i n g ) 的方法控制组 件对象的生存期,为多个客户共享同一个组件对象提供了有效的控制手段。 3 、a c t i v e x 技术与a c t i v e x 控件 1 ) a c t i v e x 技术 a c t i v e x 是微软公司的构件技术标准,实际上是对象连接与嵌入( o l e ) 的新 版本,使o l e 接口加强了对数据和特性的管理,效率更高,而且更加便于进行 i n t e r n e t 互操作。由于a c t i v e x 既包含服务器端技术,也包含客户端技术。“4 3 因此,a c t i v e x 被广泛应用于w e b 服务器以及客户端的各个方面;同时,a c t i v e x 技术也被用于方便地创建普通的桌面应用程序。 a c t i v e x 技术主要包括的内容是:a c t i v e x 控件、a c t i v e x 文档、a c t i v e x 脚本描述和a c ti v e x 服务器框架。 2 ) a c t i v e x 控件 a c t i v e x 控件是利用o l e 和a c t i v e x 技术自定义的控件,是基于与应用程序 北京邮电大学硕士研究生学位论文 无关的思想而设计的,其目标是提供一种面向对象、与操作系统无关、与机器平 台无关、可以在应用程序之间互相访问对象的机制。 a c t i v e x 控件是建立在c o m 标准上的独立的软件元件,它提供给用户应用接 口,发送相应的事件。开发者则可以截取这些事件,执行相应的功能。a c t i v e x 控件开发端和使用端是完全独立的,可以用d e l p h i 、v b 、p o w e r b u i i d e r 、v c 等 各种开发工具来开发,又可以用于不同语言、不同开发平台、不同的系统环境中。 3 ) a c t i v e x 与a c t i v e x 控件的区别 a a t i v e x 技术是o l e 技术在i n t e r n e t 七的重定义,而a c t i v e x 控件则是o l e 控件在i n t e r n e t 上的扩展。 a c t i v e x 不等同于a c t i v e x 控件,从上面的介绍可知,a c t i v e x 是一个很宽 的技术家族的标识,而h c t i v e x 控件只是那个家族的一个特定技术。 2 4 3 组件式g i s 的特点 使用组件技术进行g i s 开发可以完全避免传统开发方式所面临的困难,并且 所开发出的系统具有极大的优越性: 一 1 ) 小巧灵活、价格便宜 由于传统g i s 结构的封闭性,往往使得软件本身变得越来越庞大,不同系 统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己 最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低 了用户的经济负担。组件化的g i s 平台集中提供空间数据管理能力,并且能以灵 活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其 价格仅是传统c i s 开发工具的十分之一,甚至更少。这样,用户便能以较好的性 价比获得或开发g i s 应用系统。 2 ) 无须专门g i s 开发语言 传统c i s 往往具有独立的二次开发语言,不仅学习困难,而且开发往往受 到限制,难以处理复杂问题。而组件式g i s 建立在严格的标准之上,不需要额外 的二次开发语言,只需按照通用的组件标准( c o m d c o m 或c o r b a ) 开发接口实现 g i s 的基本功能函数。这有利于减轻g i s 软件开发者的负担,而且增强了g i s 软 件的可扩展性。 3 ) 强大的g i s 功能 新的g i s 组件都是基于3 2 位系统平台的,采用进程内直接调用的形式,所 以无论是管理大量数据的能力还是处理速度方面均不比传统g i s 软件逊色。小小 的g i s 组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间 查询与分析能力。 4 ) 二次开发简捷,可直接嵌入m i s 开发环境 北京邮电大学硕士研究生学位论文 对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具进行二次开 发。而且g i s 组件提供的a p i 形式非常接近m i s 工具的模式,开发人员可以像管 理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。 在组件式技术的使用过程中,人们逐渐认识到这一技术背后的实质性内容和 它在软件开发中所扮演的重要角色。组件技术将以前所未有的方式提高软件产业 的生产效率,这一点已逐步成为软件开发人员的共识。传统的c 1 i e n t s e r v e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防防化洗消现场处置方案
- 会员合约续费催办服务指引
- 水田拖拉机耕地作业操作规程
- 柑橘溃疡病春季喷药防治规范
- 身体成分检测分析指南
- 产后月子餐配餐制作手册
- 蔬菜有机栽培基地标准
- 水肥一体化设备日常维护手册
- 风电场智能诊断方案
- 植保无人机飞防作业指引
- 房屋建筑施工较大风险(二级风险)分级管控清单
- 中医养生与应对压力
- 预制钢筋混凝土方桩图集
- 高中数学-古典概型省名师优质课赛课获奖课件市赛课一等奖课件
- 郑州市嵩山古建筑群总体保护规划
- 电动车车祸私了协议书
- 建筑美学知到章节答案智慧树2023年华南理工大学
- 文档:重庆谈判
- 交际俄语口语智慧树知到答案章节测试2023年青岛城市学院
- 110KV变电站继电保护设计说明书
- GB.T19418-2003钢的弧焊接头 缺陷质量分级指南
评论
0/150
提交评论