组件技术在G/Electric平台中的应用

来源 :计算机时代 | 被引量 : 0次 | 上传用户:ztwpc2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:阐述了组件技术的基本概念,讨论了组件式GIS的系统构成,进而介绍了Intergraph公司的G/Electric组件开发平台的特点和体系结构,并详细介绍了基于G/Electric组件开发平台开发GIS应用系统的设计思路。
  关键词:地理信息系统;组件;组件对象模型;G/Electric
  
  引言
  
  地理信息系统(GIS)是在计算机软硬件支持下,以采集、存储、管理、检索、分析和描述空间物体的地理分布数据及与之相关的属性,并回答用户问题等为主要任务的技术系统。目前世界上常用的GIS软件已达400多种。它们大小不一、风格各异。国外较著名的有ARC/INFO,MAPINFO、GTECHNOLOGY、MicroStation等;国内较著名的有MAPGIS。Geostar和CITYSTAR等。虽然GIS起步晚,但它发展快,目前已广泛应用于城市市政设施管理、管网、电信、电力、土地管理、城市规划、交通管制、房地产、旅游、公安、消防、资源、环境、国土规划等领域。
  组件技术是面向对象技术的最新发展,是当今软件技术的潮流之一。组件式GIS就是利用组件技术开发的新一代地理信息系统。它基于组件对象模型,以一系列组件的形式提供与GIS相关的功能和服务。目前,国内外GIS厂家纷纷推出基于组件技术的GIS平台,如ESRI的MapObjects,Maplnfo的MapX、MapExtreme和GeoMedia的地图对象等。G/Electric平台是国际三大GIS供应商之一的Intergraph公司出品的优秀GIS基础软件平台,在该平台上已经开发、实现了多个GIS应用软件系统。G/Electric的一大亮点就是其开放的基于组件的开发平台技术。
  
  1、组件技术概述
  
  组件是实现特定功能的、符合二进制标准的软件模块,这些模块可以运行在同一台机器上,也可以运行在局域网、广域网甚至Internet上的不同机器上。接口是组件技术中最关键的概念,它是一组可以调用的函数的集合。接口也是组件与客户程序间以及组件之间通信的协议转换设备,客户程序及组件必须通过接口才能调用组件的方法和功能。如图1所示,对象1提供了接口1,对象2提供了接口2、接口3和接口4,对象1通过接口2调用对象2的功能,客户程序通过接口3和接口4调用对象2的功能。
  


  组件技术的主要特征有:
  (1)可重用性。由于组件标准是建立在二进制基础上的,因此可以重用组件对象的功能,而不用考虑组件具体是如何实现的。
  (2)开发语言无关性。即组件的实现不依赖于某一种特定的编程语言,并且编写组件的语言与调用组件的语言可以不同。
  (3)跨进程、跨线程特性。
  目前,主要有两种组件技术标准:CORBA和COM(Com-ponent Object Model,组件对象模型)。CORBA是在90年代早期由OMG(Object Management Group,对象管理组织)提出的开放的标准,已获得超过20家主要技术供应商包括IBM,Apple、Sun等的支持;COM是微软公司提出并创建的标准,由于微软的Windows在操作系统中的垄断地位,使得COM的普及率远超CORBA,成为事实上的标准。
  
  2、组件式GIS的系统构成
  
  GIS软件根据其应用范围的不同,可以分为GIS基础软件平台和GIS应用软件系统。GIS基础软件平台把空间地理信息及相关属性数据的操作中具有共性和通用的功能提取出来,并以组件的形式加以实现,最后将这些组件按一定的规则组合成基础软件平台。它既可以作为运行软件平台,支持GIS应用软件的运行,也可以作为开发平台,在其基础上进行GIS软件的二次开发。GIS应用软件系统则指针对特定行业的特定应用开发的软件系统,它一般是基于某一GIS平台进行开发的。GIS基础软件平台和GIS应用软件系统的关系如图2所示。
  


  由GIS软件关系图可以看出,将GIS基础软件平台组件化,利用组件的可重用特性,可以提高GIS软件基本功能模块的重用率,减少重复编码,从而提高GIS应用软件的开发效率和质量。同时,由于组件技术所具有的语言无关性,使得GIS应用软件的二次开发真正地脱离了编程语言的限制,可以实现多种语言的混合编程。
  
  3、G/Electric组件开发平台开发简介
  
  G/Electric平台是Intergraph公司出品的专用于电力行业的GIS产品,用于电网的管理与维护。由于其价格昂贵并只应用于电力领域,所以知名度不是很大。其组件开发平台完全基于COM技术,没有自己专有的开发语言,采用通用的开发语言,如PL/SQL,Visual Studio,Visual Studio.Net,Delphi,PB等;它继承了G/Electric强大的功能。提供了完善的图形放置、图形编辑、网络拓扑分析、空间统计查询、数据建模、影像背景、绘图输出等功能。基于G/Electric组件开发平台开发的系统具有以下一些特点:
  (1)具有可扩展的体系结构,可以实现高效、无缝的系统集成;
  (2)统一数据库存储图形、属性和规则库,真正的空间数据库技术保证数据和系统可以平滑升级;
  (3)完全基于COM组件技术,容易和其它系统紧密集成;
  (4)真正先进的图数一体化系统,系统不仅把空间数据和属性数据存放在数据库中,把模型也存放在数据库中,比封闭的图数一体化系统更加先进。
  G/Electric组件开发平台可以嵌入到Visual C++,Visual Basic、Delphi、PowerBuilder和C++ Builder等多种通用的开发环境中。用户可以根据需要选择不同的开发语言,并可以与ASP等其它Web开发语言结合,高效率建立WebGIS的应用;
  
  4、G/Electric组件开发平台的构成
  
  4.1 G/Electric组件开发平台的三层结构
  微软Windows DNA(windows分布式应用架构)解决方案提出:应用系统应由数据层、业务逻辑层和表示层组成。表示层直接面向用户,完成应用的前端界面处理。业务逻辑层处理表示层的应用请求,完成应用的处理,并将处理结果返回给表示层。数据层则是对实际数据进行管理的部分,主要提供对数据的存取、更新、管理等功能,并保证访问数据的安全性、完整性和一致性。
  


  G/Electric组件开发平台根据Windows DNA思想设计了三层体系结构,将G/Electric平台划分为三个层次:数据层、业务逻辑层(中间层)和表示层,如图3所示。数据层对应的是主流数据库,例如Oracle、SQL Server等,业务逻辑层对应G/Electric的功能组件集合,表示层对应G/Electric的客户端程序及二次开发的功能模块等。
  4.2数据的组织
  地理数据存储是GIS中最低层和最基本的技术,它直接影响其它高层功能的实现效率,从而影响整个GIS的性能。G/Electric引入了空间数据引擎的概念,将GIS数据和商业数据库有机地结合了起来,空间数据和属性数据以记录的形式存放在数据库(如SQL Server和Oracle)中,统一由数据库管理系统来控制。G/Electric支持两种形式的数据:文件数据和数据库数据。其中文件数据以DDC(Dynamic Display Cache,图形显示缓存)的形式存放。图形显示缓存技术是专门为存储空间图形而设计的,采用Intergraph特有的四叉树空间数据索引技术来提高图形的访问和存储速度。
  
  4.3通用功能组件
  G/Electric组件开发平台提供了一系列封装完备的、实现GIS平台处理功能的COM组件和控件。大致可以分为五类:
  (1)与图形显示有关的组件。图形显示组件、图层管理组件、显示控制组件、图例管理组件、设施显示风格组件等。
  (2)图形操作有关的组件。图形放置组件、图形修改组件、属性维护组件、连接关系维护组件等。
  (3)地理图的创建和维护。G/Electric支持对栅格数据和矢量数据同时进行浏览和操作,允许库里包含道路、边界、居民地等矢量图形,也允许包含正射影像图(航片和卫片)等图像。
  (4)设施相关的组件。设施及设施属性查找组件、设施定位高亮组件、连接关系追踪组件等。
  (5)其它支持组件。包括网络分析、报表生成(图形报表、数据报表)、绘图输出、查询定位等。
  
  5、基于G/Electric组件开发平台的应用开发
  
  利用G/Electric组件可以实现高效、无缝的GIS应用系统开发。G/Electric组件不依赖于某一种开发语言,可以直接使用通用的开发环境(如Visual Basic或Delphi)实现GIS功能。通过调用G/Electric组件的基本功能,并结合其它专业模型和专业模型分析控件,可以快速地开发GIS应用程序,这大大降低了GIS二次开发的难度与成本。图4所示的就是在VB开发环境中,利用G/Electric组件及控件开发的一个具有图形数据、属性数据的浏览编辑等功能丰富的配电GIS应用示例。
  


  
  6、结束语
  
  G/Electric组件开发平台,采用了Windows DNA三层体系结构,具有清晰的层次划分,极强的可扩展性和可维护性。并且提供了与各种平台集成开发的环境,支持各种各样的程序语言与开发工具,让系统开发者可以选择自己最擅长的工具开发GIS应用系统。使用G/Electric组件开发平台,可以有效地降低GIS应用软件的开发成本,提高GIS应用软件的质量,加快GIS应用软件的开发进度。
