范子梁,薛 涛,邹森忠
(1.中国国土资源航空物探遥感中心,北京 100083; 2.中国地质大学(北京)信息工程学院,北京100083)
在地质学和信息技术交叉领域,研究人员陆续建立了较多的涉及能源与矿产资源、地下水资源、减灾与地质灾害预测、工程建设与工程规划、环境保护与环境优化等领域的数据信息系统,并积累了大量的相关数据。但这些数据存储在不同的空间数据文件或空间数据库等介质中,变成了孤立的信息集合。为了能充分利用数据,许多学者提出了相应的观点,如在全球环境变化亟待解决的问题上,Kondratyev[1]提出必须重视建立有效的地理信息系统,集成源于野外工作、航空照片、卫星影像和地图的有关数据。另外,美国联邦政府提出了“在国家层面上构建数据共享的框架和实现数据共享”的切入点,确保主要的科学数据能够汇集到国家级数据中心进行管理和散发;同时,与之相配套的数据共享网络的建设、数据标准的建设、数据产品的开发、数据中心的管理建设等均陆续开展起来[2-4]。这就是要将积累的数据和相关信息进行有机整合,形成能够对数据进行统一管理和访问的数据信息系统。
在GIS系统中,其核心就是存储着描述位置以及点、线、面空间信息的空间数据库[5]。空间数据库中存储的空间数据与常规数据相比,具有多来源、多模式、多时空、多比例尺、多语义性等特点,导致了空间数据的集成和处理变得复杂。空间数据管理与共享的问题可以归结为不同GIS间的数据难以共享和不同种类的国土数据难以集成2个方面[6]。
数据提供者拥有多种空间数据系统和大量异构空间数据源,如何先进行简洁、有效的管理,再进行数据发布是数据提供者面临的主要问题。构建一个能够使数据提供者方便地实现数据结点管理,同时为数据使用者提供统一、安全的访问框架是非常必要的。从数据提供者和使用者2个角度出发,要解决的主要问题是:
1)数据结点的管理,主要包括针对所要管理的空间数据系统和空间数据提供统一的集成接口,集成多种异构空间数据源,系统记录空间数据源的描述及定位等基本信息;不对数据进行副本的拷贝,避免产生数据一致性和数据冗余问题。
2)数据结点的管理由数据提供者完成,数据提供者根据统一接口来发布数据源或数据服务。
3)对数据的使用者提供统一的检索和访问接口。
图1 空间数据集成框架
空间数据集成框架(如图1所示)主要由空间数据源、空间数据集成、检索和访问组件和客户端组成。空间数据源部分由数据提供者进行数据的发布和管理;空间数据集成、检索和访问组件为空间数据源提供集成、检索和访问接口,屏蔽了空间数据模型的差别;客户端则通过组件提供的检索和访问接口实现对数据源的相关应用。
在空间数据集成框架的底层,数据源可以数据库的方式存在,也可以文件的形式存储,还可以两者混合类型存在。空间数据引擎管理和集成关系型数据源,其他类型的数据源可以发布为Web Service,并通过Web Service引擎进行管理和集成。
空间数据集成、检索和访问组件位于数据集成框架中间层,包含了空间数据处理模块、Web Service数据处理模块和空间数据接口。其中,空间数据处理模块和Web Service数据处理模块均包含了对空间数据处理的基本方法,如空间对象的管理和分析等操作。空间数据接口包括空间数据集成接口、空间数据检索接口和空间数据访问接口。这些接口的实现依赖于空间数据处理模块和Web Service数据处理模块,通过调用上述模块的功能实现相应的业务逻辑。
2.2.1 空间数据处理模块
空间数据处理模块是针对以空间数据库方式直接提供数据源而设计的处理模块。该模块主要包含了直接针对数据源的地图显示、基本导航功能、查询检索、空间数据编辑和空间分析等功能。
2.2.2 Web Service数据处理模块
Web Service通过利用组件技术,通过XML和Http协议实现Web服务的发布、定位和交互。Web Service数据处理模块主要是对以Web服务方式发布的资源进行处理和集成,实现对数据源的显示、查询检索及空间数据编辑、空间分析等功能。
REST是Roy Fielding[8]于2000年在其博士学位论文中所提出的一种针对Web Service的体系结构风格。在空间数据集成框架中,用REST服务发布空间数据,Web Service数据处理模块通过与组件内部接口的交互,使得客户端可以利用REST服务,实现对数据源的显示、查询检索、编辑和空间分析等功能。
2.2.3 组件接口
它向数据源及客户端提供了集成、检索和访问接口以及相应的实现。
1)数据集成接口,主要是获取空间数据源的相关信息并完成对空间数据源的集成。集成之后,此接口用于组件与空间数据源的链接,实现对集成后的信息管理以及获取数据源的功能。
2)数据检索接口。空间检索处理采用了基于要素的检索方法,主要包括过滤和精练2个步骤。过滤主要利用最小外包矩形(MBR)对空间矢量对象作简单的近似,然后进行交集运算来获取候选结果集;而精练则是利用空间几何交集进行筛选的过程。
3)数据访问接口,主要功能是为所集成的空间数据提供统一的访问规则。客户端要获取数据源进行相应的显示及导航、属性查询、空间数据编辑、空间分析时,就使用组件内部的数据访问接口来完成。空间数据的显示以及其他与用户交互的基本操作都是在可视化界面上完成的。
根据数据集成框架中分布式空间数据集成、检索和访问组件的接口设计规定,对系统的各个接口进行了详细设计(如图2所示),主要包含空间数据集成接口、空间数据检索接口和空间数据访问接口。
1)空间数据集成接口(ISpatialDataIntegration):主要完成对基于ArcSDE和REST服务的空间数据进行集成操作。
2)空间数据检索接口(ISpatialDataRetrieve):主要完成对所集成的空间数据检索功能,包括基于MBR的检索和基于空间几何对象的检索。
3)空间数据访问接口(ISpatialDataAccess):主要实现对空间数据的动态访问、展现以及属性查询等功能。
以上主要组件接口组成了空间数据访问组件的对外部系统的访问通道,规定了对空间数据集成、检索及访问的规则。而空间访问模块与Web Service访问模块都是对空间数据进行相应处理的功能集合,它们具有相同的功能但对空间数据的处理则采用不同的方式。组件内部的相应模块针对ArcSDE和REST的数据源分别对集成、检索及访问接口进行了相应的实现,且具有良好的可扩展性。
本文从空间数据提供者与使用者2个角度去解决空间数据集成、共享以及访问的问题,完成了对基于空间数据库和基于Web Service空间数据源的集成。利用组件内的空间数据检索方法实现了对所集成资源的查询检索,并验证了空间数据集成、检索和访问组件在数据集成框架中的可行性。
图2 空间数据访问组件接口详细规格
随着云计算的兴起与相关技术的不断成熟,文中设计的组件迁移到云计算平台中,为空间数据的应用提供一个高性能、具有弹性的服务将是下一步工作的重点。同时,利用云计算平台的强大计算能力,可以对组件进行扩展,将多种GIS平台的功能融入到系统中,为用户提供基于云的GIS服务。
[1]Kondratyev K Y, Buznikov A A, Pokrovsky O M. Global Change and Remote Sensing[M]. New York:John Wiley &Sons,1996
[2]孙枢,张先恩,郭增艳,等.美国科学数据共享政策考察报告[R].中国基础科学,2002(5):37-39
[3]刘闯,王正兴.美国全球变化数据共享的经历对我国数据共享决策的启示[J].地球科学进展,2002,17(1):151-157
[4]刘闯.美国国有科学数据共享管理机制及对我国的启示[J].中国基础科学,2003(1):34-39
[5]Petry F E, Cobb M A. Design of System for Managing Fuzzy Relationships for Integration of Spatial Data in Querying[J].Fuzzy Sets and Systems,2003,140(1): 51-73
[6]胡光道,李振华.基于数据中心的国土资源信息系统基础平台的构建及技术问题[J].中国地质大学学报,2002,27(3):306-310
[7]李超岭,张克信.基于GIS技术的区域性多源地学空间信息集成若干问题探讨[J].地球科学,2001(5):107-112
[8]Roy Fielding. Architectural Styles and Design of Networ-Based Software Architectures[D].IRVINE:UNIVERSITY OF CALIFORNIA,2000