基于 Silverlight的 WebGIS客戶端技術(shù)與應(yīng)用試驗(yàn)

王天寶,王爾琪,盧浩,黃躍峰

(1. 中國科學(xué)院地理科學(xué)與資源研究所 , 北京  100101; 2. 中國科學(xué)院研究生院 , 北京  100049)

論文來源:地球信息科學(xué)學(xué)報(bào)

摘要:RIA (豐富型互聯(lián)網(wǎng)應(yīng)用程序 )技術(shù)越來越多的應(yīng)用于 W ebGIS, 滿足了人們對高交互性和豐富表現(xiàn)力的需求 , 現(xiàn)存的 WebGIS客戶端解決方案主要是 Ajax和 Flex, 其中 Ajax交互能力和表現(xiàn)力不夠強(qiáng)大 , 而對 Flex的研究多集中在體系結(jié)構(gòu)、功能模塊上。本文在對 Silverlight分析的基礎(chǔ)…

關(guān)鍵詞: Silverlight; RIA; WebGIS

1 引言

近年來 , 受傳統(tǒng)的網(wǎng)絡(luò)地理信息系統(tǒng) (WebGIS)的局限性愈發(fā)明顯 , 如地理空間信息表達(dá)不豐富 , 數(shù)據(jù)傳輸與更新模式單一 , 用戶交互過于簡單 , 開發(fā)維護(hù)比較復(fù)雜等。而豐富型互聯(lián)網(wǎng)應(yīng)用程序 (Rich Internet App lication, R IA) , 結(jié)合了桌面程序的反應(yīng)迅速、交互性強(qiáng)的特點(diǎn) , 以及 W eb應(yīng)用程序易于部署、方便傳播的特點(diǎn) , 并具備多媒體表達(dá)能力 , 可以將文字、圖片、音頻、視頻等進(jìn)行無縫集合 [ 1 ] 。因此 , 將 R IA 技術(shù)應(yīng)用于WebGIS, 很大程度上可解決傳統(tǒng) W ebGIS所遇到的上述問題。

當(dāng)前相關(guān)的研究大多集中在體系結(jié)構(gòu)的設(shè)計(jì) ,功能模塊的介紹 , 系統(tǒng)數(shù)據(jù)的處理等方面 [ 2 - 4 ] ,而對在 R IA技術(shù)下的地理空間信息表達(dá)研究不夠深入。特別是部署在互聯(lián)網(wǎng)上的 W ebGIS, 具有大數(shù)據(jù)量傳輸、復(fù)雜快速的用戶請求響應(yīng)等特點(diǎn) ,此外 , 包含音頻、視頻等要素的多媒體地圖也初見端倪。同時(shí) , 已有研究的試驗(yàn)案例大多依賴Adobe公司的 Flash /Flex技術(shù) [ 5 - 7 ] , Flex技術(shù)盡管在一定程度上可滿足現(xiàn)有需求 , 但其存在不支持多線程 , 學(xué)習(xí)曲線較高 , 對大數(shù)量傳輸?shù)戎С植蛔愕染窒蕖?/p>

本文利用 Silverlight作為 W ebGIS的技術(shù)支撐 ,通過試驗(yàn)驗(yàn)證了在 W ebGIS中利用 Silverlight的可行性和高效性。

2 Silverlight開發(fā)平臺(tái)與應(yīng)用分析

Silverlight是微軟公司 2007年推出的 R IA開發(fā)平臺(tái) , 它提供了下一代媒體體驗(yàn)和豐富的用戶交互框架 , 使得基于 Silverlight開發(fā)的 R IA, 具備跨瀏覽器 ( IE、 Firefox、 Safari 等 ) 、跨平臺(tái) (Windows、Mac、L inux等 )等特性 , 甚至可以在移動(dòng)設(shè)備上使用。 Silverlight提供靈活的編程模型 , 支持托管語言 (如 C#、VB1NET)和動(dòng)態(tài)語言 (如 IronPython、 IronRuby) , 以及與 HTML 的交互。用戶界面可由基于 XML 的 XAML ( eXtensible App lication Markup Language, 可擴(kuò)展應(yīng)用程序標(biāo)記語言 )來渲染。設(shè)計(jì)人員既可用 Exp ression B lend等工具專門設(shè)置用戶界面 , 也可在后臺(tái)用代碼進(jìn)行編輯處理。設(shè)計(jì)與開發(fā)的統(tǒng)一 , 使得開發(fā)出良好用戶界面和靈活用戶交互的應(yīng)用程序變得更為容易 [ 8 ] 。

Silverlight表現(xiàn)層框架提供了矢量圖形、動(dòng)畫、文本和圖像等 , 故而 GIS的矢量數(shù)據(jù) , 點(diǎn)、線、面等幾何實(shí)體要素都可易于表達(dá) , 視頻播放等技術(shù)也為多媒體地圖的實(shí)現(xiàn)做了鋪墊。 Silverlight支持 H ttp、Sockets等多種網(wǎng)絡(luò)協(xié)議 , 可以進(jìn)行跨域通信 , 為聚合和集成多來源的異構(gòu) GIS網(wǎng)絡(luò)服務(wù)提供了基礎(chǔ)架構(gòu)。

與 Flex相比較而言 , 雖然 Silverlight瀏覽器插件安裝率尚不及 Flash插件 , 但 Silverlight平臺(tái)支持更多開發(fā)語言 , 發(fā)展迅速。如表格 1所示 , Silverlight更注重開發(fā)人員 , 開發(fā)者無需學(xué)習(xí)新的技術(shù)與新的開發(fā)環(huán)境 , 1NET程序員可很快在已有基礎(chǔ)上轉(zhuǎn)變開發(fā) Silverlight應(yīng)用程序 , 學(xué)習(xí)成本低 ,開發(fā)效率高。同時(shí) , 表格 1也體現(xiàn)了和 W ebGIS客戶端其他技術(shù)如 A jax[ 9 - 10 ]的對比。

更多內(nèi)容請查看pdf