分享

GIS平台软件技术发展回顾与展望【上】--宋关福博客

 ufo999 2011-05-31
GIS平台软件技术发展回顾与展望【上】 
自诞生以来,地理信息系统(GIS)平台软件技术就从未停止过其快速发展的步伐,在不断带来惊喜的同时,也带来了挑战。技术进步意味着新市场机会的出现,意味着新的应用模式成为可能,但技术进步同时也意味着现有的技术面临淘汰的风险,这令GIS平台的选型变得更加困难。无论是行业应用系统开发商,还是最终用户,一旦所选的GIS平台不符合未来发展的方向,很可能造成巨大的浪费。

笔者将在回顾过去十年GIS平台软件技术发展历程的基础上,展望未来的发展方向,并分析其对未来应用的影响,以期对GIS应用的技术选型提供参考。

1.   GIS平台软件技术发展回顾

从二十世纪九十年代末到现在的十年期间,GIS软件技术的发展经历了“四化”,即:组件化、Web化、微型化和数据库化。这“四化”深深地影响了过去十年的GIS应用开发方式,并把GIS的应用推到前所未有的高度。

1.1.   组件化

正如《三国演义》开篇所云,“天下大事,分久必合,合久必分”,GIS软件技术的发展也经历了一段类似的历程。

在GIS软件诞生之初,不同研究机构分别独立开发了完成不同功能的模块,有的倾力投影转换,有的聚焦数据编辑等等,可称为GIS模块阶段。GIS模块阶段的出现,在GIS发展史上具有里程碑意义,但处在这个阶段的GIS软件是分散的,并未构成完整的体系,很难满足大规模应用需要。

顺应应用需要,有些机构开发了汇集各种GIS功能于一身的集成式GIS软件。从GIS模块阶段到集成式GIS阶段,GIS技术完成了由“分”走向“合”的演变,并凭借强大的功能和自成体系的系统, GIS软件应用开始得到快速发展起来。然而,应用需求始终是检验一切技术的硬指标,尽管集成式GIS功能强大,但若用户只需要做GIS应用中某个环节的工作,却不得不花费昂贵的代价购买整个GIS软件,最终仅能使用到其中10%~20%的功能,这对用户和软件本身,都是浪费。

于是,GIS软件技术又从“合”向“分”回归,模块化GIS被开发出来。用户可以根据需求选购必要的模块。Intergraph的MGE是模块化GIS的典型代表,MGE就是模块化GIS环境(Modular GIS Environment)的简称。基于统一的图形内核,Intergraph开发了满足不同需要的功能模块,比如坐标配准、交互式矢量化、GIS制图、拓扑处理和GIS分析等。这些模块既可以集成在一起协同工作,也可以拆开独立使用,符合GIS应用社会化分工的需要。但问题依然存在:由于模块划分方式以及模块之间的集成接口均由GIS厂商独立制定,因此容易实现同一套GIS软件各模块之间的集成,即同构集成;却很难实现不同GIS软件之间的集成,即异构集成。事物的发展总是螺旋式上升的,GIS模块阶段和模块化GIS阶段从名称上看有相似之处,但却又本质的区别:前者的不同模块是不同单位开发的,没有形成一个完整的体系;而后者是同一个单位开发的不同模块,这些模块组合起来是一个完整的产品体系。

在像微软的COM这样的组件对象平台发展起来以后,GIS厂商终于找到了模块之间集成的接口标准,组件式GIS由此诞生,异构集成的问题得到解决。组件式GIS是按照组件对象标准和规范划分和组织的模块化GIS,GIS的不同模块仍然可以拆分销售和使用。基于统一的规范(比如COM),来源于不同GIS厂商的多个GIS模块之间可以非常方便地集成,异构集成的理想得以实现。目前流行的典型的大型组件式GIS平台有SuperMap Objects和ArcEngine等,轻量级的GIS组件有MapX和MapObjects等,组件式GIS的发展推动GIS应用得以快速发展。2000年前后,在一个选用了MapObjects作为其开发平台的国土应用项目开发中,开发人员发现该组件产品没有内置的线状符号系统,所有的线型必须编程绘制,工作量非常大。为提升工作效率,开发人员使用了组件式GIS平台SuperMap Objects的线型系统,直接调用其中的线型绘制接口,把线状符号绘制到MapObjects的地图窗口,以异构集成方式解决了问题。

作为当前流行的开发工具,组件式GIS摒弃了传统的GIS专用开发语言,采用所见即所得的通用软件开发工具,具备高度伸缩性(既可用于大型GIS应用系统开发,也可在被裁减后适用于小型应用系统),并具有与其他信息技术的无缝集成的特点,真正让GIS融入了IT大潮。凭借独特的优势,组件式GIS影响了过去十年的GIS应用开发方式,在GIS软件技术发展历程中书写了浓墨重彩的一笔。

1.2.   Web化

“19世纪是铁路的时代,20世纪是高速公路的时代,21世纪是网络的时代”。Internet的迅速崛起和在全球范围内的飞速发展,使Web成为高效的全球性信息发布渠道。互联网逐步渗透到各行各业,信息高速公路上奔跑着越来越多的信息。随着Internet技术的不断发展和人们对地理信息系统(GIS)的需求增长,利用Internet在Web上发布空间数据,为用户提供空间数据浏览、查询和分析的功能,已经成为GIS发展的必然趋势。于是,基于Web技术的地理信息系统——Web GIS应运而生。

