(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf_第1页
(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf_第2页
(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf_第3页
(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf_第4页
(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)组件式地理信息系统平台的研究与设计.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 近年来,随着面向对象的组件化软件技术蓬勃发展,基于组件的软件开 发( c b s d ) 日益受到重视。c b s d 对软件工程产生了巨大的影响,变革了传统 的软件开发方式,也给g i s 的软件开发注入了新的生机。组件式地理信息系 统是适应软件组件化潮流的新一代地理信息系统。由于g i s 系统本身所具有 的复杂性,为了提高软件开发的效率和质量,减少不必要的重复劳动,使用 组件化的技术来开发g i s 系统就很有必要。 本文在对组件式地理信息系统体系结构、功能和发展应用的研究基础上, 旨在自主设计一个小型地理信息系统平台软件。从组件技术入手,将g i s 技 术与组件技术结合起来,总结出基于组件的g i s 软件的开发过程。基于 c o m d c o m 机制,本文设计了一个分层的g i s 组件对象模型。 空间分析功能的好坏直接影响到g i s 平台的整体性能,鉴于此,本文从 理论方面对g i s 的空间分析功能做了一定的研究与分析,有选择性地对其中 的缓冲区生成算法进行了重点探讨,并给出了一种改进的算法,该算法为组 件式g i s 平台中空间分析组件设计提供良好的理论基础。 关键词:地理信息系统;组件技术;a c t i v e x 技术;空间分析:缓冲区生成 哈尔滨工程大学硕士学位论文 a b s t r a c t i nr e c e n ty e a r s ,w i t ht h er a p i dd e v e l o p m e n to fo b j e c t - o r i e n t e dc o m p o n e n t s o f t w a r et e c h n o l o g y , p e o p l eh a v ea t t a c hm o r ea n dm o r ei m p o r t a n c et oc o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ( c b s d ) g r a d u a l l y c b s dh a sm a d eg r e a tc o m p a c t o nt h es o f t w a r ee n g i n e e r i n ga n dt r a n s f o r m e dt h et r a d i f i o n a ls o f t w a r ed e v e l o p m e n t p a t t e r n ,a n dp o u r e dt h en e wv i t a l i t yi n t ot h es o f t w a r ed e v e l o p m e n to fg i s c o m g i si st h en e wg e n e r a t i o no fg e o g r a p h i ci n f o r m a t i o ns y s t e mt h a ta d a p t st h e s o f t w a r em o d u l et i d a l i no r d e rt oi m p r o v ee f f i c i e n c ya n dq u a l i t yi nd e v e l o p i n g g i ss o f t w a r ea n dr e d u c et h en o n e s s e n t i a lr e p e t i t i o nw o r k , i ti sn e c e s s a r yt o d e v e l o pt h eg i ss y s t e ma d o p t i n gc o m p o n e n tt e c h n o l o g y t h i sp a p e ra i m sa td e v e l o p i n gas m a l lg i sp l a t f o r mb a s e do na d e q u a t e r e s e a r c ho fg i sa r c h i t e c t u r e ,f u n c t i o na n d a p p l i c a t i o n t h ep 印e rs t a r t sf r o m c o m p o n e n tt e c h n o l o g ya n dd e s c r i b e st h ed e v e l o p m e n tm o d e lo fc o m p o n e n t b a s e d g i ss o f t w a r e d e v e l o p m e n tm e t h o db yc o m b i n i n gc o m p o n e n tt e c h n o l o g yw i t h g i st e c h n o l o g y f i n a l l yal a y e r e dc o m p o n e n tm o d e lo fg i si sd e s i g n e db a s e d o nc o m d c o m q u a l i t yo fs p a t i a la n a l y s i sf u n c t i o na f f e c t so v e r a l lp e r f o r m a n c eo fg i s p l a t f o r md i r e c t l y i nt h ev i e wo ft h i s ,t h ep a p e rh a st a k e nv a s tt h e o r e t i c a lr e s e a r c h a n da n a l y s i si nt h i sf i e l da n de m p h a s i z e do nt h ed i s c u s s i o no fb u f f e rg e n e r a t i n g a l g o r i t h m , o n eo fs p a t i a la n a l y s i sf u n c t i o n s a tt h eb a s i so fa n a l y z i n gt h ee x i s t i n g a l g o r i t h m s ,an e w m e t h o dh a sb e e np u tf o r w a r d t h i sn e w a l g o r i t h mp r o v i d e dt h e g o o dr a t i o n a lb a s eo nd e s i g n i n gc o m p o n e n to fs p a t i a la n a l y s i si nc o m g i s p l a t f o r ms o f t w a r e k e y w o r d s :g i s ,c o m p o n e n tt e c h n o l o g y , a c t i v e xt c c h n o l o g y , s p a t i a la n a l y s i s , g e n e r a t i n gb u f f e r 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导 下,由作者本人独立完成的。有关观点、方法、数据和文 献的引用已在文中指出,并与参考文献相对应。除文中已 注明引用的内容外,本论文不包含任何其他个人或集体已 经公开发表的作品成果。对本文的研究做出重要贡献的个 人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律结果由本人承担。 作者( 签字) :盘塑脸 e t 期:洲土年弓月g 日 哈尔滨工程大学硕士学位论文 1 1 课题的研究背景 第1 章绪论 在现代化企业的信息系统中,大部分数据均具有地理属性,人类赖以生 存的地球中的万物与其空间位置有着密切的关系。地理信息系统( g i s ) 作为 3 s ( g p s ,r s ,g i s ) 的技术基础,随着人们对空问信息需求的增长,正在得到 日益广泛的应用。 长期以来,g i s 应用系统的开发大都是在g i s 基础平台上进行二次开发, 这就使得程序的开发人员必须要熟悉所使用平台专门的定制技术,加上庞大 的函数库、命令库,掌握起来难度较大,且开发效率低,功能通用性差,影 响了系统的质量。另一方面,目前国外成型的商用地理信息系统软件价格都 比较昂贵,国内研究地理信息系统的机构和人员虽然越来越多,但由于中国 的地理信息系统产业起步比较晚,目前市场上出现的g i s 系统大都以国外的 桌面软件为主。作为一个完整的g i n 软件,他们即要包括g i s 的通用功能, 同时也应提供针对各行业不同应用的特殊功能,显然这类系统看起来很庞大 复杂。而对于一些小型的对g i s 的功能要求不是很高的系统( 比如在某个行业 中需要推广使用的实用系统) ,只需要实现基本的g i s 功能,此时就没有必要 再去花巨额买高价的商用软件并花大量时间去学习使用这些软件。 在软件开发领域,组件技术的出现给g i s 软件开发带来了新的契机。因 此,探索与开发具有自主版权的组件式g i s 基础软件平台对我国信息产业的 发展意义重大。本文探索和利用了面向对象技术及c o m 技术,在m i c r o s o f l 公司的v i s u a ls t u d i o 的集成开发环境上,设计面向管理兼有分析功能的组件 式g i s 系统,是一次对地理信息系统整体结构和功能的大胆探索和有益尝试。 哈尔滨工程大学硕士学位论文 1 2 地理信息系统概述 1 2 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 简称g i s ) ,是集计算机科 学、地理学、测绘遥感学、环境科学、信息科学和管理科学等多门学科综合 的技术,因为g i s 涉及的面非常广,要给出g i s 的准确定义是困难的,站在 不同的角度,给出的定义就不同,但万变不离其宗,其核心是计算机科学、 基本技术是数据库、地图可视化及空间分析。因此,可以这样给g i s 个简 单的定义:g i s 是处理地理数据的输入、输出、管理、查询、分析和辅助决 策的、有关空间数据管理和空间信息分析的计算机系统。它以计算机作为技 术手段,以地理空间信息的应用作为技术导引管理和处理地理空间信息,从 而,一方面它为涉及空间数据处理的学科提供新的技术方法,另一方面,这 些学科又都不同程度地提供了一些构成地理信息系统的技术方法。 地理信息系统依据其内容可分为两大基本类型,一是应用型地理信息系 统,以某一专业、领域或工作为主要内容,包括专题地理信息系统和区域综 合地理信息系统;二是工具型地理信息系统,也就是g i s 工具软件包,具有 空间数据输入、存储、处理、分析和输出等g i s 基本功能。依照其应用领域, 地理信息系统可分为土地信息系统、资源管理信息系统、地学信息系统等: 根据其使用的数据模型,可分为矢量、栅格和混合型信息系统。根据其服务 对象,又可分为专题信息系统和区域信息系统等等。 哈尔滨工程大学硕士学位论文 1 2 ,2 地理信息系统的组成 从计算机的角度看,一个典型的地理信息系统应包括四个基本部分:计 算机系统硬件、计算机系统软件、地理数据、管理人员或用户,如图1 1 所示: 软件 硬件 f i 习 i 图1 1 地理信息系统的构成 1 计算机硬件系统 硬件系统是指各类计算机处理机、保存数据和程序的存储设备以及用于 数据输入、显示和输出的外围设备等。可以是电子的、电的、磁的、机械的、 光的元件或装置,是g i s 的物理外壳,如数字化仪、扫描仪、测绘仪器及解 析测图仪等。 2 计算机软件系统 ( 1 ) 计算机系统软件 由计算机厂家提供的、为用户开发和使用计算机提供方便的程序系统, 通常包括操作系统、汇编程序、编译程序、诊断程序、库程序以及各种维护 使用手册、程序说明等,是g i s 日常工作所必须的。 ( 2 ) 地理信息系统软件和其他支撑软件 可以是通用的g i s 软件,也可包括数据库管理软件、计算机图形软件包、 c a d 、图像处理软件等,用于支持对空间数据输入、存储、转换、输出和与 用户接口。g i s 软件包功能结构见图1 2 。 哈尔滨工程大学硕士学位论文 图1 2 地理信息系统软件的功能框架 ( 3 ) 应用分析程序 是系统开发人员或用户根据地理专题或区域分析模型编制的用于某种特 定应用任务的程序,是系统功能的扩充与延伸。 g i s 软件按功能包括这几类:数据输入、数据存储与管理、数据分析与 处理、数据输出与表示模块和用户接口模块。 3 。管理人员或用户 g i s 不能简单地理解成为一幅地图,它是一个动态的地理模型,人作为 地理信息系统中的一个重要构成因素,承担着系统组织、管理、维护和数据 更新、系统扩充完善、应用程序开发、利用分析模型提取信息等重任。地理 信息系统从其设计、建立、运行到维护的整个生命周期,处处都离不开人的 作用。 4 地理数据 也即空间数据,是指以地球表面空间位置为参照的自然、社会和人文经 济景观数据,可以是图形、图像文字表格和数字等。它是由系统的建立者通 过各种设备或其它系统输入到g i s 中,是g i s 所表达的现实世界经过模型抽 象的实质性内容”。 在g i s 的这几大组成部分中,核心是计算机系统( 软件和硬件) ,数据反 应g i s 的地理内容,而人员和用户通过软件和硬件操纵数据并决定系统的工 作方式以及信息表示方式。实践证明,人的因素在地理信息系统的发展过程 中越来越具有重要的影响作用,地理信息系统许多的应用问题已经超出技术 哈尔滨工程大学硕士学位论文 领域的范畴。 1 2 3 地理信息系统的特征 地理信息系统的最主要特点是能以电子地图的形式,直观地表现背景地 物信息,并可做图文互查、综合分析等。对地理信息系统理解的角度不同, g i s 所体现的特征也不尽相同。 从管理信息系统这一层面上看,地理信息系统具有以下区别于普通管理 信息系统的特征:1 ) 地理信息系统在分析处理问题中使用了空间数据与属性 数据,并通过空间数据库管理系统使二者有机地结合起来共同管理、分析和 应用;而管理信息系统则只有属性数据库的管理,它所处理的数据没有或者 不包括空间特征,即使存储了图形,也往往以文件形式等机械形式存储,不 能进行有关空间数据的操作,如空间查询、检索、相邻分析等,更无法进行 复杂的空间分析。2 1 地理信息系统强调空间分析,通过利用空间解析式模型 来分析空间数据,地理信息系统的成功应用依赖于空间分析模型的研究与设 计。而管理信息系统一般不具有任何空间分析功能。3 1 地理信息系统的成功 应用不仅取决于技术体系,而且依靠一定的组织体系。 从计算机角度理解g i s ,地理信息系统是处理地理数据的输入、输出、 管理、查询、分析和辅助决策的数据库管理系统。但由于它所处理数据的特 殊性,与一般d b m s 又有所不同。地理信息系统除了具有强大的空间数据管 理功能之外,还需要具有图形数据的采集、空间数据的可视化和空间分析功 能,在这一点上,它比一般的事务数据库更加复杂,在功能上也比后者多很 多。 1 2 4 地理信息系统研究的核心问题 作为地理信息自动处理与分析的系统,地理信息系统的功能遍历于数据 采集一分析一决策一应用的全部过程。 g i s 所研究探讨的核心问题可归纳为五个方面的内容n ,: 1 位置,即某个特定的位置有什么。可表示为地方名、地理坐标等。 2 条件,即什么地方有满足某些条件的东西。例如在某个地区内寻找小 麦植被面积不小于20 0 0 m 2 的区域。 哈尔滨工程大学硕士学位论文 3 趋势,即某个地方发生的某个事件及其随时间的变化过程。该类问题 需要综合现有数据,以识别已经发生了或正在发生的地理现象。 4 模式,即某个地方存在的空间实体的分布模式问题。主要分析与已经 发生或正在发生事件有关的因素,将现有数据组合在一起能更好地说明正在 发生什么,找出发生事件与哪些数据有关。 5 模拟,即某个地方如果具备某种条件会发生什么的问题。g i s 的模拟 是基于模型的分析。 为了完成此五大核心任务,需要采用不同的功能来实现。尽管目前商用 的g i s 软件有其各自的优缺点,而且它们实现这些任务所采用的技术不同, 但它们大都提供了如下几个功能:数据采集、检验与编辑、数据预处理( 即数 据格式化、转换、概化) 、数据的存储与组织、检索统计、计算功能、空间查 询分析、图形的显示与交互等。 1 2 5 地理信息系统的发展及现状 现存的地理信息系统软件很多,对于它的研究应用,归纳概括起来有两 种情况:一是利用g i s 系统来处理用户的数据;二是在g i s 的基础上,利用 它的开发函数库二次开发出用户的专用的地理信息系统软件。目前已成功地 应用到了包括资源管理、自动制图、设旋管理、城市和区域的规划、人口和 商业管理、交通运输、石油和天然气、教育、军事等这几大类别的一百多个 领域。 1 国际发展状况 地理信息系统这一术语是在1 9 6 3 年由加拿大测量学家r o g e r e t o m l i n s o n 提出的,并建立了世界上第一个实用的地理信息系统一加拿大地 理信息系统( c g s ) 用于自然资源的管理和规划,至今已有3 0 多年的历史。地 理信息系统发展进步的另一标志就是许多有关的组织和机构的建立,例如: 1 9 6 6 年美国成立城市和区域信息系统协会( u r j s a ) 、国际地理联合会0 0 u ) 于1 9 6 8 年设立了地理数据收集和处理委员会( c g d s p ) 以及1 9 6 9 年美国建立 的州信息系统全国协会( n a s s ) 。这些组织和机构的建立,对于地理信息系 统知识的传播和技术的进步起到了不可磨灭的作用。现g i s 己不单纯地被看 作为一个技术系统或计算机系统,而已看作是一门学科、一门技术。 6 啥尔滨工程大学硕士学位论文 在美国及发达国家,地理信息系统的应用遍及环境保护、资源保护、灾 害预测、投资评价、城市规划建设、政府管理等众多领域。一些经济发达国 家先后建立了许多专业性的g i s ,在自然资源管理和规划方面发挥了重大的 作用。例如美国资源部和威斯康星州合作建立了以治理土壤侵蚀为主要目的 的多用途专用的土地g i s 。在g i s 基础软件方面,以美国为代表的西方国家 投入了大量的人力、物力进行研究和发展,推出了m a p i f o 、a r c l n f om g e 等软件工具,并大力开发第四代g i s 软件,其具备支持数字地球( 区域、城市) 的能力,成为o s 、d b m s 之上的主要应用集成平台。到2 0 0 3 年,市场上有报 价的软件已达上千种,并且涌现出了一些有代表性的g i s 软件n ,。市场上流 行的g i s 软件有很多,工作站版的有a r c i n f o ,i n t e r g r a p h ,m i c r os t a t i o n 等; 桌面g i s 系统有m a p l n f o ,a r e v i e w , a u t o d e s k 等。这些系统的共同特点是它 们将图形处理、空间查询与分析、属性管理及其它g i s 功能都包含在一个比 较庞大的系统中。 2 ,国内发展状况 、 我国地理信息系统方面的工作自8 0 年代初开始,以1 9 8 0 年中国科学院 遥感应用研究所成立全国第一个地理信息系统研究室为标志m ,。经过了二十 几年的发展,目前已在许多部门和领域得到应用,并引起了政府部门的高度 重视。自2 0 世纪9 0 年代起,中国地理信息系统步入快速发展阶段,正逐步 走向实用化和生产化,为国民经济重大问题提供分析和决策的依据。地理信 息系统的理论研究和实践应用正逐步形成行业,向产业化方向靠近。“中国 g i s 协会”和“中国海外g i s 协会”的成立以及m a p g i s 、g e o s t a r 、c i t y s t a r 、 s u p e r m a p 等优秀地理信息软件的出现也成为我国g i s 事业进步发展的显著 标志。中国o i s 协会已经走过了1 0 年的历程,在这1 0 年中,我国的g i s 软 件产品从无到有,渡过了艰难的起步阶段,形成了相对齐全的产品系列,进入 了发展与健全时期”。国产中小型g i s 平台软件产品的技术水平已经与国外 同类软件相当,北京超图公司推出的全组件式( 3 i s 平台- - s u p e r m a p ,更是进 一步证明了中国在该领域中的实力,提高了我国g i s 产业的国际地位。实践 证明,中国的g i s 事业正慢慢走向成熟。 哈尔滨工程大学硕士学位论文 宣葺i i ;| i i ;苦覃皇i i 葺宣| 皇葺i ;宣i 宣i | 宣叠ir r i i i ;i | i i 鼍i i i i i i _ _ i i 3 发展趋势 g i s 技术依托的主要工具和平台是计算机及其相关设备,随着计算机技 术、空间技术和现代信息基础设施的飞速发展,o i s 作为联系三者的纽带, 在国民经济信息化进程中的重要性与日俱增。近年来地理信息系统技术发展 迅速,其主要的原动力来自日益广泛的应用领域对地理信息系统不断提高的 要求。另一方面,计算机科学的飞速发展为地理信息系统提供了先进的工具 和手段,许多计算机领域的新技术,如面向对象技术、三维技术、图象处理、 人工智能技术和无线通信技术都可直接应用到地理信息系统中。网络化g i s 、 开放式g i s 、虚拟( 3 1 s 、多媒体g i s 、三维g i s 、时态g i s 、组件式g i s 都是 当前计算机技术的发展使g i g 的发展呈现的几种主要趋势。此外g i s 软件与 建筑及规划设计、c a d 、办公自动化、统计分析等软件系统的集成等都是 g i s 研究与发展的热点。 5 0 年来伴随着计算机在理论上的突破和技术的发展,地理信息系统以其 在自然资源的管理和规划方面的良好应用而迅速发展。至今,地理信息系统 在地图制图与数据发行、自然资源管理与评价、地籍管理、城市与区域规划 以及人口普查这些领域的应用比较成熟。另外,社会对地理信息系统认识也 普遍提高,需求大幅度增加,应用正逐步地扩大与深化。地理信息系统技术 正处于一个重要的发展时期。地理信息在人类生活和国民经济中的重要作用, 地理信息系统在未来的几十年中将保持高速发展的势头,成为高科技领域的 核心技术,新概念和新产品层出不穷。在g i s 蓬勃发展的今天,g i s 的组件 化趋势日益明显,已经成为g i s 的重要发展方向之一。 1 3 应用型地理信息系统开发方式 应用型g i s 开发有多种方式可供选择: 1 独立开发。指不依赖于任何g i s 工具软件,从空间数据的采集、编辑 到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用 某种程序设计语言,如v i s u a lc + + 、d e l p h i 等,在一定的操作系统平台上编 程实现。这种方式的好处在于无须依赖任何商业g i s 工具软件,完全从最底 8 哈尔滨工程大学硕士学位论文 层开发,在某种意义上来说,减少了开发成本,但对于大多数开发者来说, 能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化g i s 工具软件相比。 2 单纯二次开发。指完全借助于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 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 工具软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方 式省时省心,但进行二次开发的宏语言,作为编程语言来说功能极弱,用它 们来开发出来的应用程序仍然不尽如人意。 3 集成二次开发。集成二次开发是指利用专业的g s 工具软件,如 a r c v i e w 、m a p l n f o 等,实现g i s 的基本功能,以通用软件开发工具尤其是可 视化开发工具,如d e l p h j 、v i s u a lc + + 、v i s u a lb a s i e 、p o w e rb u i l d e r 等为开 发平台,进行二者的集成开发。它的优点是既可以充分利用g i s 工具软件对 空同数据库的管理、分车厅功链,又可以利用其它可视化开发语言具有的高效、 方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而 且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强 大的数据库功能,而且可靠性好、易于移植、便于维护。尤其是采用a c t i v e x 技术的g i s 控件在g i s 应用开发中日益受到重视m 。 g i s 是一个开放协作的系统,数据和应用要分离,软件的功自要分离, 而当我们需要的时候,他们又应该能够互相配合成为一个整体,这就是组件 化的思想。组件式g i s 的基本思想是把g i s 的各大功能模块划分为几个控件, 每个控件完成不同的功能。各个g i s 控件之间,以及g i s 控件与其它非g s 控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的g i s 应用。控件如同一堆各式各样的积木,分别实现不同的功能r 包括g i s 和非 g i s 功能) ,根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。 1 4 课题的来源及研究目的 本课题来源于黑龙江省专项资金资助项目一组件式地理信息系统平台的 9 啥尔滨工程大学硕士学位论文 开发与应用。目的是探索具有自主版权的地理信息系统平台的开发方法。 工具型的地理信息系统,也可以称之为地理信息系统平台,究其根本是 服务于应用型g i s 的。采用集成二次开发方式开发具体的应用系统,能否开 发出完美的满足用户需求的产品,在一定程度上取决于支撑它的工具型g i s 的功能是否完善,因此工具型地理信息系统的设计与开发就显得至关重要。 对g i s 平台的开发者来说,设计一套二次开发语言是不小的负担,同时二次 开发语言对用户和应用开发者而言也存在学习上的负担,而且通常使用系统 所提供的二次开发语言,开发能力往往受到限制,难以处理复杂的问题。以 往的g i s 平台软件无论是系统功能,还是底层的空间数据模型,在设计上都 是一种封闭结构,无论是专业开发人员还是用户都很难扩展其内核功能,开 发难度比较大。 组件式g i s 软件平台带来了g i s 应用系统开发方式的变革,为传统g i s 面临的许多问题了提供一种全新的解决思路,c o m g i s 平台则不需要额外的 二饮开发语言,只需实现g i s 的基本功能函数,按照m i c r o s o f t 的a c t i v e x 控 件标准开发接口即可,用户可以象使用其他控件一样使用c o m g i s 控件,实 现所需要的功能,有利于提高二次开发的效率,增强g i s 系统中各子系统之 间的亲和能力。结合本课题组现有开发人员的实际情况和时间安排,本课题 在组件式地理信息系统平台软件的开发方面做出尝试性的开发,同时对空间 分析方面做一定的理论研究,为后继专业人员开发g i s 专用的空间分组件做 出积极的探索。 1 5 本文内容及章节安排 开发自主的地理信息系统工具软件对我国地理信息系统产业的发展进步 有重大意义。但由于系统庞大复杂,开发有一定的难度,本文首先论述了开 发所必须的理论研究,并在此基础上介绍了目前系统开发所作的工作。 第二章介绍了组件式地理信息系统平台构建的技术背景。主要涉及到组 件技术、面向对象技术、c o m 技术以及基于c o m 的a c t i v e ? ( 技术。理解并 掌握这些内容是进行组件式g i s 平台开发的基础。 第三章介绍了基本组件式g i s 架构的相关理论知识,在充分研究g i s 软 1 0 啥尔滨工程大学硕士学位论文 件平台及组件式g i s 相关技术背景后,得出了基于组件技术的g i s 软件开发 一般过程,为组件式g i s 平台的整体架构奠定良好的基础。 第四章空间分析方法的研究。空间分析能力的大小是衡量个g i s 平台 是否完备的重要标志。本章首先简要介绍了g i s 的若干空间分析能力,最后 详细论述其中的一类算法一缓冲区生成算法,在分析已有算法的基础上绘出 了一种改进算法。 第五章作为本系统的具体设计部分,根据分析已有的g i s 平台的结果, 得出自主设计的g i s 组件对象模型,按该层次模型可以开发各g i s 组件。 最后,对全文进行了总结。 哈尔滨工程大学硕士学位论文 第2 章组件式g ls 平台构建的技术背景 2 1 面向对象技术 面向对象( o b j e c t - o r i e n t ,缩写为o o ) 方法是2 0 世纪8 0 年代流行起来的 一种极其有效、实用的软件开发技术之一,以s m a l l t a l k 8 0 语言为代表发展 成熟。在计算机用户界面、人工智能、软件工程等很多领域取得了极大的成 功。面向对象这个概念由来己久,软件工程专家p e t c r c o d d 和e d w a r d y o u r d o n 曾给面向对象下了一个简明的等式描述: 面向对象= 对象+ 分类+ 继承+ 消息通信 也就是说,面向对象就是既使用对象又使用类和继承等机制,而且对象 之间仅能通过消息的传递实现通信n ,。 面向对象方法认为客观世界是由对象组成,任何事物都是对象,每个对 象有自己的内部状态和规律。面向对象的基本思想是:运用人们习惯的自然 思维方式来建立问题的模型,既模拟信息实体的内在结构又模拟动作机制f 如 路径选择和图像解释就是矢量与栅格数据两类应用的典型范例) ,从而来构造 尽可能直观、自然地表达求解方法的软件系统c ,。 面向对象技术自产生以来,在很长一段时间一直受计算机软件界的青睐, 成为主流的开发方法,到目前为止,它所表现出来的优势仍然让人们恋恋不 舍:从认知学的角度看,面向对象方法符合人们对客观世界的认识规律;使 用面向对象方法开发的软件系统易于维护,体系结构易于理解、扩充和修改; 面向对象方法中的继承机制有力地支持软件的复用。 面向对象理论强调软件的可维护性和可重用性,其关键思想主要有以下 几个方面: 1 类( c l a s s ) 和对象( o b j e c t ) 。现实世界中的很多物体都是当作整体来看 的,在软件中也应该采用这种思想。在软件建模和其他类似的领域中,也应 当将对应于现实世界的各种实体抽象成对象,当作整体来处理;对象与对象 哈尔滨工程大学硕士学位论文 之间可以交互;具有共同属性的多个对象抽象为类。对象是类的实例,由类 来定义,可以保存自己的状态( 属性) 。一个类就是对一组相似对象的共同描 述,它整体地代表一组对象。一个对象可以与一个或多个具有继承关系的类 相联系。由于对象与现实世界的实体对应,从而加强了软件模型的易理解性、 可读性和可维护性。 2 封装( e n c a p s u l a t i o n ) 。封装是指把对象的全部属性和操作组合在一起, 构成一个不可侵害的、独立的对象。它的内部信息对外界尽可能是隐蔽的, 不允许外界直接存取对象的属性。对象提供一些服务,外界通过向它发送消 息,来访问这些服务,从而访问对象。通过对对象状态的隐藏,增强了软件 的稳固性和可维护性。 3 继承( i n h e r i t a n c e ) 与多态( p o l y m o r p h i s m ) 。继承是指子类可以自动拥有、 共享父类( 基类、泛化类、超类) 的全部属性和操作。子类可以继承父类的大 部分特性,而修改自己的专有特性。对象可以继承父类的方法,亦即服务, 也可以在相同的接口下提供不同的实现,从而实现对相同接口的不同反应。 对象的多态性是指在基类中定义的属性和服务被其予类继承后,可以具有不 同的数据类型或表现出不同的行为。这就使得同一属性或服务名在基类及其 子类中可以有不同的语义。多态性机制大大增强了软件结构设计的灵活性, 减少了信息冗余,提高了软件的可复用性和可扩充性。通过继承和多态性, 大大增强了软件的可重用性。 2 2 组件及组件技术 2 2 1 组件的产生 随着计算机应用的功能越来越强大、实现越来越灵活,在过去2 0 年或者 更久的一段时间里,在软 牛开发领域遇到了系列让人棘手的问题,主要体 现在以下几个方面“叱 1 软件开发周期长,难于维护。 2 软件复杂度增加,管理大规模的程序代码困难。 3 软件升级和更新总是牵一发而动全身,大多数功能难以扩展。 哈尔滨工程大学硕士学位论文 4 软件开发过程中重复工作较多,各个应用之间不易集成,一个应用的 数据和功能不能为另一个使用,即使它们是使用相同的语言编写运行在同一 个环境下。 在计算机领域,硬件技术及硬件性能的提高速度总是快于软件,人们使 用传统的软件设计方法已经远远不够。软件开发领域是一个新的领域,这一 领域工作的技术偏好者,他们必须想尽办法跟上技术和方法的更新步伐。经 过不懈的探索与尝试,人们曾相继采用a p i 函数、面向对象程序设计等方法 试图解决如上所述的在软件开发中遇到的这一系列问题,但效果都不是很理 想。面对复杂的分布式应用,简单代码重用的面向对象设计方法已经显得力 不从心,重任最后落在了软件复用技术上。软件复用技术有很多种,最常用 最快捷也最有效的方法即是组装技术。组装技术的核心即是组件。 2 2 2 组件的概念及其基本属性 组件( c o m p o n e n t ) 也称构件或软构件。如今这几个名词己成为软件界的热 门话题,但对于究竟什么是组件,不同的学者有不同的理解。下面是软件行 业对组件的一些具有代表性的观点n 1 1 组件是软件的基本量子,它具有一定的功能,可插用、可维护。 2 组件是软件开发中一个可以替换的单元,它封装了设计决策,并作为 一个在单元和其他组件组合起来。 3 组件是具有特定功能的,能跨越进程边界,实现网络、语言、应用程 序、开发工具和操作系统的“即插即用”的独立对象。 4 组件是指任何可被分离出来,具有标准化的、可重用的公开接口软件。 无论从哪个角度来理解组件,其本质属性是不变的:1 ) 组件是可独立配 置的单元,内部独立设计、独立开发,可进行独立测试、独立发布。2 ) 组件 强调和其他组件的分离,因此组件的实现是严格封装的,外界没有机会或没 有必要知道组件内部的实现细节,为了尽可能的消除软件之间或者是软件的 不同部分之间的联系,组件内部强调强内聚、组件之间追求松耦合。3 ) 组件 可以在适当的环境中被不同形式的或不同层次的重复使用,因此组件需要提 供清楚的接口规范,可以与环境交互。 2 2 3 组件技术 在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件 技术引发的。几年以前,当微软公司首先使用o l e 的时候,其初衷是为了增 强软件的互操作性。然而在使用过程中,人们逐渐认识到这一技术背后的实 质性内容和它在软件开发中所扮演的重要角色。组件技术将以前所未有的方 式提高软件产业的生产效率,这一点已逐步成为软件开发人员的共识。传统 的c l i e n t s e r v e r 结构、群件、中间件等大型软件系统的构成形式,都将在组 件的基础上重新构造。 组件技术的基本思想是“”:将大而复杂的软件应用分成一系列的可独立 实现、易于开发、理解和调整的软件单元,也就是组件,每一个组件保持一 定的功能独立性,在协同工作时,它们通过相互之间的接口完成实际的任务。 应用组件思想进行软件开发,首先要根据软件的要求,按照不同的应用功能 将软件划分为各个组件模块。这些组件可以是不同厂商在不同时期用不同的 程序语言开发的,可以在不同操作系统的机器上运行。不同的组件设计者再 也不必担心自己所从事的这一部分不被其它相关组件或整个系统所接纳,只 要各个组件间提供一个能进行互操作的接口即可。组件间的接口通过一种与 平台无关的语言i d l ( i n t e r f a c ed e f i n el a n g u a g e ) 来定义,而且是二进制兼容 的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提 供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得 更加彻底,更易于使用,并且不限于c + + 之类的语言,可以在各种开发语 言和开发环境中使用。 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。 在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合, 其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布 出来,以便其他对象了解和调用。 软件组件技术是实现组件重用的核心技术之一,它包括组件建模与实现、 组件描述、组件分类与检索、组件获取以及组件组装等。组件建模与实现是 根据组件在领域中的功能和接口的需要设计算法模型,并在某种语言环境下 予以实现。组件描述是以组件模型为基础,对组件的结构和功能进行描述, 以增强组件的可用性。组件分类与检索是根据组件的分类策略、组织模式及 检索策略,建立组件库系统,支持组件的可用性。组件获取是根据系统的功 能需求,在组件描述、分析和检索技术支持之下从组件库或已有系统中挖掘 提取组件。 从广义上讲,组件技术是基于面向对象的,以嵌入后马上可以使用的即 插即用型软构件概念为中心,通过组件的组合来建立应用的技术体系。狭义 上讲,它是通过组件组合支持应用的开发环境和系统的总称。目前,采用组 件思想开发的软件产品已相继出台,代表了新一代软件开发的趋势,所带来 的好处是人们所无法估量的。 2 2 4 几大流行组件技术标准 组件技术是组件式g i s 平台实现的关键技术,选择何种组件技术对平台 的构建有极其重要的意义。目前市场上比较流行常用的组件规范和模型主要 有以下三种:c o v l k d c o m 、c o r b a 、j a v a b e m l 。 c o m 是c o m p o n e n t o b j e c t m o d e l 的缩写,即组件对象模型。是微软公司 于1 9 9 3 年制定并颁布的、为促进软件交互使用设计的、允许两个以上的应用 程序或组件方便进行合作的一种不依赖于任何编程语言的组件对象模型m , d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d 0 1 分布式c o m ) 扩展了组件对象模型技 术( c o m ) ,使其能够支持在局域网、广域网甚至i n t e m e t 上不同计算机的对 象之间的通讯。c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对 象请求代理体系结构) 是由o m g ( 对象管理组织,o b j e c tm a n a g e m e n tg r o u p ) 提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口 和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的 对象重用。j a v a b e a n 是由s u n 公司发布的用j a v a 语言编写的、能在开发工具 中被可视化操作的、可重用的软件组件,它的最初目的是定义一种j a v a 的软 件构件模型,使第三方厂家可以生成和销售供其他开发人员使用的j a v a 构件 “。下面本人从几个方面对这三种模型进行一下简单的比较。 1 从支持平台看,c o m 是由微软制定拥有的体系结构,只在w i n d o w s 平台上实现了c o m 技术,虽然有第三方的软件开发商在u n i x 平台上实现了 c o m ,但是总的来说,跨平台能力不强,c o m 对象及其使用是由m i c r o s o f t i 6 哈尔滨工程大学硕士学位论文 系统平台直接支持的,所以c o m 对象的开发者和使用者都必须遵守与c o m 对象有关的约定。而c o r b a 在不同的平台上都具有相应的产品,所以 c o r b a 的跨平台操作能力很好,支持跨平台的操作。j a v a b e a n 不是针对特 定厂商的,能运行于不同的硬件平台上。 2 从跨语言能力上看,c o m 组件是二进制兼容的,就是说,c o m 组件 可以在不用重新编译的情况下实现软件的重用,用v i s u a lc + + 开发的组件可 以在v i s u a l b a s i c ,d e l p h i 等环境中使用;对于c o r b a 组件,首先要用i d l ( 接 口定义语言) 来定义接口,然后使用旧编译器产生客户端的存根代码和服务器 端的客户代码。由于很多语言都有相应的i d l 编译器产品,因此c o r b a 组 件的跨语言能力很好,如果采用不同语言的i d l 编译器分别来产生服务器端 代码和客户端代码,甚至可以实现c + + 客户对于j a v a 服务组件的访问。 j a v a b e a n 必须由j a v a 编写甚至调用都需要j a v a 。由此看来,c o m 和c o r b a 都是与语言

温馨提示

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

评论

0/150

提交评论