(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf_第1页
(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf_第2页
(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf_第3页
(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf_第4页
(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于arcgis+engine的交通地理信息系统设计与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 以信息科学和技术为代表的当代高新技术的发展,正在影响着一个国家 和地区的产业与经济的发展,地理信息系统、交通信息化都是其重要的体现, 并且正在向智能交通系统及其产业化方向发展。交通地理信息系统是收集、 存储、管理、综合分析和处理空间信息和交通信息的计算机软硬件系统,是 在地理信息系统技术基础上发展而来的。 随着计算机软件技术的不断发展,对地理信息系统的开发方法也越来越 多样化。而基于组件式g i s 的开发是当今时代的潮流。本文主要介绍了基于 c o m 技术的a r c g i se n g i n e 技术在交通地理信息系统开发中的应用。 本文首先介绍了研究背景与其意义,接着论述了组件式g i s 的引入及其 与传统g i s 相比其具有的优点,对基于a r c g i s 的二次开发方法进行了分析 与比较,从而引入基于a r c g i se n g i n e 作为应用系统的二次开发工具,并详 细介绍了该组件技术及其特点。 最后采用a r c g i se n g i n e 9 2 作为系统的g i s 开发平台,采用面向对象的 方法进行程序设计,通过v i s u a lc + + 开发语言调用a r c g i se n g i n e 组件库所 提供的符合c o m 协议组件,利用相关接口和函数开发系统功能,实现了数 据加载、图层控制、城市公交管理、缓冲区分析等功能。本系统开发作为交 通g i s 实际应用的有益开发探索,建立了简单的城市交通地理信息系统,为 其他交通g i s 的开发提供了有效的借鉴。 关键词:g i s ;交通地理信息系统;组件技术;a r c g i se n g i n e 西南交通大学硕士研究生学位论文第页 a b s t r a c t t h ed e v e l o p m e n to fc o n t e m p o r a r yh i g h - t e c hr e p r e s e n t e dt h ei n f o r m a t i o n s c i e n c ea n dt e c h n o l o g yi sa f f e c t i n gt h ei n d u s t r i a la n de c o n o m i cd e v e l o p m e n ti na c o u n t r y a n dar e g i o n a l t h e g e o g r a p h i c i n f o r m a t i o n s y s t e m s a n du a f f i c i n f o r m a t i o na r et h e i m p o r t a n tm a n i f e s t a t i o n t h e y a r et ot h e i n t e l l i g e n t t r a n s p o r t a t i o ns y s t e ma n dt h e d i r e c t i o no fi n d u s t r yd e v e l o p m e n t t g i si s a c o m p u t e rs y s t e mt h a tc o m p o s e db yt h es o f t w a r ea n dh a r d w a r e a n di tc a nc o l l e c t , s t o r e ,m a n a g e ,c o m p r e h e n s i v ea n a l y s i sa n dd e a lw i t ht h es p a t i a li n f o r m a t i o na n d t r a f f i ci n f o r m a t i o n i td e v e l o p e db a s e do nt h eg e o g r a p h i ci n f o r m a t i o ns y s t e m t e c h n o l o g y w i t ht h ec o n t i n u o u sd e v e l o p m e n to ft h ec o m p u t e rs o f t w a r et e c h n o l o g y , t h e d e v e l o p m e n t o fg e o g r a p h i ci n f o r m a t i o n s y s t e ma p p r o a c h i sa l s om o r e d i v e r s i f i c a t i o n t h ew a yo fd e v e l o p m e n tb a s e do nt h ec o mg i si st h et r e n do f t h et i m e s i nt h i s p a p e r i s m o s t l yd i s c u s s i n ga p p l i c a t i o no ft h es e c o n d a r y d e v e l o p m e n to ft r a f f i cg e o g r a p h i ci n f o r m a t i o ns y s t e mb a s e do nt h ea r c g l s e n g i n et e c h n o l o g yt h a ti sb a s e do nc o mt e c h n o l o g y a tf i r s t ,t h i sp a p e ri n t r o d u c e st h er e s e a r c hb a c k g r o u n da n di ss i g n i f i c a n c e a n dt h e nd i s c u s st h ea d v a n t a g e so ft h ec o mg i sc o m p a r e dw i t ht h et r a d i t i o n a l g i s t h r o u g ht h ea n a l y s i s a n dc o m p a r i s o no ft h em e t h o d so fs e c o n d a r y d e v e l o p m e n tb a s e do nt h ea r c g i s ,t h e nb r i n gi nt h es e c o n d a r yd e v e l o p m e n t i m p l e m e n ta st h ea p p l i c a t i o ns y s t e md e v e l o p m e n tt o o l s a tt h es a m et i m e i t d i s c u s s e st h ec o m p o n e n tt e c h n o l o g ya n di t sc h a r a c t e r i s t i c s f i n a l l y ,o nt h eb a s i so fx x xc i t y sg e o g r a p h i cd a t a b a s e ,u s i n ga r c g i s e n g i n e 9 2a st h eg i sd e v e l o p m e n tp l a t f o r m ,t h es y s t e mu s e so b j e c t - o r i e n t e d a p p r o a c ht op r o g r a m m i n g t r o u g ht h ev i s u a lc + + 6 0d e v e l o p m e n th n g u a g e c a l l e da r c g i se n g i n ec o m p o n e n tl i b r a r yw h i c hp r o v i d e st h ec o m p o n e n t so ft h e c o ma g r e e m e n ta n du s i n gi n t e r f a c ea n df u n c t i o n sr e l a t e dt od e v e l o ps y s t e m f u n c t i o n s ,t h es y s t e mr e a l i z e sd a t al o a d i n g ,m a pc o n t r o l l i n g ,t r a f f i ci n f o r m a t i o n 西南交通大学硕士研究生学位论文第页 q u e r y i n g ,b u f f e ra n a l y s i sa n ds o a 1 1 t h es y s t e md e v e l o p m e n ta sab e n e f i c i a l d e v e l o p m e n te x p l o r a t i o no fg i sp r a c t i c a la p p l i c a t i o n , d e v e l o p i n gas i m p l ec i t y t r a f f i cg e o g r a p h i ci n f o r m a t i o ns y s t e ma n di ta l s op r o v i d e sa ne f f e c t i v er e f e r e n c e f o r t h ed e v e l o p m e n to fo t h e rt r a f f i cg i s k e y w o r d s :g i s ;t g i s ;c o m ;a r c g i se n g i n e 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位 论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密d ,使用本授权书。 ( 请在以上方框内打“ ) 学位论文作者签名更磁嗷 日期:哪,1r 指导棚签名:事l , 嗍一( ) 6 t 厂 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均己在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承 担。 本学位论文的主要创新点如下: 通过对地理信息系统二次开发方法的分析与比较,采用a r c g i se n g i n e 作为交通地理信息系统的g i s 开发平台,使得应用程序可以脱离a r c g i s 桌 面环境独立运行。 学位论文作者签名:王掀 日期:垆p7 厂 西南交通大学硕士研究生学位论文第l 页 第1 章绪论 1 1 研究背景 以信息科学和技术为代表的当代高新技术的发展,正在影响着一个国家 和地区的产业与经济的发展。地理信息系统、交通信息化都是其重要的体现, 并正在向智能交通系统及其产业化方向发展。 随着地理信息系统技术的快速发展,地理信息系统的各种应用在城市规 划、基础建设、社会管理以及更加广泛的区域方面起到越来越大的作用。在 众多有关地理信息的应用中,交通地理信息系统的发展越来越受到关注。 同时,交通数据的种类繁多( 包括属性数据、空间数据、影像数据等) , 数据量大,具有动态性、区域性,操作复杂,人工管理难度大。交通地理信 息系统的出现为交通数据的自动化管理和应用提供了一个可行的途径。 交通地理信息系统运用计算机技术、网络技术、地理信息系统技术及图 像处理技术,全面采集各种交通信息数据,以统一标准、规范分类储存的方 式建立交通信息数据库;并用计算机对各种交通信息进行统计、分析,通过 计算机网络将各子系统相连,用文字、图像、图表等形式直观地反映信息数 据;并能实时地将信息输入交通控制系统,或由管理人员通过电视监控系统 察看交通情况,包括综合交通管理部门收集到的其他信息,如交通事故、突 发事件等,并及时修改交通控制方案,合理分配控制区域内的交通流,以达 到安全、畅通的目的。交通地理信息系统所提供的各种交通信息还可以为其 他部门所广泛利用。交通流量数据是规划部门进行交通规划的基本数据。根 据交通流量数据对交通发展进行预测,合理规划交通网,在城市建设中考虑 对城市交通的影响,使城市规划与道路交通发展相适应1 1 厶3 1 。 1 2g i s 现状 1 2 1 地理信息系统( g 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 ) 是一项以计算 西南交通大学硕士研究生学位论文第2 页 机为基础的新兴技术,围绕着这项技术的研究、开发和应用形成了一门交叉 性、边缘性的学科,是管理和研究空间数据的技术系统,在计算机软硬件支 持下,它可以对空间数据按地理坐标或空间位置进行各种处理、对数据的有 效管理、研究各种空间实体及相互关系。通过对多因素的综合分析,它可以 迅速地获取满足应用需要的信息,并能以地图、图形或数据的形式表示处理 的结果。 g i s 发展始于2 0 世纪6 0 年代,是与计算机技术同步发展的。目前世界 上常用的g i s 软件己达4 0 0 多种。它们大小不一,风格各异。国外较著名的 有a r c l n f o ,g e n a m a p ,m g e 等;国内较著名的有m a p g i s ,g e o s t a r 和c i t y s t a r 等。虽然g i s 起步晚,但它发展快,目前已成功地应用到一百多个领域。 1 2 2 我国g i s 发展状况 我国地理理信息系统的起步稍晚,但发展势头相当迅猛,大致可分为以 下三个阶段1 1 l 。 第一是起步阶段。2 0 世纪7 0 年代初期,我国开始推广电子计算机在测 量、制图和遥感领域中的应用。随着国际遥感技术的发展,我国在1 9 7 4 年 开始引进美国地球资源卫星图像,开展了遥感图像处理和解译工作。 第二是试验阶段。进入8 0 年代之后,我国执行“六五 、“七五 计划, 国民经济全面发展,很快对“信息革命作出热烈响应。在大力开展遥感应 用的同时,g i s 也全面进入试验阶段。在典型试验中主要研究数据规范和标 准、空间数据库建设、数据处理和分析算法及应用软件的开发等。 第三是g i s 全面发展阶段。8 0 年代末到9 0 年代以来,我国的g i s 随着 社会主义市场经济的发展走上了全面发展阶段。国家测绘局正在全国范围内 建立数字化测绘信息产业。1 :1 0 0 万地图数据库己公开发售,1 :2 5 万地图数 据库也已完成建库,并开始了全国1 石万地图数据库生产与建库工作,各省 测绘局正在抓紧建立省级1 :1 万基础地理信息系统。数字摄影测量和遥感应 用从典型试验逐步走向运行系统,这样就可保证向g i s 源源不断地提供地形 和专题信息。进入9 0 年代以来,沿海、沿江经济开发区的发展,土地的有 偿使用和外资的引进,急需g i s 为之服务,有力地促进了城市地理信息系统 西南交通大学硕士研究生学位论文第3 页 的发展。用于城市规划、土地管理、交通、电力及各种基础设施管理的城市 信息系统在我国许多城市相继建立。 经过几年的努力,我国g i s 基础软件与国外的差距迅速缩小,涌现出若 干能参与市场竞争的地理信息系统软件,如g c o s t a r ,m a p g i s ,o i t y s t a r , v i e w g i s 等。 1 2 3g i s 的应用 凡是和空间位置有关的应用都可以采用g i s 技术。各个行业涉及的信息 都和地理空间位置有着或多或少的联系。当行业应用和地理空间结合时,可 以采用g i s 技术。 图1 1g l s 的应用领域 如银行系统办理的很多业务和空间位置关系不大,但当我们对一定区域 范围的所有银行进行各种业务的对比分析,或者考虑新的银行点的增加选 址,或者需要查询距指定地点最近的银行以及其到达路线时,需要考虑现有 各银行点的空间分布,选址还要分析其他相关因素的空间分布,到达指定银 行还需要考虑道路的空间分布。在这种情况下,需要采用g i s 技术。又如, 土地管理部门的业务办公是按一定流程进行的,和空间位置没有直接联系。 但业务内容需要涉及到被管理的土地的空间位置、形状、面积等空间特征, 西南交通大学硕士研究生学位论文第4 页 为了提高业务办理效率,可以采用g i s 技术进行图文一体化管理。 1 3 交通专用g i s 的必要性和意义 由于g i s 的功能和使用特点非常适合交通领域,我国交通部门一直是其 应用的重点行业之一。交通专用g i s 系统的开发、利用有其必然的意义。 1 、交通公用信息平台的功能特点需要g i s 技术支持 交通共用信息平台的目的之一是,实现i t s 子系统的整合和交通信息的 集成。此外一个区域交通的良性发展必须充分考虑与交通紧密相关的其他系 统,包括:经济系统、自然环境系统、社会环境等。为了完成共用信息平台 的整合功能,实现对整个交通的研究,共用信息平台必须对基于整个范围的 多角度多范围的数据,实现存储、管理、操作、分析等功能。基于整个范围 的数据包括有:交通范围内的交通管理、交通控制、交通诱导、交通规划等 数据,以及与交通紧密相关的空气污染,城市人口的分布、城市经济的产业 结构等数据。g i s 是最强有力的信息集成技术,共用信息平台可以借助它来 完成交通领域内不同范围、不同来源、不同种类的海量数据和表面上看来不 相关的非交通领域的数据集成;实现基于整个城市范围的交通管理、交通控 制、交通分析等。通过g i s 来实现城市i t s 子系统的整合和交通信息的集成, 这就意味着,所有被考虑和研究的对象都集中到某个公共的地理空间平台 上。i 所有与研究对象相关的数据、模型、工程等内容都通过适当的转换机制 集成和注册到这个共同的基础地理框架上。 2 、交通信息的地理特点需要g i s 技术支持 在作为交通信息集成工具的共用信息平台中,交通信息在很大程度上都 与地理信息有关。当人们考虑交通问题时,会考虑交通信息的发出者或产生 者、信息的内容、信息的接受者或需求者、信息发生的时间和信息的效用时 间、信息怎样被处理和利用、信息的载体是什么等,这些因素都会或多或少 地与地理位置有关,这些都需要地理空间信息的支持。地理信息正是智能交 通系统中各类信息和服务的空间定位基础。交通地理信息系统是地理信息系 统中的一个重要分支,是公路、铁路、水路、航空、管网和通讯线路等线性 空间要素分析和建模的工具,也是研究地理要素沿线性网络系统运动变化和 西南交通大学硕士研究生学位论文第5 页 发展的有力手段。此外,在i t s 子系统中,服务主体、用户主体、服务内容 等抽象概念和物理设备、车辆实体、交通基础设施等物理实体都与地理位置 有关。 交通地理信息系统,不仅具有管理与交通相关的基础交通地理信息功 能,而且关键的是还能提供空间网络数字化平台,提供空间辅助决策支持, 也可以形象直观地通过交通地理信息系统的电子图显示出来。 1 4 本文主要研究内容 本文的研究重点是基于c o m 技术的a r c g i se n g i n e 技术在交通地理信 息系统开发中的应用。以宁波市电子地图为数据基础,实现了电子地图的基 本功能以及交通地理信息系统的部分功能。 本系统重点研究的内容和实现的功能如下: 1 、电子地图的基本功能,如图层的添加、删除,地图浏览等; 2 、公众信息服务功能,对于出行者比较关心的公众信息进行查询。 3 、地图元素标注,实现电子地图符号化; 4 、空间分析功能( 数据统计、缓冲区分析等) 。 1 5 论文组织结构 论文研究的主题思想是基于a r c g i se n g i n e 的交通地理信息系统的设计 与实现,围绕这个主题,论文的各章节是这样组织的: 第一章:绪论。提出论文研究的背景、研究的意义、研究的主要内容, 论文的组织结构。 第二章:对进行地理信息系统二次开发的主要方法进行分析与比较。 第三章:系统需求分析,对交通地理信息系统的需求特征进行了介绍。 第四章:主要介绍系统的功能模块和电子地图的数据设计。 第五章:基于a r c g i se n i n e 的交通地理信息系统开发过程。 第六章:系统运行实例。 西南交通大学硕士研究生学位论文第6 页 第2 章地理信息系统二次开发 2 1 组件式g i s 1 、组件技术的引入 g i s 软件技术的发展历程由图2 - 1 所示。 图2 - 1g 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 和模块式g i s 这两种都存在这样一个缺点:它 难与管理信息系统以及专业应用模块集成高效、无缝的g i s 应用。为克服这 西南交通大学硕士研究生学位论文第7 页 个缺点,就提出了核心式g i s 的概念。这种g i s 设计为操作系统的基本扩展, 例如在w i n d o w s 操作系统上的核心式g i s ,它提供了一系列动态链接库 ( d l l ) ,以便开发时采用现有的高级编程语言,通过应用接口程序( a p i ) 访问内核所提供的g i s 功能。但是,核心式g i s 提供的组件过于底层,在开 发时增加了一定的难度,同时也不适应可视化程序设计的潮流。随着计算机 软件技术的发展,g i s 组件化发展到了一个全新的阶段,组件式g i s 应时而 生1 6 7 9 1 。 2 、组件式g i s 组件式g i s ( c o m 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 相比较, 它具有以下特点眦0n l : 1 ) 高效无缝的系统集成:在系统设计的过程中,如何将g i s 数据、基 本空间处理功能集成到各种应用模型中,这在很大程度上决定了系统的实用 性和效率。应用领域不同则系统集成方案往往不同。组件式g i s 是解决系统 集成理想的方案,传统g i s 在系统集成上都存在一定的缺陷。c o m g i s 不依 赖于某一种开发语言,可以直接嵌入到通用的开发环境中实现g i s 功能,其 它非g i s 功能由通用的开发环境来实现,因此,使用c o m g i s 可以实现高效 无缝的集成。 2 ) 无须专门g i s 开发语言:传统g i s 往往具有独立的二次开发语言, 如a r c i n f o 的a m l 、m g e 的m d l 、m a p l n f o 的m a p b a s i c 等。对g i s 基础 软件开发而言,设计一套二次开发语言是不小的负担,同时学习二次开发语 言对用户和应用开发者而言也是负担。而且,使用系统所提供的二次开发语 言,开发往往受到限制,难以处理复杂问题。c o m g i s 则不需要额外的g i s 二次开发语言,只需实现g i s 的基本功能函数,按照m i c r o s o f t 的a c t i v e x 西南交通大学硕士研究生学位论文第8 页 控件标准开发接口。这有利于减轻g i s 软件开发者的负担,而且增强了g i s 软件的可扩展性。开发时,只需熟悉基于w i n d o w s 平台的通用集成开发环境, 以及c o m g i s 各个控件的属性、方法和事件,就可以完成应系统地开发和集 成。目前可供选择的开发环很多,如v i s u a lc + + 、v i s u a lb a s i c 、d e l p h i 等。 3 ) 成本低:传统g i s 结构封闭,系统交互性差,开发难度大,因此开 发成本较高。c o m g i s 提供实现空间数据的采集、存储等功能,其他非g i s 功能则可以使用专门组件,这样有利于降低g i s 软件开发成本。而且c o m g i s 本身可划分成多个控件,分别完成不同功能,用户可以按需选择控件,最大 程度地降低了用户的经济负担。 4 ) 可扩展性:在组件式软件技术背后,有一个十分庞大的组件资源库, 用户可以从不计其数的组件中挑选需要的组件式g i s 一起集成应用系统,极 大扩展了g i s 的功能。世界上有许多软件公司可在编写各种各样的控件,这 些第三方控件差不多可以解决日常通用软件编程中所遇到的问题。这些控件 有商业软件,也有共享软件。组件式g i s 是组件大家庭中的一员,使用组件 式g i s 集成应用系统,具有无限的扩展性。 总之,组件式g i s 是通过对象、属性、方法和事件进行交互。空间对象 的相互关系,几何对象之间的集成关系、对象间的组成关系、对象之间的逻 辑上的关联关系等,只要了解了清楚c o m g i s 内存对象之间的关系和基本概 念,利用已经熟悉的任何- - i - j 面向对象的可视化开发工具,两者结合,就可 以开发出功能强大的g i s 应用系统。 2 2 地理信息系统的开发模式 目前常用的g i s 开发模式主要有三种0 6 1 :独立开发、单纯二次开发、集 成二次开发。由于独立开发难度太大,单纯二次开发受g i s 工具提供的编程 语言的限制,效果不理想,因此,结合g i s 工具软件与当今可视化开发语言 的集成二次开发方式就成为g i s 应用开发的主流方式。优点是既可以充分利 用g i s 工具软件对空间数据的管理、分析功能,又可以利用其它可视化开发 语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应开发 效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效 西南交通大学硕士研究生学位论文第9 页 果、更强大的数据库功能,可靠性好、易于移植、便于维护,尤其是以 o c x c o m 技术利用g i s 功能组件进行集成开发,更能表现出这些优势。不 过这种方法唯一的缺点是前期投入比较大,需要同时购买g i s 工具软件和可 视化编程软件,但“工欲善其事,必先利其器,这种投资非常值得。 2 3 基于a r c g i s 的二次开发方法 2 3 1 基于m a p o b j e c t s 开发 m a p o b e j e c t s ( 简称:m o ) 是e s r i 公司早期推出的g i s 软件组件,是 建立在微软的o l e 2 0 基础上的,是一个提供制图与g i s 功能的o l e 控件, 包含了超过4 5 个可编程的o l e 对象。他可以用于大量开发框架中,如v b 、 v c 等之类的程序设计环境中,便于我们在熟悉的开发环境中使用m o 来开 发g i s 应用。地图控件可以直接插入到标准开发环境中,通过属性来操纵地 图p a l 。 m o 具有许多特点,诸如支持广泛的数据格式、通过o d b c 和a d o 进 行的外部数据库的访问、扩展的图形数据及操作以及支持投影的特点,它还 具有空间分析功能,在m 0 2 1 种提供了用于合并、交叉和缓冲区操作的空 间几何库,它简洁灵活,可以容易的建立程序而免去c + + 冗长的代码,等等。 m o 的功能主要:能够符号化显示一幅全要素地图,支持自定义符号( 提 供了自定义符号的开发接口) ;支持对图层的管理和操作( 图层的添加、删 除以及图层压盖关系的调整等) ;支持各种图形操作( 放大、缩小和漫游等 基本操作) ;可以添加注记;提供各种查询功能:提供一定的空间分析功能 ( 如缓冲区分析) 等。 2 3 2 基于a r c o b j e c t s 开发 a r c o b j e c t s ( 简称a o ) 是e s i r 公司a r c g i s 家族中应用程序的开发平 台,其技术基础是微软的组件对象模型( c o m ) 。但是a o 不是一个独立的 应用产品,是依附在a r c g i sd e s k t o p 的产品中的软件开发包。a o 基本上囊 括了当今g i s 的全部的功能1 2 4 1 。利用a o 可以实现系统的功能有:地理要素 的交互式显示、查询和分析;根据属性信息制作并分析专题图:空间查询、 西南交通大学硕士研究生学位论文第l o 页 空间分析功能;允许用户为其他图像格式提供支持;具备基本的图象处理功 能;矢量数据与栅格数据的叠i i ;支持与逻辑网络关联的网络元素的编辑和 分析等等。 a o 是基于组件技术开发出来的组件,功能强大,具有庞大的体系结构。 a o 共提供了1 1 个控件、1 1 大类2 5 个组件库、1 5 0 0 多个类、1 6 0 0 多个接 口。其中1 1 大类组件库是根据a r c g i s 的系统结构( 核心模块和扩展模块) 和功能结构来划分的。常见的控件包括m a p c o n t r o l 、p a g e l a y o u t c o n t r o l 和 s c e n e v i e w e r ,二维地图显示、地图制图与输出和三维显示与分析主要都是这 三种控件为平台进行的,而所有的组件库提供类和接口,主要是在这些控件 的基础上开展应用的i - s l 。 1 、a o 的控件 1 ) m a p c o n t r o l 控件:m a p c o n t r o l 控件提供了类似a r c m a p 中的数据视 图的窗口,通过它我们可以实现很多提高地图显示效果的功能,如显示图层 地图,放大、缩小、漫游等,说明注记,识别地图上被选中的元素,进行空 间或属性查询等。总之,在a r c m a p 中能够完成的大部分任务,通过 m a p c o n t r o l 控件也可以完成。通过对m a p c o n t r o l 属性的设置,我们不需要 编写代码就可以实现g i s 的部分功能。 2 ) p a g e l a y o u t c o n t r o l 控件:该控件提供了类似a r c m a p 中的版面视图 的窗口,它具有以下属性、方法和事件:a 管理控件的外观设置:b 管理控 件的显示设置;c 管理页面属性;d 在控件中增加和查找元素;e 加载地图文 档到控件;f 可以直接从资源管理器和a r c c a t a i o g 中拖放到数据到控件中。 p a g e l a y o u t 功能像a r c m a p 的l a y o u t 视图一样可以完成任意增加和设置图 例、打印输出等。 3 ) t o c c o n t r o l 控件( 目录树控件) :它的一个重要特性是“b u d d y c o n t r o l 即伙伴控件特性。伙伴特性表示“地图内容目录表”所表示地图的 控件。只要在t o c c o n t r o l 控件中设定“b u d d yc o n t r o l 特性,程序运行时 t o c c o n t r o i 控件就自动可视化显示其伙伴的地图内容目录。当伙伴地图内容 发生改变时,t o c c o n t r o l 的内容也随之发生改变。 4 ) t o o l b a r c o n t r o l 控件( 工具条控件) :它也具有“b u d d yc o n t r o l 特 西南交通大学硕士研究生学位论文第u 页 性。它表示与该控件相连的m a p c o n t r o l 控件或p a g e l a y o u t c o n t r o l 控件。当 与t o o l b a r c o n t t o l 控件相连的m a p c o n t r o l 控件或p a g e l a y o u t c o n t r o l 控件处 于激活状态时,t o o l b a r c o n t r o l 控件显示相应控件的c o m m a n d s 或t o o l b a r s 。 t o o l b a r c o n t r o l 控件设置的。b u d d y c o n t r o l ”特性不同,则显示的内容不同。 2 、a o 的对象与属性 a o 由上千个组件、几百个具有良好文档说明的接口和数千个方法所组 成。a o 组件展现了在a r c g i s 中可以利用的全部功能口i 。a 0 组件库的每个 组件中定义不同的类,类下定义了不同接口,接口中包含了不同的属性和方 法。类之问具有类型继承关系,接口之间互相调用及互相继承关系。 1 ) a o 的组件类m : a r c o b j c c t s 的组件有三种类型:( a l k t r a c tc l a s s ) 抽象类,不可以实例化, 用来作为其它类的基类;c o c l a s s 类,可直接通过创建对象进行实例化;c l a s s , 不能直接通过创建对象进行实例化,但是可以作为其它类的一个属性被实例 化。组件关系类如图2 2 m l 所示。 图2 2 a o 组件关系表 西南交通大学硕士研究生学位论文第1 2 页 2 ) 类的类型继承1 2 4 1 类型继承指的是类之间的接口类型的继承,而不是继承其实现。例如 g r a p h i c e l e m e n t 类继承于e l e m e n t 类,其中e l e m e n t 类有六个接口,而 g r a p h i c e l e m e n t 有八个接口。g r a p h i c e l e m e n t 的接口包括自身的两个接口和 类型继承于e l e m e n t 的六个接口。继承过来的接口名称相同,具体的实现不 同。 3 ) a o 接口的类型1 5 1 a o 接口属性的读写方式有四种,接口操作分两类,如图2 3 所示: i n t e r f a c ek e y l p r o p e r t y g e t - p r o p e r t yp u t t - p r o p e r t y g e u p m :- 7 :。: 口p r o p e r t yp u tb yr e f e r e n e 一f u n c t i o n : 司一e v e n t f u n c t i o n i s i m p l e m a r k e r s y r n b o l :l m a r k e r s y m b o l _ _ - o u t l i n e :b o o l e n _ o u t l i n e c o l o r :l c o l o r i - o u t l i n e s i z e :d o u b l e :囊i 一: 卜_ s t y l e :t a g e s r i s i m p l e m a r k e r s t y l e a s c o b j e c t s 的接口 i s i m p l c m a r k c r s y m b o l 接1 2 1 图2 3a o 的接口 臌口的获取与访问 i s i m p l e m a r k e r s y m b o l p i ri p s m s y m b o l ;h r e s u l tl i f : h f = i p m y s y m b o l - q u e r y i n t e r f a c e ( _ _ t m i d o f ( s i m p l e m a r k e r f i l l s i m b 0 1 ) ( ( v o i d + 4 ) t d p s m s f o o i ) ) ; i f ( f a i l e d ( h o ) a f x m e s s a g e ( “获驭接口失败! ,) ; i c o l o r p t ri p c o l o r ; h r = i p s m s y m b o l g c t _ o e t l i n e c o l o r ( & i p c o l o r ) ; i f ( f 眦d ( h 01i p c o j o r n u l l ) a f x m e s s a g e ( “获取接口失败! ,) ; h r = i p c o l o r - p e t _ n a l i c o l o r ( v a r i a n t _ t u r e ) ; i f ( f a i l e d ( 1 i r ) ) a f x m e s s a g e ( “接口访问失败! ,) ; 2 3 3 基于a r c g i se n g i n e 开发 a r c g i se n g i n e ( 简称a e ) 是一个嵌入式g i s ,与其他组件相比较具有 很大的优势,它使开发应用g i s 彻底脱离了a r c g i s 桌面平台。a e 是a r c g i s 9 新增加的a o 产品之一,它是面向开发的嵌入式组件,另一个新增组件是面 向企业服务器的a r c g i ss e r v e r 唧。 西南交通大学硕士研究生学位论文第1 3 页 a e 是a o 组件跨平台应用的核心集合,其对象与平台无关,能在各种 编程接口中运用。a r c e n g i n e 在a r c g i s 中与其他组件的关系如图2 4 1 m 所示: a a :g i sd l 蛔 a 托傩e n g i n e 魄h 五口弧w a r t a r c h f o l 器 j 黜a d e r f | 觚蹦啊l | 觚州l a r c o b j e c r 。 i 1, i 。 l a t c d d s i i 觚蛊 l 瞒岱淋茸i p 葛落q l 图2 4a r c g i se n g j n e 在a r c g i s 中与其他组件的关系 2 3 4 三种方法的分析与比较 a e 与a 0 相比较,具有以下优点:a 0 是指c g i sd e s k t o p 版本的组 件开发集,它包括了所有的类库。其中所含有的心c m a p 、心c m a p u i 、 觚c a t a l o g 、c c a t a l o g u i 等组件库必须在安装了c g i sd e s k t o p 版软件后 才能使用,这使得a o 的开发成本增加。而a e 是将a o 中的某些组件集单 独封装出来而成的嵌入式组件库,在使用时仅需要在一个r 帅t i i i l e 下运行, 脱离了c g i s 桌面环境。因此,a e 包含于a o ,是它的一个子集,采用 a e 开发出来的软件可以在a o 环境中使用,但是采用a o 开发出来的的程 序,如果程序中使用的组件库在a e 中不存在,则在a e 环境中就无法使用, 比如i i d e n t i f y d i a l o g 对象,它只能在a o 中才能使用。 a e 与m 0 相比较具有以下优点:能够读写g e o d a t a b a s 瑚记,栅格, 自定义要素等;能够读写m x d 文件;更好的标注:更好的编辑;更多的符 号风格;支持a r c m i s 和c g i ss e r v e r 服务;高级的功能( 3 d ,g l o b e 和 s p a t i a l ) ;以p 汀c o b j e c t s 为基础;可以使用c m a p 来创建地图等。 西南交通大学硕士研究生学位论文第1 4 页 2 4a e 组件的主要特征 前面已经介绍了三种二次开发方式并通过分析与比较得出采用基于a e 技术作为二次开发工具具有明显的优势,在此将详细介绍a e 组件的主要特 征。 1 、a e 的组成 a r c g i se n g i n e 是为编程人员开发客户化应用程序的组件包,它全面包 含了组件式g i s 的类库,包含两个部分嗍:a r c g i se n g i n ed e v e l o p e rk i t ( a r c g i se n g i n e 开发工具包) 和a r c g i se n g i n er u n t i m e ( a r c g i se n g i n e 运 行库) ,其详细组成结构如图2 5 所示。a e 开发包包括了支持开发任务所需 要的所有的开发资源,a e 运行时包括了支持运行a e 开发应用程序所需要 的资源。 图2 - 5 a e 的组成结构 a e 开发包是用于开发应用程序的工具包,而不是终端用户产品。它可 以用来构建基本的地图浏览器或全面的动态的g i s

温馨提示

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

评论

0/150

提交评论