《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于B/S結構的地圖切片前端預存儲技術
基于B/S結構的地圖切片前端預存儲技術
2014年微型機與應用第19期
石 堅,李治洪
華東師范大學 地理信息科學教育部重點實驗室,上海 200241
摘要: 目前,主流的客戶端緩存地圖切片技術都是基于C/S結構,這種技術在移動設備的地圖APP程序中應用較廣泛。B/S結構由于安全機制的限制,不能夠在客戶端存儲大容量的文件,這一特點嚴重阻礙了基于WebGIS技術的地圖應用程序的發展。最新的HTML5文件系統API技術能夠實現在客戶端存儲大批量文件,可以將海量地圖切片緩存到用戶的電腦硬盤或者移動設備中,在需要訪問地圖時從客戶端調出使用。基于該功能,用戶在B/S結構下將地圖切片緩存到客戶端,在離線環境中瀏覽預先存儲好的地圖數據,縮短系統的響應時間,改善用戶體驗。
Abstract:
Key words :

  摘 要: 目前,主流的客戶端緩存地圖切片技術都是基于C/S結構,這種技術在移動設備的地圖APP程序中應用較廣泛。B/S結構由于安全機制的限制,不能夠在客戶端存儲大容量的文件,這一特點嚴重阻礙了基于WebGIS技術的地圖應用程序的發展。最新的HTML5文件系統API技術能夠實現在客戶端存儲大批量文件,可以將海量地圖切片緩存到用戶的電腦硬盤或者移動設備中,在需要訪問地圖時從客戶端調出使用?;谠摴δ?,用戶在B/S結構下將地圖切片緩存到客戶端,在離線環境中瀏覽預先存儲好的地圖數據,縮短系統的響應時間,改善用戶體驗。

  關鍵詞HTML5技術; 網絡地理信息系統;地圖切片預存儲;離線瀏覽;客戶端緩存;B/S結構

0 引言

  近年來隨著移動設備的快速普及,出現了很多基于C/S模式的地圖應用程序,并實現了下載離線地圖數據的功能,方便了人們的生活。離線瀏覽地圖切片功能是指把事先下載好的地圖切片放在離線環境中使用[1]。離線情況大致可以分為以下幾種:筆記本電腦或手機在“飛行模式”時、Web應用無法與服務器正常通信、野外移動設備網絡信號弱或不穩定等。有兩種形式在離線情況下存儲地圖:第一種是在網速正常的情況下預先下載地圖切片,地圖切片被存儲到客戶端,當用戶在野外網絡信號弱時,系統會從客戶端取出地圖切片的信息,供用戶瀏覽地圖 [2]。還有一種是在瀏覽地圖的過程中,程序自發地存儲瀏覽過的地圖,被保存過的地圖可以重復瀏覽,不需要與服務器端交互,系統反應的時間變短,節省了用戶大量的寬帶流量[3]。后者使用更加普遍,這種被動智能化存儲,可以增強用戶體驗,讓瀏覽地圖變得更加快捷[2]。

  上述離線瀏覽地圖切片功能都是基于C/S模式的開發技術,運行在B/S模式中的WEB應用程序由于受到安全因素的限制[2],不能進行大容量文件的本地存儲。與同類產品相比,離線情況下無法使用地圖已經成為了Web程序的一大缺陷,使WebGIS的發展受到了極大的限制[4]。

  HTML5有關文件系統標準的出現,填補了Web應用程序不能在客戶端上存儲大文件的空白[1]。盡管處于安全的考慮,HTML5對這一功能有一定的限制,不能自由地去訪問客戶端的文件系統,但是文件API標準已經足以解決在客戶端緩存地圖切片的難題[5]。

1 系統原理

  1.1 地圖切片主要參數

  自Google Maps推出地圖切片以來,WebGIS得到了空前的發展[4]。地圖切片主要是指按照分辨率等級的不同,將原先動態生成的地圖圖片提前保存為靜態圖片,存儲在服務器上,等到用戶瀏覽地圖時,服務器將靜態圖片傳送到客戶端瀏覽器中。地圖切片有效縮短了服務器端動態生成地圖的時間和網絡傳送圖片的時間,提高系統響應速度[5]。

  在用戶與地圖進行交互的那一片區域(簡單稱為地圖窗口[6])有幾個重要的參數,包括:當前窗口的寬高、中心點坐標和zoom值,這些參數的變化決定地圖切片的選取。

  1.2 系統流程

