14.1. 互操作GIS

目前的地理信息系统大多是基于具体的、相互独立和封闭的平台开发的,它们采用不同的空间数据格式,对地理数据的组织也有很大的差异。这使得在不同GIS软件上开发的系统间的数据交换存在困难,采用数据转换标准也只能部分解决问题。另外,不同的应用部门对地理现象有不同的理解,对地理信息有不同的数据定义,这就阻碍了应用系统之间的数据共享,带来了领域间共同协作时信息共享和交流的障碍,限制了地理信息系统处理技术的发展潜力。

地理数据的继承与共享、地理操作的分布与共享、GIS的社会化和大众化等客观需求使得尽可能降低采集、处理地理数据的成本,实现地理数据的共享和互操作成为共识。互操作地理信息系统(Interoperable GIS)的出现就是为了解决传统GIS开发方式带来的数据语义表达上不可调和的矛盾,这是一个新的GIS系统集成平台,它实现了在异构环境下多个地理信息系统或其应用系统之间的互相通信和协作,以完成某一特定任务。这一过程对于实现语言、执行环境和建立模型是透明的。

1996年,美国成立了开放地理信息系统联合会(OGC,Open GIS Consortium),由来自GIS和计算机销售商、集成部门、通讯部门、数据库发展商、联邦机构以及多所大学等100多个机构的代表组成,旨在利用其提出的开放地理数据互操作规范(OGIS)给出一个分布式访问地理数据和获得地理数据处理能力的软件框架,各软件开发商可以通过实现和使用规范所描述的公共接口模板进行互操作。OGIS规范是互操作GIS研究中的重大进展,它在传统地理信息系统软件和未来的高带宽网络环境下的异构地学处理环境间架起了一座桥梁。目前,OGIS规范初具规模,很多GIS软件开发商也先后声明支持该规范。国内的一些具有战略眼光的GIS软件商也在密切关注着OGIS规范,并已着手开发遵循该规范的基础性GIS软件,这些都引导着 GIS 向着Interoperable GIS 的方向发展。

14.1.1. 传统GIS在数据标准化上的缺陷和面临的新课题

自加拿大国家地理信息系统(CGIS)正式运行四十多年来,GIS在技术和理论上都取得了巨大的进步,其应用领域涉及到资源、环境、人口、农业、林业、水利、地矿、交通、通讯、城市建设、教育、科研和国防等多个方面。然而,由于缺乏统一的标准,传统GIS存在的缺陷越来越明显,主要表现在以下三个方面:

(1)GIS基础平台层

目前,国内外的GIS基础软件多达几十种,如国内的MapGIS,GeoStar,CityStar,ViewGis,Grow等;国外的ARC/INFO,ArcView,MapInfo,TITAN,GENAMAP等。从事基础软件开发的不同软件厂商都采用自定义的空间数据格式和数据组织方式来存储与管理数据,采用自定义的数据操作流程来处理数据。因此,各个GIS基础平台之间相互封闭和独立,数据的共享只能通过冗余的数据格式转换来进行。

(2)GIS应用系统层

不同领域的GIS应用系统建立在不同的相互封闭的GIS基础平台上。它们面向具体的应用背景,实现时采用的数学建模方法也不同,因而也是相互独立的,在语义表达上往往存在着不可调和的矛盾,被称为“信息孤岛”。

(3)GIS最终用户层

GIS工程包括硬件、软件、应用开发和人员培训等多个方面的建设,是一项投资巨大的系统工程。由于目前各个GIS基础平台和应用系统之间的封闭和独立,最终用户也不得不“从一而终”,就更难以实现存储在异构地理数据库中的地学空间信息的集成。

在过去的几十年中,不兼容的数据格式和数据结构阻碍了地理信息系统之间的互操作,如今,在Internet环境中,不兼容性又限制了GIS技术在企业和生活中的使用。地理数据转换所需的时间、费用和特定的需求降低了地学信息处理资源的利用率。

飞速发展的计算机网络和不断拓展的GIS应用领域实际需求给GIS的进一步发展提出了新的要求:

(1)地理数据的继承和共享

传统的GIS在数据标准化上的不力造成的最大的弊端就是地理空间数据障碍,即现存的地理空间数据产品采用不同的坐标系统和数据存储格式,互不兼容。而采集数字化地理空间数据非常昂贵,由互操作性差带来的冗余数据转换操作的开支占了GIS数据转换和综合成本的60%到85%,这个高成本导致了地理空间信息的匮乏,降低了GIS的发展速度。倘若这个问题能得以有效解决,GIS产业就能创造出比现在多10倍到20倍的效益。同时,在几十年GIS应用系统的运作中也生成了大量特定格式的数据。如何充分利用这些宝贵的数据,如何能不经过复杂的数据转换或冗余的拷贝制作就直接使用这些异质、远程的地理数据是一个亟需解决的问题。

