3sNews訊 著名的未來學(xué)家雷·庫(kù)茲威爾在其2005年所著的《奇點(diǎn)迫近》一書中預(yù)言:到21世紀(jì)第一個(gè)十年結(jié)束的時(shí)候,人們可以通過移動(dòng)設(shè)備隨時(shí)隨地訪問互聯(lián)網(wǎng)。從目前智能手機(jī)和其它移動(dòng)設(shè)備的銷售量來看,這一預(yù)言似乎并不遙遠(yuǎn)。
這將會(huì)給用戶和數(shù)據(jù)提供商帶來許多影響。瑞士聯(lián)邦地形學(xué)辦公室(swisstopo)屬于后者,他們負(fù)責(zé)獲取和更新基礎(chǔ)測(cè)量數(shù)據(jù)、地理數(shù)據(jù),繪制瑞士最高質(zhì)量的地圖產(chǎn)品。為使通過移動(dòng)設(shè)備訪問其產(chǎn)品能夠具有良好的用戶體驗(yàn),該機(jī)構(gòu)構(gòu)建構(gòu)建一個(gè)開源庫(kù),以適用于移動(dòng)設(shè)備的小屏幕,并可以識(shí)別觸屏手勢(shì)。
動(dòng)機(jī)
移動(dòng)互聯(lián)網(wǎng)上的交互式地圖,也稱為基于Web的地理信息系統(tǒng)(WebGIS),谷歌地圖的問世引起了人們對(duì)它的廣泛關(guān)注。公眾意識(shí)的不斷提高也是許多數(shù)據(jù)提供商將地理數(shù)據(jù)發(fā)布到網(wǎng)絡(luò)上的原因之一。
2007年2月,歐盟頒布?xì)W盟空間信息基礎(chǔ)設(shè)施(INSPIRE)指令;同年5月,指令正式生效。該指令旨在為歐盟空間信息建設(shè)相關(guān)基礎(chǔ)設(shè)施,以提高公共管理部門之間空間信息的共享能力,幫助整個(gè)歐洲地區(qū)的公民獲取相關(guān)信息。2010年,各成員國(guó)首次公布了對(duì)歐盟空間信息基礎(chǔ)設(shè)施的監(jiān)測(cè)和報(bào)告結(jié)果。 瑞士也發(fā)起了一個(gè)類似的倡議,要求瑞士聯(lián)邦地形學(xué)辦公室為廣大公眾提供其獲取和加工的地理數(shù)據(jù)。
圖1 移動(dòng)設(shè)備上顯示的半透明疊加地圖
很長(zhǎng)一段時(shí)間以來,世界各地的移動(dòng)公司都在努力提高寬帶的使用能力,同時(shí)盡量降低用戶的消費(fèi)價(jià)格,以使新一代智能手機(jī)最大可能地滿足用戶“能夠隨時(shí)隨地快速訪問任意網(wǎng)絡(luò)”的期盼。
2011年,瑞士聯(lián)邦地形學(xué)辦公室開始著手創(chuàng)建一個(gè)移動(dòng)WebGIS客戶端來滿足這種需求,他們利用開源軟件進(jìn)行特殊的開發(fā)。
開源庫(kù)
創(chuàng)建一個(gè)移動(dòng)WebGIS客戶端可以有許多方法。首先,必須確定使用什么技術(shù);其次,需要獲取軟件授權(quán)訪問的許可。該項(xiàng)目決定使用已有的開源框架并整合結(jié)果數(shù)據(jù)庫(kù),從而使獲取開源許可成為可能。相對(duì)于封閉源代碼的軟件而言,免費(fèi)軟件更加自由化:開發(fā)人員可以根據(jù)自己的需求隨意運(yùn)行程序,研究其內(nèi)部結(jié)構(gòu),重新組合代碼。
這種自由化還會(huì)帶來其它一些影響:用戶不僅可以免費(fèi)獲取開源軟件,從互聯(lián)網(wǎng)上下載,還可以更加方便地對(duì)軟件質(zhì)量進(jìn)行評(píng)估、分析,討論其可能或已經(jīng)出現(xiàn)的問題。
移動(dòng)版GeoExt(GXM)
GeoExt是一個(gè)開源的JavaScript庫(kù),可為創(chuàng)建基于Web的富客戶端制圖應(yīng)用程序提供基礎(chǔ);是一款結(jié)合網(wǎng)絡(luò)制圖庫(kù)OpenLayers和Extjs的前端框架,可構(gòu)建富互聯(lián)網(wǎng)應(yīng)用程序的跨瀏覽器JavaScript庫(kù)。它提供一套定制的組件和數(shù)據(jù),可以更為便捷地構(gòu)建用于瀏覽、編輯地理空間數(shù)據(jù)的應(yīng)用程序。
然而,在移動(dòng)設(shè)備上訪問這些應(yīng)用程序時(shí)將會(huì)缺乏完整的功能。例如移動(dòng)設(shè)備沒有鼠標(biāo),有時(shí)就無法執(zhí)行一些特定的操作。
瑞士聯(lián)邦地形學(xué)辦公室、德國(guó)波恩的terrestris公司決定構(gòu)架一個(gè)GeoExt的姊妹版框架,使其能夠直接用于iPhone、iPad、黑莓手機(jī)和基于安卓系統(tǒng)的移動(dòng)設(shè)備。GXM填補(bǔ)了移動(dòng)WebGIS框架的空白,結(jié)合了兩大JavaScript庫(kù)的優(yōu)勢(shì):
• Sencha Touch是首款支持HTML5技術(shù)的移動(dòng)網(wǎng)絡(luò)應(yīng)用程序框架,可使許多移動(dòng)設(shè)備自如地運(yùn)行Web應(yīng)用程序。在許多方面上,它就是ExtJS(一種主要用于創(chuàng)建前端用戶界面,基本與后臺(tái)技術(shù)無關(guān)的前端ajax框架)的移動(dòng)版副本。
• 眾所周知,OpenLayers(“基于Web的免費(fèi)地圖”)具有豐富的地理數(shù)據(jù)顯示和交互功能。它是一個(gè)專為WebGIS客戶端開發(fā)提供的JavaScript 類庫(kù)包,用于實(shí)現(xiàn)標(biāo)準(zhǔn)格式發(fā)布的地圖數(shù)據(jù)訪問,最新版本的OpenLayers 2.11已經(jīng)可以支持移動(dòng)設(shè)備上的操作。
為避免基礎(chǔ)庫(kù)的限制,提供可重復(fù)利用的WebGIS應(yīng)用程序基礎(chǔ)組件,GXM整合了以下幾個(gè)要素:
• 圖層列表(LayerList)簡(jiǎn)化了制圖應(yīng)用程序中不同專題圖層的交互使用。列表本身是可以整合到任意容器(Container)中的,如彈出窗口、標(biāo)簽面板等。
• 地圖面板(MapPanel)允許任何圖層類型的的OpenLayers地圖展示在面板中,并可以更為容易地集成到幾乎任何Sencha Touch支持的地圖輸出產(chǎn)品中。
• 按鈕類(Button class)用于幫助OpenLayers控制交互過程,例如地圖的縮放、平移等。通過Geolocation應(yīng)用程序接口(HTML5的一部分),它也可以用于精確定位智能手機(jī)的地理位置。
mobile.map.geo.admin.ch
圖2 智能手機(jī)中的地圖表達(dá)
瑞士聯(lián)邦的地理門戶網(wǎng)站(https://mobile.map.geo.admin.ch)中包括許多基礎(chǔ)數(shù)據(jù)圖層,如地形圖、航拍照片、數(shù)字高程模型以及眾多專題圖層。門戶網(wǎng)站用戶通過電腦或者手機(jī)均可以訪問到相同的數(shù)據(jù)。
圖3 1:50萬地質(zhì)地質(zhì)圖
客戶端頂部有四個(gè)按鈕:意見反饋按鈕、設(shè)置按鈕(可完成語言切換、導(dǎo)航條位置設(shè)置、背景圖顏色設(shè)置等操作)、查詢按鈕(可通過位置或地址進(jìn)行查詢)、信息按鈕(可以訪問元數(shù)據(jù)和圖層列表,見圖3)。
圖4 地圖中的紅點(diǎn)標(biāo)識(shí)用戶所在的位置
導(dǎo)航條包括定位按鈕、放大按鈕、縮小按鈕、全圖按鈕。用戶可以通過定位按鈕確定移動(dòng)設(shè)備的當(dāng)前位置,并用紅點(diǎn)將其標(biāo)識(shí)在地圖上(見圖4)。
展望
GXM庫(kù)現(xiàn)在已經(jīng)可以被公眾使用,ExtJS 3.x版、ExtJS 4.x版均可在該庫(kù)中使用;Sencha Touch也即將發(fā)布2.x版,但GXM目前還依賴于1.x版。這意味著,GXM庫(kù)將很快得到升級(jí),從而支持更多新的基礎(chǔ)庫(kù)。
所有這些進(jìn)步需要世界各國(guó)的開發(fā)者共同努力完成。開發(fā)人員可以優(yōu)化代碼,并由非開發(fā)人員來完成測(cè)試和記錄工作。大家可以定義新功能,從而促進(jìn)整個(gè)技術(shù)的發(fā)展。最后但并非最不重要的是,可以通過一些資金資助項(xiàng)目獲取經(jīng)濟(jì)上的幫助。(編譯 劉麗)
{{item.content}}