001.jpg

  典型的WebGIS系統如圖1所示,通常由兩部分組成[7],即客戶端地圖操作和服務器端數據返回。當用戶進行瀏覽操作時,客戶端程序會判斷用戶的操作,把當前窗口的寬高、中心點坐標和zoom值發送給服務器端。地圖服務器根據傳送過來的參數值計算出所有地圖切片的編號,返回給客戶端,客戶端程序根據地圖編號,以異步的方式訪問地圖切片的URL,瀏覽器繪制出圖片給用戶。上述流程中,客戶端與服務器發生了兩次交互,一次是請求地圖切片編號,還有一次是獲取地圖圖片。這兩步過程都決定了傳統WebGIS系統無法在離線環境中使用,并且經過實驗得知,服務器端獲取圖片這一過程,對網絡速度的要求極高,當該系統在網絡信號不好的移動端使用時,地圖操作的響應速度極慢,網頁加載地圖時間漫長,由此可以得出結論,傳統WebGIS在網速較差的環境中幾乎無法使用。

002.jpg

  本項目中改變了傳統WebGIS系統中地圖操作后系統響應的方式,即在客戶端增加了地圖切片預存儲功能,如圖2所示。客戶端的瀏覽器不再把地圖窗口參數發送給服務器,而是直接在前端計算出地圖切片的編號信息,根據編號信息從文件沙箱中取出相應圖片的內容,所有過程在前端腳本中完成,實現了離線方式操作地圖,使用這種方式將會使系統響應速度變得更快。根據實驗得知,地圖切片交互時所需的寬帶數據量占整個系統中的絕大部分,所以當地圖切片放在離線環節時,即使在網絡速度不佳的野外,當請求數據量適中的矢量圖形或者打開網頁圖片時,也不會影響系統的整體運行,經過改變系統響應方式的新系統在網速不佳的情況下也能正常使用[8]。

2 系統實現

  2.1 地圖切片預存儲

003.jpg

  本項目用到的地圖切片為上海市航拍影像圖,按分辨率的不同共分為6個等級,這里把文件系統的目錄結構分成6個主目錄。而每一級切片下,又細分出了A、B、C、D 4個子文件夾。在非離線情況下系統訪問地圖切片時的文件夾管理結構如圖3所示。文件API具有特殊管理機制,保存文件前需要設定虛擬的文件夾結構來管理本機上的文件對象,文件對象中的文本信息具有嚴格的編碼格式,可以防止數據的意外泄露。本系統所創建虛擬文件夾路徑與真實路徑保持統一,減少中間過程的轉換計算,具體可設定為Map/A1/A/A001_002.jpg。具體的路徑加上文件名,構成了唯一的鍵名,保證了離線系統中地圖信息的準確性[9]。

  文件API支持文字信息的存儲,單個圖片信息以Base64的文字編碼方式保存下來。根據用戶的需求針對某個鄉鎮進行下載,利用本系統中的geoserver平臺可以查詢到指定區縣或鄉鎮下所有切片的名稱tileName和切片等級Level,根據文件夾結構可計算出該切片的文件路徑Path。返回的Path代表了文件存放的具體位置,使用PHP技術將名稱為tileName的切片顏色信息提取出來,通過網絡傳輸到客戶端以文件API形式保存[10]。下載地圖切片信息的過程如圖4所示。

004.jpg

  2.2 地圖切片離線瀏覽

  本項目所使用到的WebGIS系統是基于實驗室自主研發的Geoserver平臺,所有后臺數據以及地圖信息的交互都是基于該平臺,并非市場上流行的ArcGIS Server平臺[3]。在調用地圖切片環節中,地圖切片的編號都是使用Geoserver平臺計算,具有較強的創新性和自主性[6]。在離線瀏覽切片地圖時,系統得到的地圖切片編號也就是存放在服務器中的靜態圖片的URL地址,可以根據原來的URL地址,使用文件API來訪問具有相同文件結構的客戶端地圖切片[7]。保存在文件系統的格式為Base64編碼的文本信息,直接將切片容器中的src指向這段編碼信息,瀏覽器就能繪制出正確圖片。文件系統可以保存硬盤容量內的任意大小的文件,保證了海量切片的批量存儲,并且單個切片信息存取速度快,操作簡單,這些特點為離線切片的存取創造了良好的條件。

3 系統性能

  為了測試離線模式給系統交互有效性帶來的提高,現在對離線和在線兩種模式的地圖響應速度進行測試。測試所使用的電腦硬件配置為Intel 3.30 GHz雙核CPU和4 GB內存。

  網絡情況正常的情況下,在PC端進行1 000次的地圖操作,并對30張和100張不同數量級的切片進行比較,把縮放和平移之后系統響應切片的等待時間記錄下來,此過程由專門開發的程序實現,測試結果如表1所示。從表1中可以看出,30張切片時離線中的切片等待時間大約為在線情況下的1/15,而當切片增加到100張時,系統的響應速度得到了極大的提高[8]。