(2)地理操作的分布和共享

GIS处理的空间数据具有数据量大的特点,例如仅测绘部门的全国1:25万地形数据库的数据量就达到4.5GB(千兆),又如一仅包含七个波段的Landsat TM影像的数据量达到270兆,而统计覆盖全国的TM影像的数据量将达到135GB。单一的主机显然无法满足海量数据的操作和运算。如何使巨量的计算均衡地分布到网络中具有相应计算能力的计算平台上已成为对GIS分布计算的新要求。

(3)GIS社会化的要求

WWW和TCP/IP推动着Internet成为最广泛的分布式计算平台。GIS逐步成为信息社会和信息基础设施的重要组成部分。通过收集和整理各类与居民生活密切相关的信息,并在Internet上发布,为国民提供即时、周到的信息服务成为提高国民信息待遇的实现途径,这是GIS社会化研究的课题。

总的来说,尽可能地降低采集、处理地理数据的成本,促进地理数据的共享已经成为共识,这就引导着GIS向互操作GIS(Interoperable GIS)的方向发展。

14.1.2. GIS互操作的概念

互操作是指在异构环境下的两个或多个实体,尽管它们实现的语言、执行的环境和基于的模型不同,但仍然可以相互通信和协作,以完成某一特定任务。这些实体包括应用程序、对象、系统运行环境等。从另一方面说,互操作在软件工业上意味着界面的完全开放,系统间的自由数据交换,和用户交换作用上的公共性。

GIS互操作是具有不同数据结构和数据格式的GIS系统的集成。以互操作标准开发的不同GIS应用系统之间能动态地进行相互间的功能调用,数据集之间可以透明地访问,从而

../_images/image0395.gif

图14-1  GIS互操作的5个层次

允许用户通过网络实时获取不同系统中的地理信息,避免了冗余数据存储,这是实现地理

空间数据共享的一次深刻的技术革命。

不同GIS系统之间的互操作可在不同层次上予以实现,如图14-1所示:

在资源发现层,可通过元数据的方法实现资源描述及其目录,解决需要互操作的对象的定位问题,并对这些对象进行描述和登记。

    互操作在资源转换层解决不同来源的空间信息在数据结构和模式上的异构性。

应用服务层上的互操作提供不同部门和信息界之间交互地理空间信息的处理和分析功能,实现的方法可采用分布式计算技术和面向对象技术。

语义层上的互操作功能是在不同信息界之间提供语义交换,可以通过各个信息界的行业信息标准以及相互对应规则,以及基于对共同的基础地理信息及理论的认识来实现。

机构层上的互操作是地理信息系统中最高层次的互操作,也就是我们通常所说的信息共享,它涉及到政策、文化和价值等不同的层面,需要机构间的协调和一致,并对语义层的互操作产生影响。

图14-1中的GIS互操作的实现只能是由下至上,可以依靠元数据、空间数据交换站、空间数据交换标准、开放地理空间数据转换标准以及已有的较为成熟的计算机技术(如COBRA、ActiveX/COM等分布式计算平台)首先实现图中底层的互操作,再研究如何进行更高层次上的信息共享。目前,在技术上,美国开放地理信息系统协会已做了许多基础性工作,正在全球范围内努力推动互操作GIS的发展。

14.1.3. 开放式地理信息系统(OGIS)及其特点

OGIS是由美国开放地理信息联合会(OGC——OpenGIS  Consortium)制定的开放地理数据互操作规范的简称。按照定义,OGIS为软件开发者提供了一个接口框架,用户可以在一个开放信息技术环境中通过一致的计算接口访问和处理不同来源的地理数据。为了实现不同应用程序间可互操作地理数据,OGIS为这些数据规定了各种数据标准类型和在这些标准类型上所实施的操作,以及如何将这些标准数据类型组织成应用程序之间交互的地理数据;它还规定了共享地理数据操作的规范,应用程序可以通过这些规范,得知提供地理操作的服务及如何请求这些服务;或者从服务提供者的角度来看,得知一个请求是数据请求还是服务请求。

OGIS的这些规范是建立在现有的和将要成为标准的分布计算平台的基础之上的,因此,它并不涉及如何将不同运行环境中的应用程序连接起来相互通讯的问题。为了利用以往的地理数据,保护原有投资,以及保证将来方便地引入新的管理、操纵地理数据的方法,OGIS规范也不定义如何存储地理数据和处理地理数据的方法。

