《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > SVG、GML和WFS技術及其應用研究
SVG、GML和WFS技術及其應用研究
來源:微型機與應用2010年第24期
楊瑞娟,葉建栲
(浙江師范大學 數(shù)理與信息工程學院, 浙江 金華321004)
摘要: 地理標志語言GML和可縮放矢量圖形SVG是兩種基于XML的開放性、應用性標記語言;而網絡要素服務WFS是空間數(shù)據(jù)互操作的一個重要組成部分,能夠為不同的GIS數(shù)據(jù)格式提供要素級的交互。介紹了這三大技術的特點,針對WebGIS技術的發(fā)展受到數(shù)據(jù)格式、矢量圖形顯示等因素的限制,提出了采用GML、SVG和WFS的方式動態(tài)實現(xiàn)異構數(shù)據(jù)的交互性和提高客戶端顯示地圖圖形的質量。
關鍵詞: GML SVG WFS WebGIS
Abstract:
Key words :

摘  要: 地理標志語言GML和可縮放矢量圖形SVG是兩種基于XML的開放性、應用性標記語言;而網絡要素服務WFS是空間數(shù)據(jù)互操作的一個重要組成部分,能夠為不同的GIS數(shù)據(jù)格式提供要素級的交互。介紹了這三大技術的特點,針對WebGIS技術的發(fā)展受到數(shù)據(jù)格式、矢量圖形顯示等因素的限制,提出了采用GML、SVG和WFS的方式動態(tài)實現(xiàn)異構數(shù)據(jù)的交互性和提高客戶端顯示地圖圖形的質量。
關鍵詞: GML; SVG; WFS; WEBGIS

    近年來,W3C組織前后推出了GML和SVG兩種基于XML的開放性、應用性標記語言。SVG與GML的結合解決了大數(shù)據(jù)文件讀取緩存的問題,實現(xiàn)從GML到SVG的可視化轉換,為網絡化空間信息系統(tǒng)的空間圖形數(shù)據(jù)存儲、傳輸和顯示提出了解決方法。WFS是空間數(shù)據(jù)互操作的一個重要組成部分,能為不同GIS數(shù)據(jù)格式提供要素級的交互?;贕ML的WFS能夠為Web環(huán)境下的空間數(shù)據(jù)互操作技術和空間信息處理互操作技術提供簡單而又有效的基本數(shù)據(jù)訪問、要素編輯、要素的組合查詢。通過研究開放式GIS聯(lián)盟OGC(Open GIS Consortium Inc.)的標準規(guī)范,使用XML傳輸和存儲地理信息,提出了基于GML、SVG、WFS的體系結構。
  WebGIS是應用于網絡平臺上的地理信息系統(tǒng),目前WebGIS的發(fā)展受到數(shù)據(jù)格式、網絡帶寬、矢量圖形顯示等因素的影響。本文提出一種基于地理標志語言GML(Geography Markup Language)實現(xiàn)互操作WebGIS的新機制,該機制以GML實現(xiàn)多源數(shù)據(jù)存儲與傳輸為基礎,利用網絡要素服務WFS(Web Feature Services)實現(xiàn)地理數(shù)據(jù)要素層存取、檢索與更新,在客戶端以可縮放矢量圖形SVG(Scalable Vector Graphics)方式輸出高質量矢量圖形。與傳統(tǒng)的WMS實現(xiàn)Web服務相比,該機制能實時動態(tài)地實現(xiàn)異構、跨平臺地理數(shù)據(jù)要素層互操作。
