唐平英,胡 玲
(長沙理工大學交通運輸工程學院,長沙 410076)
隨著計算機技術和地球空間科學技術的不斷發展和進步,面向大眾服務的GIS應用系統不斷涌現,Internet也已成為GIS新的系統發布平臺,網絡化成為GIS發展的必然趨勢。WebGIS作為網絡GIS的一種,它的出現有效推動了GIS的這一發展趨勢,使GIS真正成為大眾化的使用工具,它是GIS技術與組件技術、互操作技術、分布式技術的集成[1]。經過近幾十年的研究和發展,各大GIS廠商爭相推出了一系列相對成熟的WebGIS產品,如ERSI公司的ArcIMS、MapInfo公司的 MapXtreme、北京超圖的 Surper-Maper IS、武漢吉奧公司的GeoSurf等。
然而,這些WebGIS產品結構復雜,體系龐大,開發周期長,耗資巨大,調試和維護困難,不利于中小型企業和普通開發人員的開發;而且傳統WebGIS對多源異構空間數據共享和互操作難以實現的固有缺陷沒有得到很好解決。針對上述問題,研究提出了基于Web Service的開放式WebGIS系統,它是一種輕量級、開放式的系統。在此系統基礎上,利用Geoserver平臺,構建了土地利用規劃信息系統,可以方便查詢和修改土地利用規劃情況,以便做出更合理的規劃。
XML(Extensible Markup Language——可擴展標記語言)及Web Service技術的出現,使我們第一次真正談論開放的WebGIS。XML是1996年由互聯網聯合組織(W3C)公布的一組規范[2],它提供了一種獨立的運行程序的方法來共享數據,能使計算機通信把Internet的功能由信息傳遞擴大到人類其他多種多樣的活動中去,具有良好的可靠性和交互操作性。
Web Service,簡單來講就是在網絡上創建一個應用程序,對外提供一系列可以調用的接口API,接收和處理來自網絡上的應用請求。它是Internet分布式計算環境的基本程序模塊,基于標準規范,松散耦合度高,集成能力較強,為WebGIS提供了跨平臺、開放的、動態鏈接的空間信息服務網絡體系平臺,提供了對多源異構空間數據進行共享和互操作的接口。它的體系結構描述了三個角色(服務提供者、服務請求者、服務代理者)以及三個操作(發布、查找、綁定),如圖1所示。

圖1 Web Service的體系結構Fig.1 The system structure of Web Service
隨著計算機網絡技術的發展,Web Service技術也取得了明顯進展。OGC制定和發布了一系列基于Web Service空間信息服務的框架、規范和標準,包括Web Map Service (WMS)、Web Feature Service(WFS)、Web Coverage Service (WCS)、Web Processing Service(WPS)[3]等。當前主流WebGIS系統已支持其中的部分或全部規范,如Terra Server影像數據服務、微軟的MapPoint.Net、ESRI的Arc Web Service等。各大網絡地圖門戶網站也紛紛推出自己的地理信息服務模塊,并開放了應用程序開發接口API,以供用戶開發使用[4],如Google Maps,Geoserver等。
筆者提出的基于Web Service的開放式WebGIS系統框架如圖2所示。

圖2 基于Web Service的開放式WebGIS系統框架Fig.2 The open WebGIS system framework based on Web Service
在該系統框架中,客戶端采用Ajax技術在后臺進行客戶端與服務器端之間的異步數據通訊,從而用戶請求無須打斷界面操作,有如同使用桌面應用程序的體驗;同時在客戶端使用基于Ajax的內存緩存機制,將靜態空間數據和頻繁調用的數據存儲起來,當需要再次請求這些數據時,便可直接在內存中調用,減少了客戶端對服務器端的請求,可有效緩解Web服務帶寬的壓力,減輕服務器負擔。在Web服務器端,向用戶提供了一系列接口API,包括應用接口、數據接口和功能接口等,以方便調用各種Web服務;在客戶端進行基本的地圖操作、圖形顯示、數據查詢、簡單的空間分析時,將復雜的空間分析功能請求基于OGC規范的、能提供此服務的在線服務器,智能協調瀏覽器/服務器之間的功能;在服務器端部署有各種基于OGC規范的Web服務,不僅可以為系統內部調用,也可以為其他使用者提供各種Web服務。同時客戶端也可以請求任何在線的基于OGC地理信息Web服務規范的GIS服務器,需要GIS數據或功能服務的單位或個人,可以隨時隨地進行訪問,服務器之間也可以交互,故不用考慮服務器是基于哪個平臺和在哪里,也不用知道網上的服務者是誰,保持了客戶端代碼的輕量級和功能的多樣性[5],大大提高了系統的開放性和對異構空間數據的共享和互操作性。
Geoserver是OpenGIS Web服務器規范的J2EE(Java平臺企業版Java2 Platform,Enterprise Edition)實現[6],是遵循OGC開放標準的開源WFS-T和WMS服務器[7],也是應用最廣泛的開源WebGIS之一。利用Geoserver不僅可以方便地發布地圖數據,允許用戶對特征數據進行更新、刪除、插入操作,而且還可以在用戶之間迅速共享空間地理信息。目前,最新版的Geoserver2.2.2已經支持OGC規范的WMS、WFS和WCS特性,同時支持PostGIS、Shapefile、MapInfo等多種數據格式,能支持上百種投影,而且可以將網絡地圖輸出為JPEG、GIF等多種圖形圖像格式,除此之外還增加了一款基于Java的開源GIS工具集——GeoTools,提供各種接口API和helper類,允許用戶對地理數據進行基本操作,大大擴展了Geoserver的功能。Geoserver的體系技術結構如圖3所示.

