国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SVG和SOAP在WebGIS中的應(yīng)用研究

2012-07-13 09:02:34何永強(qiáng)
關(guān)鍵詞:體系結(jié)構(gòu)服務(wù)器端空間數(shù)據(jù)

李 浩,何永強(qiáng)

(河南工程學(xué)院計(jì)算機(jī)科學(xué)與工程系,河南鄭州451191)

隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,利用Internet技術(shù)在Web上發(fā)布空間數(shù)據(jù),供用戶瀏覽和使用,是GIS發(fā)展的必然趨勢.WebGIS是GIS技術(shù)與Web技術(shù)集成的產(chǎn)物,側(cè)重于地理信息與空間處理的共享.它與傳統(tǒng)的GIS相比具有訪問范圍廣、平臺(tái)獨(dú)立、大規(guī)模降低系統(tǒng)成本和維護(hù)、升級(jí)方便等特點(diǎn).傳統(tǒng)的GIS應(yīng)用系統(tǒng)開發(fā)模式將用戶界面和業(yè)務(wù)邏輯、數(shù)據(jù)源以及通訊協(xié)議綁定在一起,一般需在后臺(tái)運(yùn)行1個(gè)或多個(gè)GIS應(yīng)用程序.這種模式只解決了在Web上發(fā)布空間信息的問題,并沒有針對(duì)Web應(yīng)用環(huán)境進(jìn)行重新設(shè)計(jì)和優(yōu)化,因此在功能和效能上不能滿足人們的需求.分布式WebGIS就是利用最先進(jìn)的分布式計(jì)算技術(shù)來處理分布在網(wǎng)絡(luò)上的異構(gòu)多源的地理信息,集成網(wǎng)絡(luò)上不同平臺(tái)上的空間服務(wù),構(gòu)建一個(gè)物理上分布,邏輯上統(tǒng)一的地理信息系統(tǒng).作者針對(duì)WebGIS在分布式環(huán)境中的不足,將SVG和SOAP引入WebGIS的設(shè)計(jì)中.SVG以矢量化的形式發(fā)布和顯示地圖數(shù)據(jù)[1],擺脫了GIS系統(tǒng)制作發(fā)布地圖時(shí)地圖數(shù)據(jù)格式必須為空間數(shù)據(jù)格式的限制.SOAP使用基于XML的通信協(xié)議,實(shí)現(xiàn)了不同協(xié)議和組件之間的互操作性,降低了程序設(shè)計(jì)的復(fù)雜性[2].本研究結(jié)合這2種技術(shù),提出了一種新的WebGIS體系結(jié)構(gòu),討論了該體系結(jié)構(gòu)的實(shí)現(xiàn).并給出了一個(gè)具體的基于該體系結(jié)構(gòu)的應(yīng)用實(shí)例.

2 WebGIS的典型實(shí)現(xiàn)方式

WebGIS與其它采用B/S結(jié)構(gòu)的信息系統(tǒng)類似,一般采用由數(shù)據(jù)庫、GIS應(yīng)用服務(wù)器、Web服務(wù)器和客戶端組成的多層體系結(jié)構(gòu),客戶端一般為Web瀏覽器,而服務(wù)器端則包含Web服務(wù)器、GIS應(yīng)用服務(wù)器及數(shù)據(jù)庫[3].

2.1 Internet空間數(shù)據(jù)處理的分層模型及3種WebGIS模式

