什么是组件式GIS及组件式GIS开发平台的结构
由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。
组件式GIS开发平台的结构
组件式GIS开发平台通常可设计为三级结构:
基础组件——面向空间数据管理,提供基本的交互过程。
高级通用组件——面向通用功能。
行业性组件——抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。
1. 基础组件
处于平台最低层,是整个系统的基础,主要面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接。
2. 高级通用组件
高级通用组件由基础组件构造而成。它们面向通用功能,简化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等等。它们之间的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。如一个编辑查询系统,若用基础平台开发,需要编写大量的代码,而利用高级通用组件,只需几句程序就够了。
3. 行业性组件
以GPS监控为例。对于GPS应用,除了需要地图显示、信息查询等一般的GIS功能外,还需要特定的应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。
ComGIS的定义
简单地说,ComGIS就是采用了面向对象技术和组件式软件的GIS系统(包括基础平台和应用系统)[宋关福等,1999]。ComGIS的基本思想是把GIS的各大功能模块划分为几个组件,每个组件完成不同的功能。各个GIS组件之间,以及GIS组件与其它非GIS组件之间,都可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS基础平台以及应用系统。
组件式GIS代表着当今GIS发展的潮流,其代表作当属全球最大GIS厂商ESRI(美国环境研究所)推出的MapObjects1.2和著名的桌面GIS厂商———美国MapInfo公司推出的MapX3.0,另外还有Intergragh公司的GeoMedia、加拿大阿波罗科技集团的TITAN、中科院地理所的ActiveMap等。ComGIS给国内GIS基础软件的开发提供了一个良好的机遇,因为它打破了GIS基础软件由几个厂商垄断的格局,开辟了以提供专业组件来打入GIS市场的新途径。目前大多数GIS软件公司都把开发组件式软件作为一个重要的发展战略。
组件式GIS系统的特点
把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。
(1) 小巧灵活、价格便宜
在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。
(2) 直接嵌入MIS开发工具
组件的生产建立在严格的标准之上,因此,凡符合标准的组件都可在目前流行的各种开发工具上使用。这样,VB、VC、Delphi、PowerBuilder、Notes、Foxpro、Access等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS专门性开发环境相比,是一种质的飞跃。
(3) 强大的GIS功能
新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。
(4) 开发简捷
由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。
最新文章
- 教你利用Google Earth API自动化谷 [03-08]
- ArcGIS Engine实现添加图名比例尺指 [03-03]
- Google Earth客户端 基于Servlet的 [06-04]
- ArcObjects 3D开发简介 ArcScene构 [03-25]
- ArcIMS二次开发介绍 ArcMap服务 Ar [04-24]
- GIS的开发模式以及分析比较 宿主型 [04-24]
- 如何进行ArcIMS的二次开发 基于IMS [04-24]
- 什么是组件式GIS及组件式GIS开发平 [04-02]
- 地理信息系统软件开发OpenSource的 [03-31]
- SuperMap IS Java ——基于Java EE [03-30]
推荐文章


热点文章
用VC读取DXF格式文件的原理及代码
GIS二次开发各种方式对比和Activ
ArcEngine中使用上下左右键移动地
C#中调用MapX方法实例及代码剖析
矢量地图缩放、旋转、平移操作的
MapX在VC++中实现军用标图系统的
MapX应用程序发布和打包过程及注
ARC命令说用说明及详细讲解
MapX教程及基本编程应用实例
如何在MapObject下把ActiveX控件
MapX教程之数据库绑定方法过程及
用C#根据经纬度求两点间距离的函
基于.NET平台的MapX开发方法及实
MapInfo
基于MapX的GIS系统动态操作原理及
用VB和MapX实现各种专题图的示例
如何在VB下用MapObject实现流场显
MapX如何在图层上添加一个点的代
用VB实现MapX移屏测距功能原理及
AO的Display对象简介及应用代码实
VC下用MapX实现任何比例尺打印功
MapX开发疑问之坐标问题讲解
组件开发之MapXtreme for window
MapX图层样式替换的VB源代码
在VC++中嵌入MapX集成二次开发的
教你利用Google Earth API自动化
ArcGIS Engine实现添加图名比例尺
Google Earth客户端 基于Servlet
ArcObjects 3D开发简介 ArcScene
ArcIMS二次开发介绍 ArcMap服务

