鄭智江 王杰民



摘 要:VML是一種可用于構建WebGIS服務的Web矢量圖形技術。它具有表述簡單、交互性強、易于維護等特點。基于VML開發的陸態網絡資料信息管理系統是一個將空間數據以Web矢量圖形形式呈現,實時響應用戶操作的簡單WebGIS應用。該系統通過VML構建的簡單WebGIS應用模塊,將底層空間數據轉換成Web矢量圖,并結合用戶響應,實現交互式繪圖。上述開發流程是一種頗為有效的WebGIS構建方式,為實際工作帶來較大的便利。
關鍵詞:VML;WebGIS;陸態網絡;交互式響應
中圖分類號:TP393 文獻標識碼:A
Abstract:VML is a kind of Web vector graphics technology which can be used to build WebGIS services.Its characteristics includes:ease of expression,ease of interaction and ease of maintenance,etc.The data management system of CMONOC based on VML is a simple WebGIS application,which presents the spatial data in the form of Web vector graphics and provides real-time response to the user's operation.The system constructs simple WebGIS application modules via VML,converts the underlying spatial data into Web vector graphics and combines the user's response to implement interactive drawing.As an effective construction method of WebGIS systems,the development process above can bring great convenience in practice.
Keywords:VML;WebGIS;CMONOC;interactive response
1 引言(Introduction)
WebGIS是一個實現GIS空間信息網絡化并為用戶提供互聯網地理信息服務的軟件系統。它是GIS技術在信息技術的迅猛發展環境下的產物,它將以前基于C/S模式下的GIS服務插上了互聯網的翅膀,成為GIS發展的主流方向之一。部分學者基于WebGIS技術展開了深入的研究,取得了一些實用性成果[1-3]。與傳統的GIS技術相比:它具有跨平臺、交互性強、升級便捷、成本低等特點,可以實現多用戶并發訪問[4]。鑒于上述特點,WebGIS技術擁有廣闊的應用前景,能帶來很好的社會和經濟效益,受到了廣泛關注并逐級成為國內外GIS軟件廠商和新型網絡服務公司的研究熱點。目前國內也有很多優秀的WebGIS服務產品,如百度地圖、搜狗地圖等。矢量格式地圖生成和交互式操作是WebGIS系統的主要功能之一,也是系統構建的關鍵要素。在上述背景下,1999年微軟公司發布了一種用于繪制矢量圖形的XML語言—VML(Vector Markup Language)。VML語言的出現給Web矢量地圖交互處理提供了一條新的途徑。它支持矢量圖形的顯示和特征,可以較好地解決WebGIS系統中存在的矢量地圖交互處理等一系列的問題,在構建WebGIS服務過程中得到較為廣泛應用。近年來,隨著VML與SVG、GML、柵格地圖等技術[5,6]和網絡腳本語言(ASP、JSP)的綜合運用[7,8],構建出了在線學習系統、氣象服務系統等多樣的簡單WebGIS實用型服務系統[9,10]。
2 VML語言(VML language)
2.1 VML簡介
VML語言是微軟公司1999年9月發布的一種基于XML的標記語言。它以簡潔的代碼,在網頁中繪制矢量圖形(圓形、線段、矩形、曲線、弧型、多邊形等),并修飾這些圖形的(邊框、背景、陰影、箭頭、填充、3D、漸變)外觀效果。VML可以在網頁上建立的靈活、簡潔和高效的矢量圖形,結合腳本語言(ASP、JSP)就能設計出動態的統計圖形(圖1)。在動態交互過程中,服務器只須動態數據發送到客戶端即可完成動態繪制和顯示。這種交互方式不僅易于對圖形進行調整和控制,而且充分發掘了客戶端的資源,減輕了服務器端負擔。
此外,還存在另一種web矢量圖形技術,SVG(Scalable Vector Graphics)語言。SVG是在綜合了VML的優點后提出的,顯然比VML具有更多的優勢。但由于VML有IE的支持,可以看成是IE中的矢量畫筆,而SVG技術成圖在瀏覽器顯示時需要安裝插件,從這方面看,VML要優于SVG。
2.2 VML使用方法
使用“v”創建XML命名空間,定義為
指明XML名域“v”引用VML語言為
結合CSS樣式表,給HTML對象增加行為(方法、屬性、事件),在標記處增加了一個命名空間
VML支持DHTML大部分事件和屬性,如id、name、title、onmouseover等。VML寫法較靈活,屬性可以在標記里,也可以單獨寫入新標記,如
VML使用group和shape兩個元素定義全部結構;shape表示一個基本矢量圖形,group將這些圖形結合在一起,從而形成一個整體進行處理。VML包含兼容多種矢量圖形特征元素,如:Path、Group、Shape、Line、Curve、Polyline、Rect等等。VML通過使用簡單的標記文本表述復雜的圖像,降低了圖形空間占用,減輕了設備存儲負擔。通過在HTML中VML命名空間聲明并配套相應處理函數,就可以像HTML元素一樣使用。同時,VML兼容DHTML大部分屬性和事件,如id、title、name、onmouseover等等。
2.3 VML的特點
VML的特點包括:
(1)基于XML標準,架構清晰,表述簡單,易于擴展和維護。
(2)使用簡單的標記文本的XML語言來表示圖形,標記文本構成的圖像,有效的節省存儲空間。
(3)與HTML兼容,通過在HTML中聲明VML命名空間和處理函數,就可以和其他HTML元素一樣使用VML元素,在客戶端瀏覽器顯示圖像。
(4)支持的大部分的矢量圖形特征,它們基于基本的直線和曲線組合描述負責路徑,從而可以描述各種矢量圖形實體特征。
(5)利用腳本語言重新定義DHTML屬性和特征實現動畫和交互。
3 基于VML的簡單WebGIS實現(Construction of
Simple WebGIS System Based on VML)
本人負責開發一個用于陸態網絡資料信息管理的WebGIS平臺—“陸態網絡資料綜合信息管理系統”[6]。下面就這一平臺開發背景和概況做簡單介紹。
中國內地構造環境監測網絡(CMONOC)—陸態網絡,是以全球衛星定位系統為主,輔以各種精密觀測技術、空間技術,實時動態監測中國內地構造環境變化,探求上述變化對資源、災害和環境的影響的綜合觀測網絡。陸態網絡觀測產生海量數據,形成的資料涉及的種類繁多,無法快捷的進行查詢,這給其產生資料和數據的管理工作帶來很大困難?;谏鲜霰尘埃邪l出一個針對陸態網絡資料的一個簡單WebGIS應用系統。
該應用系統實現了陸態網絡資料信息的數據庫管理、檢索和打印等功能,結合地理圖形進行選擇和顯示,很好的滿足了形變研究和監測工作的需要。同時,多樣化的檢索方式,增強了系統的可用性和便利性。除了有快速搜索和高級搜索兩種基本檢索功能之外,更有在地理地圖上直接劃范圍選點的交互式圖形化檢索模式,從而形成了一個簡潔、高效的自用型地理信息系統。高級檢索頁面如圖2所示。
為了提高的用戶體驗,達到所見即所得的效果,平臺加入了矩形框交互式檢索功能(圖3)。即通過鼠標畫出一個矩形框,點擊搜索后,平臺會將矩形框區域內所有點信息迅速檢索出來。實現這一功能的過程為:①通過onMouseMove函數,將客戶區鼠標位置的坐標實時記錄下來,并在瀏覽器狀態欄實時顯示大地坐標(坐標轉換后的坐標);②當鼠標左鍵按下后,通過onMouseDown記錄當前位置,并啟動VML矩形畫筆(加入半透明效果),將當前客戶區坐標賦值給矩形框的top和left屬性;③當鼠標按住不放移動會觸發onMouseMove響應,實時獲取當前坐標,并不斷與原始坐標作對比計算。將VML矩形框的top、left、width、height四個屬性不斷賦予新的數值,并實時畫出矩形框;④當鼠標左鍵彈起,矩形最終定型并繪制完畢。將矩形框四個頂點坐標轉換為大地坐標并賦予SQL語句中進行數據庫select查詢,獲得空間點的信息通過VML繪制出來。
4 結論(Conclusion)
本文詳細描述了VML的特點和基本使用方法,并通過一個實例平臺介紹了基于VML技術的簡單WebGIS平臺實現。通過上述內容可以發現,雖然基于XML的可用于描述矢量圖形標記語言有很多種,如VML、GML、SVG等。但基于VML等網絡矢量圖形標記語言實現簡單、輕量化交互式GIS應用操作是構建WebGIS系統一種有效途徑,大大提高了實際開發工作效率,也使開發成本得以降低。
參考文獻(References)
[1] SHUNFU HU,JIANPENG ZHOU.DEVELOPING.A GIS-BASED INFORMATION MANAGEMENT SYSTEM FOR ON-SITE WASTEWATER TREATMENT FACILITIES[J]. International Journal of Software Engineering and Knowledge Engineering,2008,18(04):503-513.
[2] David Taniar,Maytham Safar et al.Spatial Network RNN Queries in GIS[J].The Computer Journal,2011,54(4):617-627.
[3] Mariam G.Salim.Selection of groundwater sites in Egypt,using geographic information systems,for desalination by solar energy in order to reduce greenhouse gases[J].Journal of Advanced Research,2012,3:11-19.
[4] 常齊,鐘勇.基于VML與SVG的矢量圖形構架[J].計算機應用,2009,29(z1):288-291.
[5] 付宗堂,陶象武.用VML技術構建WebGIS客戶端矢量圖形的方法研究[J].測繪科學,2007,32(6):146-147.
[6] 鄭智江,等.陸態網絡資料綜合信息管理系統的開發[J].大地測量與地球動力學,2012,32(B08):61-63.
[7] 陳欣.云計算及Android系統中的地震應急信息獲取探討[J].信息系統工程,2016(3):28.
[8] 宋磊,吳健平.基于VML和腳本技術的WebGIS研究與實現[J].計算機技術與發展,2008,18(10):190-193.
[9] 駱帝勇.基于VML的計算機圖形學在線學習系統[D].2008.
[10] 蔡錦輝,陸明典.用VML構建基于WebGIS的交通氣象服務系統[J].氣象研究與應用,2014,35(2):60-62.
作者簡介:
鄭智江(1984-),男,碩士生,工程師.研究領域:大地測量,地震信息技術.
王杰民(1987-),男,碩士生,助理工程師.研究領域:固體地球物理.