2000年6月21日星期三

多源空间数据无缝集成研究

(原载:《地理科学进展》2000年6月)

宋关福、钟耳顺、刘纪远、肖乐斌

[摘要] 随着地理信息系统的社会化发展,空间数据共享成为一种必然要求,然而要真正实现空间数据共享,多格式空间数据集成是一个亟待解决的问题。多源空间数据无缝集成(SIMS)技术实现了一种特殊的数据访问机制,不仅提供了直接存取多种数据格式的能力,而且使GIS软件具有跨数据源复合分析功能,是实现空间数据共享的有效的技术基础。本文阐述了SIMS技术体系结构,并探讨了SIMS技术在GIS软件开发中的应用。

[关键词] 地理信息系统,空间数据共享,多源空间数据无缝集成,虚拟空间数据引擎

1. 引言

如果说地理信息系统(GIS)应用在70年代处于起步阶段、80年代属于专家应用阶段、90年代实现了企业应用、那么21世纪初则进入一个全新的时代—社会化GIS时代(图1)。GIS社会化成为一个重要的趋势,GIS已经从纯粹地学的圈子跳出来,逐步走向社会,完全融入信息技术(IT)主流,并不断地改变着IT。

随着GIS的社会化进一步深入,随着网络(特别是Internet)的广泛应用,空间数据共享(Spatial Data Sharing)已经成为一种必然的要求,然而地理信息要真正实现共享,必须解决地理信息数据多格式集成这一瓶颈 。

2. 地理信息多格式集成的几种模式

随着地理信息系统(GIS)的广泛应用,产生了大量宝贵的空间数据,成为当今信息社会的一笔宝贵财富。几十年来,GIS软件层出不穷,导致空间数据格式多样性。如何充分利用这些数据资源,是GIS应用中亟待解决的问题。

2.1. 数据格式转换

对其他软件数据格式的包容性,是衡量一个GIS的软件是否成功的重要标准之一。数据格式转换,是集成多格式数据的一种通用方法。GIS软件通常都提供与多种格式交换数据的能力。数据交换一般通过文本的(非二进制的)交换格式进行,为了促进数据交换,美国国家空间数据协会(NSDI)制定了统一的空间数据格式规范SDTS(Spatial Data Transfer Standard);我国也制定了地球空间数据交换格式的国家标准CNSTDF(Chinese Spatial Data Transfer Format)。业界还流行着一些著名软件厂商制定的交换格式,如AutoDesk的DXF、ESRI的E00、MapInfo的MIF等,由于广为大众所接受,成为事实上的标准(Facto-standard)。

由于缺乏对空间对象统一的描述方法,不同格式用以描述空间数据的模型不尽相同。以至于数据格式转换总会导致或多或少的信息损失。DXF着重描述空间对象的图形表达(比如:颜色、线型等),而忽略了属性数据和空间对象之间的拓扑关系;E00侧重于描述空间对象的关系(如拓扑关系)及空间对象的属性信息。因此,CAD数据输出为E00格式将丢失颜色、线型等信息;而Arc/Info数据输出到DXF时则会损失拓扑关系和属性数据等有价值的信息。

另外,通过交换格式转换数据的过程较为复杂,需要首先软件A输出为某种交换格式,然后再使用软件B从该交换格式输入。一些单位同时运行着多个使用不同GIS软件建立的应用系统。如果数据需要不断更新,为保证不同系统之间数据的一致性,需要频繁进行数据格式转换。

2.2. 数据互操作

数据互操作模式是OpenGIS Consortium (OGC) 制定的数据共享规范。GIS互操作是指在异构数据库和分布计算的情况下,GIS用户在相互理解的基础上,能透明地获取所需的信息。OGC为数据互操作制定了统一的规范,从而使得一个系统同时支持不同的空间数据格式成为可能。根据OGC颁布的规范,可以把提供数据源的软件称为数据服务器(Data Servers),把使用数据的软件称为数据客户(Data Clients),数据客户使用某种数据的过程就是发出数据请求,由数据服务器提供服务的过程,其最终目的是使数据客户能读取任意数据服务器提供的空间数据。OGC规范基于OMG的CORBA、Microsoft的OLE/COM以及SQL等,为实现不同平台间服务器和客户端之间数据请求和服务提供了统一的协议。OGC规范正得到OMG和ISO/TC211的承认,从而逐渐成为一种国际标准,将被越来越多的GIS软件以及研究者所接受和采纳。目前,还没有商业化GIS软件完全支持这一规范。

数据互操作为多源数据集成提供了崭新的思路和规范。它将GIS带入了开放式的时代,从而为空间数据集中式管理和分布存储与共享提供了操作的依据。OGC标准将计算机软件领域的非空间数据处理标准成功地应用到空间数据上。但是OGC标准更多考虑到采用了OpenGIS协议的空间数据服务软件和空间数据客户软件,对于那些历史存在的大量非OpenGIS标准的空间数据格式的处理办法还缺乏标准的规范。而从目前来看,非OpenGIS标准的空间数据格式仍然占据已有数据的主体。

数据互操作规范为多源数据集成带来了新的模式,但这一模式在应用中仍存在一定局限性:为真正实现各种格式数据之间的互操作,需要每个每种格式的宿主软件都按照着统一的规范实现数据访问接口,在一定时期内还不现实。

