基于Silverlight的 Web GIS客戶端技術(shù)研究

王天寶,王爾琪,郭會(huì),黃躍峰

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

論文來源:

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

關(guān)鍵詞: Silverlight, RIA, Web GIS

1 引言

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

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

本文則主要針對(duì)在 RIA 中地理空間信息的多尺度高細(xì)節(jié)展現(xiàn)、矢量柵格一體化表達(dá)、 GIS 服務(wù)聚合等關(guān)鍵技術(shù)進(jìn)行了研究,利用 Silverlight 作為Web GIS 的技術(shù)支撐,并完成了相關(guān)試驗(yàn),通過試驗(yàn)驗(yàn)證了在 Web GIS 中利用 Silverlight 的可行性和高效性。

2 Silverlight 介紹

Silverlight 是微軟公司 2007 年推出的 RIA 開發(fā)平臺(tái),它提供了下一代媒體體驗(yàn)和豐富的用戶交互框架,使得基于 Silverlight 開發(fā)的RIA,具備跨瀏覽器(IE、Firefox、Safari 等)、跨平臺(tái)(Windows、Mac、Linux 等)等特性,甚至可以在移動(dòng)設(shè)備上使用。Silverlight 提供靈活的編程模型,支持托管語言(如 C#、VB.NET)和動(dòng)態(tài)語言(如 IronPython、IronRuby),以及與HTML 的交互。用戶界面技術(shù)支持基于XML 的XAML(eXtensible Application Markup Language,可擴(kuò)展應(yīng)用程序標(biāo)記語言),既可讓設(shè)計(jì)人員用 Expression Blend 等工具專門設(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)鋪墊了技術(shù)基礎(chǔ)。Silverlight 支持 Http、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)境,.NET 程序員可很快在已有基礎(chǔ)上轉(zhuǎn)變開發(fā) Silverlight 應(yīng)用程序,學(xué)習(xí)成本低,開發(fā)效率高。同時(shí),表格 1 也體現(xiàn)了和 Web GIS 客戶端其他技術(shù)如Ajax[9, 10]的對(duì)比。

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