OGC(Open geospatial consortium)提出了在Internet上訪問異構(gòu)空間數(shù)據(jù)源的分層模型,空間數(shù)據(jù)的顯示(或可視化)要經(jīng)過下面的4個(gè)層次.(1)數(shù)據(jù)資源層.從空間數(shù)據(jù)源中選擇要顯示的地理實(shí)體的數(shù)據(jù).(2)數(shù)據(jù)提供層.把選擇出來的地理實(shí)體數(shù)據(jù)組合生成一個(gè)顯示元素的序列.(3)數(shù)據(jù)轉(zhuǎn)換層.將顯示元素系列生成最終要顯示的地圖結(jié)果.(4)數(shù)據(jù)顯示層.準(zhǔn)備好的地圖在顯示設(shè)備進(jìn)行最終顯示.在這4層中,每相鄰2層是服務(wù)與被服務(wù)的關(guān)系.分層模型并沒有限制相鄰2層的執(zhí)行必須要在1臺(tái)機(jī)器上,當(dāng)其中某相鄰2層被Internet分開時(shí),就得到了3種WebGIS系統(tǒng)體系結(jié)構(gòu):瘦客戶(Thin client)模式、胖客戶(Thick client)模式和混合(Medium client)模式.這3種WebGIS體系結(jié)構(gòu)的分層結(jié)構(gòu)使系統(tǒng)具有較大的靈活性和可維護(hù)性.但同樣存在以下不足之處.(1)空間信息通常與特定的GIS產(chǎn)品綁定.空間信息具有各種各樣的結(jié)構(gòu),GIS平臺(tái)內(nèi)部的數(shù)據(jù)傳輸通過專有的通信協(xié)議來進(jìn)行,用戶只能使用特定的GIS平臺(tái)來訪問某個(gè)空間信息,無法實(shí)現(xiàn)WebGIS跨網(wǎng)絡(luò),跨平臺(tái)的數(shù)據(jù)交換和信息共享.(2)在客戶端由于大量智能終端(如PDA)的使用,對(duì)空間數(shù)據(jù)的發(fā)布形式提出了新的要求.相對(duì)于瀏覽器,PDA的數(shù)據(jù)處理能力較弱.在客戶端大量使用插件、構(gòu)件也不現(xiàn)實(shí).(3)服務(wù)器與客戶端之間的數(shù)據(jù)傳輸量大,相當(dāng)一部分?jǐn)?shù)據(jù)是以GIF或JPEG圖像的形式存在的.增加了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān).

2 SVG和SOAP技術(shù)及其在Web-GIS中應(yīng)用的可行性

2.1 SVG 技術(shù)

SVG(Scalable vector graphics)是W3C頒布的矢量圖形Web標(biāo)準(zhǔn),它是基于XML的一個(gè)全新的標(biāo)準(zhǔn),SVG不同于傳統(tǒng)的二維圖形和動(dòng)畫制作,它使用簡單的一維(文本)語句完成矢量圖形,能夠包含復(fù)雜元素,如漸變、動(dòng)畫及簡單的文本命令等.

在WebGIS中引入SVG作為空間數(shù)據(jù)的傳輸格式和發(fā)布形式的優(yōu)勢在于[4,5]:①SVG 是基于XML的,使用XML作為空間數(shù)據(jù)的傳輸格式,有助于解決異構(gòu)環(huán)境下的數(shù)據(jù)傳輸和數(shù)據(jù)共享問題.②SVG是可編程的.可以針對(duì)SVG的DOM或SAX接口進(jìn)行編程,動(dòng)態(tài)地生成包含SVG圖形的Web頁面.③SVG是可擴(kuò)充的.由于SVG是基于XML的,因此,可根據(jù)地理空間數(shù)據(jù)的特點(diǎn)對(duì)SVG進(jìn)行必要的擴(kuò)展,以便通過SVG能夠有效地描述地理空間數(shù)據(jù).④SVG支持?jǐn)?shù)據(jù)的分層管理和顯示,這符合人們使用GIS的習(xí)慣.

2.2 SOAP 技術(shù)

SOAP(Simple object access protocol)是一個(gè)基于XML的通信協(xié)議,在該協(xié)議下,軟件組件和應(yīng)用程序能夠通過標(biāo)準(zhǔn)的HTTP協(xié)議通信.使現(xiàn)有的軟件不論基于何種編程模型都可以通過互聯(lián)網(wǎng)進(jìn)行通信[6].現(xiàn)有的 WebGIS系統(tǒng)要廣泛地應(yīng)用于網(wǎng)絡(luò),還存在著以下一些問題.(1)防火墻穿越和用戶認(rèn)證.(2)協(xié)議之間的轉(zhuǎn)換.當(dāng)前流行的組件技術(shù)主要是DCOM,CORBA和JavaBean,它們運(yùn)行在不同的平臺(tái)之上,使用不同的協(xié)議來進(jìn)行通信.這些組件之間的相互通信需要進(jìn)行協(xié)議轉(zhuǎn)換,方法很復(fù)雜并容易出錯(cuò).把SOAP綁定到HTTP,很好地解決了以上問題.在HTTP中攜帶SOAP消息,將構(gòu)建在HTTP之上的SOAP語義自然地對(duì)應(yīng)到了HTTP語義上.SOAP自然地遵循HTTP的請(qǐng)求應(yīng)答消息模型,這使得SOAP的請(qǐng)求和應(yīng)答參數(shù)可以包含在HTTP請(qǐng)求和應(yīng)答中.

3 基于SVG和SOAP的WebGIS體系結(jié)構(gòu)

