基于GIS服务链的遥感影像分布式融合处理
谢斌, 俞乐, 张登荣
杭州师范大学遥感与地球科学研究院,杭州 310036

第一作者简介: 谢 斌(1983-),男,博士,主要从事遥感图像处理、GIS空间数据共享与互操作方面的研究。

摘要

提出了基于Web服务技术、OGC规范和工作流技术,以实现与平台无关的、具备流程编排能力的地理空间处理服务链框架,用于支持复杂的在线空间处理任务。在该框架基础上实现了一个在线遥感影像融合处理示例。该示例展示了利用OGC WCS、WPS,WSDL,UDDI和BPEL4WS等成熟的标准规范来构建GIS服务链,使得客户应用程序能够基于Web服务定制、部署,实现在线的地理空间处理能力。

关键词: GIS服务链; 目录服务; UDDI; WPS; BPEL4WS; 遥感影像融合
中图分类号:TP393 文献标志码:A 文章编号:1001-070X(2011)01-0138-05
Distributed Fusion Process for Remotely Sensed Images Based on GIS Services Chain
XIE Bin, YU Le, ZHANG Deng-rong
Institute of Remote Sensing and Earth Sciences, Hongzhou Normal University, Hangzhou 310036, China
Abstract

In this paper, we propose a framework of GIS service chain for geodata and geoprocessing web services to handle complex geospatial tasks in web environment using XML web service, OGC standard and workflow techniques. An online image fusion web service is developed as an example based on the framework. This web service allows different images can be fused on-line. The prototype system integrated industry standards, including Web services, OGC WCS, OGC WPS, WSDL and BPEL4WS, allows invoke geoprocessing functionality in a platform and language independent manner on the Internet.

Keyword: GIS service chain; Catalog service; UDDI; WPS; BPEL4WS; Remote sensing image fusion
0 引言

遥感平台的发展使得空间数据量巨增, 空间数据的海量特性, 以及不同平台下的异构性和分布性, 使得对空间数据进行统一访问和共享仍然是一个挑战。XML Web服务技术为跨操作系统、硬件平台以及编程语言实现数据共享与互操作提供了便利, 基于该技术的空间信息数据及处理服务日益增多[1]。但是, 这些服务通常是孤立的应用程序, 不同的服务提供商专注于不同的应用目的[2]。为了实现地理空间信息的复杂处理任务, 需要将分布式的地理数据和处理服务链接起来。通过编排、组装单个地理空间信息服务来创建高层次的地理空间处理任务, 正逐渐改变着地理空间应用程序的设计、开发及部署方式[3]。地理空间Web服务组合的研究已成为新的研究热点[4, 5, 6]

针对构建复杂的地理处理任务, 本文提出基于Web服务技术、OGC规范和工作流技术来实现一个与平台无关的、具备流程编排能力的地理空间处理服务链框架。基于该框架能够提供地理信息处理服务链, 进行在线遥感影像融合, 便于研究人员在Web环境下进行数据融合并获取结果。以多光谱和全色遥感影像在线融合处理为例, 验证基于网络服务业务流程执行语言(BPEL4WS)[7]构建GIS服务链, 并完成复杂融合处理流程的能力。

1 地理空间数据与处理服务
1.1 WCS服务及其空间索引实现

网络覆盖服务(WCS)是一种支持地理空间影像数据交换、采用Coverages格式在网络上传输图像数据的服务。Coverages代表随空间和时间变化的数字地理信息, 例如遥感图像。OGC WCS为空间数据共享提供了标准的Web发布接口, 规定了服务操作接口必须满足的标准, 但并没有对实现的具体方法做出限制, 因此可以根据不同功能和性能需求构建不同应用场景的服务接口。

空间索引的目的是为了在GIS系统中快速定位所选中的空间要素, 从而提高操作的速度和效率。本文在遵循OGC WCS规范的基础上, 在Visual Studio.NET 2005中对WCS服务进行具体实现。服务端提供对空间数据的索引, 包括空间影像分割和索引的建立(基于XML文档的四叉树), 数据索引主要是由GetCoverage操作调用并返回结果给客户端。

GetCoverage数据索引主要包括请求解析(RequestParser)、建立空间索引(DataIndex)、索引数据(ReadHead, ReadPiece)以及影像合成(ImageMaker)。RequestParser类主要用于解析参数, 把图层(Layer)、绑定框(BBOX)、长宽(Width/Length)、格式(Format)等参数解析出来, 用于后面的数据索引及返回的数据格式确定; DataIndex类完成对整个文件(夹)的索引管理, 先根据图层名(Layer)确定用户所请求的数据层名, 根据请求域长宽与绑定框的比值来确定分辨率文件夹, 再根据绑定框来确定此文件夹下文件的大小及其所请求的范围; ReadHead和ReadPiece类读取空间数据, 并传给ImageMaker类进行影像合成; ImageMaker类用于对获取到的影像文件进行拼接, 并根据请求解析的影像格式(Format)返回给用户所需的影像。具体流程如图1所示。

图1 GetCoverage空间数据索引流程Fig.1 Workflow of spatial index in GetCoverage