Web GIS是Web技术应用于GIS开发的产物。通过Web功能,GIS应用空间得以扩展,真正成为了一种可以为大众服务的工具。从WWW的任意一个节点,Internet用户可以浏览Web GIS站点中的空间数据、制作专题图以及进行各种空间检索和空间分析,从而使GIS飞进了千家万户。

早期的Web GIS应用开发缺少所见即所得的能力,当Web Control技术引进后,基于Web的GIS应用开发变得跟组件式GIS一样方便,可以把平台中提供的或应用开发人员预先定制的Web控件放置在网页中相应的位置,实现所见即所得的软件开发能力。

此外,引进Ajax技术也大幅度提高了客户端的响应效率和用户体验。早期的Web GIS平台开发人员集中精力提高后端机制(Backend Mechanics),忽略了客户端的用户体验。AjaxMap技术通过异步通讯模式,实现可视化图片分区异步下载,配以服务器端瓦片金字塔的缓存机制,大幅度提高了Web GIS的客户端用户体验。

Web GIS为Internet应用而生,但同时也为局域网内的GIS应用系统提供了全新的瘦客户端模式的解决方案。作为GIS开发平台,Web GIS具有以下特点:

更广泛的访问范围,网络内能访问服务器的任何一个节点,都可以访问Web GIS提供的各种功能;
更简便的系统部署,客户端无需安装独立软件,系统部署变得更加简单;
降低大型系统的GIS软件采购成本,对于客户端数量巨大的应用系统,若采用桌面GIS或组件式GIS,将支付大量的客户端软件费用,采用Web GIS则只需购买和安装服务器端软件,即可实现大量客户端访问,节约大量资金;
集中维护与即时升级,系统维护和升级都集中在服务器端,一旦服务器端系统完成升级,所有客户端就可及时获得最新的功能和服务。

Web GIS带来的瘦客户端GIS应用模式在越来越多领域得到广泛应用,但由于Web GIS功能相对较弱,还无法代替组件式GIS开发所有的应用系统。因此,不少应用系统需要同时使用组件式GIS和Web GIS,前者完成复杂功能的应用,后者完成功能简单但访问范围大的应用。组件式GIS与Web GIS双剑合璧,承担了绝大多数的GIS应用开发。

1.3.   微型化

微型化是GIS软件发展的另一方向,尽管桌面应用仍然占GIS应用的主要部分,但不少用户对于GIS移动化应用的需求也越来越多,比如电力巡线,农业田间数据采集、外业测绘和邮递送货等,他们需要在室外移动作业环境中使用GIS。包括笔记本电脑和桌面PC在内的计算机设备,显然很难满足野外作业的需要,PDA、手机和其他移动设备也加入到GIS应用的硬件行列。这些设备多采用Windows CE、嵌入式Linux等嵌入式操作系统,内存和计算能力也相对较低,传统的GIS客户端无法运行。

为适应小内存、较低处理能力的嵌入式计算环境,GIS厂商纷纷推出一种精简的嵌入式GIS软件,国内产品如eSuperMap和MAPGIS--EMS,国外产品如ArcPad和MapX Mobile。嵌入式GIS被广泛应用作为数字*******************终端、电力巡线、农业田间数据采集和外业测绘等领域。

1.4.   数据库化

数据库化是空间数据存储与管理的发展方向。早期的GIS软件采用普通文件(Flat File)存储和管理空间数据,如Arc/Info的Coverage就由一个目录里的多个文件组成。纯文件管理空间数据的模式的属性数据管理能力相对欠缺。

为解决这个问题,一些商用软件采用普通文件和数据库混合模式,即用普通文件存储图形数据,用数据库存储和管理属性数据,充分利用数据库系统的功能,提高了GIS软件中属性数据管理能力。如:MGE采用DGN文件存储图形数据,通过Oracle和SQL Server管理属性数据。但这种模式造成了属性数据和图形数据的分离,给维护二者之间的对应关系带来一定的困难;同时,使用普通文件存储图形数据,很难应付海量空间数据的管理,且在权限管理、多用户并发写操作等方面都存在不足。

空间数据库技术的出现较完善地解决了以上问题。空间数据库完全基于商业关系数据库存储和管理空间数据,不仅实现了图形数据和属性数据的一体化管理,而且带来了一系列的优势,包括:1)海量数据管理能力;2)支持多用户并发写操作;3)数据访问的权限管理;4)可利用数据库的集群(或互备)机制提高并发访问能力和系统可用性。

在过去十年间,空间数据库技术已经发展成为大型GIS应用系统的主流数据管理方案。从技术架构来看,空间数据库技术可分为数据库内扩展型和数据库外扩展型两种。Oracle Spatial就是典型的数据库内扩展型,拥有数据库系统源代码的厂商可以从数据库底层实现一些基础的空间数据管理能力。ESRI的GeoDatabase、超图的SuperMap SDX+和中地的空间数据库则属于数据外扩展型,这类由GIS厂商研发的空间数据库技术主要从数据库系统外围,通过调用数据库系统的非空间数据管理能力来实现空间数据的管理。

相比较而言,前者更容易实现,研发代价更小,而且可以提高空间数据库系统内部的性能。但从应用效果来看,后者反而比前者的访问效率来得更高,这是为什么呢?原因在于:GIS软件访问空间数据库时,必须把数据库中存储的图形数据结构要转换为GIS软件的数据结构,由于数据库厂商定义的图形存储结构与GIS软件有较大差异,因此这种转换对性能有较大影响;而由GIS厂商研发的数据库外扩展型空间数据库技术,二者相对一致,基本不需要转换,因此效率更高。从实际应用来看,数据库外扩展型的空间数据库仍占主流,尤其在有海量数据管理需求的项目中占绝对优势。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多