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

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

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

0 引言

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

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

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

1 系統原理

  1.1 地圖切片主要參數

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

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

  1.2 系統流程

001.jpg

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

002.jpg

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

2 系統實現

  2.1 地圖切片預存儲

003.jpg

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

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

004.jpg

  2.2 地圖切片離線瀏覽

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

3 系統性能

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

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

005.jpg

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

4 總結

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

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

參考文獻

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

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

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

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

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

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

  [7] 黃祥志,劉南,劉仁義,等. 適用于可編輯WebGIS的動態(tài)緩存策略[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網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜国产精品视频| 亚洲电影第三页| 激情成人综合网| 国产欧美日韩一区二区三区在线观看 | 久久久久久自在自线| 亚洲一区二区三区激情| 一区二区三区欧美亚洲| 99v久久综合狠狠综合久久| 亚洲激情在线| 最新国产拍偷乱拍精品| 欧美一区二区视频在线| 欧美一区二区三区在线观看视频| 亚洲欧美精品suv| 亚洲欧美日本国产有色| 亚洲欧美日韩中文视频| 亚洲综合色激情五月| 亚洲一区二区三区精品动漫| 中文在线不卡视频| 99综合在线| 亚洲图色在线| 亚洲欧美日韩精品一区二区 | 国产精品久久久一区二区三区| 欧美视频一区二| 欧美午夜国产| 国产精品萝li| 国产日韩一区| 精品动漫3d一区二区三区免费| 在线观看日韩一区| 亚洲精品自在久久| 在线亚洲观看| 欧美一区1区三区3区公司| 久久精品女人| 亚洲久久视频| 亚洲视频在线一区观看| 午夜视频精品| 久久综合伊人77777| 欧美激情免费观看| 欧美日韩综合视频| 国产欧美日韩不卡免费| 激情成人综合| 亚洲美女毛片| 亚洲欧美另类国产| 亚洲国产成人av好男人在线观看| 亚洲免费观看| 亚洲欧美色一区| 久久久久国产免费免费| 欧美福利视频在线| 国产精品九色蝌蚪自拍| 国产一区二区丝袜高跟鞋图片| 经典三级久久| 夜夜嗨av一区二区三区网站四季av| 亚洲一区欧美一区| 亚洲国产精品美女| 亚洲视频香蕉人妖| 久久久久久久国产| 欧美日韩国产丝袜另类| 国产麻豆成人精品| 亚洲国产精品t66y| 亚洲欧美美女| 亚洲精品乱码久久久久| 亚洲男女自偷自拍图片另类| 久久天天躁夜夜躁狠狠躁2022 | 午夜亚洲福利| 牛牛影视久久网| 国产精品va在线播放我和闺蜜| 国产亚洲精品成人av久久ww| 亚洲国产婷婷香蕉久久久久久99 | 99精品视频网| 久久精品成人一区二区三区| 999亚洲国产精| 久久精品一区二区三区不卡| 欧美极品aⅴ影院| 国产日本亚洲高清| 日韩一二三区视频| 久久电影一区| 亚洲欧美日韩综合| 欧美极品欧美精品欧美视频| 国产欧美日韩亚洲精品| 亚洲美女区一区| 久久成人18免费观看| 亚洲一级特黄| 欧美国产欧美综合 | 亚洲精华国产欧美| 亚洲福利在线视频| 国产精品日本欧美一区二区三区| 国产一区二区0| 日韩午夜在线电影| 亚洲电影在线观看| 午夜久久一区| 欧美精品久久99久久在免费线| 国产欧美1区2区3区| 亚洲日韩成人| 亚洲黄一区二区| 久久岛国电影| 国产精品久久久久久超碰| 91久久国产综合久久蜜月精品 | 久久国内精品自在自线400部| 欧美精品乱码久久久久久按摩| 国产日韩亚洲欧美综合| 亚洲午夜电影网| 亚洲深夜激情| 欧美激情国产高清| 精品1区2区| 久久精品日产第一区二区三区 | 欧美激情第五页| 在线欧美一区| 亚洲成色精品| 久久久精品视频成人| 国产精品私房写真福利视频| 亚洲精品一区中文| 亚洲精品视频一区二区三区| 久久综合久久综合九色| 国产毛片一区二区| 中文在线不卡视频| 亚洲欧美国产日韩天堂区| 欧美日韩精品一区二区在线播放| **性色生活片久久毛片| 久久xxxx| 久久亚洲精品网站| 狠狠入ady亚洲精品| 欧美有码视频| 久久久久久亚洲精品中文字幕| 国产亚洲aⅴaaaaaa毛片| 亚洲欧美国产日韩天堂区| 欧美一区二区成人| 国产欧美三级| 欧美一区二区黄| 久久精选视频| 激情欧美一区二区三区在线观看| 欧美一区二区三区四区在线观看| 久久国产精品高清| 国内精品伊人久久久久av一坑| 久久国产精品99国产精| 久久人人爽国产| 在线国产亚洲欧美| 亚洲人成在线播放网站岛国| 欧美黄色免费| 99www免费人成精品| 亚洲一区二区在线视频| 国产精品视频xxx| 欧美一级视频| 美日韩精品视频免费看| 亚洲国产高清自拍| 亚洲少妇自拍| 国产乱人伦精品一区二区| 欧美在线你懂的| 免费不卡在线观看av| 91久久亚洲| 亚洲专区欧美专区| 国产午夜精品视频| 91久久精品国产91久久| 欧美日本久久| 亚洲在线免费| 久久综合给合久久狠狠色| 亚洲国产日韩一区| 亚洲性视频h| 国产欧美69| 亚洲精品美女在线| 欧美亚男人的天堂| 欧美一二三区精品| 蜜桃av噜噜一区| 99精品免费视频| 欧美与黑人午夜性猛交久久久| 激情久久五月天| 一区二区精品国产| 国产欧美另类| 日韩午夜视频在线观看| 国产精品视频yy9299一区| 亚洲国产精品成人综合| 欧美日韩国产一区二区三区地区 | 午夜精品久久久久久久男人的天堂 | 亚洲麻豆国产自偷在线| 欧美诱惑福利视频| 亚洲国产日韩欧美在线99| 亚洲欧美中日韩| 在线观看亚洲| 亚洲自拍16p| 一区二区三区在线不卡| 亚洲深夜福利| 在线成人免费视频| 亚洲欧美欧美一区二区三区| 激情另类综合| 午夜精品美女久久久久av福利| 在线观看亚洲视频啊啊啊啊| 午夜精品久久久久久| 亚洲高清视频一区| 欧美亚洲综合久久| 最新日韩欧美| 久久久久久**毛片大全| 99精品视频免费观看视频| 久久野战av| 亚洲一级黄色av| 欧美高清视频一二三区| 午夜精品视频网站| 欧美日韩99| 亚洲国产精品成人综合| 国产精品亚发布| 一本一本大道香蕉久在线精品| 国产综合av| 午夜日韩在线观看|