基于SVG及SOAP的WebGIS多層體系結(jié)構(gòu)如圖1所示.系統(tǒng)設(shè)計(jì)采用4層分布式體系結(jié)構(gòu),即客戶端、Web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫.客戶端包括PC,PDA,手機(jī)等多種用戶終端.服務(wù)器端包括3部分,前端采用傳統(tǒng)的Web服務(wù)器,用于處理用戶的請(qǐng)求與響應(yīng).中間是應(yīng)用服務(wù)器,所有處理邏輯全集中在該服務(wù)器中,后端是數(shù)據(jù)庫.在該體系結(jié)構(gòu)中,使用SVG作為空間數(shù)據(jù)的傳輸格式和發(fā)布形式,使用SOAP作為服務(wù)器端的通信協(xié)議.

3.1 基于SVG和SOAP的WebGIS體系結(jié)構(gòu)特點(diǎn)

基于SVG和SOAP的WebGIS體系結(jié)構(gòu)具有以下特點(diǎn).(1)具有良好的可擴(kuò)展性.SVG及SOAP的基礎(chǔ)是XML,易于理解、使用簡便,而且可以根據(jù)需要進(jìn)行擴(kuò)展.(2)提高了人機(jī)交互能力.客戶端與服務(wù)器端傳輸?shù)氖腔赬ML的SVG文本文件,減少了網(wǎng)絡(luò)上的數(shù)據(jù)流量.SVG可以在瀏覽器上顯示高質(zhì)量的矢量圖形,借助于JavaScript腳本語言,可實(shí)現(xiàn)用戶與地圖元素的交互.(3)具有良好的平臺(tái)無關(guān)性.SVG和SOAP技術(shù)都是完全開放的技術(shù),SVG文件是符合XML規(guī)范的文本文件,從SOAP的定義可以看出,SOAP就是XML+HTTP.由SVG和SOAP組合可以構(gòu)成與平臺(tái)無關(guān)的Web-GIS的數(shù)據(jù)顯示及傳輸模式.這就使得基于這種技術(shù)的WebGIS更容易將分布式異構(gòu)地理空間數(shù)據(jù)進(jìn)行集成處理,使系統(tǒng)的開放性大大加強(qiáng)[7,8].

圖1 基于SVG和SOAP的WebGIS體系結(jié)構(gòu)Fig.1 WebGIS architecture based on the SVG and SOAP

3.2 基于SVG和SOAP的WebGIS體系結(jié)構(gòu)的具體實(shí)現(xiàn)

根據(jù)實(shí)際需要,本研究對(duì)OGC提出的訪問異構(gòu)空間數(shù)據(jù)源的分層模型進(jìn)行了改進(jìn),新增加了1個(gè)數(shù)據(jù)準(zhǔn)備層,將Web服務(wù)器與應(yīng)用服務(wù)器分離開來.體系結(jié)構(gòu)的具體實(shí)現(xiàn)包括客戶端的實(shí)現(xiàn)、服務(wù)器端的實(shí)現(xiàn)以及SOAP協(xié)議的實(shí)現(xiàn).(1)客戶端的實(shí)現(xiàn).根據(jù)分層模型,客戶端包括空間數(shù)據(jù)轉(zhuǎn)換層和空間數(shù)據(jù)顯示層.?dāng)?shù)據(jù)轉(zhuǎn)換層的功能是將SVG形式的地圖數(shù)據(jù)轉(zhuǎn)換為可以在瀏覽器上顯示的矢量格式.這一功能的實(shí)現(xiàn)是通過Adobe公司開發(fā)的瀏覽器端插件SVG Viewer實(shí)現(xiàn)的,通過該插件,就可以在瀏覽器上顯示SVG格式的矢量圖形.?dāng)?shù)據(jù)顯示層是根據(jù)用戶的要求,在瀏覽器上以分層的形式顯示矢量地圖.SVG Viewer可以完成對(duì)矢量圖形的瀏覽、放大及縮小等簡單操作.具體實(shí)施時(shí),就是在SVG文檔的宿主頁面中,通過JavaSript腳本語言來操作SVG文檔的DOM樹,以實(shí)現(xiàn)諸如圖形漫游、屬性信息查詢、圖層顯示控制等功能[9].(2)服務(wù)器端的實(shí)現(xiàn).服務(wù)器端分為數(shù)據(jù)源層、數(shù)據(jù)提供層和數(shù)據(jù)準(zhǔn)備層.它們分別由Web服務(wù)器、應(yīng)用服務(wù)器及數(shù)據(jù)庫服務(wù)器來實(shí)現(xiàn).?dāng)?shù)據(jù)提供層通過JDBC或ODBC訪問處于分布式環(huán)境中的數(shù)據(jù)資源層.?dāng)?shù)據(jù)準(zhǔn)備層作為數(shù)據(jù)客戶端向數(shù)據(jù)提供層通過SOAP請(qǐng)求數(shù)據(jù).

