李心穎++李峰++吳洪麗
摘要:針對WebGIS中空間數(shù)據(jù)顯示和矢量傳輸存在的問題,引進(jìn)GML、SVG等技術(shù),建立基于SVG/GML的WebGIS可視化模型。該模型中GML作為服務(wù)端數(shù)據(jù)交換格式實現(xiàn)地理信息交換與數(shù)據(jù)共享,以SVG 做為矢量地圖發(fā)布格式來實現(xiàn)空間信息的可視化,將大大提升WebGIS的可視化性能。并以此模型給出了WebGIS系統(tǒng)地圖展示系統(tǒng)的應(yīng)用實例,分析了系統(tǒng)功能的實現(xiàn)方法。
關(guān)鍵詞:SVG GML 可視化 WebGIS
中圖分類號: P208,TP75 文獻(xiàn)標(biāo)識碼: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 空間數(shù)據(jù)可視化
基于WebGIS平臺的空間數(shù)據(jù),主要任務(wù)是把存放在數(shù)據(jù)庫中的空間信息和圖形文件的空間數(shù)據(jù)發(fā)布出去。要實現(xiàn)GIS系統(tǒng)的數(shù)據(jù)互操作和共享功能,前提必須是進(jìn)行空間數(shù)據(jù)發(fā)布時依照統(tǒng)一的標(biāo)準(zhǔn),并且能夠解析出執(zhí)行標(biāo)準(zhǔn)格式的空間數(shù)據(jù)。
1.1 空間數(shù)據(jù)可視化形式
空間信息的可視化是指利用圖像處理技術(shù)、地圖制圖學(xué)及計算機(jī)圖形學(xué)等,使用圖形圖像及圖形符號,結(jié)合文字、圖表和視頻等可視化的形式,充分顯示地理學(xué)信息輸入、處理、查詢、分析及預(yù)測中的數(shù)據(jù)和結(jié)果。
空間信息可視化中最重要的形式是地圖,電子地圖比紙質(zhì)地圖具有更多的優(yōu)點。優(yōu)點如下:第一,SVG(可伸縮矢量圖形規(guī)范標(biāo)準(zhǔn))在完成空間數(shù)據(jù)組織結(jié)構(gòu)的同時,通過XSL或CSS添加各種樣式,即能夠?qū)Ω鱾€圖形元素進(jìn)行填充又能使用濾鏡效果功能等;第二,SVG的顏色管理支持RGB規(guī)范并且能夠呈現(xiàn)出豐富的色彩;第三,SVG 支持蒙版及剪切路徑技術(shù),能夠顯示出路徑定義區(qū)域之內(nèi)的圖形,從而來屏蔽區(qū)域外的圖形,并可以運用在鷹眼圖的操作功能上。
1.2 基于GIS的可視化
建立在GIS的可視化,其主要用處是既能用來空間對象的空間展現(xiàn)規(guī)律,又能對下一步需要分析的數(shù)據(jù)進(jìn)行直接查詢。GIS中涵蓋大量的空間地理信息,提供豐富的圖形圖像信息的同時還與相關(guān)的數(shù)據(jù)和資料建立相應(yīng)的聯(lián)系,對象屬性位置變化規(guī)律可以運用可視化提供的結(jié)果來進(jìn)行分析。
2 SVG及GML在WebGIS中的應(yīng)用
SVG——可任意放縮矢量圖像格式(Scalable Vector Graphics)的簡稱。它基于XML(可擴(kuò)展標(biāo)識語言),是一個全新的標(biāo)準(zhǔn)開放的矢量圖像和動畫格式。SVG中體現(xiàn)的矢量圖形、色彩填充、濾鏡效果、動態(tài)交互及音效等效果是通過運用簡單等文本語句完成的,SVG已成將來的Web圖形圖像的一種標(biāo)準(zhǔn)。GML(Geography Markup Language,地理標(biāo)識語言)是XML應(yīng)用在地理空間信息領(lǐng)域的中的語言。運用GML不僅可以發(fā)布、存儲各種特征的地理信息,而且還能夠控制地理信息在Web瀏覽器中的顯示。GML是表示實體的空間信息和屬性的編碼標(biāo)準(zhǔn),但它并沒有支持顯示圖形的功能??臻g數(shù)據(jù)可視化可通過采用以GML描述GIS數(shù)據(jù),SVG進(jìn)行客戶端顯示的方式來實現(xiàn)。
SVG以文本的形式來描述矢量圖形,尺寸小,而且能夠進(jìn)行高效率的壓縮,該功能在網(wǎng)絡(luò)上傳輸是非常合適的。SVG技術(shù)在WebGIS中用來承擔(dān)地理信息的傳輸,大大降低了網(wǎng)絡(luò)負(fù)載。GML擁有巨大的地理空間信息的描述功能。使用GML在服務(wù)端中來完成地理信息的透明共享功能,在WebGIS在技術(shù)上可以同時采用SVG作為地理信息可視化的手段以及地理信息網(wǎng)絡(luò)傳輸?shù)妮d體應(yīng)用其中。
3 基于SVG與GML的WEBGIS模型
引進(jìn)GML、SVG等技術(shù),在Web GIS 中采用GML作為服務(wù)端地理信息交換和數(shù)據(jù)共享,GIS 應(yīng)用服務(wù)器以GML格式數(shù)據(jù)作為對GIS服務(wù)器請求的響應(yīng),并在服務(wù)端將GML轉(zhuǎn)換為 SVG,然后以SVG圖形格式通過網(wǎng)絡(luò)傳輸至用戶端,實現(xiàn)地理信息空間數(shù)據(jù)的可視化。建立基于SVG與GML的WebGIS模型,該模型由客戶層、Web 服務(wù)層、GIS功能層和數(shù)據(jù)層組成。如圖1所示。
(1)客戶層主要是負(fù)責(zé)地圖的可視化。通過 DOM+Java Script形式進(jìn)行開發(fā)可以降低網(wǎng)絡(luò)傳輸?shù)呢?fù)載,把圖形瀏覽、圖層控制及縮放及等操作功能放在客戶層,不需要重新去請求數(shù)據(jù)的GIS功能。在SVG文檔中,可以直接通過腳本語言操作SVG文檔的DOM樹來實現(xiàn)地圖的可視化,而專題制圖、圖層編輯及查詢等操作則需要和服務(wù)器的交互來實現(xiàn)。
(2)Web服務(wù)層的作用是數(shù)據(jù)發(fā)布。WFS(Web Feature Services,網(wǎng)絡(luò)要素服務(wù))是負(fù)責(zé)將GML文檔轉(zhuǎn)化為SVG格式的組件,而Web 服務(wù)層則主要是根據(jù)Web 服務(wù)WMS(Web Map Services,網(wǎng)絡(luò)地圖服務(wù))定義接口的組件。轉(zhuǎn)換組件用于把GML文檔數(shù)據(jù)操作組件經(jīng)過處理后得到的GML文檔,轉(zhuǎn)換為SVG文檔的格式,然后再將其傳給客戶層。
(3)GIS功能層主要內(nèi)容是GML文檔數(shù)據(jù)操作組件。當(dāng)Web服務(wù)層發(fā)送請求時,該GIS功能層組件就向數(shù)據(jù)層請求數(shù)據(jù),并且把得到的GML文檔存儲。在請求數(shù)據(jù)時也會對已存儲的GML文檔數(shù)據(jù)進(jìn)行搜索,如果請求的數(shù)據(jù)已存在,則返回。
(4)數(shù)據(jù)層的作用是提供包含GML格式數(shù)據(jù)及地理數(shù)據(jù)庫的GIS數(shù)據(jù)。當(dāng)數(shù)據(jù)層收到數(shù)據(jù)請求時,數(shù)據(jù)庫中的數(shù)據(jù)將根據(jù)GML轉(zhuǎn)換組件轉(zhuǎn)換為GML文檔,再從數(shù)據(jù)層中返回。如果GML文檔有變化時,數(shù)據(jù)庫也會利用轉(zhuǎn)換組件對相應(yīng)的數(shù)據(jù)進(jìn)行修改。
4 基于SVG/GML的WEBGIS地圖展示系統(tǒng)的實現(xiàn)
根據(jù)以上設(shè)計的可視化模型結(jié)構(gòu)建立基于SVG/GML的WebGIS地圖展示系統(tǒng),以三亞市旅游地理信息系統(tǒng)TGIS為例,主要實現(xiàn)地圖地圖在線編輯、圖層管理功能;地圖操作控制功能,包括地圖放大和縮小、鷹眼窗口、圖層控制、地理屬性顯示等;公交路線查詢顯示功能。所獲取的地圖數(shù)據(jù)是shape文件格式存放的地理數(shù)據(jù),要使客戶端用戶觀察到地圖,則需要將shape文件格式的地圖數(shù)據(jù)轉(zhuǎn)換成SVG格式存放在服務(wù)器上。當(dāng)文件格式轉(zhuǎn)換成SVG文檔時,在客戶端只要安裝了瀏覽器插件后,即可實現(xiàn)對地圖的瀏覽。經(jīng)過測試,客戶端交互操作便捷,整個系統(tǒng)運行良好,性能較穩(wěn)定。
4.1 地圖在線編輯、圖層管理功能
隨著WebGIS應(yīng)用的深入,更多的用戶提出了在線編輯和修改空間數(shù)據(jù)的需求,因此TGIS通過使用SupermapIS.NET 提供的 TcpMap 技術(shù)以及MapControl 技術(shù)實現(xiàn)了地圖對象的在線編輯功能,允許多個管理者(Manager)同時在線編輯空間數(shù)據(jù),實現(xiàn)遠(yuǎn)程數(shù)據(jù)的采集和維護(hù)。
4.2 地圖操作及控制功能
地圖操作控制功能用于用戶瀏覽,主要功能有地圖的縮放、漫游、區(qū)域選擇、鷹眼、圖層控制等基本的地圖操作。這樣用戶可以在地圖中對其所感興趣的地理信息進(jìn)行快速、方便的選取和控制。可使用SuperMap IS中AjaxControls的MapControl、PanToolControl、ViewEntireToolControl、QuickZoomOutToolControl、QuickZoomInToolControl等地圖漫游控件、全圖顯示控件、地圖縮放控件實現(xiàn)對地圖的操作。
4.3 公交路線查詢、顯示功能
公交路線查詢顯示功能采用的應(yīng)用模型是SuperMap基于全組件式的GIS 技術(shù),這個公交網(wǎng)絡(luò)模型的實現(xiàn)主體是公交網(wǎng)絡(luò)組件(SMISBusNetwork.dll)。技術(shù)流程為數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、建模入庫、動態(tài)查詢/分析和發(fā)布。
公交網(wǎng)絡(luò)模型根據(jù)所查詢的內(nèi)容分類定義為三個數(shù)據(jù)集:公交站點名稱數(shù)據(jù)集、線路數(shù)據(jù)集、線路與站點關(guān)系數(shù)據(jù)集。包含的字段主要有:SmID-SuperMap 保留字段,站點唯一標(biāo)示;SmUserID-該站點所屬的信息點編號,屬公交站點名稱數(shù)據(jù)集,該字段用于公交換乘線路以及查詢經(jīng)過該站點的線路;Direction-行車方向,即如果線路來回相同,則該字段為空;Priority-表示該條線路的優(yōu)先級,默認(rèn)設(shè)置為0,以數(shù)值的大小來定義優(yōu)先級的高低等。如圖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 結(jié)語
WebGIS是利用Web技術(shù)來發(fā)布空間數(shù)據(jù),給用戶提供空間數(shù)據(jù)瀏覽、查詢以及分析等功能。但不同的空間數(shù)據(jù)格式具有不同的空間數(shù)據(jù)模型,因此WebGIS用戶不能同時查看分布在其他空間數(shù)據(jù)庫中的數(shù)據(jù),無法實現(xiàn)異構(gòu)、多源空間數(shù)據(jù)的共享、交換和互操作。WebGIS中服務(wù)器端和客戶端的交互由于受網(wǎng)絡(luò)限制,一直以來海量空間數(shù)據(jù)的傳輸、圖形圖像的表達(dá)都是WebGIS的技術(shù)瓶頸。通過把SVG 技術(shù)、GML 技術(shù)引入到 WebGIS中,以解決WebGIS中空間數(shù)據(jù)可視化、互操作困難等矢量傳輸?shù)膯栴}。通過建立基于SVG的WebGIS模型來實現(xiàn)空間數(shù)據(jù)可視化,便于信息查詢、搜索和資源共享,減少了服務(wù)器和客戶之間的頻繁交互,從而提高WebGIS服務(wù)的互操作性。
參考文獻(xiàn)
[1]孫鴿,郭朝珍.基于SVG的WebGIS空間分析系統(tǒng)的研究與實現(xiàn)[J].小型微型計算機(jī)系統(tǒng),2012.
[2]張丹華.基于GML和SVG的空間數(shù)據(jù)可視化接口設(shè)計[J].陜西理工學(xué)院學(xué)報:自然科學(xué)版,2011.
[3]解永青.基于SVG的矢量WebGIS性能優(yōu)化方法研究[J].安徽農(nóng)業(yè)大學(xué),2012.
[4]李心穎.基于ASP和WebGIS的旅游地理信息系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)與現(xiàn)代化,2012.
[5]劉麗.基于SVG的WebGIS空間數(shù)據(jù)可視化研究[D].河北工程大學(xué),2009.
[6]呂鳳濤.SVG與GML技術(shù)在地圖服務(wù)系統(tǒng)中的應(yīng)用[J].測繪與空間地理信息,2011.11.