其他文献
摘要:Linux卓越的网络系统功能和微内核设计使它在嵌入式系统的开发中也有非凡的表现,目前很多网络设备都是基于Linux内核的。文章主要讲述在X86硬件平台下,结合linux ketnel 2.4系统环境开发RIP路由器的基本原理及实现的三个主要环节——嵌入式linux的构建,命令行接口(CLI)实现,RIP路由协议实现,同时也给出了一些针对RIP路由协议的优化方法。  关键词:嵌入式linux;
期刊
摘要:提出了基于SNMP的远程服务管理体系结构,定义了基于SNMP的服务管理信息模型,并在此基础上实现了服务管理代理。实践袁明,该管理系统实现了对应用服务系统的远程管理,完善了SNMP网络管理的功能。  关键词:服务管理;管理信息库;代理;简单网络管理协议
期刊
摘要:结合微软Office Word2003以上版本对XML较好的支持特性,通过Word文档和XML文档的相互转换。设计了一个Word文档录入和格式检测模型系统。该系统可自动检测文档录入及格式的正确性与否,可提高日常文字编辑工作的效率,减轻文字编辑工作者的负担。  关键词:Word文档;XML文档;格式检测;系统设计
期刊
摘要:在分析有线等效私密(WEP)算法固有缺陷的基础上,研究了RC4加密算法的缺陷和WEP协议对RC4加密算法的误用,对基于WPA协议的TKIP算法在安全性上作了改进,提高了无线局域网的数据安全性能。  关键词:无线网络安全;RC4加密算法;WEP协议;临时密钥完整性协议TKIP
期刊
摘要:LWAPP协议是适用于集中式WLAN的基础协议。文章在指出了当前无线网络的缺点和集中式WLAN是无线网络发展的新趋势,分析了LWAPP工作机制、原理,最后提出了这个协议的设计不足之处,以及解决这些不足的初步设计思想。  关键词:无线接入点;无线控制器;WLAN;LWAPP
期刊
摘要:应用Agent的智能特征,把Agent思想嵌入到网络协作学习系统中;分析了网上协作学习环境、协作学习区、学习环境的运作方式以及其特点。引入智能Agent的网络协作学习环境,实现了个性化教学,能充分调动学习者的主动性。  关键词:Agent技术;智能Agent;协作学习;学习者Agent;学习环境
期刊
摘要:描述了使用Ajax模式操作文档。并将其应用于基于Domino办公自动化系统实现任务管理的方法。将该方法应用于办公自动化系统,可以明显改善用户体验,提高系统的反应速度。  关键词:Ajax模式;Domino;Web应用;OA
期刊
摘要:Nutch是一个优秀的基于Java的开放源码搜索引擎,是以Lucene为基础实现的搜索引擎应用程序,其工作流程和现代商业搜索引擎工作原理一样:文本搜集、建立索引和查询。Nutch0.9较好地处理了英文分词,但对中文分词处理还不够完善。文章介绍了在Nutch0.9中实现索引及检索的二分法,提出了改进中文分词的方法。  关键词:Nutch0.9;二分法;索引;检索
期刊
摘要:移动学习的兴起为实现人类终身学习提供了可能。文章介绍了WLAN技术在移动学习领域的应用,利用嵌入式系统技术和无线网络技术,构建了一种移动学习终端的设计模型,为移动学习平台的开发提供参考。  关键词:WLAN:移动学习:智能终端:移动学习平台
期刊
摘要:IF是一个对异步实时系统建模和验证的开放环境,建立在具有丰富表达能力,基于时间自动机的中间语言IF符号集之上。文章描述了IF的组成,包括其体系结构,所使用的符号集;然后给出了IF对实时系统验证的方法,并运用此验证方法对一个实时系统实例进行了验证。  关键词:IF;异步实时系统;时间自动机;实时系统验证
期刊