數(shù)據(jù)源層主要指數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫中存貯空間數(shù)據(jù)及屬性數(shù)據(jù).?dāng)?shù)據(jù)源層的功能相對(duì)較簡單,根據(jù)用戶的查詢請(qǐng)求,返回符合要求的空間和數(shù)據(jù).?dāng)?shù)據(jù)提供層由數(shù)據(jù)查詢組件、數(shù)據(jù)管理組件、SOAP引擎等構(gòu)成,完成GIS的核心功能.?dāng)?shù)據(jù)查詢組件根據(jù)用戶發(fā)出的請(qǐng)求,通過ODBC或JDBC連接數(shù)據(jù)庫,完成對(duì)空間數(shù)據(jù)及屬性數(shù)據(jù)的提?。?dāng)?shù)據(jù)管理組件對(duì)這些數(shù)據(jù)進(jìn)行分類解析,處理數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)換為基于XML的SVG格式.SOAP引擎處理來自數(shù)據(jù)準(zhǔn)備層的SOAP請(qǐng)求,調(diào)用相應(yīng)的組件完成用戶的請(qǐng)求,并將最后生成的SVG格式的數(shù)據(jù)發(fā)送到數(shù)據(jù)準(zhǔn)備層.該層中的組件可以采用JavaBeans實(shí)現(xiàn).?dāng)?shù)據(jù)準(zhǔn)備層要實(shí)現(xiàn)2個(gè)方面的功能.一方面接收客戶端的請(qǐng)求,將用戶的請(qǐng)求封裝成SOAP請(qǐng)求發(fā)到數(shù)據(jù)提供層;另一方面解析來自數(shù)據(jù)提供層的響應(yīng),提取其中的SVG數(shù)據(jù),嵌入到HTML頁面中,發(fā)送到客戶端進(jìn)行顯示.由于采用了分布式組件技術(shù),各層之間以一種松散的方式進(jìn)行耦合,只要接口不變,各層具體實(shí)現(xiàn)方式的改變并不會(huì)對(duì)系統(tǒng)的運(yùn)行造成如何影響.各層可以部署在1臺(tái)機(jī)器上,也可以部署到不同的機(jī)器上.

4 應(yīng)用實(shí)例

基于上述體系結(jié)構(gòu),作者設(shè)計(jì)了1個(gè)簡單的應(yīng)用實(shí)例,創(chuàng)建了1個(gè)陜西省社會(huì)、經(jīng)濟(jì)地圖,實(shí)現(xiàn)了SVG地圖的圖層顯示及與用戶的交互(圖2).具體使用的技術(shù)為數(shù)據(jù)庫服務(wù)器使用MySQL,Web服務(wù)器使用Tomcat4.1,應(yīng)用服務(wù)器由JavaBean組件構(gòu)成,客戶端通過SVG Viewe,由JavaScript腳本處理用戶對(duì)地圖的操作.服務(wù)器端代碼用Java實(shí)現(xiàn).

圖2 陜西省社會(huì)、經(jīng)濟(jì)地圖Fig.2 Social and economic map of Shanxi Province

陜西省社會(huì)、經(jīng)濟(jì)地圖可以顯示陜西省各個(gè)地區(qū)的社會(huì)、經(jīng)濟(jì)基本數(shù)據(jù),用戶可以選擇顯示鐵路、公路、城市邊界、城市位置等圖層,各個(gè)圖層可以相互疊加,也可以根據(jù)用戶的需要只顯示某個(gè)圖層.地圖采用矢量圖形形式表現(xiàn)空間數(shù)據(jù),以字符形式表現(xiàn)文本注記,以圖形屬性形式表現(xiàn)屬性數(shù)據(jù),可以無級(jí)縮放,且不會(huì)產(chǎn)生任何失真.地圖除能實(shí)現(xiàn)放大、縮小和漫游外,還可以通過腳本與SVG圖元對(duì)象進(jìn)行交互,實(shí)現(xiàn)了柵格地圖中無法實(shí)現(xiàn)的圖形要素選擇、屬性信息查詢等交互功能.

