最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

Ajax 技術(shù)在WebGIS 系統(tǒng)中的性能優(yōu)化研究

出處:電子愛好者博客 發(fā)布于:2013-08-01 11:21:19

  摘要:為了提高WebGIS系統(tǒng)地圖圖像數(shù)據(jù)響應(yīng)效率,將Ajax技術(shù)運(yùn)用于WebGIS系統(tǒng)開發(fā)中,重點(diǎn)分析了基于Ajax的數(shù)據(jù)交互及方法實(shí)現(xiàn),Ajax的動(dòng)態(tài)數(shù)據(jù)請(qǐng)求在很大程度上解決了WebGIS數(shù)據(jù)顯示不流暢的問題,具有廣泛的應(yīng)用價(jià)值。

  0 引言

  WebGIS在網(wǎng)絡(luò)和地理信息系統(tǒng)技術(shù)的整合中應(yīng)運(yùn)而生。它改變舊方式中空間數(shù)據(jù)的采集、傳輸、共享和發(fā)展,成為地理信息系統(tǒng)一個(gè)重要的發(fā)展方向,通過超鏈接,WebGIS可使用戶在Internet上操作GIS地圖和數(shù)據(jù),但是WebGIS的地圖數(shù)據(jù)量較大,在Web上執(zhí)行GIS常遇到刷新慢,頁(yè)面緩沖時(shí)間較長(zhǎng)的情況。

  針對(duì)WebGIS低響應(yīng)速度和性能差的缺點(diǎn),在開發(fā)WebGIS平臺(tái)采用動(dòng)態(tài)刷新技術(shù),運(yùn)用Ajax引擎,它可以用來(lái)縮短客戶端和服務(wù)器端之間的響應(yīng)時(shí)間,以減少傳輸網(wǎng)絡(luò)中的數(shù)據(jù)量,并增加豐富的多媒體效果。實(shí)行字符同步處理瀏覽器的WebGIS元素,異步消息發(fā)送到服務(wù)器,接收數(shù)據(jù)只更新部分內(nèi)容,不需要更新整個(gè)頁(yè)面。這個(gè)新機(jī)制在很大程度上提高了WebGIS 的響應(yīng)效率,增強(qiáng)了用戶體驗(yàn)。目前,Ajax技術(shù)以其優(yōu)越性,在大數(shù)據(jù)量的Web 處理中,已成為主流技術(shù)的數(shù)據(jù)傳輸技術(shù)。

  1 相關(guān)技術(shù)分析

  1.1 Ajax技術(shù)

  Ajax 是在JavaScript 中調(diào)用一個(gè)JavaScript 類XMLHttpRequest,這個(gè)類可以與Web服務(wù)器使用HTTP協(xié)議進(jìn)行交互,程序不通過瀏覽器發(fā)出請(qǐng)求,而是用這個(gè)特殊的JavaScript對(duì)象發(fā)送請(qǐng)求,再由這個(gè)JavaScript對(duì)象接收響應(yīng),并將響應(yīng)結(jié)果用DOM 編程方式掛到原來(lái)的網(wǎng)頁(yè)上。

  傳統(tǒng)Web 界面請(qǐng)求由瀏覽器發(fā)出請(qǐng)求,服務(wù)器端進(jìn)行處理,然后將響應(yīng)發(fā)送至客戶端。而基于Ajax 的Web 請(qǐng)求響應(yīng)采用XMLHttpRequest 發(fā)送,服務(wù)器的處理結(jié)果也由該對(duì)象來(lái)接收,在相同時(shí)間內(nèi),數(shù)據(jù)請(qǐng)求更頻繁,數(shù)據(jù)交互次數(shù)更多。這正是Ajax 技術(shù)的優(yōu)勢(shì)所在。

  Ajax并不是一種創(chuàng)新的技術(shù),而是多種常用技術(shù)以新的方式的組合,運(yùn)用Ajax技術(shù)做Web開發(fā),關(guān)鍵的是必須掌握Ajax數(shù)據(jù)交互流程及XMLHttpRequest類的屬性及方法。

  1.2 WebGIS系統(tǒng)

  WebGIS系統(tǒng)結(jié)構(gòu)主要有表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層三層。

  數(shù)據(jù)層主要是存儲(chǔ)地圖數(shù)據(jù)的空間信息數(shù)據(jù)庫(kù),以及存儲(chǔ)擴(kuò)展信息的其他數(shù)據(jù)庫(kù),比如地名描述信息等;業(yè)務(wù)邏輯層主要有ArcMS和網(wǎng)頁(yè)JSP等,地圖服務(wù)軟件及負(fù)責(zé)頁(yè)面顯示的JSP頁(yè)面;表示層由WebServer,瀏覽器及ArcGIS Desktop構(gòu)成,這層主要是將地圖圖像直觀的顯示給用戶,提供用戶操作的接口

  WebGIS的開發(fā),主要掌握三部分內(nèi)容。掌握氣泡顯示,路線描紅,地圖無(wú)縫拼接的JavaScript代碼。氣泡顯示是地圖具體位置的直觀顯示,路線描紅是對(duì)地圖路線的直觀標(biāo)識(shí),地圖無(wú)縫拼接將不同塊的地圖數(shù)據(jù)連接起來(lái),這都是地圖界面基本的功能,也是重要的一部分。坐標(biāo)轉(zhuǎn)換,截圖命名及特殊點(diǎn)坐標(biāo)轉(zhuǎn)換,這是地圖的擴(kuò)展功能,用于對(duì)地圖的操作,比如根據(jù)地圖坐標(biāo)點(diǎn)計(jì)算空間距離等。網(wǎng)站程序部分,讀取數(shù)據(jù)庫(kù),動(dòng)態(tài)生成XML 文件和JavaScript 腳本,這是WebGIS 開發(fā)必不可少的內(nèi)容,也是所有Web開發(fā)的公用模塊。

  2 Ajax 對(duì)WebGIS 系統(tǒng)性能提高的方法簡(jiǎn)述

  分布式系統(tǒng)提高了WebGIS的響應(yīng)效率,這是從數(shù)據(jù)資源的訪問方式方面做的優(yōu)化研究,而運(yùn)用Ajax 技術(shù)則是對(duì)Web端與服務(wù)器端數(shù)據(jù)交互的優(yōu)化。兩者的共同點(diǎn)是提高了WebGIS 的響應(yīng)效率,增強(qiáng)了用戶體驗(yàn)。

  2.1 基于Ajax的WebGIS數(shù)據(jù)交互

  Ajax 的交互作用由Ajax Engine 來(lái)完成,它是瀏覽器端與服務(wù)器端的數(shù)據(jù)交互橋梁,瀏覽器端的數(shù)據(jù)請(qǐng)求由Ajax Engine 發(fā)給服務(wù)器端,服務(wù)器端的數(shù)據(jù)響應(yīng)也由它發(fā)給瀏覽器端[4],具體數(shù)據(jù)交互圖如圖1所示。

  

  在用戶端,主要由Ajax Engine、界面邏輯、數(shù)據(jù)緩存、用戶界面、DOM五部分構(gòu)成。其中,用戶邏輯,界面邏輯,用戶界面均只與Ajax Engine通信,而不直接與服務(wù)器通信。服務(wù)器端主要有Web 頁(yè)面、應(yīng)用邏輯及數(shù)據(jù)庫(kù),三者實(shí)現(xiàn)服務(wù)器的正常工作,與用戶端數(shù)據(jù)通信直接交付Ajax Engine來(lái)完成。

  2.2 Ajax在WebGIS中的方法實(shí)現(xiàn)

  用Ajax 創(chuàng)建WebGIS 工程,概況來(lái)講,只需要五步:新建html或者JSP頁(yè)面,作為WebGIS除地圖數(shù)據(jù)圖像外的頁(yè)面數(shù)據(jù)顯示;在頁(yè)面中寫出創(chuàng)建XMLHttpRe-quest 對(duì)象的方法;寫出事件響應(yīng)方法,用上面創(chuàng)建的對(duì)象發(fā)出異步的Ajax 請(qǐng)求;創(chuàng)建Servlet 響應(yīng)請(qǐng)求;在頁(yè)面完成回調(diào)方法,處理服務(wù)器端響應(yīng),改變頁(yè)面效果。

  其中,創(chuàng)建XMLHttpRequest 對(duì)象的方法是比較重要的一步,是客戶端和服務(wù)器異步通信的關(guān)鍵,XML-HttpRequest基本方法主要有:

  abort:取消當(dāng)前的HTTP 請(qǐng)求。

  getResponseHeader:獲得響應(yīng)內(nèi)容的HTTP頭信息。

  open:初始化一個(gè)HTTP 請(qǐng)求,指定請(qǐng)求方法(Get/Post)、URL、身份驗(yàn)證信息等。

  send:發(fā)送一個(gè)HTTP 請(qǐng)求到服務(wù)器。

  setRequestHeader:設(shè)置HTTP請(qǐng)求的頭信息。

  地圖數(shù)據(jù)的傳輸原則是次登陸傳輸少量地圖數(shù)據(jù),但需要實(shí)現(xiàn)全景顯示,然后根據(jù)用戶的基本操作,運(yùn)用Ajax 技術(shù)動(dòng)態(tài)地傳輸余下地圖數(shù)據(jù),同時(shí)也要卸載不必要的地圖數(shù)據(jù)。地圖數(shù)據(jù)每次以塊傳送,頁(yè)面地圖數(shù)據(jù)的加載以圖形塊的方式逐次顯示。具體流程圖如圖2所示。

  

  Web 頁(yè)面全景顯示,是給用戶一張地圖的直觀顯示,但并不代表包含所有的地圖數(shù)據(jù),根據(jù)用戶在瀏覽器上點(diǎn)擊的地圖位置,決定加載哪一部分地圖數(shù)據(jù)量,同時(shí)也要考慮用戶端緩存的大小,當(dāng)緩存不夠時(shí),需釋放與當(dāng)前請(qǐng)求的地圖塊不相關(guān)的其他地圖數(shù)據(jù)。對(duì)某一塊圖像而言,用戶的基本操作主要有放大、縮小和平移,其中只有放大不需要Ajax發(fā)送請(qǐng)求加載地圖數(shù)據(jù),其他兩種操作均需要。

  2.3 應(yīng)用舉例

  Ajax技術(shù)提高了WebGIS系統(tǒng)性能,用戶可以更流暢地通過WebGIS 查看地圖信息,基于這種方式的應(yīng)用,逐漸被人們所接受,尤其是在智能交通及物流行業(yè),伴隨著智能物流系統(tǒng)的提出,越來(lái)越多的車輛裝載了含有WebGIS 的車載系統(tǒng),用于查看地圖路線,同時(shí)給服務(wù)器發(fā)送位置信息,服務(wù)器隨時(shí)可以跟蹤到當(dāng)前車輛的具體位置,整個(gè)物流行業(yè)提供朝著智能便捷化發(fā)展。

  智能交通行業(yè),應(yīng)用得更加廣泛,高德地圖、四維圖新、凱立德導(dǎo)航等眾多企業(yè)均開發(fā)了WebGIS導(dǎo)航系統(tǒng),將導(dǎo)航系統(tǒng)置于車載終端,具有廣闊的市場(chǎng)前景,有些汽車制造商已經(jīng)將WebGIS 導(dǎo)航系統(tǒng)汽車生產(chǎn)作為標(biāo)準(zhǔn)配置,方便用戶智能導(dǎo)航,WebGIS在智能交通行業(yè)的市場(chǎng)份額逐步提高。

  3 結(jié)語(yǔ)

  本文在分析了Ajax 技術(shù)的優(yōu)點(diǎn)和WebGIS 系統(tǒng)特點(diǎn)之后,提出了一種基于AJAX 的WebGIS 數(shù)據(jù)交互實(shí)現(xiàn)方法,實(shí)驗(yàn)證明,該方法在很大程度上提高了WebGIS數(shù)據(jù)請(qǐng)求響應(yīng)效率,增強(qiáng)了用戶體驗(yàn)感。

關(guān)鍵詞:Ajax 技術(shù)在WebGIS 系統(tǒng)中的性能優(yōu)化研究Ajax技術(shù)WebGIS性能優(yōu)化

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!