檀 丁,李明峰,張 蔚,何正興
(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)服務進行空間分析功能的開發應用。
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服務。
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引用”或其他支持服務的平臺直接調用。
蘇州工業園區測繪中心根據地下管線管理的需求開發了基于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的應用。