1.2 WPS服务粒度划分

Web过程服务(WPS)是OGC针对日益增加的基于网络的空间数据处理需求提出的一项Web服务标准。该标准可以包装任何类型的对空间数据进行处理的功能, 这些功能的实现可以简单如两个空间数据之间的相减, 也可以复杂如全球气候的变化模型[8]

WPS服务的粒度(地理处理功能的复杂度)不能太粗, 也不能过细: 太粗, 会产生许多重复编码, 在增加了编程工作量的同时, 也降低了服务的复用性和灵活性; 过细, 则降低子功能的语意信息, 增加子功能之间的通信成本, 从而降低整个工作流的效率。现实中的空间数据处理应用一般都非常复杂, 为了分散和简化应用逻辑, 提高服务可重用性, 单个处理服务都不可能做得非常复杂, 服务功能的分解和最小服务单元的设计也非常重要。在这里我们讨论遥感图像处理功能的分解问题, 并将本次研究所需用到的处理包装为WPS服务, 这些服务将在后面用到。

针对不同的应用, 对WPS服务粒度的划分可能会不同。但是, 一般情况下都会有一个普适的标准。WPS定义中对处理的解释是: 任何可施加于空间数据上的算法、计算和/或模式。从中可以得到提示, 即可以采用算法作为粒度划分的基本单位。因为不同的算法需要不同的编码实现, 基本上不存在重复编码的现象; 算法还不失语意信息, 可以通过语意对其进行动态查找, 符合语意Web服务的条件。

2 目录服务

统一描述发现和集成(UDDI)规范[9], 便于组织和个人管理Web服务资源。UDDI规范为Web服务定义了一系列标准用于服务的发布、搜索及绑定。它提供了一个可交互的基础架构, 使得开发者和管理者基于UDDI可以方便地实现目录服务, 用于发现合适的地理数据和处理服务。Microsoft UDDI SDK是微软为UDDI规范提供的开发工具包。对于Microsoft.NET框架开发者, 利用该SDK可以创建客户端方便地与UDDI服务器(如Windows Server 2003提供的UDDI服务组件)进行通信, 用于发布和发现Web服务[10]

所有地理空间信息服务在UDDI中心注册, 用于进一步查找和绑定。注册方法有两种: 一种是利用UDDI浏览器管理界面(如IE)进行人工注册; 另一种是利用UDDI SDK API在程序中自动注册。SDK提供的查询类主要包括FindBusiness、FindService和FindTModel。利用这3类查询提供的send函数可以获取Business、Service和TModel列表, 这些列表包含了服务的描述信息, 用户可根据这些信息进行服务的选择。在获取到具体的服务之后, 需要绑定到消费者以便进行调用。SDK中的Microsoft.Uddi.Binding命名空间提供了绑定功能, 其中BindingTemplate类用来创建远程Web服务调用的实例化。

基于UDDI实现目录服务处理流程如图2所示。

图2 目录服务处理流程Fig.2 Workflow of catalog service

3 GIS服务链
3.1 BPEL4WS

工作流及其建模技术和工具的发展, 为分解复杂问题和重建处理流程提供了便利。特别是BPEL4WS[7]的出现, 使得工作流与Web服务的结合为Web方式下实现复杂分析提供了技术基础。BPEL4WS是专为整合Web服务而制定的一项规范标准, 利用BPEL4WS组合Web服务, 能够创造出复杂的业务流程。

BPEL4WS是目前Web服务业务流建模语言中较成熟和较全面的一种语言。BPEL4WS通过编排一组Web服务操作的执行顺序来定义业务流程, 它包括服务类型定义和业务流程定义两个部分。前者主要是Web服务使用的一些类型定义, 如数据类型、消息类型、端口类型及伙伴链接类型等; 后者主要定义业务流程本身, 其中包括变量、相关性、活动、伙伴链接及端点引用等流程元素。图3是利用BPEL4WS语言对地理空间服务进行编排组成工作流的示例, 所用WCS为前文所述的服务。

图3 地理空间处理服务流程编排Fig.3 GIS services chain based on the BPEL4WS

3.2 工作流控制模型

为了使位于不同位置的遥感图像处理服务协同工作, 本研究首先基于BPEL4WS对处理流程进行建模, 再由执行引擎按照工作流程规范定义来执行。具体步骤包括:

接受客户端请求, 调用相应的BPEL业务流程模板, 将用户选取或自定义的工作流转换为BPEL4WS文档。

工作流引擎负责解释流程文档, 并对流程服务进行部署, 然后执行工作流, 链接服务, 获取结果。

对于复杂的处理过程, 需要通过应用逻辑控制层进行间接调用。因此, 对于遥感图像处理过程采用工作流的方式来组织。模型包含: 工作流程库、流程定义编辑和流程处理3个部分。

