GP服务在基于SOA的WebGIS空间分析中的应用研究
2011-11-15李明峰何正兴
檀 丁,李明峰,张 蔚,何正兴
(1.南京工业大学测绘学院测绘工程系,江苏南京210009;2.苏州工业园区格网信息科技有限公司,江苏苏州215021)
GP服务在基于SOA的WebGIS空间分析中的应用研究
檀 丁1,李明峰1,张 蔚2,何正兴2
(1.南京工业大学测绘学院测绘工程系,江苏南京210009;2.苏州工业园区格网信息科技有限公司,江苏苏州215021)
针对传统紧密耦合的WebGIS空间分析功能开发存在的问题,提出采用面向服务的WebGIS架构,运用GP服务进行WebGIS的空间分析。在研究面向服务架构(SOA)的基础上,建立基于SOA的WebGIS框架。在此框架下,利用GP服务实现WebGIS的空间分析功能,并通过实例验证利用GP服务进行WebGIS空间分析的可行性。
空间分析;GP;WebGIS;SOA
一、引 言
GIS与互联网技术结合产生的WebGIS成为当前GIS的发展主流。区别于传统信息孤岛式的桌面GIS,WebGIS实现了地理信息资源的网络共享[1]。用户通过任意网络节点,均可实现跨领域、跨区域的GIS服务访问,满足了更多非GIS专业人员对地理空间信息的需求。
空间分析作为GIS的核心功能,为用户利用GIS进行科学规划与管理提供了决策依据。建立强大的空间分析功能一直是GIS研究和发展的重点。WebGIS作为GIS的网络化应用,空间分析的研究同样至关重要。较之传统GIS的空间分析,WebGIS空间分析功能的实现难度更高,不仅对分析模型的构建提出要求,更涉及分析功能的网络部署。
以往WebGIS空间分析的实现多采用嵌入式开发模式,针对不同的系统,通过紧密耦合的方式将空间分析模块嵌入系统程序中。以此模式开发的系统不易扩展、维护较复杂、复用性较低。对此,本文提出建立面向服务的 WebGIS架构,利用 GP (geoprocessing)服务进行空间分析功能的开发应用。
二、构建基于SOA的WebGIS
1.面向服务架构(SOA)
面向服务架构(service-oriented architecture,SOA)是一种松耦合、基于标准和独立于协议的分布式软件设计模型[2]。其目的是解决大型系统中不同模块、不同功能的相互调用,提高系统开发过程中数据交换的灵活性、程序的重用性及系统的扩展性。
该架构由一系列相互交互的服务组成,服务定义了一个与业务数据或业务功能有关的接口,但不依赖于特定技术或平台。这种通过服务实现业务功能的方式可实现跨平台操作,且开发后对其进行功能拓展较简单,并能重复利用。SOA结构(如图1所示)包括服务提供者、服务注册中心和服务请求者。服务提供者将服务的描述信息发布到服务注册中心,服务请求者在注册中心查找、定位所需服务,并调用对应服务。
2.WebGIS框架实现
笔者在SOA结构体系的基础上,结合WebGIS应用的普遍特点,设计并实现了基于SOA的Web-GIS框架,如图2所示。
图1 SOA结构图
图2 基于SOA的WebGIS框架
所构建的WebGIS框架包括客户端、服务层和数据库3个层次[3]。数据库作为系统的基础,含有基础空间数据、属性数据及其他相关数据;服务层则是整个架构的核心,为用户提供各类基础服务及地理信息服务;用户与系统间的交互则通过支持WebGIS的普通浏览器或特定软件平台实现。
在此架构下,大多数地理信息功能均以服务的方式提供。笔者认为,将系统最重要的空间分析功能同样封装为服务的形式,既能减轻系统计算处理的压力,提高数据访问的安全性,也使得系统空间分析模块更易扩展和维护。此类进行空间分析的服务统称为GP服务。
三、GP服务在WebGIS空间分析中的应用
1.GP处理流程
GP作为一种全新的地理数据处理概念,可理解为地理处理或空间分析,是一种对已有数据进行操作产生新信息的途径[4]。GIS的空间分析是在现有地理数据的基础上,通过模型计算获得新数据集的转换过程[5],恰与GP处理模式相吻合。具体的GP处理流程如图3所示,含有空间分析模型的GP工具一般均包括输入和输出两个接口[6],将所需处理的原始地理数据作为输入数据传入GP工具,按照GP模型所规定的处理规则进行计算分析,并返回处理结果。
图3 GP处理流程
2.利用GP服务进行网络化的空间分析
针对基于SOA建立的WebGIS开发框架,在具体实现空间分析功能时采用GP服务的方式。GP服务作为一种特殊的Web服务,实现过程被严格封装,只为用户提供一个可调用的API。
GP服务作为满足SOA结构的Web服务,同样包含服务提供者、服务请求者和服务注册中心3种角色。服务请求者以SOAP(简单对象访问协议)的形式向服务注册中心(UDDI)提交请求,SOAP规定了方法请求的格式和传递到消息中的参数格式,从而允许发送和接受正确信息;服务注册中心将满足要求的GP服务接口描述信息,通过WSDL(Web服务描述语言)返回给服务请求者;服务请求者据此绑定所需的GP服务并调用服务提供者提供的服务。空间分析具体逻辑的实现,实质则是根据客户指定的被处理空间信息,按照服务器中的GP模型进行科学计算并获得相应结果,服务提供者最终将此结果返回给服务请求者并在客户端得以展示。
利用GP服务进行空间处理,采用网络通用的HTTP通讯协议,服务的使用不受平台约束,且具备良好的封装性,扩展及维护较简单等特点。若不采用此服务,则需将空间分析功能嵌入程序,工作量较大,同时增加了本地计算压力,未能充分利用网络计算资源。
3.GP服务的发布过程
本文采用Esri公司的ArcGIS Server作为实现GP服务的发布平台。ArcGIS Server是Esri推出的支持SOA的服务器端产品。GP服务在网络中部署包括GP模型的制作及后续发布过程。
(1)GP工具的准备
ArcGIS自带的ArcToolbox中的工具可视为最简单的GP工具。在此基础上,利用可视化的GP模型处理工具——ModelBuilder[7],将简单的GP工具串联成复杂的地理处理模型。此过程不仅可利用已有工具,也可通过脚本编写满足实际需求的工具。由脚本编写GP工具并在ModelBuilder中使用,必须设置输入参数(Input)和输出参数(Output)[8],以Python脚本编写为例:
其中,index为参数序号;value为具体参数值。
(2)GP发布成服务
准备好的GP工具或GP模型只能在本地实现空间分析,要实现空间分析功能的Web调用,则需将工具发布成服务。具体发布方式有两种:① 将GP工具箱(toolbox)直接通过ArcGIS Server发布成GP服务,toolbox中的每个工具(tool)自然形成一个服务任务(task);②在编辑地图时,创建一个GP图层。将含有该图层的地图发布成地图服务时,GP服务自然创建。
通过任意方式将GP工具最终发布成服务,从而实现了空间处理功能的网络调用。用户可在程序中通过“Web Services引用”或其他支持服务的平台直接调用。
四、GP服务的具体应用——以道路横断面分析为例
苏州工业园区测绘中心根据地下管线管理的需求开发了基于WebGIS的地下管线综合信息系统。该系统提供了包括缓冲区叠加分析、断面分析等在内的多项空间分析功能。这些功能均通过GP服务的方式实现。现以道路横断面分析为例,介绍GP服务在该系统空间分析中的应用,并以此验证 GP服务在 WebGIS空间分析中应用的可行性。
1.模型研究及结果预测
结合实际情况,分析出道路断面的数学模型
式中,k为道路设计坡度;x1、x2、x3、x4为隔离带位置;h1、h2为隔离带高程;z0为道路中心线高程; W为路宽。根据数学模型预判出的道路断面形式如图4所示。
图4 断面分析预测
2.GP服务结果与理论预测对比
根据业务流程,制作出如图5所示的GP模型。其中缓冲(buffer)、相交(intersect)等基础环节直接选用ArcToolbox工具集,其他过程通过Python编程实现。最后将制作好的工具发布成服务。
图5 断面分析的GP模型
图6为系统通过网络调用GP服务获取的道路断面信息,可见其分析结果与通过数学模型预测的结果(图4)基本一致,从而进一步验证了GP服务在空间分析中应用的可行性。
图6 基于GP服务的分析结果
五、结束语
针对传统紧密耦合的WebGIS空间分析功能开发时存在的缺陷,笔者提出采用SOA的系统框架,以GP服务进行网络化的空间分析,并通过模拟预测及实际GP服务的应用对比,验证了GP服务在WebGIS空间分析功能中应用的可行性。以此方式进行WebGIS空间分析可忽略应用平台及程序语言的差异性,具有易开发、易更新、易扩展等特性。对于利用GP服务进行空间分析的效率等问题,本文尚未涉及,需作进一步研究。
[1] 江利明,杨武年,韩玲玲.WebGIS在数字城市空间信息服务中的应用研究[J].测绘通报,2005(10): 60-63.
[2] 邹滨,曾永年,董明辉,等.SOA理念下面向Web服务的网络空间数据共享模型研究[J].测绘科学,2008,33(5):106-108.
[3] 茅晶晶,陈锁忠,张达政,等.三层C/S架构在城市地质环境信息系统中的应用:以浙江省义乌市城市地质环境信息系统为例[J].南京师范大学学报,2007,7(2):76-81.
[4] 沈萍月.基于ArcGIS 9 Geoprocessing的处理技术方法研究[D].浙江:浙江大学,2006.
[5] 许为一.GIS空间处理建模在城市规划设计中的应用研究[D].南昌:江西师范大学,2008.
[6] 张俊.基于 Geoprocessing的 ArcGIS插件开发研究[D].上海:华东师范大学,2009.
[7] PARDY J,AHMED N.Using Geoprocessing Tools in.NET & Javawith ArcGIS Engine[R]. USA: ESRI,2007.
[8] JOHNSTON K M,WILLISON J.ArcGIS Extensions: ArcGIS Spatial Analyst Suitability Modeling[R].USA: ESRI,2007.
Application Research on GP Service to Spatial Analysis of WebGIS Based on SOA
TAN Ding,LI Mingfeng,ZHANG Wei,HE Zhengxing
0494-0911(2011)07-0070-04
P208
B
2011-03-10
江苏省测绘局科研资助项目(JSCHKY200903);国土环境与灾害监测国家测绘局重点实验室开放基金资助项目(LEDM2010B05)
檀 丁(1987—),男,安徽安庆人,硕士生,研究方向为分布式GIS的应用。