




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于Java的Web GIS實(shí)現(xiàn)基于Java的WebGIS實(shí)現(xiàn)王佐成1,2薛麗霞?汪林林李永樹(西南交通大學(xué)土木工程學(xué)院,成都610031)(重慶郵電學(xué)院,重慶400065)Email:xuelx摘要論文通過對(duì)目前的webGIS實(shí)現(xiàn)技術(shù)進(jìn)行分析,對(duì)采用Java建立WebGIS系統(tǒng)進(jìn)行了研究,并在基于WebGIS的設(shè)施物管理信息系統(tǒng)中進(jìn)行實(shí)現(xiàn).關(guān)鍵詞WebGISJavaApplet設(shè)施物管理系統(tǒng)文章編號(hào)10028331一(2005)20009503文獻(xiàn)標(biāo)識(shí)碼A中圖分類號(hào)TP3l1ResearchandImplement0fWebGISBasedonJavaWangZuocheng?XueLixi
2、a?WangLinlinLiYongshu(SchoolofCivilEng.,SouthwestJiaotongUniversity,Chengdu610031)(SoftwareInstituteofChongqingUniversityofPostandTelecommunication,Chongqing400065)Abstract:BasedontheanalysisofWebGIStechniques,thepaperresearchesthedesignofWebGISsystembyJava,andcompletesthefacilitymanagementsystem.Ke
3、ywords:WebGIS,JavaApplet,facilitymanagementsysteml前言WebGIS是Internet技術(shù)應(yīng)用于GIS開發(fā)的產(chǎn)物,隨著互聯(lián)網(wǎng)(Internet)技術(shù)的不斷發(fā)展和人們對(duì)地理信息系統(tǒng)的需求,利用Internet在萬維網(wǎng)(WorldWideWeb,WWW)上發(fā)布和出版空間數(shù)據(jù),為用戶提供空間數(shù)據(jù)瀏覽,查詢和分析的功能,已經(jīng)成為GIS發(fā)展的必然趨勢.wEBGIS使得GIS從實(shí)驗(yàn)室走向各應(yīng)用部門,從專業(yè)人員走向大眾.GIS通過wWw功能得以擴(kuò)展,真正成為一種大眾使用的工具.2WebGIS系統(tǒng)的實(shí)現(xiàn)技術(shù)方法分析到目前為止webGIS系統(tǒng)的實(shí)現(xiàn)技術(shù)方法主要有:
4、通用網(wǎng)關(guān)接VI技術(shù)方法(CommonGatewayInterface,CGI);Plugin技術(shù)方法,即應(yīng)用程序插件技術(shù)方法;ActiveX控件和C0M對(duì)象構(gòu)件技術(shù)方法以及Java語言編程技術(shù)方法,包括Java小程序(JavaApplet)和Java虛擬機(jī)技術(shù)(VRM)等.2.1利用CCI技術(shù)方法構(gòu)建WebGIS系統(tǒng)CGI是Internet/Intranet網(wǎng)絡(luò)服務(wù)器調(diào)用外部應(yīng)用程序的接口,通過CGI可以擴(kuò)展網(wǎng)絡(luò)服務(wù)器的功能.這時(shí)CGI的作用即相當(dāng)于在外部應(yīng)用程序與Internet/Intranet網(wǎng)絡(luò)服務(wù)器之間架設(shè)一座橋梁,使網(wǎng)絡(luò)服務(wù)器對(duì)客戶端的請(qǐng)求作出響應(yīng).響應(yīng)具體的實(shí)現(xiàn)是客戶端通過網(wǎng)絡(luò)服
5、務(wù)器激發(fā)CGI程序,讀取超文本標(biāo)識(shí)語言(HTML)文件,并將讀取的數(shù)據(jù)信息或文件,通過服務(wù)器送往客戶端.這種實(shí)現(xiàn)方式的風(fēng)險(xiǎn)在于一方面是受到網(wǎng)絡(luò)的傳輸速度限制;另一方面是傳統(tǒng)的CIS原有的數(shù)據(jù)類型與Internet/Intranet現(xiàn)有的數(shù)據(jù)類型相距甚遠(yuǎn),要在瀏覽器上實(shí)現(xiàn)原有的許多操作變得很困難.2-2利用ActiveX控件和C0M構(gòu)件模型技術(shù)建立WebCIS系統(tǒng)微軟公司的網(wǎng)絡(luò)構(gòu)件對(duì)象模型COM技術(shù)和ActiveX控件技術(shù)方法具備構(gòu)造各種GIS系統(tǒng)功能模塊的能力.利用這些技術(shù)方法和與之相應(yīng)的OLE(對(duì)象聯(lián)接與嵌入),SDE(空間數(shù)據(jù)引擎)技術(shù)方法相結(jié)合,可以開發(fā)出功能強(qiáng)大的WebGIS系統(tǒng)口.用
6、這種技術(shù)方法構(gòu)建的webGIS系統(tǒng),具有很好的靈活性,擴(kuò)展能力強(qiáng),可充分利用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的優(yōu)勢.2.3利用Plugin插件技術(shù)方法建立WebGIS系統(tǒng)目前流行的Internet/Intranet網(wǎng)絡(luò)瀏覽器,如Netscape和InternetExplorer等均具有應(yīng)用程序接口(API),目的就是方便網(wǎng)絡(luò)開發(fā)商和用戶擴(kuò)展與網(wǎng)絡(luò)相關(guān)的應(yīng)用.實(shí)際上,這種方法構(gòu)造WebGIS系統(tǒng)的思路和原理與CGI技術(shù)方法有許多相似的地方,所不同的是Plugin技術(shù)方法是在客戶端的瀏覽器上增加一個(gè)能識(shí)別矢量圖形數(shù)據(jù)的插件來解決網(wǎng)絡(luò)帶寬的限制.這種技術(shù)方法的特點(diǎn)是以通用的瀏覽器為平臺(tái),易于操作使用.同時(shí)它是
7、嵌入式的插件,它自身所提供強(qiáng)大的圖形及數(shù)據(jù)庫操作功能與瀏覽器的功能相結(jié)合較好的解決了各種圖形與屬性數(shù)據(jù)的全方位瀏覽,檢索查詢和統(tǒng)計(jì)分析等操作問題.2.4利用Java編程語言建立WebGIS系統(tǒng)Java是專門用于互聯(lián)網(wǎng)設(shè)計(jì)的編程語言,是一種具有面向?qū)ο?安全,可移植,多線程和動(dòng)態(tài)等各種特性的語言.它既可以用來研制獨(dú)立運(yùn)行的軟件系統(tǒng),也可用來研制類似插入軟件的系統(tǒng).Java是完全面向?qū)ο蠛涂缙脚_(tái)的語言,萬維網(wǎng)瀏覽器基金項(xiàng)目:重慶郵電學(xué)院青年教師資金資助(編號(hào):200413)作者簡介:王佐成,男,博士生,主要研究領(lǐng)域?yàn)镚IS組件倉庫,空間數(shù)據(jù)庫,數(shù)據(jù)挖掘.薛麗霞,女,博士生,主要研究領(lǐng)域?yàn)?s技術(shù)及
8、其應(yīng)用,軟件工程.計(jì)算機(jī)工程與應(yīng)用2005.2095如IntemetExplorer和NetscapeNavigator都支持Java寫的程序.3基于Java的WebGIS的實(shí)現(xiàn)基于JAVAApplet模式的WebGIS的實(shí)現(xiàn)中,GISJavaApplet嵌人在HTML文件中,在網(wǎng)絡(luò)瀏覽器下載該HTML文件時(shí),Java程序的執(zhí)行代碼也同時(shí)被下載到用戶端的機(jī)器上,由瀏覽器解釋執(zhí)行.地圖上所有需要用戶用鼠標(biāo)進(jìn)行操作的事件都由Applet進(jìn)行處理.Applet需要根據(jù)用戶選擇的工具條,捕獲不同的鼠標(biāo)事件和鼠標(biāo)操作的屏幕坐標(biāo)位置,并在Applet畫布上進(jìn)行相應(yīng)的處理.根據(jù)不通的地圖操作類型,需要App
9、let進(jìn)行處理和捕獲的鼠標(biāo)事件和坐標(biāo).當(dāng)用戶一個(gè)地圖操作完成,Applet應(yīng)該向web服務(wù)器提出地圖操作請(qǐng)求,如數(shù)據(jù)查詢等,如圖l.Applttlistet-ma8監(jiān)聽程序上調(diào)用姚CutttcntstY(方法圖IApplet的實(shí)現(xiàn)流程Applet負(fù)責(zé)本地執(zhí)行地圖放大,縮小,漫游等功能,通過CGI,RMI,IDL與應(yīng)用服務(wù)器通信.web服務(wù)器負(fù)責(zé)www服務(wù),處理和分發(fā)請(qǐng)求.應(yīng)用服務(wù)器負(fù)責(zé)處理并發(fā)請(qǐng)求,實(shí)例化狀態(tài),交易處理,安全管理,數(shù)據(jù)庫連接池管理等.應(yīng)用構(gòu)件用于完成不同的用戶應(yīng)用功能.這種工作方式在一定程度上減少了服務(wù)器端的負(fù)載和網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,具有適用性,可靠性,安全性的特點(diǎn).4WebG
10、IS應(yīng)用系統(tǒng)的研制開發(fā)實(shí)例一設(shè)施物管理信息系統(tǒng)(FMS)4.1系統(tǒng)開發(fā)目標(biāo)隨著GIS技術(shù)的快速發(fā)展和應(yīng)用的普及,國內(nèi)外就設(shè)施物管理已經(jīng)建立了許多GIS管理信息系統(tǒng).本研究根據(jù)實(shí)際情況,開發(fā)基于B/S(Browser/Server)模式具有良好的可擴(kuò)展性和跨平臺(tái)特性的設(shè)施物管理信息系統(tǒng).對(duì)城市或者區(qū)域眾多的基礎(chǔ)設(shè)施進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)管理信息化;為專業(yè)管理人員和公眾用戶提供方便,快捷,準(zhǔn)確的設(shè)施物信息顯示,查詢,編輯以及輸人輸出功能;基于GIS的空間分析統(tǒng)計(jì)功能,對(duì)設(shè)施信息物信息進(jìn)行綜合分析,為管理決策提供輔助決策支持.4.2系統(tǒng)總體設(shè)計(jì)本系統(tǒng)采用三級(jí)B/S體系結(jié)構(gòu),系統(tǒng)前端是Client/Bro
11、wser,中間是WEBServer,后端是DatabaseServer.Client/Browser通過與用戶交互,提交請(qǐng)求,表達(dá)顯示數(shù)據(jù)的功能,JavaApplet運(yùn)行于此;WEBSever服務(wù)器位于系統(tǒng)的中間,是系統(tǒng)的樞紐與核心部分.具有發(fā)布HTML,ASP網(wǎng)頁,執(zhí)行ASP網(wǎng)頁和組件,與DatabaseServer通訊的功能;DatabaseServer管理空間數(shù)據(jù)和其它屬性數(shù)據(jù).如圖2.4.3系統(tǒng)實(shí)現(xiàn)在本系統(tǒng)的實(shí)現(xiàn)中,與用戶直接交互的JavaApplet是關(guān)962005.加計(jì)算機(jī)工程與應(yīng)用鍵,下面僅就本系統(tǒng)實(shí)現(xiàn)的JavaApplet做一簡單介紹.由于JavaApplet在下載/加載速度方
12、面速度較慢,用戶等待時(shí)間較長.因此,在系統(tǒng)中,為提高JAvAApplet效率,加快其下載/加載速度,在對(duì)JavaApplet進(jìn)行設(shè)計(jì)時(shí)盡量保持其小巧高效.針對(duì)用戶可能進(jìn)行的操作,我們定義JavaApplet地圖操作包括:放大,縮小,平移,鷹眼,測距,還原,查看,居中,圖層,根據(jù)屬性查詢.用戶操作地圖時(shí),我們根據(jù)用戶提交的數(shù)據(jù)在服務(wù)器端進(jìn)行對(duì)應(yīng)的處理.JavaApplet實(shí)現(xiàn)客戶端界面如圖3.CntsIISppkt圖2系統(tǒng)總體結(jié)構(gòu)圖3系統(tǒng)實(shí)現(xiàn)客戶端界面(1)地圖服務(wù)器初始化初始化地圖服務(wù)器主要時(shí)初始化服務(wù)器端的地圖處理對(duì)象的狀態(tài).代碼如下:bResuh=InitMapEngine(OBTAIN_
13、FROM.BROKER,GetServerGroupName()bResuh=RestoreState()InitMapEngine的作用是在服務(wù)器端生成地圖處理對(duì)象,RestoreState函數(shù)的作用是回復(fù)地圖處理對(duì)象的狀態(tài)到上次地圖操作過后的狀態(tài).(2)地圖放大的處理地圖放大時(shí),需要客戶端提交的操作參數(shù)是,用戶想放大的區(qū)域的屏幕矩形坐標(biāo)的范圍(相對(duì)于地圖顯示矩形).其中主要需要兩個(gè)函數(shù):一個(gè)是ConvertSereenCoordsToMap(),該函數(shù)的作用是把用戶提交給服務(wù)器的屏幕坐標(biāo)參數(shù)轉(zhuǎn)換為實(shí)際的地圖坐標(biāo)參數(shù),根據(jù)用戶提交的矩形框的大小,如果矩形的大小和地圖的實(shí)際大小長寬比不一致,以
14、用戶提交的矩形筐的長寬中,超過比例的一方算.另一個(gè)是SetMapCenterAndZoomTo(),該函數(shù)的作用是設(shè)置地圖的中心坐標(biāo)和地圖的顯示范圍.(3)地圖縮小的處理地圖縮小操作不用向服務(wù)器提交具體的坐標(biāo)參數(shù).地圖縮小的關(guān)鍵代碼如下:CurrentZoom=CurrentZoom2.0Session(cCurrentUsedToo1)='cZoomOut求請(qǐng)一團(tuán)圈一固Session(cMapXObject).Zoom=CurrentZoom(4)圖平移的處理地圖平移操作需要提交給服務(wù)器的參數(shù)如下:用戶拖動(dòng)圖片的起點(diǎn)和終點(diǎn)的相對(duì)于地圖左上角的屏幕坐標(biāo).地圖平移操作的代碼如下:bRC=
15、ConvertScreenCoordsToMap(sereendownx,screendowny,dblMapX1,dblMapY1)bRC=ConvertScreenCoordsToMap(screenupx,screenupy,dblMapX2,dblMapY2)dblCenterX=PreviousCenterX-(dblMapX2-dblMapX1)dblCenterY=PreviousCenterY一(dblMapY2-dblMapY1)CurrentZoom=CurrentZoomSession(cCurrentUsedTool,=cPaBebResuh=SetMapCenterA
16、ndZoomTo(Cdbl(dblCenterX),Cdbl(dblCenterY),CurrentZoom)(5)圖鷹眼的處理地圖鷹眼的操作方式如下:用戶在小地圖上,點(diǎn)擊地圖,在大地圖上,詳細(xì)顯示對(duì)應(yīng)的位置的信息.另一個(gè)用處是,當(dāng)用戶操作地圖時(shí),在小地圖上,顯示當(dāng)前用戶操作的地圖的位置.bResuh=ConvertYingYanScreenCoordsToMap(screenupx,screenupy,dblYingYanX,dblYingYanY)dblCenterX=dblYingYanXdblCenterY=dblYi"gYanYbResuh=SetMapCenterAndZ
17、oomTo(Cdbl(dblCenterX),Cdbl(dblCenterY),CurrentZoom)首先,當(dāng)用戶點(diǎn)擊在鷹眼地圖上時(shí),向服務(wù)器提交鷹眼地圖的屏幕坐標(biāo).在服務(wù)器端,首先根據(jù)鷹眼地圖,計(jì)算出地圖左邊,再把大地圖的中心指定到用戶選中的位置.(6)圖層操作的處理由于圖層處理是一個(gè)單獨(dú)的Web頁面,與其他的地圖處理不在一個(gè)頁面中.為了在圖層頁面提交時(shí),能改變主要地圖窗口中的地圖內(nèi)容,這里采取的方法如下:用戶點(diǎn)擊圖層頁面提交時(shí),利用opener屬性,從主頁面中傳過來當(dāng)前地圖的State到自己的表單中,一起提交給自己處理.在處理中,首先判斷該頁是提交的頁面還是第一次顯示時(shí)彈出的頁面.如果是
18、第一次顯示,就顯示圖層操作頁面,如果是提交的,就進(jìn)行地圖操作.操作時(shí)首先根據(jù)用戶的選擇,在該頁面中調(diào)用MapXObject對(duì)象,并進(jìn)行恢復(fù),然后處理圖層,最后得到一個(gè)處理后的狀態(tài),得到該狀態(tài)后,再把該狀態(tài)傳送到處理地圖的主頁面,讓主頁面提交.主頁面提交后,就會(huì)根據(jù)該狀態(tài)恢復(fù)MapXObject對(duì)象.這樣,主頁面中的地圖就是圖層操作過后的地圖.(7)地圖查看的處理查看地圖操作要進(jìn)行的處理流程如下:先得到MapXObject對(duì)象,再對(duì)MapXObject進(jìn)行恢復(fù).再根據(jù)用戶點(diǎn)擊的地圖坐標(biāo)的位置,得到用戶要查看的地圖坐標(biāo).最后用MapXObject在該地圖坐標(biāo)處查詢,返回查找到的空間對(duì)象集合Feat
19、ures,再把這些Features的列表返回給用戶,用戶可以選擇某一個(gè)Feature進(jìn)行查詢,查詢其詳細(xì)屬性數(shù)據(jù)的信息.(8)屬性查詢的處理屬性查詢的操作方式如下:用戶在查詢窗口中輸入建筑物的名字,點(diǎn)擊查詢,就提交了查詢操作.查詢結(jié)束后,用戶應(yīng)該可以看到查詢的建筑物高亮顯示,并且主頁右邊會(huì)顯示出用戶所查詢圖元的詳細(xì)屬性信息.實(shí)現(xiàn)時(shí),首先進(jìn)行數(shù)據(jù)綁定,得到MapXObject的Dataset對(duì)象,如果Dataset對(duì)象成功得到,就用對(duì)應(yīng)的圖層在該Dataset里進(jìn)行查詢.查詢到的結(jié)果是一個(gè)圖元的集合.最后的函數(shù)ListElements的作用是在圖元列表中顯示出查找到的圖元的詳細(xì)信息.5結(jié)論本文在
20、參考三層應(yīng)用模型的基礎(chǔ)上,采用自己開發(fā)的JavaApplet實(shí)現(xiàn)了一個(gè)基于Web的設(shè)施物管理信息系統(tǒng).在系統(tǒng)實(shí)現(xiàn)中對(duì)采用JavaApplet實(shí)現(xiàn)WebGIS一些關(guān)鍵性的技術(shù)問題進(jìn)行了解決,如由于在用戶進(jìn)行鼠標(biāo)操作中不斷刷新整個(gè)Applet,導(dǎo)致屏幕產(chǎn)生閃爍,本系統(tǒng)采用雙緩沖機(jī)制來處理.系統(tǒng)在客戶端的功能定制中充分考慮了系統(tǒng)自身的特點(diǎn),遵循簡單實(shí)用的原則,盡量控制網(wǎng)絡(luò)數(shù)據(jù)傳輸量以提高相應(yīng)速度.(收稿日期:2O04年8月)參考文獻(xiàn)1.郭騰云.高技術(shù)GIS應(yīng)用體系結(jié)構(gòu)發(fā)展演化及WebGIS實(shí)現(xiàn)方法與應(yīng)用研究fJ1.科技導(dǎo)報(bào),1999;(9)2.吳信才,郭玲玲,白玉琪.WebGIS開發(fā)技術(shù)分析與系統(tǒng)實(shí)現(xiàn)J.計(jì)算機(jī)工程與應(yīng)用,2ool;37(5):96
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時(shí)保安服務(wù)合同-活動(dòng)期間安全保衛(wèi)
- 2025年度知識(shí)產(chǎn)權(quán)質(zhì)押合同終止及質(zhì)權(quán)實(shí)現(xiàn)協(xié)議
- 產(chǎn)品發(fā)布營銷策略規(guī)劃
- 影視制作發(fā)行合作框架協(xié)議
- 智能能源管理系統(tǒng)建設(shè)投資協(xié)議
- 家具企業(yè)家具設(shè)計(jì)與制造預(yù)案
- 哈他瑜伽介紹課件:哈他瑜伽-身心平衡的藝術(shù)
- 小學(xué)生心理輔導(dǎo)觀后感
- 網(wǎng)絡(luò)購物平臺(tái)合作運(yùn)營協(xié)議書
- 娛樂項(xiàng)目節(jié)目制作授權(quán)協(xié)議
- 化學(xué)-浙江省首考2025年1月普通高等學(xué)校招生全國統(tǒng)一考試試題和答案
- 四川省成都市2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(含答案)
- 2025年湖北中煙工業(yè)限責(zé)任公司招聘筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 9生物與非生物課件-四年級(jí)下冊(cè)科學(xué)人教鄂教版
- 醫(yī)囑或處方的督導(dǎo)檢查、總結(jié)、反饋及改進(jìn)措施
- 2023年度行政事業(yè)單位內(nèi)部控制報(bào)告編報(bào)講解課件
- 品管圈PDCA案例-介入中心提高手術(shù)患者交接記錄書寫合格率醫(yī)院品質(zhì)管理成果匯報(bào)
- 《土木工程概論》-第3講-土木工程材料-課件
- 《現(xiàn)代漢語》課件-詞義的性質(zhì)和構(gòu)成
- 第十七屆山東省職業(yè)院校技能大賽中職組“西式烹飪”賽項(xiàng)規(guī)程
- 華東師范大學(xué)《外國人文經(jīng)典(下)》2022-2023學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論