流程库中预先定义好的流程一般为一些通用的遥感图像处理流程, 这些预定义流程都保留了算法接口, 可以让用户选择处理中用到的具体算法。工作流定义编辑提供给用户自定义处理流程的接口。通过与服务注册中心通信, 获取可以使用的服务列表, 并将这些服务暴露给用户, 然后用户选择其中的某些服务组合成所需的处理流程。编辑完成后, 用户提交流程, 流程定义编辑会生成一个XML文档, 并将其发送到流程处理模块。用户自定义和编辑的工作流文档可以保存在本地机器上, 发送到服务器上的XML文档不会以文件的方式保留下来。流程处理负责解析流程文档, 将原始XML文档组织成符合BPEL4WS标准的格式, 然后再发送到工作流引擎, 由工作流引擎执行工作流。整个流程执行完成, 会返回一个Web链接, 用户可以通过这个链接获得处理的结果, 并选择是否下载到本地。处理的结果会作为临时文件保存在服务器端, 在用户进行下一步动作(保存或关闭浏览器)之后, 流程处理会将临时结果从服务器上删除。

当用户对遥感图像进行复杂处理时, 通过以下几个步骤实现:

(1)查找应用逻辑控制层的流程库, 看是否有预定义好的流程, 有则进入步骤(3), 没有则进入步骤(2);

(2)选取所需的简单服务, 创建新流程, 完成后进入步骤(4);

(3)编辑预定义流程, 完成后提交;

(4)部署流程, 等待调用;

(5)工作流引擎调用流程, 并返回结果。

4 在线影像融合实例

基于小波包分析方法[11], 以Beijing-1多光谱影像和全色影像融合为例。在测试例子中, 所有地理空间数据由分布式系统提供WCS服务, 融合处理变换方法也封装为WPS服务, 并能够在线发现和获取。对于整个融合处理过程, 需要链接空间数据和处理服务组成在线影像融合服务链(图4)。BPEL4WS用来编排流程定义文档, 并交付工作流引擎执行且返回一个Web链接, 用户可以通过这个链接获取融合结果。

图4 遥感影像融合处理服务链(IP地址表示分布式的地理数据和地理处理服务的位置; 1~8表示处理顺序)Fig.4 GIS services chain for remote sensing image fusion

此实例表明了组织和执行基于BPEL4WS构建的服务链进行在线空间数据处理的能力, 而且提供的数据和处理服务遵循OGC规范。

5 结语

基于OGC WCS、WPS以及BPEL4WS工作流技术, 将地理空间数据和处理服务组织为服务链。在此基础上, 在Web环境下利用分布的地理空间数据和处理服务实现了在线遥感影像融合处理。尽管原型系统只提供了有限的处理功能, 但各种服务完全基于OGC规范, 具备进一步实现动态的、开放式在线分析系统的功能。今后, 将加强对本体论和语义推理应用到Web服务的查找和匹配、Web服务的自动绑定策略及基于语义的流程自动构建等问题的研究。

The authors have declared that no competing interests exist.

参考文献
[1] Granell C, Díaz L, Gould M, et al. Developing Geoprocessing Services for a Hydrological Model Application[C]//Proceedings of 27th EARSeL Symposium: Geoinformation in Europe (EARSeL 2007), 2007. [本文引用:1]
[2] Einspanier U, Lutz M, Senkler K, et al. Toward a Process Model for Giservice Composition[C]//GI-Tage (GI Days), Institute for Geoinformatics: Munster, Germany, 2003: 31-46. [本文引用:1]
[3] Di L, Zhao P, Yang W, et al. Intelligent Geospatial Web Services[C]//Proceedings of the International Geoscience and Remote Sensing Symposium (IGARSS), 2005: 1229-1232. [本文引用:1]
[4] Jaeger E, Altintas I, Zhang J, et al. A Scientific Workflow Approach to Distributed Geospatial Data Processing Using Web Services[C]//17th International Conference on Scientific and Statistical Database Management (SSDBM’05), Santa Barbara, CA, 2005: 87-90. [本文引用:1]
[5] Ludascher B, Altintas I, Berkley C, et al. Scientific Workflow Management and the Kepler System[J]. Concurrency and Computation, 2005, 18(10): 1039-1065. [本文引用:1] [JCR: 0.784]
[6] Luo Y, Xue Y, Wu C, et al. A Remote Sensing Application Workflow and Its Implementation in Remote Sensing Service Grid Node[J]. ICCS, LNCS 3991, 2006: 292-299. [本文引用:1]
[7] Andrews T, Curbera F, Dholakia H, et al. Business Process Execution Language for Web Services (Version 1. 1) [EB/OL]. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdf. [本文引用:2]
[8] Schut P. OpenGIS? Web Processing Service (Version 1. 0. 0. ) [EB/OL]. http://portal.opengeospatial.org/files/?artifact_id=24151. [本文引用:1]
[9] Clement L, Hately A, Riegen C, et al. UDDI Spec Technical Committee Draft (Version 3. 0. 2. ) [EB/OL]. http://www.uddi.org/pubs/uddi_v3.htm. [本文引用:1]
[10] Microsoft, Microsoft UDDI SDK[EB/OL]. http://msdn2.microsoft.com/en-us/library/aa966237.aspx. [本文引用:1]
[11] Burt P J, Kolczynski R J. Enhanced Image Capture Through Fusion[C]//Proceedings of the 4th International Conference on Computer Vision, 1993: 173-182. [本文引用:1]