1 SVG的特點
    可縮放矢量圖形(SVG)是一種基于XML的、開放標準的、可擴展的語言,用來描述2D的矢量圖形和矢量/柵格混和,能夠滿足Web開發(fā)者對動態(tài)、可縮放與平臺無關的Web內容表現(xiàn)和交互手段日益增長的需求[1]。W3C中的SVG工作組由20多個成員組成,其中包括Sun、IBM、Adobe、HP、Microsoft、AOL/Netscape等業(yè)界知名的大公司。 
    與HTML、XML一樣,SVG也是由元素和屬性等標記標注的文本組成的,可以很容易地被一次查詢、修改。SVG基于純文本的特性,使它具備了像文字信息一樣的可檢索性,從而實現(xiàn)了人們對于Web的圖形檢索;SVG的易用性主要在于它的描述圖形形狀、圖像和文本的詞匯表。SVG可以支持16位色,使地圖顏色豐富多彩;用戶可以任意倍數(shù)地放大地圖圖像,而不用擔心地圖細節(jié),并且易于下載;SVG是在瀏覽器中顯示GIS信息的理想載體,所有典型的GIS元素都可以被顯示和操作,且所有數(shù)據(jù)都是以壓縮的矢量圖形進行傳輸,易于實現(xiàn)與用戶交互,編寫鼠標事件就可以實現(xiàn)高亮度顯示、地圖提示、特殊效果等。另外,SVG添加柵格圖形非常方便,因此易于發(fā)布遙感圖像。其實SVG是XML的一種特殊形式,很多用于處理XML的工具都可以用來處理SVG圖形,所以讀取、編輯、發(fā)布SVG非常方便。因此SVG潛在的應用前景十分廣闊。
 但是SVG主要是用來瀏覽矢量數(shù)據(jù),對于一些高級GIS信息,SVG有其應用的局限性,如SVG不支持拓撲結構、地理坐標系統(tǒng)和3D數(shù)據(jù)。而且,地理對象屬性數(shù)據(jù)并不直接存儲,而是分解為color、linestyle等符號。因此,OpenGIS組織提出了一種基于XML標準的、專門為地理空間數(shù)據(jù)設計的規(guī)范GML。
2  GML的特點
   地理標記語言GML(Geography Markup Language)是由Open GIS聯(lián)盟制定的基于XML的對地理信息(包括地理特征的幾何和屬性)傳輸和存儲的編碼規(guī)范。GML是一個簡單的基于文本的地理特征編碼標準,具有簡單、直觀、容易理解、編輯、檢查和轉換等特點。與XML一樣,GML在地理信息世界中將內容及其表現(xiàn)形式分離開,主要關注地理數(shù)據(jù)內容的表現(xiàn)。GML是基于OGC創(chuàng)建的公共地理模型(OGC抽象規(guī)范)基礎上的,即空間實體特征及屬性封裝,用地理特征描述世界[2]。地理特征包括一系列的屬性和相應的幾何信息,屬性是由名稱、類型和屬性值組成,幾何信息由基本的幾何建模體(如點、線、面、曲線、多邊形等)組成。GML可以對很復雜的地理實體進行編碼??臻g參考系統(tǒng)是地理信息系統(tǒng)數(shù)據(jù)處理的基礎。GML可以封裝空間地理參考系統(tǒng)及主要的投影關系等,對空間參考系統(tǒng)進行編碼,這點確保了分布式處理的擴展性和靈活性。GML對地理數(shù)據(jù)的分發(fā)非常方便,可以實現(xiàn)地理數(shù)據(jù)的分布式存儲;另外,GML可以用公共工具瀏覽和編輯,還可以實現(xiàn)與非空間數(shù)據(jù)集成。由于以上優(yōu)點,GML已經被大多數(shù)的GIS開發(fā)商所接受并得到進一步的開發(fā)。GML數(shù)據(jù)在網絡瀏覽器上的顯示如圖1所示。

