李心穎++李峰++吳洪麗
摘要:針對WebGIS中空間數據顯示和矢量傳輸存在的問題,引進GML、SVG等技術,建立基于SVG/GML的WebGIS可視化模型。該模型中GML作為服務端數據交換格式實現地理信息交換與數據共享,以SVG 做為矢量地圖發布格式來實現空間信息的可視化,將大大提升WebGIS的可視化性能。并以此模型給出了WebGIS系統地圖展示系統的應用實例,分析了系統功能的實現方法。
關鍵詞:SVG GML 可視化 WebGIS
中圖分類號: P208,TP75 文獻標識碼:A 文章編號:1007-9416(2016)11-0036-03
Abstract:Spatial data display in the work of WebGIS and vector transmission problems, introduce GML and SVG technology, establish the WebGIS visualization model based on SVG/GML.This model as a server-side data interchange format GML geographic information exchange and data sharing, in SVG as a vector map publishing format to achieve spatial information visualization, will greatly improve the visual performance of WebGIS.And this model gives the application example of the system of map display WebGIS system, analyzes the method to realize the system function.
Key Words:SVG;GML;visualization;WebGIS
1 空間數據可視化
基于WebGIS平臺的空間數據,主要任務是把存放在數據庫中的空間信息和圖形文件的空間數據發布出去。要實現GIS系統的數據互操作和共享功能,前提必須是進行空間數據發布時依照統一的標準,并且能夠解析出執行標準格式的空間數據。
1.1 空間數據可視化形式
空間信息的可視化是指利用圖像處理技術、地圖制圖學及計算機圖形學等,使用圖形圖像及圖形符號,結合文字、圖表和視頻等可視化的形式,充分顯示地理學信息輸入、處理、查詢、分析及預測中的數據和結果。
空間信息可視化中最重要的形式是地圖,電子地圖比紙質地圖具有更多的優點。優點如下:第一,SVG(可伸縮矢量圖形規范標準)在完成空間數據組織結構的同時,通過XSL或CSS添加各種樣式,即能夠對各個圖形元素進行填充又能使用濾鏡效果功能等;第二,SVG的顏色管理支持RGB規范并且能夠呈現出豐富的色彩;第三,SVG 支持蒙版及剪切路徑技術,能夠顯示出路徑定義區域之內的圖形,從而來屏蔽區域外的圖形,并可以運用在鷹眼圖的操作功能上。
1.2 基于GIS的可視化
建立在GIS的可視化,其主要用處是既能用來空間對象的空間展現規律,又能對下一步需要分析的數據進行直接查詢。GIS中涵蓋大量的空間地理信息,提供豐富的圖形圖像信息的同時還與相關的數據和資料建立相應的聯系,對象屬性位置變化規律可以運用可視化提供的結果來進行分析。
2 SVG及GML在WebGIS中的應用
SVG——可任意放縮矢量圖像格式(Scalable Vector Graphics)的簡稱。它基于XML(可擴展標識語言),是一個全新的標準開放的矢量圖像和動畫格式。SVG中體現的矢量圖形、色彩填充、濾鏡效果、動態交互及音效等效果是通過運用簡單等文本語句完成的,SVG已成將來的Web圖形圖像的一種標準。GML(Geography Markup Language,地理標識語言)是XML應用在地理空間信息領域的中的語言。運用GML不僅可以發布、存儲各種特征的地理信息,而且還能夠控制地理信息在Web瀏覽器中的顯示。GML是表示實體的空間信息和屬性的編碼標準,但它并沒有支持顯示圖形的功能。空間數據可視化可通過采用以GML描述GIS數據,SVG進行客戶端顯示的方式來實現。
SVG以文本的形式來描述矢量圖形,尺寸小,而且能夠進行高效率的壓縮,該功能在網絡上傳輸是非常合適的。SVG技術在WebGIS中用來承擔地理信息的傳輸,大大降低了網絡負載。GML擁有巨大的地理空間信息的描述功能。使用GML在服務端中來完成地理信息的透明共享功能,在WebGIS在技術上可以同時采用SVG作為地理信息可視化的手段以及地理信息網絡傳輸的載體應用其中。
3 基于SVG與GML的WEBGIS模型
引進GML、SVG等技術,在Web GIS 中采用GML作為服務端地理信息交換和數據共享,GIS 應用服務器以GML格式數據作為對GIS服務器請求的響應,并在服務端將GML轉換為 SVG,然后以SVG圖形格式通過網絡傳輸至用戶端,實現地理信息空間數據的可視化。建立基于SVG與GML的WebGIS模型,該模型由客戶層、Web 服務層、GIS功能層和數據層組成。如圖1所示。
(1)客戶層主要是負責地圖的可視化。通過 DOM+Java Script形式進行開發可以降低網絡傳輸的負載,把圖形瀏覽、圖層控制及縮放及等操作功能放在客戶層,不需要重新去請求數據的GIS功能。在SVG文檔中,可以直接通過腳本語言操作SVG文檔的DOM樹來實現地圖的可視化,而專題制圖、圖層編輯及查詢等操作則需要和服務器的交互來實現。
(2)Web服務層的作用是數據發布。WFS(Web Feature Services,網絡要素服務)是負責將GML文檔轉化為SVG格式的組件,而Web 服務層則主要是根據Web 服務WMS(Web Map Services,網絡地圖服務)定義接口的組件。轉換組件用于把GML文檔數據操作組件經過處理后得到的GML文檔,轉換為SVG文檔的格式,然后再將其傳給客戶層。
(3)GIS功能層主要內容是GML文檔數據操作組件。當Web服務層發送請求時,該GIS功能層組件就向數據層請求數據,并且把得到的GML文檔存儲。在請求數據時也會對已存儲的GML文檔數據進行搜索,如果請求的數據已存在,則返回。
(4)數據層的作用是提供包含GML格式數據及地理數據庫的GIS數據。當數據層收到數據請求時,數據庫中的數據將根據GML轉換組件轉換為GML文檔,再從數據層中返回。如果GML文檔有變化時,數據庫也會利用轉換組件對相應的數據進行修改。
4 基于SVG/GML的WEBGIS地圖展示系統的實現
根據以上設計的可視化模型結構建立基于SVG/GML的WebGIS地圖展示系統,以三亞市旅游地理信息系統TGIS為例,主要實現地圖地圖在線編輯、圖層管理功能;地圖操作控制功能,包括地圖放大和縮小、鷹眼窗口、圖層控制、地理屬性顯示等;公交路線查詢顯示功能。所獲取的地圖數據是shape文件格式存放的地理數據,要使客戶端用戶觀察到地圖,則需要將shape文件格式的地圖數據轉換成SVG格式存放在服務器上。當文件格式轉換成SVG文檔時,在客戶端只要安裝了瀏覽器插件后,即可實現對地圖的瀏覽。經過測試,客戶端交互操作便捷,整個系統運行良好,性能較穩定。
4.1 地圖在線編輯、圖層管理功能
隨著WebGIS應用的深入,更多的用戶提出了在線編輯和修改空間數據的需求,因此TGIS通過使用SupermapIS.NET 提供的 TcpMap 技術以及MapControl 技術實現了地圖對象的在線編輯功能,允許多個管理者(Manager)同時在線編輯空間數據,實現遠程數據的采集和維護。
4.2 地圖操作及控制功能
地圖操作控制功能用于用戶瀏覽,主要功能有地圖的縮放、漫游、區域選擇、鷹眼、圖層控制等基本的地圖操作。這樣用戶可以在地圖中對其所感興趣的地理信息進行快速、方便的選取和控制。可使用SuperMap IS中AjaxControls的MapControl、PanToolControl、ViewEntireToolControl、QuickZoomOutToolControl、QuickZoomInToolControl等地圖漫游控件、全圖顯示控件、地圖縮放控件實現對地圖的操作。
4.3 公交路線查詢、顯示功能
公交路線查詢顯示功能采用的應用模型是SuperMap基于全組件式的GIS 技術,這個公交網絡模型的實現主體是公交網絡組件(SMISBusNetwork.dll)。技術流程為數據采集、數據預處理、建模入庫、動態查詢/分析和發布。
公交網絡模型根據所查詢的內容分類定義為三個數據集:公交站點名稱數據集、線路數據集、線路與站點關系數據集。包含的字段主要有:SmID-SuperMap 保留字段,站點唯一標示;SmUserID-該站點所屬的信息點編號,屬公交站點名稱數據集,該字段用于公交換乘線路以及查詢經過該站點的線路;Direction-行車方向,即如果線路來回相同,則該字段為空;Priority-表示該條線路的優先級,默認設置為0,以數值的大小來定義優先級的高低等。如圖2所示。
查詢的核心代碼:
function GetBusSolutionByNames(busSolutionParames) {
var startStop=document.getElementById("startStop").value;
var endStop=document.getElementById("endStop").value;
var name=new Array();
name.push(startStop, endStop);
if (!startStop || typeof (startStop) != "string") {
alert(resource_inputStartStop);
return;
}
if (!endStop || typeof (endStop) != "string") {
alert(resource_inputEndStop);
return;
}
var spatialAnalystManager = MapControl1.GetSpatialAnalystManager();
spatialAnalystManager.GetBusSolutionByNames(name,busSolutionParam, OnGetBusSolutionComplete, OnActionError, "GetBusSolutionByNames");
}
5 結語
WebGIS是利用Web技術來發布空間數據,給用戶提供空間數據瀏覽、查詢以及分析等功能。但不同的空間數據格式具有不同的空間數據模型,因此WebGIS用戶不能同時查看分布在其他空間數據庫中的數據,無法實現異構、多源空間數據的共享、交換和互操作。WebGIS中服務器端和客戶端的交互由于受網絡限制,一直以來海量空間數據的傳輸、圖形圖像的表達都是WebGIS的技術瓶頸。通過把SVG 技術、GML 技術引入到 WebGIS中,以解決WebGIS中空間數據可視化、互操作困難等矢量傳輸的問題。通過建立基于SVG的WebGIS模型來實現空間數據可視化,便于信息查詢、搜索和資源共享,減少了服務器和客戶之間的頻繁交互,從而提高WebGIS服務的互操作性。
參考文獻
[1]孫鴿,郭朝珍.基于SVG的WebGIS空間分析系統的研究與實現[J].小型微型計算機系統,2012.
[2]張丹華.基于GML和SVG的空間數據可視化接口設計[J].陜西理工學院學報:自然科學版,2011.
[3]解永青.基于SVG的矢量WebGIS性能優化方法研究[J].安徽農業大學,2012.
[4]李心穎.基于ASP和WebGIS的旅游地理信息系統的設計與實現[J].計算機與現代化,2012.
[5]劉麗.基于SVG的WebGIS空間數據可視化研究[D].河北工程大學,2009.
[6]呂鳳濤.SVG與GML技術在地圖服務系統中的應用[J].測繪與空間地理信息,2011.11.