应用程序之间真正意义上的地理数据共享或者互操作,不仅在于双方能理解相同的数据格式,更重要的是对这些地理数据中所包含的应用意义也有一个共同的理解,这种语义上的一致是由互操作地理数据的应用团体双方达成的。而 OGIS则为这种一致的达成提供了语义表达与转换机制。OGIS将使用或生产不同应用意义地理数据的团体或应用程序划分为不同的信息团体,地理数据中保存的描述应用语义的数据将由这些信息团体来处理和转换。

OpenGIS规范是开放互操作的重大进展,是地学数据互操作规范OGIS(Open Geodata Interoperability  Specification)的最高层次。OpenGIS使得我们可以在网络环境下访问异构地理数据和地理处理资源,它通过OGC制定的开放式地理空间数据互操作规范来实现。

从图14-2看出,OGIS规范和协议是开放式应用软件和开放式应用软件开发平台的基础。

OGIS为应用程序和应用程序开发平台提供了一个一致的、开放的接口,使得遵循OGIS规范的

应用程序可以实现无缝的地理数据共享和地理操作共享。

基于OGIS的应用程序或软件组件具有如下

1.互操作性 OGIS提供地理数据和地理操作的标准接口,这些接口支持孤立系统和网络,

../_images/image0402.gif

图14-2 GIS开发系统结构图

以完成应用程序之间的地理数据访问和交换;分布式的客户/ 服务器结构的地理操作和分布式对等实体的地理操作。

2.支持信息团体性 具有不同的应用背景的用户可以方便地交换地理数据而不会造成语义的误解和损失。

3.普适性 通过OGIS定义的标准接口和协议,所有的应用程序,无论是属于哪个专业领域,都可以方便地处理地理数据。

4.兼容性 由于OGIS并不定义地理数据的存储格式和处理方法,因此基于OGIS的应用程序将能够与旧有的地理数据保持兼容。

5.可移植性 OGIS独立于软件、硬件及网络环境,因此,它不需修改便可在不同的计算机上运行。

6.可扩展性 硬件方面,可在不同软件、不同档次的计算机上运行,其性能和硬件平台的性能成正比;软件方面,可以随着新的地理数据类型和处理方法的发展而发展,它具有容纳新的地理数据处理技术和新的分布计算平台技术的能力。

7.可伸缩性 基于OGIS的应用程序通常由相对独立的软件组件构成,这些组件可以为各种计算环境重新配置,而不必考虑数据量的大小。

14.1.4. OGIS的组成部分

OGIS软件框架主要由3部分组成:统一的开放式地理数据模型;统一的地理操作服务模型和实现团体间的地理数据和操作资源共享的信息团体模型。

1.开放式地理数据模型

OGIS提供了一个与程序设计语言、硬件设备和网络环境无关的开放的地理数据模型(Open Geodata Model,OGM)。这个地理数据模型以易于理解的地理要素(Feature)为核心,以面向对象的分析方法规定了地理要素的定义、空间属性、语义属性和与其它地理要素的关系,以及地理要素模式等元数据的定义和表示。

在OGM中,现实世界的地理事件分为两类:

实体(Entities)—— 占据一定空间范围的可区分的对象,例如:建筑物、河流、田地、观测站等。

现象(Phenomena)—— 在空间中连续变化,但又不占据特定的空间,现象的值或描述只有相对于空间中的某一点才有意义,例如:温度、人口密度等。

和现实世界的抽象对应,在OGIS中的基本对象是要素(Feature)和覆盖层(coverage)。要素是对现实世界中实体的抽象或描述。它可以代表任何存在于时间和空间中的事物。要素通常分组来管理,称为要素集。覆盖层是时间/空间范围中的一个地点到一个值(可以是任何类型)的关联。覆盖层是时间/空间域到属性域的函数。覆盖层通常用来表示现象。现实世界、抽象模型和OGM之间具有如图14-3所示的对应关系。

要素可以递归包含,即要素中的某个属性的值可以是另一个要素或要素集或覆盖层。一般认为,与要素的空间几何属性无关的“属性数据”在要素属性中分为记录要素性质的数据(语义属性),如土壤PH值等;和描述要素中数据的数据(元数据),如数据采集时间等。

../_images/image0411.gif

图14-3 现实世界、抽象模型和OGM的对应关系

在具体的要素中,将与空间坐标相关的属性抽取出来,称为几何体。在OGM中,采用0、1、2和3维拓扑来表示几何体,见表14-1。

几何体实际上是一个坐标几何体和一个时间-空间参照系的联合,包括如下四项:

(1)同一参照系中的一个坐标点序列;

(2)同一参照系中的其它几何体的集合;

(3)一个几何体构造的算法,这个算法构造出的几何体间接地定义了几何体的空间范围(如一个多边形几何体构造“外接矩形”的算法);