圖3 Geoserver的體系技術結構Fig.3 Geoserver technology structure
筆者所構建的土地利用規劃信息系統中的空間屬性數據和專題數據,存儲在Geoserver中發布成WFS服務,以方便數據的共享和互操作。
根據研究提出的基于Web Service的開放式WebGIS系統框架,開發實現了懷化市土地利用規劃信息系統。該土地利用規劃信息系統通過網絡Web方式,面向多種用戶,通過地圖操作,可以方便地進行土地利用規劃信息的查詢、修改、分析等操作,為相關部門的研究、決策提供可靠依據和實用途徑。
要構建基于開放式WebGIS的土地利用規劃信息系統,首先要準備土地利用規劃的空間屬性數據和專題數據,由于土地利用規劃的所有數據圖層都是通過《懷化市土地利用總體規劃(2006—2020年)》在MAPGIS平臺和建庫軟件中獲得,而本系統在開發時設定的數據格式是基于OGC標準的規范格式,所以數據需要轉換成標準格式才能調用。鑒于上述Geoserver的開源性和強大功能,在本系統中,將所有空間數據圖層轉化成ESRI Shapefile格式,存儲在Geoserver中發布成WFS服務,以方便對數據的共享和調用。圖4所示為在Geoserver中添加的.shp格式的圖層,圖5所示為成功添加圖層后點擊Layer Preview查看發布的圖層。

圖4 在Geoserver中添加的.shp格式的圖層Fig.4 The.shp format layer added to Geoserver
準備好規劃數據后,再準備空間分析服務器,本系統中以52north WPS[8]提供空間分析服務,它提供的GetCapabilities如下圖6所示。當然,也可以請求在線支持WPS規范的GIS服務器;最后再制定客戶端,本系統制定的客戶端,只有簡單的界面定制、地圖圖層及專題定制以及必要和少量的JavaScript腳本程序開發。至此,就完成了土地利用規劃信息系統的構建。該系統界面簡單,其操作猶如桌面程序,非專業人員也可以使用,具有廣泛的實用性。

圖5 在Geoserver中查看發布的LXDW圖層Fig.5 Preview of the LXDW layer published in Geoserver

圖652north WPS提供的空間分析服務Fig.6 The spatial analysis service provided by 52 north WPS
基于開放式WebGIS的土地利用規劃信息系統與其他商用或開源WebGIS系統相比,具有開放性強、輕便、簡單易于開發等特點。主要體現為:系統不僅可以加載自身數據,還可以加載其他外部數據;不僅可以調用自身空間分析服務,還可以調用外部空間分析服務。另一方面,系統的數據可以以WFS方式與其他系統共享,同時系統的空間分析服務也可被其他支持WPS規范的GIS客戶端所調用,達到了數據與功能的分布式布局及共享與互操作。而且從系統的構建過程可以看出,系統小巧,開發工作簡單,實現了數據、界面與空間分析算法的完全分離。
研究提出的基于Web Service的開放式WebGIS系統,具有較強的開放性,較好的對多源異構空間數據的共享和互操作性。基于此系統構建的懷化市土地利用規劃信息系統,可以方便地查詢實時的土地利用規劃情況,并進行修改和分析等操作,方便土地利用規劃相關部門的研究決策和科學、信息化管理,具有廣泛的適用性。
[1]李心穎,李峰.基于XML Web Service的網絡地理信息系統的構建[J].測繪與空間地理信息,2012,35(6):19-21.
[2]周文生,毛鋒,胡鵬.開放式WebGIS的理論與實踐[M].北京:科學出版社,2007:22-23.
[3]Open Geospatial Consortium Inc(OGC).OpenGIS Web Processing Service v1.0.0[EB/OL].(2007-06-08)[2012-10-07].http://www.opengeospatial.org/.
[4]張曉煜,李向.一種基于Google Maps的土地利用信息發布平臺[J].計算機與數字工程,2012,40(10):146-149.
[5]徐卓揆.基于HTML5、Ajax和Web Service的WebGIS研究[J].測繪科學,2012,37(1):145-147.
[6]梁啟靚.基于Geoserver的開源WebGIS開發與應用[D].西安:長安大學,2010.
[7]陽華.基于Geoserver的校園WebGIS[D].衡陽:南華大學,2011.
[8] Bastian Schaeffer.Web Processing Service Tutorial[EB/OL].(2009-01-09)[2012-10-07].http://www.52north.org/.