第四代GIS软件的研究目标和技术体系

摘要:本文总结了GIS软件的发展历史与技术特点,指出了现有软件存在的不足,并分析了技术原因。在此基础上,提出了第四代GIS软件的研究目标和技术体系,以及实现的步骤。

关键字:GIS,地理信息系统,OPENGIS,元数据,空间数据,互操作地理信息系统是一类获取、处理、分析、表示并在不同系统、不同地点、和不同用户之间传输空间数据的计算机应用系统。由于地球上80%以上的信息与空间位置有关,它应该成为在操作系统、数据库管理系统之上的主要应用集成平台,占据软件产品的主流地位。

但是,目前GIS软件在技术上并不能适应飞速发展的应用要求,尤其不能适应"数字地球"和"数字城市"、"数字区域"建设中数据集成和功能集成的需要。认真研究现有GIS理论与软件实现技术的不足,寻求理论、方法、技术和工具四个层次的突破和创新,已经成为当务之急。

一、 地理信息系统软件发展的历史回顾 。

自从1960年加拿大测量学家Roger F Tomlinson提出"要把地图变成数字形式的地图,便于计算机处理与分析"的观点以来,就一直是研究与发展GIS软件包的指导思想。纵观GIS发展30多年的历史,GIS软件技术及其应用取得了巨大的发展,但也存在着严重的不足。其基本技术特点为:以图层作为处理的基础由于当时GIS系统中空间数据的主要来源是纸质地图的数字化,GIS的数据模型中图层处于中心地位。定义某一区域轮廓组成图层,同一图层的空间数据存放在一个文件之中。空间定位与量算以图层范围内的平面笛卡尔坐标系为基础,操作局限于当前图层内。利用计算机技术可以实现同一区域内各种专题数据的叠置、影像区域分析(缓冲)和线状实体的路径分析。但是,各类查询与计算只能在同一图层中进行。以系统为中心 当时的GIS软件空间数据各自有自己的数据格式,自成系统,不同的GIS系统基本上没有联系。与其它的软件工具,例如MRPⅡ软件、CAD软件等基本上不存在集成关系。单机、单用户 由于IT技术的限制,当时的GIS系统只能如此。全封闭结构,支持二次开发能力非常弱 当时的GIS只提供功能极其有限的查询和计算的自定义语言,与数据库、通用的编程语言没有建立联系,用户只能按照已经开发好的应用系统功能接口操作,或者联机地、一步一步地完成自己预定的计算任务,无法连贯地、批量地实现复杂的自定义应用功能。在主要实现技术上,以文件系统来管理空间数据与属性数据 GIS中的数据分为空间数据和属性数据两类,空间数据描述空间实体的地理位置及其形状,属性数据则描述相应空间实体有关的应用信息。由于当时数据库管理系统只能管理结构化数据,对空间数据这样的非结构化数据使用无法进行定义、管理与操纵,GIS软件只能在文件系统中自行定义空间数据结构及其操纵工具。由于最初关系型DBMS不够成熟与普及,对属性数据这样的结构数据,也放在文件系统中进行管理。应用领域基本上集中在资源与环境领域的管理类应用。

第二代

从80年代未到90年代中期,是GIS软件成熟和应用快速发展的时期。在这一阶段,GIS软件作为一种软件工具,理论与技术已经基本成熟。由于其具备空间数据操纵能力,在应用中受到青睐,应用领域迅速扩展。巨大的应用前景对GIS软件提出了各种各样的要求,GIS软件实现技术也得到迅速发展。但是,GIS的基本技术体系仍然没有发生根本的变化。其基本技术特点为:

以图层作为处理基础

由于空间数据模型没有根本的变化,以图层为处理基础的模式依然没有变化。对属性数据的查询可以跨图层进行,但对空间数据的操作仍然限制在同一图层之内。在GIS应用系统事先定义的应用功能以外,联机的步进操作方式没有变化。

引入网络技术,多机、多用户 由于这一阶段网络技术已经成熟,应用范围迅速扩大,GIS软件也转向多用户和Client/Server结构。但是,由于数据模型没有根本变化,Client与Server的关系基本上属于空间数据文件下载和回送的关系,基本的空间数据处理功能在Client端实现。是一种典型的"胖Client"类型。SERVER只作文件服务器用,以NFS技术为基础,是一种典型的Device-Shared 式的C/S结构。

以系统为中心

以GIS为基础的应用系统仍然是自成体系,不同系统之间空间数据的交换能力有所提高,以数据转换为主要手段。由于属性数据利用DBMS来管理,可以利用标准的结构化查询语言来进行操纵,通过属性的综合查询结果实现相应的空间图形,数据操纵能力有所增强。另一方面,可以以属性数据库为纽带与其它系统建立联系,与其它系统的集成能力略有增强,但仍然比较弱。

支持二次开发的能力有所增强