005.jpg

  由此可見,地圖簡單操作時,系統響應切片花費在網絡上的時間過多,而通過預存切片的方式可以減少網絡的通信時間,并且可預知在野外當網絡速度緩慢時使用系統,在線模式的響應時間可令系統無法使用或瀏覽器崩潰。

4 總結

  本系統是一個基于B/S結構的多功能系統,旨在結合遙感照片人工采集上海市農業信息的數據。離線瀏覽地圖切片的難題是本文探討的重點,Web瀏覽器對用戶本地文件讀寫的支持,極大地促進了WebGIS系統的發展,有助于方便地開發出更豐富的應用,許多只能在C/S結構上才能完成的功能,如今在Web應用程序上也能夠完成[11]。

  離線瀏覽地圖切片以及地圖切片預存儲這兩大功能,很好地促進了WebGIS的發展,在今后富客戶端的趨勢下,許多工作都可以放到前端來完成,這樣帶來的好處是,地圖的交互速度將會更快,同時,這種方式還可以消除周圍環境的影響,例如網速的強弱和穩定性,甚至在完全沒有網絡的情況下,如在野外、海上遠行、飛機起降時,用戶可以照常工作,等到有需要時再將電腦或移動設備中的數據進行上傳或更新。

參考文獻

  [1] 陸凌牛. HTML5與CSS3權威指南[M]. 北京:機械工業出版社, 2013.

  [2] 劉琦,潘瑜春,王雪峰,等. 基于B/S模式的WebGIS應用系統研究[J].計算機工程與應用, 2004(20):177-179.

  [3] 李治洪. WebGIS原理與實踐[M].北京:高等教育出版社, 2009.

  [4] 李學俊,王尊亮,李曉歡,等. 基于地圖切片預取的WebGIS系統[J].計算機應用研究,2009,26(10):3849-3851.

  [5] 陳方圓,李治洪,謝文明,等. 基于Linux的能源與環境監測WebGIS[J].計算機工程,2011,37(24):247-250.

  [6] 周牧,談曉軍,左翔,等. 基于AJAX和XML的WebGIS系統研究[J].計算機工程,2009,35(13):271-273.

  [7] 黃祥志,劉南,劉仁義,等. 適用于可編輯WebGIS的動態緩存策略[J].計算機工程,2011,37(5):285-287.

  [8] 畢建濤,王雷,池天河,等.基于Web Service的地理信息服務研究[J].計算機科學,2004,31(1):69-71.

  [9] Thein T, Park J S. Availability analysis of application servers using software rejuvenation and virtualization[J]. Journal of Computer Science and Technology,2009,24(2):339-346.

  [10] Silva L M, Alonso J, Torres J, et al. Using virtualization to improve software rejuvenation[J]. IEEE Transactions on Computers,2009,58(11):1525-1538.

  [11] 羅英偉,汪小林,許卓群,等.層次化WebGIS構建系統的設計與實現[J].計算機學報,2004,27(2):177-185.

  [12] Yang Chaowei, Michael G, Huang Qunying, et al. Spatial cloud computing: how can the geospatial sciences use and help shape cloud computing[J]. International Journal of Digital Earth, 2011,4(4):305-329.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国语对白在线视频| 日本午夜免费福利视频| 免费无码又爽又刺激毛片| 麻豆精品不卡国产免费看| 在线看www免费看| 中文字幕www| 最近中文字幕在线中文视频| 亚洲精品资源在线| 综合网小说图片区| 国产在线高清精品二区色五郎| 91精品国产自产在线观看高清| 成人三级k8经典网| 久久电影网午夜鲁丝片免费| 欧美性理论片在线观看片免费| 免费观看欧美一级牲片一| 金牛汇app最新版| 国产精品ⅴ无码大片在线看 | 精品72久久久久久久中文字幕| 国产午夜福利精品一区二区三区| 337p人体韩国极品| 天天综合天天做| 中文字幕人妻无码一夲道| 日韩欧美三级视频| 亚洲国产精品毛片AV不卡在线| 男人和女人做爽爽视频| 四虎影院永久在线| 麻豆狠色伊人亚洲综合网站| 国产精品亚洲精品日韩已满| babes性欧美高清| 怡红院免费全部视频在线视频| 久久久久国产精品| 暖暖免费观看日本版| 亚洲国产精品成人精品无码区在线| 狠狠色丁香九九婷婷综合五月| 又黄又爽免费视频| 草久在线观看视频| 超级香蕉97在线观看视频| 国产高清无专砖区2021| а√最新版在线天堂| 手机亚洲第一页| 久久久国产成人精品|