永州市国土资源规划设计测绘院 湖南省永州市 425000
摘要:伴随着GIS技术的逐步发展和日渐成熟,人们对地理信息提出了更高的要求,促进了地理信息系统向地理信息服务方向发展。地理信息服务主要包括数据服务和处理服务两部分,目前,大多数厂商提供的地理信息服务仅局限于数据服务层面,处理服务较少实现。本文通过对处理服务原理及构建方法的研究,基于国家基础地理信息中心的全球地表覆盖动态信息系统,在 Visual Studio 2010平台下实现了将功能封装为处理服务,并在服务流程编排的基础上实现处理服务的调用。
关键词:地理信息服务;处理服务;.NET;服务封装
0 引言
随着计算机和网络技术已经成为人们生活中不可或缺的一部分,GIS的发展进入了一个新时期,各个行业对地理空间数据及其处理功能的需求日益增长,要求地理信息能够广泛地被共享、交换和访问,因此易于集成的地理信息服务应运而生。地理信息服务是把地理空间数据和处理功能封装为服务并发布在网络上,通过网络对地理信息进行集成和共享,以数据服务和处理服务两种形式,为用户方便快捷地获取各种空间数据及其处理功能[1]。地理信息服务将在地理国情监测、全球地表覆盖、智慧城市等热点研究中发挥重要作用,完善和开发处理服务功能将成为今后的发展趋势和研究热点。
1 地理处理服务概述
1.1处理服务定义
处理服务是在数据服务的基础上,为了满足客户不同的需求,对本地数据或存放在网络上的空间数据进行处理操作,并为用户提供面向应用的增值服务,比如坐标转换服务、栅格/矢量转换服务、尺寸测量服务、路径确定服务、地理编码服务等[2]。处理服务过程中用户并不直接对空间信息资源操作,它强调过程,主要为用户提供计算、分析、处理空间信息资源等功能。当用户对同一数据有不同请求处理时,处理服务会针对用户的请求从不同方面解读该数据,返回不同的处理结果。
1.2处理服务基本原理
处理服务实现的整个过程中,对空间数据的分析、处理等操作在服务器端实现。客户端基于网络通信协议向服务器端发送请求,服务器端使用本地数据或共享网络数据,提供处理算法及计算模型,执行处理服务,并将处理结果传送给客户端。
1.3处理服务主要实现方法
1.3.1 OGC WPS的服务标准
网络处理服务规范WPS(Web Processing Service)是OGC组织为所有地理处理服务提供的一个标准化协议,并指定了客户端和服务器端实现的操作。它规定了处理服务的标准接口,并将处理功能模块封装为网络服务,包括输入参数、输出参数和触发方式,客户端基于XML文档通信方式,通过网络可以共享空间信息及其处理功能。通过这三个接口,基于XML传输协议,可以实现客户端与服务器端的互操作,客户端可以通过网络调用与空间数据处理相关的GIS函数功能。
1.3.2 ArcGIS Server的Geoprocessing Service
ESRI公司生产的ArcGIS Server软件中Geoprocessing Service地理处理服务是将位于ArcGIS Server服务器端的地理数据处理模型或者包含一个处理模型工具图层的地图文档发布为服务[5]。它是一种地理数据处理工具,客户端通过网络向服务器端发送请求,服务器端提供了分析、计算模型,执行空间分析和建模等功能,并将处理结果返回给客户端,促进GIS功能从桌面向网络方向发展。
2 处理服务构建的技术路线
本文首先对处理服务的定义及原理进行研究。
其次,利用Visual Studio.NET开发平台研究GIS算法封装、服务流程编排及服务接口实现等内容,关键是将处理功能封装为Web服务及服务接口的实现。客户端向服务器端发送请求,服务器端接收并分析用户请求,以XML文档的形式返回处理结果,完成了客户端与服务器端的互操作,帮助用户根据需要调用相关处理服务。最后,结合全球地表覆盖动态信息服务系统中变化检测服务实现了将处理功能封装为.asmx服务、基于JavaScript进行流程编排和服务调用等功能。技术路线图如图2所示。
3 基于.NET技术的处理服务构建方法
3.1 GIS算法封装
基于.NET平台构建处理服务,为了提高Web处理服务中空间分析、空间处理等算法的可扩展性,建立算法注册中心,开发人员可以将与处理功能有关的GIS算法封装成为组件,通过在算法注册中心注册存放在算法库内,便于GIS算法的查询、集成和共享[9]。
3.2处理服务流程编排
处理服务流程编排是通过流程驱动方式对有关Web服务组件进行组合和编排,以形成服务流程。由于Web服务具有松散耦合、分布式异构环境下易集成的特点,它要求服务流程编排应该满足灵活、敏捷、可视化、个性化定制等特性。
3.3处理服务接口实现
处理服务接口是一组方法的逻辑组合,定义了外部可以调用的处理功能及其访问方式,可作为客户端调用Web处理服务的媒介。在设计处理服务接口时,接口描述文档应该对接口的名字、参数、返回值等内容进行详细说明。其中,接口命名的方法尤其重要,它能帮助使用者快速了解该接口的用途。在定义接口参数时,参数要尽量简单,不增加客户端和服务器端的耦合性,仍旧保持松耦合、易集成的特性。当接口设计完成后,要能够方便地对接口参数和返回值进行测试,保证返回值形式简洁且与语言无关。若测试过程中出现异常,就需要提高XML文档的灵活性,保证它不管是在正常情况还是异常情况下都能应对自如。
4 处理服务的实例
全球地表覆盖动态信息服务原型系统主要包括服务集成(Service Intergration)、服务搜索(Service Searching)、服务计算(Service Compution)和变化标报(Making and Reporting)四个部分。本文主要研究实现服务计算部分,该部分实验是基于.NET平台,使用Visual Studio开发工具将变化检测处理功能封装为Web处理服务,用户可以通过Web浏览器发送请求,并得到相应的处理结果,实现处理功能的调用。客户端可以根据自己的具体需求再做进一步处理。
4.1 变化检测处理服务的实现
在全球地表覆盖动态信息服务原型系统提供的变化检测功能服务中,主要涉及到特征提取、特征匹配、最小二乘估计、仿射变换和变化检测等算法函数。需将这些算法进行封装为功能服务,其次基于JavaScript进行服务流程编排,最后进行处理服务调用。
4.1.1 算法封装为功能服务
本实验中将特征匹配、最小二乘估计、仿射变换和变化检测等遥感算法封装在dll类库中,在实现特征匹配、平差处理、影像纠正和变化检测等处理功能时,可以通过编码直接调用类库中相对应的有关算法,并使用Visual Studio开发工具把处理功能封装为服务。
5 结束语
目前,在全球地表覆盖动态信息服务系统中,只能在全球范围内搜索数据服务,不支持功能服务模块中处理算法的搜索,服务流程编排中使用的功能服务选择范围较小,局限性比较强。接下来,将在该方向继续研究,真正为使用者提供动态信息服务,实现服务的个性化定制。此外,随着Internet网络技术和计算机技术的快速普及和应用,Web Service开始由封闭、紧耦合向开放、松散耦合、异构环境下易于集成的方向发展。
参考文献:
[1] 刘岳峰.地理信息服务概述[J].地理信息世界,2004,02(6):26-29