3 WFS的特點
 OGC制定的互聯(lián)網相關規(guī)范,是一套運用XML通過通信協(xié)議與服務器溝通的規(guī)范,其中包括網絡要素服務WFS(Web Feature Services),WFS是架構一個基于Web的開放式地理信息系統(tǒng)的重要規(guī)范之一。WFS是作為一種數(shù)據(jù)訪問機制提出的,用于異構數(shù)據(jù)基于GML要素層的獲取,并且實現(xiàn)數(shù)據(jù)的互操作性。WFS可使數(shù)據(jù)客戶在分布式環(huán)境下通過Web Service來獲取不同數(shù)據(jù)源的數(shù)據(jù),即讓地理數(shù)據(jù)以GML格式傳輸給用戶。
   WFS返回的是要素級的GML編碼,并提供對要素的增加、修改、刪除等事務操作[3]。WFS允許客戶端從多個WFS中取得使用GML編碼的地理空間數(shù)據(jù),它定義了5個操作:GetCapabilites返回Web要素服務性能描述文檔(用XML描述)、DescribeFeatureType返回描述可以提供服務的任何要素結構的XML文檔、GetFeature為一個獲取要素實例的請求提供服務、Transaction為事務請求提供服務、LockFeature處理在一個事務期間對一個或多個要素類型實例上鎖的請求。
    WFS允許一個客戶端以GML編碼格式從多重的網絡要素服務中獲取空間要素。WFS以XML編碼,再用GML表示地理要素,GML描述的地理要素的數(shù)據(jù)源數(shù)據(jù)庫可以對客戶端應用不透明。這種方式要求任何空間數(shù)據(jù)的訪問必須通過WFS的接口。
 WFS提供四種對GML要素的數(shù)據(jù)操作接口:創(chuàng)建實例、查詢獲取實例、刪除實例、更新實例。服務器端首先提供其能夠實現(xiàn)的服務描述,客戶端的應用程序以XML方式發(fā)出請求,該請求包括查詢和變換數(shù)據(jù)操作,可以用于一個或多個要素,在一個或多個數(shù)據(jù)庫上進行(通過GML的XLink實現(xiàn))。WFS服務器讀取和傳遞這些客戶端的請求,以GML格式返回結果。圖2表示客戶端應用與WFS服務接口的交互過程。

4 WebGIS體系結構
 目前,WebGIS最常用的體系結構是B/S和C/S的混合模式結構,即:服務器并不處理用戶的所有請求而是處理一部分請求,通過服務器向客戶端發(fā)送一段運行在本地機上的客戶程序,這個程序可以與用戶交互,處理用戶的一些簡單請求。當客戶發(fā)送一些復雜、高級的操作要求而客戶端不能處理時,請求服務器端處理,這樣才能達到負載的平衡。為了更好地解決地理空間數(shù)據(jù)的共享和網絡帶寬的問題,GML、WFS和SVG的組合使用標準的數(shù)據(jù)模型描述地理要素的一致性和語法,可以使來自不同數(shù)據(jù)源的數(shù)據(jù)不經過異構轉換即可實現(xiàn)共享。
4.1 主要技術特點
    在WebGIS中先將空間數(shù)據(jù)轉換成GML格式存儲,再通過XSLT將GML轉換為SVG。目前IE和Nescape等主要瀏覽器還不支持SVG的顯示,所以要先在瀏覽器上安裝SVG圖像插件(如Adobe的SVGViewer),從而實現(xiàn)失量圖形的顯示。
    空間數(shù)據(jù)到GML的轉換非常容易實現(xiàn),因為各GIS軟件都有自己的數(shù)據(jù)交換格式或部分公開數(shù)據(jù)格式,只要這些空間數(shù)據(jù)文件以文本形式打開,按照一定的格式將元素讀取出來轉換成對應的格式即可。
    GML到SVG的轉換則是利用XSLT,因為SVG和GML都是基于XML的,并且XSLT(Extensible Stylesheet Language Transformations)是把一種XML格式的數(shù)據(jù)轉化為另外一種XML格式的數(shù)據(jù)語言。首先源XML數(shù)據(jù)的元素被分析、過濾、記錄,而新的元素根據(jù)轉化要求被創(chuàng)建,形成一個新的XML文件,如圖3。從GML到SVG的轉換需要進行坐標轉換和文檔映射兩部分[4]。SVG提供了平移、旋轉、伸縮、歪斜、矩陣變換等幾種坐標轉換方法,因此用GML表示的空間地理數(shù)據(jù)可以方便轉化為SVG格式。

    采用XSLT技術將GML文件轉換為SVG文件的優(yōu)點是修改圖形時不需要修改SVG源文件,只需要修改GML文件,并且可以結合JSP技術動態(tài)生成SVG文件[5]。在系統(tǒng)中,這部分任務主要由Web應用服務器執(zhí)行。具體實現(xiàn)方法:采用Xalan-Java2 XSLT處理器,它完全支持W3C的XSLT1.0版本建議標準和Xpath1.0標準,將GML文件根據(jù)XSLT樣式表文件轉換為SVG格式的文檔。
