鲍虎军等 863-13主题专家组
地理信息系统(Geographic Information System,GIS)是能够收集、管理、查询、分析、操作以及表现与地理相关的数据信息的计算机信息系统,能够为分析、决策提供重要的支持平台。它广泛地应用于地学、资源管理、土地规划、环境监测、防灾减灾、电力行业、交通管理、城市规划、科研、教育和国防等领域,在我国国民经济建设中发挥着越来越重要的作用。
当前,随着信息技术的发展以及应用领域的不断扩大,地理信息系统技术得到了飞速的发展。由于GIS是“关系到国家安全的战略性技术”,因此开发拥有自主知识产权的国产GIS系统平台,研究和掌握GIS中的前沿关键技术,对我国GIS的发展和应用有着非常重要的意义。本报告介绍和分析了当前国内外GIS相关技术的发展现状和趋势,讨论了我国发展地理信息系统技术应采取的对策以及本主题的相关工作部署。
一、地理信息系统技术的发展现状和趋势
地理信息系统技术是一门综合性的技术,它的发展是与地理学、地图学、摄影测量学、遥感技术、数学和统计科学、信息技术等有关学科的发展分不开的。GIS的发展可分为四个阶段:第一个阶段是初始发展阶段,20世纪60年代世界上第一个GIS系统由加拿大测量学家R.F.Tomlison提出并建立,主要用于自然资源的管理和规划;第二个阶段是发展巩固阶段,20世纪70年代由于计算机硬件和软件技术的飞速发展,尤其是大容量存储设备的使用,促进了GIS朝实用的方向发展,不同专题、不同规模、不同类型的各具特色的地理信息系统在世界各地纷纷付诸研制,如美国、英国、德国、瑞典和日本等国对GIS的研究都投入了大量的人力、物力和财力;第三个阶段是推广应用阶段,20世纪80年代,GIS逐步走向成熟,并在全世界范围内全面推广,应用领域不断扩大,并与卫星遥感技术结合,开始应用于全球性的问题,这个阶段涌现出一大批GIS软件,如ARC/INFO,GENAMAP,SPANS,MAPINFO,ERDAS,Microstation等;第四个阶段是蓬勃发展阶段,20世纪90年代,随着地理信息产品的建立和数字化信息产品在全世界的普及,GIS成为确定性的产业,并逐渐渗透到各行各业,成为人们生活、学习和工作不可缺少的工具和助手。
地理信息系统的研制与应用在我国起步较晚,虽然历史较短,但发展势头迅猛。我国GIS的发展可分为三个阶段。第一阶段从1970年到1980年,为准备阶段,主要经历了提出倡议、组建队伍、培训人才、组织个别实验研究等阶段。机械制图和遥感应用,为GIS的研制和应用做了技术和理论上的准备。第二阶段从1981年到1985年,为起步阶段,完成了技术引进、数据规范和标准的研究、空间数据库的建立、数据处理和分析算法及应用软件的开发等环节,对GIS进行了理论探索和区域性的实验研究。第三个阶段从1986年到现在,为初步发展阶段,我国GIS的研究和应用进入有组织、有计划、有目标的阶段,逐步建立了不同层次、不同规模的组织机构、研究中心和实验室。GIS研究逐步与国民经济建设和社会生活需求相结合,并取得了重要进展和实际应用效益。主要表现在四个方面:
(1)制定了国家地理信息系统规范,解决信息共享和系统兼容问题,为全国地理信息系统的建立做准备。
(2)应用型GIS发展迅速。
(3)在引进的基础上扩充和研制了一批软件。
(4)开始出版有关地理信息系统理论、技术和应用等方面的书籍,设立了地理信息系统专业,培养了大批人才,并积极开展国际合作,参与全球性地理信息系统的讨论和实验。在科技部等国家有关部门的大力组织和支持下,国产GIS基础软件开发工作取得了重要进展,出现了一批GIS高技术企业,开发出了较为成熟的国产GIS软件,如MapGIS、GeoStar、CityStar、SuperMap、MapEngine、GROW等,并形成了一定的产业规模。这些国产GIS软件以较高的性价比,打破了国外GIS软件对我国市场的垄断,有力促进了我国地理信息系统技术的发展。近年来,GIS技术在我国得到了广泛应用,其应用面从传统的城市规划、土地利用、测绘、环境保护、电力、电信、减灾防灾等领域渗透到矿产资源调查、海洋资源调查与管理等各方面,取得了丰硕的成果和巨大的经济效益。当前,国家有关部门正逐步将GIS嵌入到电子政务系统中。
随着计算机和信息技术的快速发展,近年来GIS技术得到了迅猛的发展。GIS系统正朝着专业或大型化、社会化方向不断发展着。“大型化”体现在系统和数据规模两个方面;“社会化”则要求GIS要面向整个社会,满足社会各界对有关地理信息的需求,简言之就是“开放数据”、“简化操作”,“面向服务”,通过网络实现从数据乃至系统之间的完全共享和互动。下面我们从地理信息系统技术角度来讨论和分析当前GIS的相关技术及其发展趋势。
1.1 空间信息的获取、处理与交换
地理空间数据是GIS的血液,构建和维护空间数据库是一项复杂、工作量巨大的工程,它包括:数据的获取、校验和规范化、结构化处理、数据维护等过程。GIS处理的数据对象是空间对象,有很强的时空特性,获取数据的手段及数据的形式也复杂多样。获取数据的基本方式有:野外全站仪平板测量、GPS测量、室内地图扫描数字化、数字摄影测量、从遥感影像进行目标测量和数据转换等。目前,这些获取技术已基本成熟。同时,空间数据也具有很强的时效性,不同的空间数据必须进行周期不等的数据更新维护,空间数据库中数据的准确、及时、完整是实现GIS应用系统价值的前提基础。空间数据维护往往涉及跨部门、跨行业的多种数据格式和多种数据类型的大量数据,提供有效的空间数据编辑更新手段是当前亟待解决的一个重要课题。
基于上述信息获取技术,在过去的二十年间,国家有关部委和行业部门已经积累了大量原始数字化数据和相应资料,建立了1100多个大、中型数据库以及大量的各类数字化地理基础图、专题图、城市地籍图等。国家测绘局已经完成了全国l:100万、 1:25万基础地理空间数据库以及全国七大江河数字地形模型的建设,并启动了全国l:5万,部分省份1:1万基础地理空间数据库的建设。这些基础数据有力促进了GIS技术的广泛应用,进而产生了大量的GIS数据。但由于地理信息系统软件大多采用不同的空间数据模型,以及它们在地理实体上的认识差异,使得所积累的数据难以转换和共享(即使能够数据转换,也会产生信息的丢失),从而形成一个个新的数据孤岛。制订数据交换的格式标准已成为大家的共识。目前一些国家和组织已经在进行这方面的工作,并定义了一些数据交换标准,如SDTS,OpenGIS联盟制订的GML,另外一些公认的数据格式如DXF,Shapefile和MIF文件格式等正逐渐成为数据交换的事实标准。我国也在“九五”期间制定了地球空间数据转换标准。但是由于目前人们对空间信息认识和研究成果的制约,还没有一个统一的地理数据模型,因此建立实用的数据交换格式和信息标准将是一个长期、复杂过程。
1.2 空间数据的管理
空间数据的管理涉及到二个方面的内容:空间数据模型和空间数据库。
空间数据模型刻画了现实世界中空间实体及其相互间的联系,它为空间数据的组织和空间数据库的设计提供了基本的方法。因此,空间数据模型的研究对设计空间数据库和发展新一代GIS系统起着举足轻重的作用。在GIS中与空间信息有关的信息模型有三个,即基于对象(要素)(Feature)的模型、场(Field)模型以及网络(Network)模型。目前GIS基础软件平台的研制和应用系统的设计开发一直沿用这三种空间数据模型,但这些模型在空间实体间的相互关系及其时空变化的描述与表达、数据组织、空间分析等方面均有较大的局限性,难以满足新一代GIS基础软件平台和应用系统发展的要求。主要表现为:
(1) 仅能表达空间点、线、面目标间极为有限的简单拓扑关系,且这些拓扑关系的生成与维护耗时费力;
(2) 难以有效地表达现实三维空间实体及其相互关系;
(3) 适于记录和表达某一时刻空间实体性状及相互间关系静态分布,难以有效地描述和表达空间实体及其相互间关系的时空变化;
(4) 没有考虑异地、异构、异质空间数据的互操作和分布式“对象”处理等问题。
针对上述不足,时空数据模型、三维数据模型、分布式空间数据管理、GIS设计的CASE工具等研究已成为当前国际上GIS空间数据模型研究的学术前沿。
鉴于现实世界对象众多,空间关系复杂,需要大量的数据来描述它们的关系,因此,我们必须对这些复杂的数据进行有效的管理。地理信息系统的空间数据管理方式大体上可以分为以下几类:
(1) 基于文件系统的方式:这种方式直接采用文件系统来存储和管理空间数据,系统结构简单,便于操作,但提供的功能非常有限。它适合小型GIS系统,难以满足当前GIS对空间数据管理的需求。
(2) 基于文件系统与数据库的混合组织管理方式:这种方式基于传统的关系数据库系统来存储地理空间对象的属性数据,而以文件方式来存储空间数据。目前的大多数桌面GIS系统均采用此种方式。这种方法对于特定文件格式GIS数据的处理效率较高,但它在数据的一致性维护、并发控制以及海量空间数据的存储管理等方面能力较弱。
(3) 扩展关系数据库的组织管理方式:这种方式将空间数据和属性数据都存储于关系型数据库中,通过在关系型数据库之上建立一层空间数据库功能扩展模块(通常被称为空间数据引擎)来实现对空间数据的组织管理。目前主流的GIS软件都采用这种方式同时管理图形和属性数据。如国外的ARC/INFO、GEOMEDIA,国内的MAPGIS、GEOSTAR、SUPERMAP等。这种方法可以利用成熟的关系型数据库技术来方便地实现GIS数据的一致性维护、并发控制、属性数据的索引等。当然,数据库本身并不直接支持对空间对象的操作和管理,而是通过空间数据引擎来实现。
(4) 基于空间数据库的组织管理方式:基于空间数据模型,直接构建用来存储和管理空间数据和属性数据的空间数据库系统来管理数据。它包含结合几何和属性信息的框架,提供并支持空间数据的类型、查询语言和接口、高效的空间索引和空间联合等。空间数据库直接支持空间对象的存储和管理,为空间数据提供了高效的查询和检索机制,是目前GIS数据管理技术研究的热点。目前空间数据库的实现主要有两种方式:面向对象数据库方式和对象关系型数据库方式。前者将对象的空间数据和非空间数据以及操作封装在一起,由对象数据库统一管理,并支持对象的嵌套、信息的继承和聚集,这是一种非常适合空间数据管理的方式。但目前该技术尚不成熟,特别是查询优化较为困难。对象关系型数据库是目前空间数据库的主要技术,它综合了关系数据库和面向对象数据库的优点,能够直接支持复杂对象的存储和管理。GIS软件直接在对象关系数据库中定义空间数据类型、空间操作、空间索引等,可方便地完成空间数据管理的多用户并发、安全、一致性/完整性、事务管理、数据库恢复、空间数据无缝管理等操作。因此,采用对象关系型数据库实现对GIS数据的管理是实现空间数据库的一种较为理想的方式。当前,一些数据库厂商都推出了空间数据管理的专用模块,如IBM Informix的Spatial DataBlade Module,IBM DB2的Spatial Extender和Oracle的Oracle Spatial等,尽管其功能有待进一步完善,但已给GIS软件开发带来了极大的方便。
在传统的空间数据管理模式中,由于文件系统管理海量数据的能力较弱,因此在空间数据的组织上,在水平方向上采用图幅的方式,在垂直方向上采用图层的方式。这种组织方式主要存在以下不足:需要进行图幅的拼接,效率较低;一个空间对象可能存储在多个图层上,造成数据的冗余和难于维护数据的一致性。采用空间数据库的方式可以在数据库中直接存储整个地图,能方便地实现空间对象的查询和抽取。当前一些GIS系统中已经开始使用要素类来实现对空间对象的组织,如ArcGIS的GeoDatabase等,这种方式按照实体类来组织空间对象,符合空间对象管理的本质,一个空间对象可以被多个图层或视图引用,机制较为灵活,解决了传统方式中的空间对象的一致性问题。
空间数据库的另二个重要部分是空间索引和空间查询语言。由于空间对象是二维或更高维的数据对象,因此当前数据库所使用的一维B树、B+树并不适合空间对象的索引。空间索引有多种方式,其数据管理的效率和检索速度各不相同。当前比较常用的索引有四叉树和R树。在空间数据库中一般使用两步查询机制,首先使用索引查询出候选对象集,然后再采用精确的几何计算,在候选对象集中求出精确解。当前一些数据库的空间扩展模块中就使用这种模式,并分别提供了四叉树或R树索引。提供空间查询语言是空间数据库的一个重要特征,当前的空间数据库中一般使用关系数据中的“select-from-where”模式来构建查询,通过扩充SQL语言,使其支持空间对象类型、空间关系和空间操作。特别是SQL3 多媒体规范(SQL3/MM)中的Spatial 部分和OpenGIS for SQL实现规范都定义了一系列的空间数据类型、空间关系和空间操作,为空间查询语言的设计和开发提供了一个框架。
1.3 GIS软件体系结构与应用系统开发
地理信息系统与软件技术是密不可分的。特别是随着面向对象、组件技术、分布式计算技术以及网络技术的发展,GIS软件的体系结构出现了极大的变化,出现了许多开发地理信息系统的新技术,如组件技术、中间件技术和分布对象技术等。
组件是建立在面向对象开发之上的,它为用户提供多个接口,接口封装了组件提供的服务,隐藏了实现细节的可见性。由于组件表示一个或多个较细粒度类的逻辑集合,封装了一系列的服务,因此组件提供了更高级别的重用性,从而极大提高了应用系统的开发效率。组件式GIS是面向对象技术和组件式软件在GIS软件开发中的应用,为新一代GIS应用提供了全新的开发工具。GIS组件封装了一系列空间信息处理相关的操作,并向用户提供了标准的接口。这样用户可以使用通用的程序开发语言,通过接口调用GIS组件中相应的空间操作功能,实现GIS应用系统的开发。 同传统GIS比较,组件GIS具有易于实现与其它信息系统的无缝集成、跨语言使用、易于推广、成本低、扩展性强、开发效率高等特点。因此组件式GIS是当前GIS系统软件开发的主流技术。目前存在着多种组件技术标准,其中OMG的CORBA,Microsoft的COM/DCOM和JAVA的Beans是被广泛采用的标准。目前商用的组件式GIS产品主要基于Microsoft的COM/DCOM,包括Intergraph的GeoMedia,ESRI的MapObjects,MapInfo的MapX,我国的MapEngine、SuperMap等。
随着网络技术的发展和广泛应用,计算机应用模式经历了主机模式、单机桌面应用模式和多层企业应用模式三个阶段。相应地,应用系统的开发也经历了从主机体系结构、两层Client/Server体系结构到三层(多层)Client/Server体系结构的演变。传统的GIS应用一般都采用两层Client/Server体系结构。这种体系结构用户界面层和业务逻辑层没有分开,都位于客户端,而数据服务层位于服务器端,由于应用主要都集中在客户端,每个客户端都要进行安装配置,当用户数量多、分布广时就会给安装、维护带来相当大的困难,扩展性不好。此外每个用户与中央数据库服务器相连时都要保留一个对话,当很多客户同时使用相同资源时,容易产生网络堵塞。为了克服两层Client/Server结构的不足,提出了三层Client/Server模型。三层客户/服务器结构构建了一种分割式的应用程序,系统对应用程序进行分割后,划分成不同的逻辑组件,即用户服务层、业务处理层、数据服务层。与两层Client/Server结构相比,三层Client/Server结构有很多优越性,如减轻了客户机的负担,如果要增加服务则只需在中间层添加代码,这使得维护升级变得更加方便,系统扩展性也更好。因此采用三层Client/Server机构是当前GIS应用开发的主流模式。
随着GIS应用由局域网发展到广域网,特别是涉及到多数据库系统、多平台、多网络协议的异构环境,传统的将用户界面和业务逻辑、数据源以及通讯协议绑定在一起的应用系统开发方式不再适合。而中间件技术的出现,为异构环境下GIS应用的开发提供了解决方案。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,支持应用软件开发和运行的系统软件,使应用软件相对独立于计算机硬件和操作系统平台,为大型分布式应用搭起了一个标准的平台,以实现大型应用软件系统的集成。中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。在具体实现上,中间件是一个用API定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。广义上说,ESRI的空间数据库引擎SDE可以看作是地理信息的一个中间件,它屏蔽了底层不同空间数据库以及不同空间数据格式的差异,为用户提供了统一的操作和管理空间信息的接口。采用中间件技术,为异构环境下的GIS应用的开发提供了一个解决方案,对当前GIS重大行业应用系统的开发具有重要的意义。目前,中间件技术尚处于发展阶段,采用中间件技术实现通用的GIS应用还需要一段很长的路要走。
分布式对象技术是当今分布计算技术的主流方向,它能在分布式环境下跨平台、跨语言地实现分布式计算,并使得用户在使用对象时可以访问网络上任意有用的对象而不必知道该对象所处的位置。采用分布式对象技术开发GIS应用符合地理信息分布的特点,客户可以透明地访问远程的GIS组件服务。这种方式适合于空间信息服务的实现,可用于解决在分布式环境下的地理信息的互操作(包括数据和功能两方面)。当前,基于对象的分布式计算的代表性技术是OMG的CORBA、Microsoft的DCOM和Java的J2EE。与此同时,为满足分布协同工作的应用需求,人工智能领域中的Agent技术被引入到分布式计算环境中,对基于Client/Server结构的传统分布式系统产生了极大的冲击,分布式系统正朝着分散对等的协同计算的理想模式发展。注意到Agent的自主性、交互性、反应性和主动性等特征极大简化了分布协同问题的复杂性,因此将Agent技术引入GIS领域,将极大降低分布式地理信息系统的复杂性和建设难度,并有效地解决网络地理空间信息服务功能以及GIS应用领域中的协作问题,同时也可以改善分布式地理信息系统的服务能力和服务效率。因此研究Agent技术与GIS的集成,是GIS技术发展的又一个重要研究方向。
1.4空间信息的共享和互操作
信息共享已经成为现代信息社会发展的一个重要标志,而地理信息系统互操作的产生则是信息共享的必然产物,地理信息系统的互操作将成为21世纪地理信息系统研究领域的一个重要组成部分。
互操作性强调将具有不同数据结构和数据格式的软件系统集成在一起共同工作。实际上,地理信息系统互操作在不同的情况下具有不同的侧重点,强调软件功能块之间相互调用的时候就称为软件的互操作;强调数据集之间相互透明地访问的时候则称为数据的互操作;强调信息的共享,在一定语义约束下的互操作则称为语义的互操作等等。一般地,地理信息系统互操作是指不同应用(包括软件硬件)之间能够动态实时地相互调用,并在不同数据集之间有一个稳定的接口。
在国际上,空间信息系统互操作研究经历了从数据互操作到中间件、分布式对象和服务,再到应用系统乃至高层的信息群互操作的发展历程。主要的互操作方式有以下几种:直接转换方式、采用公共交换格式方式、公共访问接口方式。这些方式都需要对数据的具体格式有详细的了解,随着数据格式越来越复杂,运用面向对象的方法来解决互操作问题逐渐成为新的研究方向。
访问接口是指系统对外界环境和其它系统所提供的访问其内部数据的操作接口。该接口可以通过请求/应答方式来接受或者提供数据,因此互操作的程度可通过接口功能的大小来体现,而与数据的内部结构无关。数据提供者通常会随着数据提供相应的API,数据使用者可以通过这些API来访问系统内部的数据。API能够将数据结构的复杂性或者操作的复杂性掩藏起来,并且能够通过编程将这些API与数据服务器结合在一起,形成一个功能更加强大的数据服务器来响应外界的数据服务请求。为了减少API对具体应用环境的依赖,用户、数据提供者和系统开发者迫切需要建立一个在业界广泛而通用的接口,这个需求和思路导致了OGC的产生。OGC通过制定OpenGIS规范的方式来建立广泛的接口。OpenGIS规范是一个关于对地理数据和地理处理资源进行分布式访问的软件框架规范,它为所有的软件开发者提供了一个详细的公共准则,以便开发的软件能够达到对地理数据和地理处理资源进行互操作的目的。OpenGIS规范的任务是指导开发者开发与OpenGIS规范一致的中间件、组件和具有处理各种类型地理数据的应用件,使系统用户能共享巨大网络数据空间上的数据。OpenGIS规范直接涉及访问和使用不同类型的地理数据,它包括三个基本方面:获得在各种平台之间的连接,获得对地理数据和对地理数据处理的服务,获得对地理数据的正确理解。目前,世界上包括我国在内的许多GIS相关研究单位和企业纷纷加入OGC,参与OpenGIS规范的制订,并着手实现和完善各种规范和接口,以满足信息共享的需求。
1.5空间信息的网络发布与服务
随着网络技术的飞速发展,Internet已经成为GIS新的系统发布平台。利用Internet技术,在Web上发布空间数据,供用户浏览和使用,是GIS发展的必然趋势。WebGIS是GIS技术与Web技术集成的产物,它继承了GIS的部分功能,侧重于地理信息与空间处理的共享,是一个基于Web计算平台实现地理信息处理与地理信息分布的网络化软件系统。与传统的GIS技术相比:它具有访问范围广、平台独立、大规模降低系统成本和维护、升级方便等特点;在运行环境上,WebGIS基于Web计算平台,运行于Internet多用户并发访问的分布式环境;在技术上,WebGIS是GIS发展与组件技术、互操作技术、分布式技术的集成。随着地理信息互操作和Web服务技术的发展,WebGIS技术已经从初始的在Web上简单地发布地理信息转换成为实现地理信息互操作和地理信息Web服务的关键技术。由于WebGIS技术的重要性,人们越来越关注WebGIS的研究、开发和应用,目前已有推出了大量的的WebGIS产品,如ESRI的ArcIMS,MapInfo的MapXtreme,Autodesk的MapGuide,Intergraph的GeoMedia Web Map,我国的有GeoStar的GeoSurf、GeoBeans等。但目前的WebGIS产品大都是基于传统的GIS系统软件,利用CGI和Server API构造,一般需在后台运行一个或多个GIS应用程序。这种模式只解决了在Web上发布空间信息的问题,并没有针对Web应用环境进行重新设计和优化,因此在功能和效能上不能满足人们的需求。当前WebGIS技术还处于初级阶段,它的研究应结合GIS技术和分布式计算技术,从体系结构、空间数据管理、分布式计算模式、互操作和数据传输协议等多个方面进行。
WebGIS与其它采用B/S结构的信息系统类似,一般采用由数据库、应用服务器和客户端组成的三层体系结构,客户端一般为Web浏览器。但WebGIS系统具有空间数据量大和空间处理复杂的特点,因此产生了计算模式的概念。WebGIS的计算模式主要是指GIS功能在客户端和服务器端的分配,WebGIS计算模式的选择决定了整个WebGIS系统的实现。WebGIS的计算模式主要包括以下三种:胖客户模式、瘦客户模式和混合模式。一般地,前者适合于客户端处理能力较强,用户需要对数据处理过程进行控制的环境;瘦客户模式则适用于广域网环境或对GIS分析功能较高要求的应用;而混合模式结合了胖客户模式和瘦客户模式的优点。与前二种方式不同,它既不是把全部的空间处理功能模块和数据下载到本地,再在客户端进行所有的空间操作;也不是把全部的空间处理功能放置在服务器端,在服务器进行所有的空间操作;而是根据Web应用的特点和网络的状况,在客户端和服务器端进行空间处理功能的分配。这三种计算模式各具有优缺点。从总体来看,混合模式是一种符合WebGIS应用需求的系统开发计算模式。但与其它的信息系统一样,不存在一种万能的计算模式,因此需要根据具体的应用需求和运行环境,对计算模式进行选择,以使开发的WebGIS应用系统能最大可能地满足应用的需求。
WebGIS的实现包括客户端实现和服务器端实现两个方面。服务器端的实现技术包括:CGI、Server API、ASP、JSP (Servlet)等,当前瘦客户模式的WebGIS应用主要就是采用这些技术。客户端的实现技术主要有:Java Applet、ActiveX和Plug-in,当前这些技术主要用于实现胖客户模式的WebGIS应用。
除了上述实现方式外,系统还需考虑空间信息的网络传输协议,即请求/响应协议和网络空间数据传输格式。在传统的Web应用中,用户通过浏览器从Web站点中的HTML页面或Web应用动态生成的HTML页面中获取相应的信息。用户通过HTML页面中的表单元素来提交请求,浏览器和服务器之间通过超文本传输协议(HTTP)来发送请求和信息。由于HTML语言和浏览器的限制,以及空间操作的复杂性,采用表单的形式不能构建复杂的空间操作请求。基于这种形式的WebGIS应用满足不了用户的需求。目前的解决方法是,通过Java Applet或ActiveX扩充浏览器的功能,并为用户提供了相应的工具来构建复杂的请求,通过内部制订的协议来在客户端和服务器端传输请求和响应。这种方式高效,但比较封闭,不能满足互操作的需求,并且需要采用专门的端口来实现,这种方式容易受到防火墙的阻隔。随着XML和SOAP技术的发展,为协议的制订提供了解决方案。XML(eXtensible Markup Language,可扩展标记语言)是一种用于描述其它语言的元语言,即用来定义其它与特定领域有关的、语义的、结构化的标记语言的句法语言。而SOAP(Simple Object Access Protocol,简单对象访问协议)则提供了一种基于XML的应用程序间数据通信的机制。总的来说,XML非常适合于WebGIS中请求/响应协议的制订。目前研究者已经在这个方面进行了大量的工作,如ESRI的ArcIMS3.0中就已经采用XML技术制订了请求/响应协议ArcXML。另外,OpenGIS联盟发布的一系列空间信息服务实现规范中,亦采用XML来描述请求与响应。
至今还没有基于网络的空间矢量数据标准,传输的数据格式一般是各GIS厂商自定义的格式,这就造成客户端的功能模块只处理特定的数据格式,通用性不强,并且也不符合用户操作的要求。当前SVG和WebCGM这两种矢量图形格式已经成为W3C的标准,用户可以下载通用的插件,在浏览器中显示和操作矢量图形。但SVG和WebCGM则重于描述图形,主要不是针对地理空间信息,不能完全描述空间信息内容。随着下一代网络语言XML的发展,OpenGIS联盟制定了地理标记语言GML,GML基于OpenGIS抽象规范,使用XML对地理信息(包括地理特征的几何和属性信息)进行编码的规范,主要用于传输、交换和存储地理信息。把GML作为网络传输的空间矢量数据格式,已经逐步被采纳。但目前GML还不够完善,如它还不支持拓扑结构的描述;缺乏可视化的描述,须转换为SVG或重新开发GML的解析工具;GML是基于文本的,因此读取和处理都比较简单,通用性较强,但与二进制数据格式相比,效率较低,因此只适合在网络上传输较小的空间信息,对于传输大数据量的空间信息,则必须进行压缩,但目前还没有制订GML的压缩标准。尽管如此,GML这种基于标准的空间数据格式,仍然不失为一种较好的空间数据传输格式。随着Web应用范围的扩大,传统的基于CGI方式的Web应用已不能满足需求,人们需要Web服务器端提供更为复杂的和更为灵活的应用开发支持。但Web服务器最初的设计目的并不包括对大规模、高性能和高可靠性的大型应用的支持。应用程序服务器(Application Server)的产生正是为了突破这一瓶颈。应用程序服务器完全不同于Web服务器,是专门为基于大负荷高端处理的Web应用而设计的全新的运行环境,该环境能提供很高的可靠性和健壮的程序逻辑处理能力,能轻松地为成千上万甚至上百万用户提供服务。通过把GIS组件加载到应用服务器,可以开发出高性能、高可靠性的大型GIS应用。因此研究GIS技术与应用服务器的集成,对开发大型空间信息应用系统具有重要的意义。在实际应用中,一个系统可以由多个应用程序服务器、多个Web服务器和多个数据库服务器组成,应用程序代码可以分布在多个应用程序服务器上。当前应用程序服务器大都采用诸如COM、CORBA、Enterprise JavaBeans(EJB)和Java Servlets等标准化技术,并出现了许多应用服务器产品,如Iplanet,Webspare, OAS, Weblogic等。
Web服务是新一代的Web应用,是可以通过Web发布、查找和调用的自包含、自描述的模块化应用。Web服务执行从简单的请求到复杂的业务流程的任何功能。一旦Web服务被部署后,其它应用(和其它Web应用)就可以发现和调用已部署的服务。传统WebGIS技术的主要目的是为了能够在网络上发布空间数据以及和这些空间数据相关的一些操作,主要通过浏览器直接服务于最终用户。而对于数字城市等复杂GIS应用,它们都建立在复杂、动态变化的分布式网络环境下、各种应用都构建在更为开放的分布式环境之中,而且各种不同应用对于地理信息功能的需求也千差万别。这时传统的WebGIS技术就暴露出了它的不足,主要原因是:数据与功能的相对绑定;系统相对独立,缺乏良好的互操作性;系统内部耦合度较强,应用模式不够灵活,难以灵活地为需求不同的应用提供不同粒度和不同功能组合的地理信息服务。随着空间信息Web Services概念的出现,特别是OGC提出的基于互操作的Web服务和相关规范的制订,把基于Web的空间信息发布引入了一个更高的层次。 利用OGC Web服务中制订的一系列标准,可以真正地实现地理信息的互操作,并且可以利用松耦合的模式来使用和扩展各种数据和服务资源,动态的绑定不同的服务来完成特定的功能。因此空间Web Services扩展了WebGIS的范畴。虽然说空间信息Web Services才刚刚起步,但它有非常好的发展前景。
1.6其它
除了上述方面以外,目前还有许多与GIS相关的前沿技术,包括三维GIS技术、空间信息的数据挖掘技术和基于GIS的计算机支持协同工作技术等等。这些技术的进步将有力促进GIS系统的应用深度和广度。
总之,GIS的发展离不开信息技术,特别是软件技术的发展,与其它信息系统相比,GIS系统结构复杂,数据量大,对空间特性要求比较高,因此它的设计和实现,既要充分借鉴信息技术各个分支的最新成果,又要考虑GIS的特殊性,设计出良好的技术路线。
二、存在的问题与对策
(1)加快制订基于互操作的相关空间信息标准
目前,我国已有大量的GIS数据积累,分散在各个部门和行业中,由于缺乏标准和规范,这些数据难以共享利用,导致了严重的重复投资和信息资源浪费。制订空间信息的标准已成为解决问题的关键。
空间信息的共享和互操作是今后地理信息系统技术发展的一个主流方向,而互操作的实现就依赖于相关空间信息标准的制订。根据空间信息互操作的需求和国外空间信息标准研究的发展状况。我国的空间信息标准的研究和制订需包括三个方面。第一个方面包括空间数据转换标准、空间数据编码标准、空间数据可视化符号标准。这个部分的标准的制订,主要是为了解决空间数据的共享。第二个方面包括空间操作接口规范和空间信息服务实现规范。这个部分的标准的制订,主要是解决空间互操作的更高层次—空间操作功能的互操作。第三个方面主要是元数据标准。元数据标准的制订主要是实现空间信息的分发,它是空间信息互操作的基础。元数据又包括两个方面:描述空间数据的元数据和描述空间操作的元数据。前者,当前国内外已经进行了大量的研究,并制订了一系列的标准。后者是当前乃至以后的一个研究重点,它的制订是与空间操作接口规范和空间信息服务规范制订和发展相关的。以上空间信息标准制订的基础是空间模型的统一。
(2)加强GIS软件体系结构的研究,大力发展大型GIS基础软件产品
尽管我国在中小型GIS基础软件前端平台总体技术方面有应用特色,但在软件的易用性和稳定性方面,特别在管理大数据量的能力方面有差距,系统的安全性级别也较低。另外,由于企业规模小,以工程开发为主,但大型工程整体解决能力较弱,难以沉淀出大型的GIS应用软件产品。
面对GIS应用的大型化和社会化发展需求,加强前沿技术的研究,突破以网络应用为核心的GIS共性关键技术(如网络通讯、海量数据管理、分布处理等),借助各种先进的软件开发技术(如组件、中间件技术等)和规范,开发高性能的、易用的新一代GIS基础软件及其相关应用服务系统,提高我国GIS的技术水平与市场竞争能力。
(3)加强“3S”集成技术的研究
虽然GIS在理论和应用技术上有了很大的发展,但单靠传统GIS的使用还不能满足目前社会对信息快速、准确更新的要求。与GIS独立、平行发展的全球定位系统(GPS)和遥感(RS)则为GIS适应社会发展的需求提供了可能性。
目前,国际上“3S”的研究和应用向集成化的方向发展。在这种集成应用中,GPS主要被用于实时、快速地提供目标,包括各类传感器和运载平台的空间位置;RS用于实时地提供目标及其环境的语义或非语义信息,发现地球表面上的各种变化,及时地对GIS进行数据更新;GIS则是对多种来源的时空数据进行综合处理、集成管理和动态存储,作为新的集成系统的基础平台,并为智能化数据采集提供地学知识。
(4) 加强相关产业和部门协作,加大在国产GIS软件产品基础上开展行业应用示范的力度,扶持国产GIS软件平台
目前,我国的GIS产业水平,总体要落后于国外。因此,在一段时间内,需要对国产GIS软件进行扶持。一方面要加大投入,促进国产GIS软件的发展,以提高市场竞争力;另一方面要在政策上予以倾斜,鼓励GIS应用采用国产GIS平台。
GIS系统作为一个信息系统,它与其它信息技术是密切相关的。因此,我国的GIS厂商应该与其它的国产软件厂商,如数据库、操作系统、应用服务器等软件厂商加强合作,以促进我国软件行业的总体发展。同时,软件企业应瞄准国家重大行业需求,与应用部门联合, 重点解决GIS应用与服务的关键技术,推动GIS产业的发展。
(5)针对目前在数据采集、加工、分发和共享过程中存在的缝隙,强调GIS应用与任务工作流及管理机制的有机结合。
(6)鼓励联合或合作,壮大国产GIS软件企业的实力,加速GIS技术的发展。
(7)强调学科交叉,加强前沿技术的研究,培养一支高水平、有市场竞争能力的研发队伍。
这个材料是经过大量调研的基础上形成的,不当之处请批评指正。这里特别感谢支持我们工作的专家、企业家。感谢地理信息系统技术总体组的各位专家为此付出的辛勤工作。