由于通用编程语言的编程环境逐渐完善,GIS提供应用编程接口(API)可以嵌入应用系统的程序,例如,系统定义的GIS 功能程序可以以库程序的形式出现,过"Include"方式供应用程序调用。这一阶段的GIS系统支持二次开发的能力有所增强,但灵活性仍受到较大的限制。 以商用DBMS管理属性数据,但空间数据仍用文件系统管理 这一阶段的GIS软件用商用DBMS管理属性数据,仍用文件系统管理空间数据,空间实体与其属性通过标识码建立联系。这样,就可以利用商用DBMS提供的强大数据管理功能,例如触发器、存储过程等,数据管理能力大有提高,特别为建立空间数据库的工作提供了许多方便。 应用领域开始有较大范围的扩展,但基本上是管理类应用 引入空间数据的优越性越来越为人们所认识,GIS的应用范围迅速从资源环境领域向外扩展。城市规划与公用设施管理、电力、电信管理、交通管理等许多领域成为GIS应用的新热点。规划、布点、选址、路由选择等分析决策应用开始出现,但基本上还是以管理类应用为主。

第三代

90年代中期开始,估计将延续10年或稍长的时间。这一阶段IT技术的突出进步是网络技术,特别是INTERNET在全球的普及以及面向对象软件方法论和技术的成熟, GIS的技术进步注入了新的活力。GIS逐渐渗透到人类生活的各个方面,迎来了GIS应用高速扩展的时期。大量的应用要求驱使GIS软件技术快速发展,将初步形成应用集成平台的地位。其基本技术特点为:

仍然以图层为处理的基础,但面临不断演化虽然空间数据的存储引入了新的技术,但空间数据模型仍然没有很显著的变化。商用DBMS(如Oracle、Informix、DB2、SQL、Server等)相继实现了对空间数据的管理,空间数据的管理手段有了明显的提高。但是,由于DBMS对空间数据的操纵手段还比较原始和初等,加上GIS在设计思想上没有突破地图的限制,适合空间数据处理的中间件相当缺乏,以图层为处理基础的局面还没有得到根本的变革,CLIENT端上空处理仍然以图层下载为主要桥梁。但是,随着GIS应用的多样化,以图层处理为基础所带来应用上的不便与弊端为越来越多的人们所认识,新的处理模式正在酝酿与试探。 引入了INTERNET技术开始向以数据为中心的方向过渡,实现了较低层次的(浏览型或部分查询型)的B/S结构 由于Internet技术和WEB技术的成熟与大规模普及应用,GIS开始面向广大民众服务,逐渐向以数据为中心的方向过渡,WEBGIS走向成熟,已经成为GIS应用的一种重要方式,B/S结构已经出现。但是,由于空间数据的操纵手段比较弱,难以实现复杂的一体化操作。目前这类系统基本上是浏览型或功能相对简单的查询型系统,完全操作性的系统尚未出现。开放程度大幅增加,组化技术改造逐步完成 面向对象软件方法论的成熟,体现面向对象的软件开发工具逐渐普及。其中最突出的软件技术,软件系统组件化已经成为一种趋势。主要的GIS软件在九十年代中期开始组件化改造,并在20世纪末相继完成。这样,GIS软部件可以与主要的编程工具结合,插入各种应用软件系统,到此,GIS软件的开放性大幅度提高,融入了主流软件,实现了跨平台运行的夙愿。

逐渐重视元数据问题,空间数据共享、服务共享和GIS系统互连技术不断发展GIS软件的广泛应用,空间数据和GIS服务功能的共享提到了重要的议事日程。属性数据的共由于ODBC的出现已经解决,不同GIS系统空间数据的共享已经不满足于数据的互相转换,空间数据的元数据问题受到越来越多的关注,GIS功能标准化的问题也倍受重视,不同GIS系统之间互操作成为突出的问题。开放GIS组织(ODC)提出了开放地理数据互操作规范(OGIS),旨在解决空间数据引擎、适应多种GIS软件的功能代理会在较短的时间内现。OGIS(应该还会有改善和提高)就象ODBC之于数据库,将成为空间数据操作的统一标准。

实现空间数据与属性数据的一体化存储和初步的一体化查询,并将不断完善 第三代GIS软件实现了用商用DBMS实现了空间数据和属性数据的一体化存储和初步的一体化查询,提高了空间数据的操纵能力。多源空间数据仓库技术也将在未来两三年内逐渐成熟。但是,由于目前对空间关系的理解和表达形式还没有一个完整的、确定的框架,空间数据的完整性、一致性研究有待深入,目前的一体化查询语言还比较初等,表达能力弱,完善和提高尚需时日。

应用领域迅速扩大,应用深度不断提高,开始具有初步的分析决策能力随着GIS应用需求的急剧扩大,各类分析决策需求、甚至三维应用要求也摆在应用开发的面前。第三代GIS软件一般将此类应用问题放在应用层面来解决,在没有探索出一种公共模型的情况下,这种做法不失为有用之道。但是,这必然是就事论事,缺乏一般性。在数据挖掘已经广泛使用的今天,真正意义下的空间数据挖掘还没有出现,更多的是对属性数据进行挖掘,辅以空间显示。