周心铁----刘毓华 GIS(地理信息系统)同时管理地理空间信息和数据库属性数据,广泛应用于城市市政设施管理、管网、电信、电力、土地管理、城市规划、交通管制、房地产、旅游、公安、消防、资源、环境、国土规划等领域。近年来,企、事业单位的MIS系统也逐渐对空间地理信息管理提出了更多的要求。传统的GIS技术面临着严峻的挑战,而软件领域中组件技术的兴起无疑为GIS的发展带来了巨大的生机。 组件技术的兴起----目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发的。几年以前,当微软公司首先使用OLE的时候,其初衷是为了增强软件的互操作性。然而在使用过程中,人们逐渐认识到这一技术背后的实质性内容和它在软件开发中所扮演的重要角色。组件技术将以前所未有的方式提高软件产业的生产效率,这一点已逐步成为软件开发人员的共识。传统的Client/Server结构、群件、中间件等大型软件系统的构成形式,都将在组件的基础上重新构造。
----组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口通过一种与平台无关的语言IDL(InterfaceDefineLanguage)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于C++之类的语言,可以在各种开发语言和开发环境中使用。
----由于组件技术的出现,软件产业的形式也将会有所改变。大量组件生产商会涌现出来,并推出各具特色的组件产品;软件集成商则利用适当的组件快速生产出用户需要的某些应用系统;大而全的通用产品将逐步减少;很多相对较为专业,但用途广泛的软件,如GIS、语音识别系统等,都将以组件的形式组装和扩散到一般的软件产品中。
组件技术给GIS带来全新的开发方式----1.传统的GIS二次开发平台面临挑战
----传统GIS开发平台均采用专门设计的开发语言。例如,Arc/Info采用AML,加上庞大的函数、命令库,使得普通的开发技术人员难以掌握,延长了应用产品的开发周期。
----传统GIS系统中的空间数据管理和数据库管理系统通常均直接由GIS厂商提供,这也是传统GIS软件价格昂贵的一个重要原因。这种情况一方面大大提高了应用开发与系统建设的成本,另一方面也限制了用户根据应用需要和各种数据库工具的优劣,选择利用数据库工具的机会。
----传统GIS系统与MIS系统和多媒体开发工具的衔接都不甚方便,其数据交换通过DDE等间接方式实现,影响了MIS系统对空间地理信息的利用。
----综上所述,传统GIS开发工具由于其不灵活的开发方式及昂贵的价格,在相当大的程度上限制了GIS应用领域的发展。
----2.组件式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的发展。
组件式GIS开发平台的结构----组件式GIS开发平台通常可设计为三级结构:
----基础组件——面向空间数据管理,提供基本的交互过程。
----高级通用组件——面向通用功能。
----行业性组件——抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程。
----下面以我国自主开发的全组件式MapEngineGIS开发平台为例,说明三级结构的组成:
----1.基础组件
----处于平台最低层,是整个系统的基础,主要面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接。
----2.高级通用组件
----高级通用组件由基础组件构造而成。它们面向通用功能,简化用户开发过程,如显示工具组件、选择工具组件、编辑工具组件、属性浏览器组件等等。它们之间的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。如一个编辑查询系统,若用基础平台开发,需要编写大量的代码,而利用高级通用组件,只需几句程序就够了。
----3.行业性组件
----以GPS监控为例。对于GPS应用,除了需要地图显示、信息查询等一般的GIS功能外,还需要特定的应用功能,如动态目标显示、目标锁定、轨迹显示等。这些GPS行业性应用功能组件被封装起来后,开发者的工作就可简化为设置显示目标的图例、轨迹显示的颜色、锁定的目标,以及调用、接受数据的方法等。
中国GIS产业的新机遇----随着现代化建设速度的加快,我国资源与环境正在发生显著的变化,尤其城市面貌更是日新月异。面对日益增多的信息、越来越快的更新速度以及新老技术管理人员的交替,城市许多行业领域,如自来水管网、煤气管网、电力电信设施的管理等都面临着非常大的压力。尽快采用先进的管理系统是十分必要的。GIS和GMIS系统完全可以通过对空间地理信息与数据库信息的综合管理,为有关部门和单位提供全面的信息管理和有力的辅助决策支持服务。
----我国GIS的发展比发达国家要落后许多年,尤其是GIS软件的开发与应用方面差距更大。组件式GIS开发平台的出现,特别是国产优秀组件式GIS平台的推出,大大缩短了我国与发达国家GIS软件之间的差距,为我国中小型GIS应用系统的建设带来了新的机遇。我们完全有可能一步跨越几个台阶,直接利用最新的技术,开发出先进的管理系统。
----1.性能与可靠性有较大提高
----国产组件式GIS开发平台和国外几乎同时起步,到现在已有将近两年的发展时间。系统从较高的技术起点出发,性能和可靠性较过去的系统已经有了较大的提高,且在各个领域的实际应用中积累了不少经验,完全可以充当中小型系统的支撑平台。
----2.充分利用现有的开发人员
----由于组件式GIS开发平台可以采用一般的MIS工具来开发,且其开发API的形式与常规数据库的开发接口类似,所以许多MIS开发人员只需经过短期学习就可以承担起GIS或GMIS的开发任务,这是普及GIS或GMIS至关重要的因素。
----3.开发周期缩短
----由于采用高层次的开发工具,开发者可尽可能地利用已有的经验和技能,加上组件式GIS平台本身具有层次简明的特点与对象化的开发方法,将会大幅度缩短构造一个GIS或GMIS系统所需的时间。过去,利用传统GIS开发平台开发一个应用系统往往需要一年或更长的时间,而采用组件式GIS开发平台,对于不太复杂的系统来说,几周就可以构造出原型,几个月就能见到成效了。
----4.可扩展性增强
----组件本身封装程度高,系统的升级可以做到较为透明。整个GIS系统就是由组件搭建而成,其结构必然更为简单且易于调整。此外,组件遵循的是国际标准,开放性会更好。
----5.降低系统建设成本
----如果采用传统GIS开发平台,构造一个运行在十几台计算机上的中小型GIS系统,购买开发环境的费用在30万元人民币左右。而采用国产组件式GIS平台产品,开发环境只需几千元,加上平均几百元一个的运行许可,总体平台费用会降到十分之一左右。
----我国GIS发展了近二十年,但目前仍未形成有规模的产业。组件式GIS开发平台的出现是推动我国GIS软件产业和应用事业的一个重要机遇。从另一方面看,GIS要真正得到发展,必须改变原来过于专业化的开发方式,让更多的开发人员掌握开发工具,使其成为一个比较大众化的应用领域。 |