为解决数据格式转换带来的种种问题,理想的方案是在一个软件中实现对多种数据格式的直接访问。多源空间数据无缝集成(Seamless Integration of Multi-source Spatial-data -- SIMS)就是这样一种技术。

3. SIMS的特点

多源空间数据无缝集成是一种无须数据格式转换,直接访问多种数据格式的高级空间数据集成技术,SIMS技术具有如下特点 :

 多格式数据直接访问。这是SIMS技术的基本功能,由于避免了数据格式转换,为综合利用不同格式的数据资源带来了方便。

 格式无关数据集成。GIS用户在使用数据时,可以不必关心数据存储于何种格式,真正实现格式无关数据集成。

 位置无关数据集成。如果使用大型关系数据库(如Oracle和SQL Server)存储空间数据,这些数据可以存放在网络服务器、甚至Web服务器,如果使用文件存储空间数据,这些数据一般是本地的。通过SIMS技术访问数据,不仅不必关心数据的存储格式,也不必关心数据的存放位置。用户可以象操作本地数据一样去操作网络数据。

 多源数据复合分析。SIMS技术还允许使用来自不同格式的数据直接进行复合空间分析。用户可以使用一个格式为Arc/Info Coverage的土地利用数据集和一个存储于SDE的行政区划数据集进行叠加分析,叠加结果可以存储到SuperMap的SDB。

SIMS技术的核心不是分析、破解和转换其他GIS软件的二进制文件格式,SIMS提出了一种内置于GIS软件中的特殊数据访问体系结构。它需要实现不同格式数据的管理、调度、缓存(Cache),并提供不同格式数据之间的互操作能力。

4. SIMS的体系结构

SIMS技术体系是一种紧凑三层结构,包括:数据消费者(Customer)、数据代理(Agency)和数据提供者(Provider)。每一层有明确分工:数据提供者直接访问数据文件或者数据库,并通过数据代理提供给其他模块使用;数据消费者消费和使用数据的模块,通常负责对数据的各种分析、处理和表现;数据代理是维系数据消费者和数据提供者之间的纽带,来自提供者的数据通过代理这个中介传递给消费者,完成一次数据访问(或者数据消费),一次数据消费行为可能产生新的数据(如:迭加分析产生的新图层、缓冲区分析产生的缓冲区多边形等),这些新的数据也是通过代理传递给提供者,由提供者完成存盘动作(图2)。

4.1. 数据消费者

数据消费者指GIS软件中使用或者消费数据的部分。它们包括:拓扑处理、地图显示、空间分析、三维表现、专题图制作、数据转换、制图输出等等模块。这些模块使用数据,是数据消费者。

数据消费者不直接与存储数据的文件或者数据库打交道,所有对数据的访问都通过数据代理完成。

4.2. 数据代理

数据代理是联系数据消费者和数据提供者的中介,代理负责把来自提供者的数据传递给消费者使用,并把消费者产生的新数据传递给提供者存储。

SIMS技术中的数据代理是一个虚拟空间数据引擎(Virtual Spatial-data Engine)。该引擎定义了数据访问的框架,但并不实现具体的数据访问功能,因此该引擎是“虚拟”的。

4.3. 数据提供者

数据提供者指直接访问数据文件或者数据库的模块,这些模块获取数据并通过代理提供给消费者使用,并且把传回来的数据存储到文件或数据库。

SIMS提供了访问多种格式数据的能力,对每一种数据格式的访问,最终通过空间数据引擎(Spatialdata Engine)实现。数据提供者由一组空间数据引擎组成,每个引擎负责访问一种数据格式。比如SQL Server引擎访问存储在SQL Server中的空间数据、Oracle引擎访问Oracle Spatial数据库、SDE引擎访问ESRI SDE支持的各种数据库、Arc/Info引擎存取Arc/Info Coverage等等。

为方便引擎的管理和调度,每个引擎具有统一的接口,封装成一个动态连接库—DLL(Dynamic Linking Library)。类似于一些软件的插件(Plug-in或Add-in)机制,引擎DLL存放在特定目录下,程序启动时自动搜索该目录,动态调入并注册。

一般而言,空间数据引擎只提供存储、读取、检索、管理数据和对数据的基本处理等功能,不负责进行空间分析和复杂处理。但是基于第三方API(如:Oracle Spatial和ESRI SDE)开发的引擎可以提供更多功能。

5. 结论

多源空间数据无缝集成(SIMS)技术具有多格式数据直接访问、格式无关数据集成、位置无关数据集成、多源数据复合分析等特点,有效地解决了不同格式数据资源的综合利用问题;SIMS技术拓展了GIS软件的数据集成能力,提供了多种数据存储方案,增强了单个GIS软件的应用范围。

参考文献

钟耳顺、王康弘、宋关福、吴秋华等,GIS多源数据集成模式评述,中国GIS年会(深圳)论文集,1999年8月 宋关福、钟耳顺等,多源空间数据无缝集成(SIMS)技术研究,中国GIS年会(深圳)论文集,1999年8月③On spatial database integration, Thomas Devogele ,Geographical Information Science, 1998,12(4)④ Towards integrated geographic information processing,DAVID J.ABEL, BENG CHIN COOI, KIAN-LEE TAN etc, Geographical Information Science, 1998,12(4)