4.2 框架體系設計
    它采用GML進行數(shù)據(jù)編碼與定義地理元素的聯(lián)系,GML在元素層定義元數(shù)據(jù),生成GML文件,允許在元素層方便地查詢。此外,在GML中使用XLink來聯(lián)接不同數(shù)據(jù)源的數(shù)據(jù),這樣數(shù)據(jù)在一個數(shù)據(jù)源更新時,可以實時地在關聯(lián)的數(shù)據(jù)表示和應用中查看和獲取。對于遠程數(shù)據(jù)的訪問和交換,OGC的WFS用于通過網絡訪問和處理要素層的數(shù)據(jù)。圖4為此框架體系結構的總體設計。

    服務器端GML描述遵循標準的空間數(shù)據(jù)模型,異構數(shù)據(jù)用GML3.x表示。在一個網絡服務器上部署實現(xiàn)WFS,WFS是基于HTTP協(xié)議的GET/POS方法實現(xiàn)GetCapabilities、escribeFeatureType、GetFeature/GetFeatureWithLock、LockFeature以及事務操作等請求與響應的功能,能夠生成WFS規(guī)范化的XML文檔供客戶端程序調用;客戶端安裝SVG顯示插件,并在網絡服務器上開發(fā)GML解析模塊,對WFS接口生成的XML文檔中的GML進行分析,設計XSL、CSS文件,完成由GML生成SVG文檔功能。
    該體系結構的特點:GML、SVG是完全基于XML的,具有平臺無關性,并且是純文本的,編碼的可讀性強;異構數(shù)據(jù)可以以其原始格式存儲,通過使用WFS轉換成GML快速獲取,可以解決WebGIS中比較突出的異構數(shù)據(jù)共享問題;瀏覽器端的地圖發(fā)布采用SVG矢量圖形,在進行網絡傳輸時數(shù)據(jù)量比傳輸柵格圖片的數(shù)據(jù)量小,從而可以減輕網絡傳輸負擔,加快傳輸速度,使系統(tǒng)的執(zhí)行效率達到最優(yōu)化,且性能比較穩(wěn)定。
    GML、SVG和WFS是標準的技術,每一個都有獨特的作用,組合使用給WebGIS的發(fā)展提供了更大的潛力。GML作為標準空間數(shù)據(jù)格式正應用于越來越多的領域;SVG作為一種基于XML的圖形描述語言,可以在Web上形成高質量的圖形也會得到廣泛應用;WFS可以更好地實現(xiàn)異構數(shù)據(jù)的互操作。而GML+SVG+WFS框架可以克服傳統(tǒng)WebGIS的很多缺點,很好地解決了空間數(shù)據(jù)共享、網絡帶寬、提高顯示地圖的圖形質量等問題。但是在地圖信息量較大時,會造成客戶端SVG顯示速度下降,并且XML文件的傳輸會占用較大的帶寬,因此XML傳輸將成為亟待解決的問題。
參考文獻
[1] 彭海龍,鄒彬,邵巖,等.SVG在海區(qū)信息WebGIS中的應用研究[J].海洋預報,2005,22(l):5-10.
[2] 龍明,王曉明,馮猛,等.基于XML的WebGIS體系結構.測繪學院學報,2004,21(2):121-123.
[3] Web feature service implementation specification. Open. GIS Consortium Inc. [EB/OL]. http://www.openg-is.org/(19-September-2002).
[4] 劉旭軍,關佶紅.WebGIS應用中的GML文檔到SVG的轉換[J].計算機應用,2004,24(2):157-160.
[5] 簡友光,李巖.基于SVG+GML的空間信息發(fā)布的方法研究[J].計算機與數(shù)字工程,2006,34(1):72-76.

此內容為AET網站原創(chuàng),未經授權禁止轉載。