(4)一个将坐标几何体与它在现实世界中的“位置”相对应的时间-空间参照系,如由以下参照系类型实例化的参照系 :墨卡托投影、经纬度等。

     表14-1 实体在OGM中的表示法

image88

       实 体  表示法      含  义

image85

点      0维      表示位置

image86

  曲 线    1维     表示线弧等

image87

表 面    2维      表示面积

image88

     立 体    3维       体 积

image88

2.信息团体模型

所谓信息团体指的是这样一个人群,他们在特定的时间内使用相同的数字化地理信息系统术语和相同的空间要素定义,即是说他们在地理抽象、要素表示和元数据方面有着相同的看法和约定。

信息团体模型(Information Communities Model,ICM)主要任务是解决具有统一的OGM及语义描述机制的一个信息部门内部以及具有不同OGM及语义描述的信息部门之间的数据共享问题。它采用的主要方法是使用语义转换机制,目的是使具有不同特征类定义以及语义模式的信息用户群之间实现语义的互操作性。语义转换机制实际上是一个语义词汇对照表,表明了信息团体之间地理要素和相应数量之间的对应关系。

3.OGIS服务模型

OGIS服务模型(OGIS Services Model,OSM)是定义地学数据服务的对象模型,由一组相互可操作的软件构件集组成,为对要素的访问提供对象管理、获取、操作、交换等服务设施。具体地说,它有以下几方面的功能:

(1)提供了一种方法,通过它能从OGM的数据类型构成具体的数据模型,查询数据以及将可共享的数据编制成目录。

(2)提供了一种机制,通过它能定义和建立信息团体以及建立它们之间的联系。

(3)提供了一种手段,使得能对OGM定义的数据类型,用户定义数据类型以及其它的功能进行操作。

OGIS服务模型中主要的结构有目录(Catalog)和注册表(Registry)。目录是一种树状、可嵌套的索引结构,通常用来公布地理数据和地理数据模型。注册表则是一种类似数据库的索引,可以实现按照名字检索,同时具有服务提供的性质。通常用来告诉和执行信息团体所提供的地理操作,以及登记新的类型、产生类型的实例。

服务模型中还定义了专门负责信息团体之间信息交换的独立实体——信息代理(Trader)。信息代理就象一个中间商,它可以将信息团体提供的目录和注册表信息“转售”给另一个信息团体的用户,或者接受用户的委托,执行相应的地理操作并将结果返回给用户。

14.1.5. OGIS的实现技术

1.面向对象技术和分布计算技术

面向对象技术的出发点是尽可能使软件系统是对现实世界的直接模拟,尽可能地将现实世界中的事物直接映射到软件系统中,其主要特点是将数据的定义及操作封装在一起,并且有继承、多态和封装等特性。在OGIS中,从开放式地理数据模型到开放式地理服务模型,面向对象技术都是无所不在的。例如,把数据类型及操作都封装在一起,将共同的接口提供给用户,用户不需知道其具体的实现过程;数据是隐藏在对数据进行操作的接口之中的,对具体功能实现的改变不影响到其接口;为了定义更具体的对象,可以继承基本对象的特性,再增加一些更具体的方法。

分布计算是指分布处理系统中的计算和数据处理工作,分布计算环境是提供分布处理的服务和工具。建立分布计算环境,必须遵循开放系统原则。OGIS是在分布处理环境之上考虑的,尽管它的目标是实现独立于分布处理平台的标准和接口,但实现OGIS必须以分布处理环境为依托。

2.开放式数据库互连(ODBC)

ODBC是一个用于访问数据库的统一界面标准。它实际上是一个数据库访问库,它最大的特点是应用程序不随数据库的改变而改变。ODBC的工作原理是通过使用驱动程序(driver)来提供数据库独立性。而driver是一个用以支持ODBC函数调用的模块,应用程序通过调用驱动程序所支持的函数来操纵数据库,不同类型数据库对应不同的驱动程序。

OGIS和ODBC的思想类似。OGIS是为了访问不同GIS软件而研制的统一标准接口,使不同GIS软件之间能进行相互操作,但它和API(应用程序接口)又有所不同。API与操作系统和程序设计语言有关,而OGIS中的接口更抽象、更独立。

3.分布式对象技术

分布式对象技术是建立在网络基础上的。它是建立在组件(Component)的概念之上。组件可以跨平台、网络、应用程序运行。

分布式对象技术追求的目标是无缝连接和即插即用,而实现这一理想的关键在于解决重用和互操作问题,这里“重用”是指一个构件具有通用的特性,所提供的功能能为多种应用软件系统使用;“互操作”是指来源不同的构件能相互协调、相互通信,共同完成更复杂的功能。因此,它的核心是用统一的标准协议通信来解决对象跨平台的连接和交互问题。