• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SVG/AJAX和REST的WebGIS體系架構(gòu)的構(gòu)建與實(shí)現(xiàn)

      2016-12-21 11:04:08李心穎李峰
      電腦知識(shí)與技術(shù) 2016年28期

      李心穎+李峰

      摘要:通過(guò)對(duì)SVG和Ajax技術(shù)在WebGIS中的應(yīng)用進(jìn)行分析,同時(shí)針對(duì)分布式Web應(yīng)用性能低、時(shí)常交互不順暢、可伸縮性不夠的問(wèn)題,結(jié)合REST式的體系風(fēng)格和面向資源架構(gòu)ROA,使用Web Services來(lái)開(kāi)發(fā)Web分布式應(yīng)用,建立基于SVG/AJAX和REST的WebGIS體系架構(gòu),以實(shí)現(xiàn)對(duì)基于WebGIS的海南旅游地理信息系統(tǒng)的優(yōu)化。

      關(guān)鍵詞:SVG;Ajax;REST;WebGIS

      中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)28-0083-03

      Abstract:Based on SVG and Ajax technology in the application of WebGIS is analyzed, at the same time, in view of the distributed Web application performance is low, often interaction is not smooth, the lack of scalability, combined with restful style of system and resource oriented architecture ROA, use Web Services to develop Web distributed applications, based on SVG/Ajax and REST of WebGIS architecture, to realize the optimization of hainan tourism geographic information system based on WebGIS.

      Key words:SVG; Ajax; REST; WebGIS

      作為GIS與Internet相結(jié)合的產(chǎn)物,WebGIS通過(guò)互聯(lián)網(wǎng)對(duì)以圖形、圖像方式表現(xiàn)的空間數(shù)據(jù)和其屬性數(shù)據(jù)進(jìn)行發(fā)布、信息檢索、空間分析和應(yīng)用,以實(shí)現(xiàn)空間數(shù)據(jù)的共享和互操作。但傳統(tǒng)的Web語(yǔ)言HTML不利于表現(xiàn)空間地理數(shù)據(jù),加上網(wǎng)絡(luò)帶寬的限制,基于WebGIS的空間信息發(fā)布也并不十分理想。因此WebGIS設(shè)計(jì)的主要問(wèn)題是如何能減輕網(wǎng)絡(luò)傳輸負(fù)載,客戶(hù)端采用何種圖形數(shù)據(jù)方式進(jìn)行顯示,并加快地圖顯示速度,同時(shí)此平臺(tái)應(yīng)具備地圖數(shù)據(jù)量小、傳輸方便、GIS數(shù)據(jù)更新快、較強(qiáng)的多媒體信息表現(xiàn)能力等特性。

      1 SVG和Ajax技術(shù)

      SVG是一種開(kāi)放標(biāo)準(zhǔn),用來(lái)描述網(wǎng)絡(luò)的基于二維矢量圖形的一種圖形格式,使用SVG技術(shù)能在網(wǎng)頁(yè)上顯示出各種高品質(zhì)的矢量圖形,如圖形、文字、色彩、動(dòng)畫(huà)、特效等。且SVG使用 XML格式定義圖形,其可擴(kuò)展性很強(qiáng),SVG圖像在放大或改變尺寸的情況下不會(huì)破壞其圖形質(zhì)量。

      Ajax在XHTML和CSS基礎(chǔ)上,使用DOM來(lái)實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示和交互,用JavaScript綁定和處理所有數(shù)據(jù),利用XML和XSTL語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行交換與處理,使用XMLHttpReques對(duì)象讀取異步數(shù)據(jù)。Ajax提供與服務(wù)器異步通信的能力,它在瀏覽器與Web服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請(qǐng)求),用戶(hù)需要的數(shù)據(jù)可以獨(dú)立于實(shí)際網(wǎng)頁(yè),從服務(wù)器端取得并且被動(dòng)態(tài)地寫(xiě)入網(wǎng)頁(yè)中。同時(shí)還可以把服務(wù)器以前承擔(dān)的一些工作任務(wù)轉(zhuǎn)交給用戶(hù)端,在客戶(hù)端閑置時(shí)來(lái)處理這些工作,以此減輕服務(wù)器和帶寬的負(fù)載,并極大地縮短了用戶(hù)等待時(shí)間,提高工作效率。

      2 REST風(fēng)格的Web服務(wù)

      REST是一種架構(gòu)風(fēng)格或者設(shè)計(jì)原則,滿(mǎn)足這些原則的設(shè)計(jì)就是RESTful。REST風(fēng)格架構(gòu)是為了降低Web應(yīng)用開(kāi)發(fā)的復(fù)雜性、提高系統(tǒng)的可伸縮性而設(shè)計(jì)的。利用REST,任何Web上的資源都可以被當(dāng)作URI提供,每個(gè)資源對(duì)應(yīng)的資源標(biāo)識(shí)符是唯一的,無(wú)論對(duì)資源做何種操作都不會(huì)改變資源標(biāo)識(shí)符。通過(guò)URI客戶(hù)端應(yīng)用可以獲取資源的表現(xiàn)形式,同一個(gè)資源有多種不同的表現(xiàn)形式,在服務(wù)器獲得這些資源表現(xiàn)狀態(tài)后,驅(qū)動(dòng)客戶(hù)端應(yīng)用程序轉(zhuǎn)變其狀態(tài),于是客戶(hù)端應(yīng)用程序隨著每個(gè)資源表現(xiàn)狀態(tài)的不同而發(fā)生狀態(tài)轉(zhuǎn)移。通過(guò)設(shè)計(jì)REST式的Web服務(wù)方法,ROA(Resource-Oriented Architecture,面向資源的體系架構(gòu))使URI、HTTP和XML的工作方式跟其他Web應(yīng)用一樣。

      REST架構(gòu)是一種風(fēng)格明確、簡(jiǎn)單易用的架構(gòu)。REST支持直接通過(guò) HTTP 傳輸數(shù)據(jù),使用 REST體系結(jié)構(gòu)構(gòu)建 Web 服務(wù)已經(jīng)開(kāi)始替代傳統(tǒng)的 Web 服務(wù)構(gòu)建方式。遠(yuǎn)程過(guò)程調(diào)用(RPC)式的應(yīng)用是通過(guò)自定義接口的方法來(lái)抽象WEB服務(wù),而REST架構(gòu)采用標(biāo)準(zhǔn)的HTTP方法,可以增強(qiáng)系統(tǒng)與系統(tǒng)之間的整合能力和提高互操作性。對(duì)于分布式的應(yīng)用而言,任意給定兩個(gè)服務(wù)請(qǐng)求可以在任何一臺(tái)服務(wù)器上執(zhí)行,因?yàn)槠渲g沒(méi)有存在相互的狀態(tài)依賴(lài)關(guān)系,所以無(wú)需對(duì)其進(jìn)行相互協(xié)同處理,其應(yīng)用很容易在服務(wù)器端支持負(fù)載均衡。

      3 Ajax與WebGIS

      傳統(tǒng)Web應(yīng)用模型的運(yùn)行過(guò)程是客戶(hù)提交給Web服務(wù)器一個(gè)HTTP請(qǐng)求,服務(wù)器接到這個(gè)請(qǐng)求后,把處理結(jié)果返回一個(gè)HTML頁(yè)面給客戶(hù)端。用戶(hù)若沒(méi)有得到服務(wù)器的響應(yīng)的時(shí)間里一直處于等待狀態(tài),瀏覽器由于頁(yè)面刷新出現(xiàn)白屏。這個(gè)過(guò)程不斷循環(huán)直到用戶(hù)退出,整個(gè)過(guò)程是同步的。

      Ajax模型與傳統(tǒng)模型的不同之處在于服務(wù)響應(yīng)的異步性。這是通過(guò)在客戶(hù)端與服務(wù)端之間的Ajax引擎(Ajax Engine)實(shí)現(xiàn)的。Ajax引擎將客戶(hù)端的頁(yè)面分解為數(shù)據(jù)層、控制層和表現(xiàn)層。AJAX通過(guò)JavaScript的XMLHttpRequestt對(duì)象提供客戶(hù)端同HTTP服務(wù)器異步通信的協(xié)議,Ajax可以使頁(yè)面像桌面程序一樣同服務(wù)器端進(jìn)行數(shù)據(jù)層面的交換。不需要每次都刷新頁(yè)面,每次的數(shù)據(jù)處理工作也不用都交給服務(wù)器來(lái)完成,這樣既減輕了服務(wù)器負(fù)擔(dān)又加快了響應(yīng)速度,縮短了用戶(hù)等待的時(shí)間。

      在WebGIS應(yīng)用中,客戶(hù)與服務(wù)器端需要即時(shí)的交互響應(yīng)和大量的通信,空間數(shù)據(jù)以圖片形式傳輸,因此可以使用Ajax技術(shù)開(kāi)發(fā)為基礎(chǔ)。在基于OGC標(biāo)準(zhǔn)的WMS服務(wù)實(shí)現(xiàn)地圖服務(wù)的方法中,采用Ajax技術(shù)實(shí)現(xiàn)客戶(hù)端與服務(wù)器的異步通信,Ajax引擎按用戶(hù)需求來(lái)獲取空間信息,以減少冗余請(qǐng)求和響應(yīng)對(duì)服務(wù)端造成的負(fù)擔(dān),使整個(gè)WebGIS的性能得到提高。

      4 基于SVG/Ajax/REST的WebGIS體系架構(gòu)的構(gòu)建與實(shí)現(xiàn)

      4.1 基于SVG/Ajax/REST的WebGIS體系架構(gòu)

      從客戶(hù)端來(lái)講,Ajax可以提供很好的圖形用戶(hù)界面,Ajax將網(wǎng)頁(yè)的結(jié)構(gòu)與內(nèi)容分開(kāi),用戶(hù)端設(shè)計(jì)友好的網(wǎng)頁(yè)界面,從服務(wù)器端獲取相應(yīng)的數(shù)據(jù)。WebGIS應(yīng)用中最重要的是數(shù)據(jù)服務(wù),如地理數(shù)據(jù)的搜索與查詢(xún)、瀏覽等。而REST提出的客戶(hù)端緩存思想與Ajax 吻合,結(jié)合REST的特性,將GIS數(shù)據(jù)服務(wù)建成REST風(fēng)格的Web服務(wù),REST風(fēng)格的數(shù)據(jù)資源可以通過(guò)HTTP動(dòng)作獲得,瀏覽器獲取數(shù)據(jù)與用戶(hù)操作異步,加快獲取地理數(shù)據(jù)的速度。且SVG的許多特性應(yīng)用在WebGIS中可以提供高質(zhì)量的WebGIS服務(wù)。

      綜上所述,結(jié)合SVG、Ajax 與REST風(fēng)格來(lái)構(gòu)建以數(shù)據(jù)為中心的WebGIS架構(gòu)是可行的。

      基于SVG/Ajax/REST的WebGIS體系架構(gòu)如圖所示,本架構(gòu)分三層,分別是數(shù)據(jù)層、服務(wù)層和表示層。數(shù)據(jù)層提供基礎(chǔ)數(shù)據(jù)Web服務(wù),以REST方式提供給用戶(hù)所需要的數(shù)據(jù),客戶(hù)端通過(guò)URL遠(yuǎn)程使用需要的數(shù)據(jù)。客戶(hù)端將網(wǎng)頁(yè)的框架與數(shù)據(jù)分開(kāi),通過(guò)Java Script調(diào)用客戶(hù)端上的Ajax引擎,異步地向服務(wù)器發(fā)送HTTP請(qǐng)求,地理信息中的柵格數(shù)據(jù)以XML數(shù)據(jù)格式從服務(wù)器端向客戶(hù)端發(fā)送數(shù)據(jù),通過(guò)服務(wù)器端的URI來(lái)識(shí)別所需資源(即數(shù)據(jù)),數(shù)據(jù)以XML、JSON、SVG等格式傳回給客戶(hù)端 Ajax引擎,再由客戶(hù)端圖像引擎將XML格式數(shù)據(jù)轉(zhuǎn)換為SVG對(duì)象在客戶(hù)端SVG插件中顯示。

      4.2 基于SVG/Ajax/REST的WebGIS實(shí)現(xiàn)

      基于以上服務(wù)架構(gòu),對(duì)基于WebGIS的海南旅游地理信息系統(tǒng)進(jìn)行優(yōu)化??蛻?hù)端實(shí)現(xiàn)地圖的顯示、預(yù)覽、縮放及查詢(xún)功能,以Ajax的方式與Web應(yīng)用服務(wù)層進(jìn)行交互,Web應(yīng)用服務(wù)器響應(yīng)客戶(hù)的請(qǐng)求。地圖服務(wù)器根據(jù)應(yīng)用服務(wù)器發(fā)送的服務(wù)請(qǐng)求調(diào)用REST風(fēng)格的Web服務(wù),處理客戶(hù)請(qǐng)求和對(duì)空間數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)中心用來(lái)提供SVG數(shù)據(jù),包括地理空間數(shù)據(jù)和屬性數(shù)據(jù)。

      系統(tǒng)優(yōu)化后所實(shí)現(xiàn)的主要功能如下:

      1)空間數(shù)據(jù)可視化與發(fā)布

      WebGIS中將柵格地圖轉(zhuǎn)換為SVG格式,以SVG圖形方式顯示系統(tǒng)的地理空間數(shù)據(jù),并支持XML定義圖形,在分辨率變化的情況下圖形質(zhì)量不發(fā)生改變,實(shí)現(xiàn)數(shù)據(jù)的可視化。通過(guò)XML傳輸方式,把空間圖形及屬性數(shù)據(jù)發(fā)送到客戶(hù)端的瀏覽器上,客戶(hù)端通過(guò)SVG圖像引擎轉(zhuǎn)換為SVG圖像供用戶(hù)使用。

      2)空間數(shù)據(jù)查詢(xún)檢索

      通過(guò)Ajax實(shí)現(xiàn)服務(wù)器與瀏覽器的交互,WebGIS可以實(shí)現(xiàn)對(duì)圖形及屬性數(shù)據(jù)的查詢(xún)檢索,并遠(yuǎn)程操作這些數(shù)據(jù)。查詢(xún)分為兩類(lèi):屬性查詢(xún)和空間查詢(xún)。在屬性查詢(xún)中用戶(hù)可以根據(jù)空間對(duì)象的文字性屬性值快速查出地圖中符合條件的空間對(duì)象的具體位置,空間查詢(xún)可以根據(jù)空間對(duì)象的空間屬性值快速的在地圖中確定符合條件的目標(biāo)。

      3)空間地圖管理

      提供給用戶(hù)瀏覽的地圖操作功能,包括地圖的縮放、漫游、點(diǎn)選、區(qū)域選擇、鷹眼、全景、圖層控制等地圖操作。通過(guò)Ajax/REST模式用戶(hù)可以更加快捷、方便地操作地圖。利用AjaxControls的MapControl(地圖控件)、ToolbarControl(工具條控件)、PanToolControl(地圖漫游控件)、ViewEntireToolControl(全圖顯示控件)、QuickZoomOutToolControl(地圖快速縮小控件)、QuickZoomInToolControl(地圖快速放大控件)等實(shí)現(xiàn)對(duì)地圖的操作。

      5 結(jié)論

      通過(guò)對(duì)SVG、Ajax技術(shù)及REST的研究,REST特性的Web服務(wù)更適應(yīng)于GIS在Web上提供數(shù)據(jù)服務(wù);把REST與Ajax的優(yōu)勢(shì)相結(jié)合,使用Ajax調(diào)用WCF Web Services一樣也可以提高Web用戶(hù)的體驗(yàn);SVG是基于可擴(kuò)展標(biāo)記語(yǔ)言格式的,便于在網(wǎng)絡(luò)發(fā)布、傳輸空間數(shù)據(jù),同時(shí)有跨平臺(tái)數(shù)據(jù)量少、傳輸效率高的優(yōu)點(diǎn)。因此構(gòu)建SVG/Ajax/REST的WebGIS體系架構(gòu)有如下特點(diǎn):1)訪(fǎng)問(wèn)速度快。由于Ajax的異步通信能力,能實(shí)現(xiàn)整個(gè)頁(yè)面不用刷新也能更新頁(yè)面的效果,從而減少了從服務(wù)器端下載數(shù)據(jù)的數(shù)量,提高了響應(yīng)速度。 2)可伸縮性強(qiáng)。利用當(dāng)前Web基礎(chǔ)設(shè)施,多個(gè)客戶(hù)與GIS Web服務(wù)交互,不會(huì)導(dǎo)致網(wǎng)絡(luò)負(fù)載的明顯增加。3)良好的互操作性。基于REST原則構(gòu)建的WebGIS強(qiáng)調(diào)服務(wù)間的通信協(xié)議,具有松散耦合的特點(diǎn),因此有助于GIS互操作的實(shí)現(xiàn)。4)降低開(kāi)發(fā)成本,提高了WebGIS的運(yùn)行效率。

      參考文獻(xiàn):

      [1] 孫鴿.郭朝珍.基于SVG的WebGIS空間分析系統(tǒng)的研究與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2012(5).

      [2] 李學(xué)義,李巖.SVG在線(xiàn)空間自相關(guān)分析方法及其應(yīng)用[J].地理與地理信息科學(xué),2012(5).

      [3] 周春峰.基于Flex_REST的WebGIS研究[D].阜新:遼寧工程技術(shù)大學(xué),2011.

      [4] 夏浩波,徐杏芳.Ajax在WebGIS中的應(yīng)用研究[J]. 長(zhǎng)江大學(xué)學(xué)報(bào):自科版, 2008(4):307-308.

      [5] 毛峰.基于REST風(fēng)格地理空間信息服務(wù)的WebGIS設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2010.

      [6] 陳宏飛.基于SVG與Ajax技術(shù)的WebGIS的研究與設(shè)計(jì)[D].西安:陜西師范大學(xué),2009.

      平阳县| 安阳县| 波密县| 大化| 马关县| 双柏县| 龙胜| 榆社县| 墨玉县| 阳原县| 达拉特旗| 青岛市| 政和县| 西丰县| 通化市| 岫岩| 广元市| 宁远县| 柳林县| 屏东县| 莎车县| 定结县| 禹城市| 荥阳市| 湖南省| 岳阳市| 鹤壁市| 长春市| 西和县| 无棣县| 望奎县| 探索| 丰顺县| 石狮市| 呼图壁县| 临邑县| 喀喇沁旗| 宜君县| 澎湖县| 琼中| 乌鲁木齐县|