5 結(jié)語

計(jì)算機(jī)軟件技術(shù)的發(fā)展,為WebGIS的實(shí)現(xiàn)提供了更多更好的實(shí)現(xiàn)方式,SVG和SOAP所構(gòu)成的地理信息的發(fā)布和數(shù)據(jù)傳輸模式無疑為實(shí)現(xiàn)Weg-GIS體系構(gòu)架提供了一種新的方法.本研究提出的體系結(jié)構(gòu)使用SOAP協(xié)議實(shí)現(xiàn)了瀏覽器端與Web服務(wù)端的數(shù)據(jù)請(qǐng)求,服務(wù)器端以SVG的格式將響應(yīng)數(shù)據(jù)發(fā)送到瀏覽器端,利用瀏覽器客戶端技術(shù)實(shí)現(xiàn)了圖層顯示、圖形標(biāo)注、用戶交互及初步的空間分析,豐富了WebGIS的功能,有利于不同組件之間的數(shù)據(jù)交換,提高了系統(tǒng)的擴(kuò)展性.但由于SVG和SOAP都是近年出現(xiàn)的新技術(shù),相關(guān)的標(biāo)準(zhǔn)也在不斷的完善當(dāng)中.在某些方面也存在一些欠缺之處,如SVG插件對(duì)地圖操作功能支持有限,還必須在客戶端編寫腳本實(shí)現(xiàn)更復(fù)雜的操作.SOAP傳輸數(shù)據(jù)的安全性也是亟待解決的問題.

[1] 肖奇?zhèn)?,周石琳,?勇.一種基于GIS組件的矢量符號(hào)設(shè)計(jì)和標(biāo)繪的通用方法[J].計(jì)算機(jī)工程與科學(xué),2005,27(11):74 -77.

[2] 尹 芳,諸云強(qiáng),張金區(qū),等.科學(xué)考察空間數(shù)據(jù)WebGIS信息發(fā)布及可視化研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7):2336 -2339.

[3] 周文生,毛 鋒,胡 鵬.Web環(huán)境下地理空間數(shù)據(jù)的開放式表達(dá)體系研究[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2004,28(1):43-47.

[4] 盧文龍,王英杰,閻東生.用SVG技術(shù)實(shí)現(xiàn)基于GML的 WebGIS研究[J].中國圖象圖形學(xué)報(bào),2007,3(3):546-571.

[5] 周文生.基于SVG的WebGIS研究[J].中國圖象圖形學(xué)報(bào),2002,7(7):693 -698.

[6] 宋 揚(yáng),潘 懋,胡金星,等.一種基于SOAP的Web-GIS系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2003(11):137-139.

[7] 張 壘,沈玉利,蔣明亮,等.SVG動(dòng)態(tài)地理信息統(tǒng)計(jì)專題圖系統(tǒng)方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(5):190-194.

[8] 林 峰,郭朝珍.基于SVG的WebGIS交互協(xié)同機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[J].東南大學(xué)學(xué)報(bào):自然科學(xué)版,2010,40(11):272-276.

[9] 李博霏,李 欣,李艷明.基于瀏覽器的地理信息服務(wù)客戶端技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(9):3031-3035.

猜你喜歡
體系結(jié)構(gòu)服務(wù)器端空間數(shù)據(jù)
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
基于粒計(jì)算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
元數(shù)據(jù)驅(qū)動(dòng)的多中心空間數(shù)據(jù)同步方法研究
在Windows中安裝OpenVPN
基于DODAF的裝備體系結(jié)構(gòu)設(shè)計(jì)
基于云計(jì)算的航天器控制系統(tǒng)自組織體系結(jié)構(gòu)
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲(chǔ)與組織研究
客戶端空間數(shù)據(jù)緩存策略
多源空間數(shù)據(jù)同名實(shí)體幾何匹配方法研究
合作市| 定西市| 哈尔滨市| 樟树市| 淮阳县| 阳原县| 宜良县| 固始县| 商洛市| 济南市| 宝清县| 尖扎县| 克什克腾旗| 吉木乃县| 侯马市| 日照市| 德阳市| 泸水县| 昌都县| 温宿县| 抚顺市| 双城市| 阜宁县| 共和县| 沅陵县| 东阿县| 常山县| 贵南县| 荔浦县| 开鲁县| 阆中市| 高淳县| 班玛县| 闸北区| 灵山县| 巴中市| 敖汉旗| 无锡市| 抚宁县| 临夏市| 廉江市|