组件式地理信息系统研究与开发

宋关福 钟耳顺

( 中国科学院地理信息产业发展中心, 北京 100101)

论文来源:中国图象图形学报

摘要:组件式地理信息系统是适应软件组件化潮流的新一代地理信息系统。本文阐述了组件式地理信息系统的概念和技术基础, 讨论了组件式地理信息系统的特点, 及其与万维网地理信息系统之间的关系, 进而探讨组件式地理信息系统的设计与开发。

关键词: 地理信息系统, 组件式软件, 组件式对象模型, 万维网

1 引 言

经历30多年的发展, 地理信息系统( Geog raphic Inform ation Sy stems, 缩写为GIS) 正在形成完整的技术系统并逐渐建立其理论体系。GIS 应用也已形成一个多层次和不同尺度的应用格局, 成为信息产业的重要组成部分[ 1] 。然而, 计算机技术和全球信息网络技术的飞速发展, 对GIS 产生了巨大的冲击,组件式 GIS( Co mponents GIS, 简称Com GIS) 和万维网GIS( WebGIS) 等新兴技术应运而生。GIS 正在进入一个崭新的发展阶段。

“组件式软件技术已经成为当今软件技术的潮流之一”, 为了适应这种技术潮流, “GIS 软件象其它软件一样, 已经或正在发生着革命性的变化, 即由过去厂家提供了全部系统或者具有二次开发功能的软件, 过渡到提供组件由用户自己再开发”2) 。无疑, ComGIS 技术将给整个GIS 技术体系和应用模式带来巨大影响。

2 ComG IS 的概念

GIS 技术的发展, 在软件模式上经历了功能模块、包式软件、核心式软件, 从而发展到ComGIS 和WebGIS 的过程。传统 GIS 虽然在功能上已经比较成熟, 但是由于这些系统多是基于10多年前的软件技术开发的, 属于独立封闭的系统。同时, GIS 软件变得日益庞大, 使用户难以掌握, 且费用昂贵, 这些阻碍了GIS 的普及和应用。Co mGIS 的出现为传统GIS 面临的多种问题提供了全新的解决思路。

组件式软件是新一代 GIS 的重要基础, Com GIS 是面向对象技术和组件式软件在GIS 软件开发中的应用。认识ComGIS, 首先需要了解所依赖的技术基础——组件式对象模型和Activ eX 控件。

COM 是组件式对象模型( Com po nent Object M odel) 的英文缩写, 是OLE( Object L inking & Em-bedding ) 和ActiveX 共同的基础。COM 不是一种面向对象的语言, 而是一种二进制标准。COM 所建立的是一个软件模块与另一个软件模块之间的链接,当这种链接建立之后, 模块之间就可以通过称之为 “接口”的机制来进行通信[ 2] 。COM 标准增加了保障系统和组件完整的安全机制, 扩展到分布式环境。这种基于分布式环境下的COM 被称作 DCOM ( Dis-tributed COM ) 。DCOM 实现了COM 对象与远程计算机上的另一个对象之间直接进行交互。

Activ eX 是一套基于COM 的可以使软件组件在网络环境中进行互操作而不管该组件是用何种语言创建的技术。作为A ctiveX 技术的重要内容, Ac-tiv eX 控件是一种可编程、可重用的基于COM 的对象。ActiveX 控件通过属性、事件、方法等接口与应用程序进行交互。

一些软件公司专门生产各种用途的ActiveX 控件, 如: 数据库访问、数据监视、数据显示、图形显示、图象处理, 甚至三维动画等等。几个著名的 GIS 软件公司把 COM 技术应用于GIS 开发, 纷纷推出由一系列 ActiveX 控件组成的Co mGIS 软件, 如 In-terg raph 公司的 GeoM edia、ESRI 的M apObjects、 M apInfo 公司的M apX 等, 国内的北京朝夕公司推出了M apEngine, 我们也研制了自己的组件式GIS软件——ActiveM ap, 并在几个大型GIS 应用项目中成功应用[ 3] 。

ComGIS 的基本思想是把GIS 的各大功能模块划分为几个控件, 每个控件完成不同的功能。各个GIS 控件之间, 以及GIS 控件与其它非 GIS 控件之间, 可以方便地通过可视化的软件开发工具集成起来, 形成最终的 GIS 应用。控件如同一堆各式各样的积木, 它们分别实现不同的功能( 包括 GIS 和非GIS 功能) , 根据需要把实现各种功能的 “积木”搭建起来, 就构成应用系统。

更多内容请查看pdf