孔德川
(河南科技學(xué)院,河南新鄉(xiāng)453003)
基于WebGIS的庫站地理信息系統(tǒng)設(shè)計與實現(xiàn)
孔德川
(河南科技學(xué)院,河南新鄉(xiāng)453003)
通過對庫站管理的需求分析,研究設(shè)計了基于WebGIS的庫站網(wǎng)絡(luò)地理信息系統(tǒng).采用MVC框架實現(xiàn)以交互方式動態(tài)維護(hù)庫站站點,及時了解各地庫站部署情況.整個系統(tǒng)分層構(gòu)架、結(jié)構(gòu)清晰,數(shù)據(jù)傳輸方案合理,交互操作方便,數(shù)據(jù)處理高效,總體方案對此類系統(tǒng)的研發(fā)具有一定的實用性和推廣價值.
網(wǎng)絡(luò)地理信息系統(tǒng);庫站管理;MVC框架;設(shè)計與實現(xiàn)
地理信息系統(tǒng)(Geospatial Information System,GIS)是一種以空間的地理信息數(shù)據(jù)庫為基礎(chǔ)的數(shù)據(jù)管理系統(tǒng),用戶可以通過多種方式來展現(xiàn)地理信息數(shù)據(jù),也可以通過多種途徑和方法對地理信息數(shù)據(jù)進(jìn)行查詢和分析,為地理信息數(shù)據(jù)研究提供必要的地理空間數(shù)據(jù)和屬性信息的支持.基于互聯(lián)網(wǎng)技術(shù)的網(wǎng)絡(luò)地理信息系統(tǒng)(WebGIS)的出現(xiàn),為地理信息系統(tǒng)開拓了一個嶄新的技術(shù)平臺.
庫站管理是現(xiàn)代軍事后勤物資管理的重要組成部分,某部現(xiàn)有的庫站管理地理信息系統(tǒng)開發(fā)時間較早,功能不夠完善,空間信息反映不直觀,庫站信息不能及時上報和更新,不能適應(yīng)部隊在特殊情況下所需要的庫站管理需求.加之計算機資源、信息與網(wǎng)絡(luò)資源建設(shè)的不足,特別是在指揮員不能及時了解所屬庫站的油料、物資情況下,不能準(zhǔn)確地調(diào)度相關(guān)車輛及時準(zhǔn)確地補充油料物資,對車輛運輸路線規(guī)劃能力較差.現(xiàn)有的庫站管理地理信息系統(tǒng)的庫站布局和圖形顯示基于柵格圖形,文件檢索速度慢,檢索功能過于單一局限,數(shù)據(jù)更新不及時,系統(tǒng)擴展性也不好.在庫站管理領(lǐng)域,基于WebGIS的系統(tǒng)應(yīng)用開發(fā)還處在起步階段,沒有較好的、成熟的案例可供參考.隨著庫站的不斷建設(shè)和發(fā)展,對新的庫站管理地理信息系統(tǒng)平臺的設(shè)計和開發(fā)提出了更高的要求.
網(wǎng)絡(luò)地理信息系統(tǒng)(WebGIS)是將互聯(lián)網(wǎng)技術(shù)應(yīng)用于地理信息系統(tǒng)的一個新領(lǐng)域.在WebGIS中,地理信息系統(tǒng)整體運行在Internet平臺上,用戶客戶端通過Web瀏覽器中的Web頁面作為GIS軟件的用戶界面,用戶客戶端通過互聯(lián)網(wǎng)來實現(xiàn)地理信息數(shù)據(jù)發(fā)布、空間屬性數(shù)據(jù)查詢?yōu)g覽等地理信息系統(tǒng)的基本功能.網(wǎng)絡(luò)地理信息系統(tǒng)的核心就是在傳統(tǒng)的地理信息系統(tǒng)中嵌入互聯(lián)網(wǎng)的相關(guān)網(wǎng)絡(luò)協(xié)議,系統(tǒng)開發(fā)時嚴(yán)格遵循這些協(xié)議,并以互聯(lián)網(wǎng)作為傳輸媒介,對傳統(tǒng)GIS系統(tǒng)的功能進(jìn)行了擴展.由于Web技術(shù)是眾多互聯(lián)網(wǎng)技術(shù)的一種,所以WebGIS也可以說是網(wǎng)絡(luò)地理信息系統(tǒng)中的一種具體體現(xiàn)形式[1-2].
MapXtreme for Java是MapInfo公司開發(fā)推出的一款基于互聯(lián)網(wǎng)技術(shù)、符合Sun J2EE規(guī)范的純Java地圖管理、發(fā)布平臺軟件.用戶可通過Web瀏覽器訪問服務(wù)器,就可以非常方便地使用MapXtreme所支持的地理信息系統(tǒng)的基本功能,如地圖的顯示、瀏覽、縮放、查詢地圖信息點信息、功能地圖生成、信息數(shù)據(jù)分析等.在開發(fā)WebGIS應(yīng)用過程中,開發(fā)人員使用MapXtreme能便捷地發(fā)布、更新和維護(hù)地圖數(shù)據(jù)和空間屬性數(shù)據(jù),較好地實現(xiàn)地圖應(yīng)用程序基本功能,比較適合信息量大、訪問用戶多的地理信息系統(tǒng)[3-4].
基于WebGIS的部隊庫站地理信息系統(tǒng)是以地理信息系統(tǒng)(GIS)的理論和方法為支持,充分利用計算機網(wǎng)絡(luò)、Java網(wǎng)絡(luò)編程的技術(shù)優(yōu)勢,實現(xiàn)庫站管理的網(wǎng)絡(luò)化、數(shù)字化和可視化,提高庫站的管理工作質(zhì)量、效率和水平.
2.1 用戶需求分析
部隊庫站網(wǎng)絡(luò)地理信息系統(tǒng)的建立是為了加快部隊信息化建設(shè)步伐,提高工作效率,強化信息管理.經(jīng)過認(rèn)真地與庫站管理部門溝通,系統(tǒng)主要功能除了對地圖的基本操作外,還能夠?qū)?shù)據(jù)庫進(jìn)行操作,必須有效地實現(xiàn)對空間數(shù)據(jù)(圖形數(shù)據(jù))和非空間數(shù)據(jù)(屬性數(shù)據(jù))這兩種不同性質(zhì)數(shù)據(jù)的操作、管理和查詢.只有兩者有效地結(jié)合才能使地理信息系統(tǒng)統(tǒng)計與分析的優(yōu)勢得以發(fā)揮.所以,系統(tǒng)具體功能需求應(yīng)包括以下幾個方面:
(1)電子地圖操作功能:包括地圖的顯示、縮放、漫游、清除、打印和圖層控制等功能.同時還要實現(xiàn)地圖兩點之間(或多點折線)距離的測量功能和鷹眼模式下地圖的隨動顯示.
(2)庫站信息查詢功能:包括對庫站位置、數(shù)量、類型、庫容信息的查詢,以及庫站中存放油料種類、數(shù)量情況的查詢,以及庫站周邊興趣點的查詢,包括:地方加油站、醫(yī)院等.
(3)路徑查詢功能:車輛到達(dá)滿足條件庫站最優(yōu)路徑的查詢,包括繞行和不繞行兩種方案.
(4)系統(tǒng)幫助功能:為使用者提供相關(guān)幫助文件,便于使用者正確使用系統(tǒng)并能進(jìn)行初步系統(tǒng)維護(hù).
2.2 數(shù)據(jù)庫需求分析
對數(shù)據(jù)庫的設(shè)計要充分滿足系統(tǒng)自身結(jié)構(gòu)特點以及庫站信息數(shù)據(jù)的特點.系統(tǒng)中需要維護(hù)管理的庫站基礎(chǔ)數(shù)據(jù)具有數(shù)據(jù)量大、數(shù)據(jù)類型多、數(shù)據(jù)層次多的特點,所以設(shè)計系統(tǒng)數(shù)據(jù)庫必須從數(shù)據(jù)庫的訪問效率、靈活性、可擴充性等角度出發(fā).因此,系統(tǒng)數(shù)據(jù)庫設(shè)計需要滿足以下幾方面的要求:
(1)數(shù)據(jù)庫的存儲應(yīng)按照系統(tǒng)結(jié)構(gòu)進(jìn)行分層,為確保數(shù)據(jù)訪問的安全性和高效率性,涉及庫站信息到與其他部分的數(shù)據(jù)共享,應(yīng)通過遠(yuǎn)程數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換來實現(xiàn).
(2)由于本系統(tǒng)的庫站基礎(chǔ)數(shù)據(jù)量大而且數(shù)據(jù)類型多,考慮以關(guān)系型數(shù)據(jù)庫來管理系統(tǒng)屬性數(shù)據(jù).
(3)按照庫站管理基礎(chǔ)信息的技術(shù)特征,將本系統(tǒng)中使用的平面電子地圖分為若干個圖層.在對屬性數(shù)據(jù)的組織上,對每一圖層設(shè)計一張與之對應(yīng)的數(shù)據(jù)表,存儲與該圖層相關(guān)的空間屬性信息.
2.3 系統(tǒng)總體設(shè)計
系統(tǒng)建設(shè)一切從實戰(zhàn)角度出發(fā),利用先進(jìn)的互聯(lián)網(wǎng)和GIS技術(shù),開發(fā)出友好的人機交互界面,便于用戶在互聯(lián)網(wǎng)上隨時隨地瀏覽使用.系統(tǒng)功能的操作盡可能簡單,簡化操作步驟,避免人為錯誤的發(fā)生.數(shù)據(jù)庫要便于使用、管理,各種數(shù)據(jù)能夠?qū)崟r更新,能夠?qū)崿F(xiàn)遠(yuǎn)程維護(hù),同時充分考慮各種數(shù)據(jù)維護(hù)的過程,盡量簡化維護(hù)過程,確保數(shù)據(jù)安全可靠[5].
為了提高系統(tǒng)的靈活性和數(shù)據(jù)庫檢索的效率,開發(fā)中系統(tǒng)體系結(jié)構(gòu)采用了MVC三層體系框架.系統(tǒng)架構(gòu)如圖1所示.
圖1 系統(tǒng)體系結(jié)構(gòu)模型Fig.1 Model of system structure
2.3.1 表示層設(shè)計這里主要對應(yīng)MVC中的模型(View)層設(shè)計,主要運用Ajax技術(shù)和JSP動態(tài)網(wǎng)頁技術(shù),把用戶的輸入操作,形成命令字符串,以用戶Servlet的URL構(gòu)造URL類向WEB服務(wù)器Servlet發(fā)出請求,傳遞用戶客戶端的地圖信息應(yīng)用請求(如:地圖的縮放、漫游、打印等).
2.3.2 業(yè)務(wù)邏輯層設(shè)計這里主要對應(yīng)MVC中的模型(Model)層設(shè)計,主要是查詢功能的實現(xiàn),主要有以下幾個部分:庫站基本信息查詢,庫站周邊信息查詢的實現(xiàn).
2.3.3 業(yè)務(wù)控制層設(shè)計系統(tǒng)中,控制(Controller)層是視圖層與模型層之間進(jìn)行信息交互的重要媒介,是實現(xiàn)J2EE與WebGIS協(xié)調(diào)工作的關(guān)鍵部分.系統(tǒng)通過協(xié)調(diào)不同的中間件來控制處理頁面請求,并根據(jù)不同請求來觸發(fā)模型層的不同狀態(tài),繼而將這種狀態(tài)傳遞給視圖層以使其同步更新.這種實現(xiàn)方式主要以通過對各種配置文件的設(shè)置來自動實現(xiàn)維護(hù)[6].
2.4 系統(tǒng)功能設(shè)計
庫站網(wǎng)絡(luò)地理信息系統(tǒng)是將庫站部署分布圖與庫站相關(guān)信息結(jié)合在一起,加以空間分析功能,在可視環(huán)境下解決與庫站分布等有關(guān)信息的查詢功能等.根據(jù)需求分析中各工作層的具體需求,將系統(tǒng)功能結(jié)構(gòu)劃分如圖2所示.
圖2 系統(tǒng)功能模塊劃分Fig.2 System collectivity function module
2.4.1 圖層操作功能模塊包括①圖層顯示:包括地圖的顯示、縮放、瀏覽、復(fù)位、測距、打印控制、地物對象的操作和查詢相關(guān)信息等;②圖層控制:包括地圖圖層的分層顯示、疊加和關(guān)閉,便于用戶根據(jù)對目標(biāo)信息快速查詢.例如,當(dāng)部隊需要查尋駐防區(qū)域內(nèi)的所有的庫站的部署情況和地理位置時,可以通過關(guān)閉其他駐防地區(qū)和與庫站部署無關(guān)的各個圖層的顯示,使查詢的結(jié)果更加清晰明了.
2.4.2 信息查詢功能模塊包括①庫站信息查詢:可以通過選擇地圖上某一庫站,來查詢相關(guān)屬性信息(空間信息查找屬性信息),也可以利用庫站屬性表中的相關(guān)屬性信息對地圖上的庫站進(jìn)行篩選查詢(屬性信息查找空間信息);②興趣點查詢:根據(jù)需要對地圖上的興趣點(如:醫(yī)院、學(xué)校、廠礦等)進(jìn)行查詢;③最短路徑查詢:根據(jù)車輛目前所在位置,查詢目的庫站所在位置點,并根據(jù)不同路面情況計算出最短路徑以供指揮員決策使用;④自定義查詢:通過在預(yù)設(shè)的數(shù)據(jù)庫查詢字段,使用SQL條件表達(dá)式的形式輸入相關(guān)查詢條件的查詢出相關(guān)的數(shù)據(jù).
2.4.3 空間分析功能模塊利用VML技術(shù)實現(xiàn)在該圖層上畫線,同時還利用DOM技術(shù)來實現(xiàn)將多余的線刷新掉,然后再將得到的各個線段累加,并得到其總的像素點數(shù),然后運用Ajax技術(shù)將像素點的長度傳到服務(wù)器端,經(jīng)過服務(wù)器端的處理后,再將處理后得到的實際距離返回到用戶客戶端瀏覽器上.
2.4.4 統(tǒng)計分析功能模塊按距離計算對所查詢庫站周邊范圍的相關(guān)空間信息數(shù)據(jù)進(jìn)行統(tǒng)計和分析.比如,對庫站周圍2 km范圍內(nèi)的符合條件的興趣點(如醫(yī)院等)進(jìn)行統(tǒng)計分析,就會得出所有滿足條件的興趣點的信息.
2.4.5 系統(tǒng)設(shè)置功能模塊對系統(tǒng)的相關(guān)基礎(chǔ)信息進(jìn)行設(shè)置,對使用本系統(tǒng)的用戶分組進(jìn)行設(shè)置、創(chuàng)建新用戶、權(quán)限設(shè)置、密碼修改、刪除用戶等操作,對系統(tǒng)網(wǎng)絡(luò)參數(shù)進(jìn)行設(shè)置,對系統(tǒng)數(shù)據(jù)庫進(jìn)行備份、恢復(fù).
2.4.6 系統(tǒng)幫助功能模塊系統(tǒng)為使用者提供詳細(xì)的系統(tǒng)幫助支持文件,便于使用者了解系統(tǒng)主要功能,快速掌握操作方法,正確使用系統(tǒng).在使用中能進(jìn)行基本的系統(tǒng)維護(hù)工作,同時對出現(xiàn)的問題能作出基本判斷[7-8].
3.1 地圖基本操作
由于系統(tǒng)結(jié)構(gòu)采用的是B/S結(jié)構(gòu),用戶在瀏覽器端獲取的是系統(tǒng)生成的JPG(或GIF)格式的圖片,所以用戶在實現(xiàn)顯示、瀏覽、縮放等地圖基本操作時,所產(chǎn)生的鼠標(biāo)點擊、拖拽等動作,必須通過從瀏覽器端鼠標(biāo)坐標(biāo)到服務(wù)器端地理信息系統(tǒng)中矢量地圖體系坐標(biāo)的等一系列坐標(biāo)映射過程,其實現(xiàn)流程如圖3所示.
圖3 鼠標(biāo)定位邏輯流程Fig.3 Logic flow of mouse orientation
3.2 地圖測距
本系統(tǒng)所實現(xiàn)的測距,是運用Ajax技術(shù)和VML技術(shù)來實現(xiàn)的.首先在瀏覽器上顯示地圖的上建立一個透明圖層,利用VML技術(shù)實現(xiàn)在該層上畫線,同時還利用DOM技術(shù)來實現(xiàn)將多余的線段刷新掉,然后再將得到的各個線段累加,并得到其總的像素點,然后運用Ajax技術(shù)將像素點的長度傳到服務(wù)器端,經(jīng)過服務(wù)器端的處理后,再將處理后得到的實際距離返回到客戶端瀏覽器上,這樣就可以實現(xiàn)測距功能,實現(xiàn)效果如圖4所示.
VML畫線主要代碼如下:
<v:line from="x0,y0"to="x1,y1"style="position:absolute;left:0px;top:0px;"strokecolor="red" trokeweight="2pt"/></v:line>
其中x0,y0表示線段的起始坐標(biāo),x1,y1表示線段的終止坐標(biāo),style為線段樣式,strokecolor和strokeweight分別表示線段顏色和寬度.
圖4 地圖測距實現(xiàn)效果Fig.4 Measure distance of map
3.3 鷹眼功能
鷹眼功能便于用戶快速確定當(dāng)前地圖位置在整個地圖中的位置,從而實現(xiàn)地圖的快速瀏覽和定位.實現(xiàn)鷹眼功能的關(guān)鍵在于當(dāng)用戶通過瀏覽器在地圖上進(jìn)行瀏覽、縮放等操作時,能及時地反映在彈出的鷹眼地圖窗口中,而用戶在鷹眼地圖上進(jìn)行的相應(yīng)操作也能夠反映在地圖上.
功能實現(xiàn)過程:在瀏覽器中設(shè)置一個Applet容器來一同存放鷹眼地圖窗口和主地圖窗口的MapJ地圖對象,通過對這兩個地圖對象的控制實現(xiàn)鷹眼地圖和主地圖的聯(lián)動功能.由于在鷹眼模式下,地圖中沒有使用固定視野的方式,所以需要重新初始化一個MapJ對象myMap來獲取對視野的控制,如:
本文通過對WebGIS原理和特點的分析,結(jié)合庫站地理信息系統(tǒng)的功能需求,利用Java編程語言的網(wǎng)絡(luò)技術(shù)優(yōu)勢進(jìn)行了基于WebGIS的系統(tǒng)設(shè)計和開發(fā),實現(xiàn)了對空間地理信息數(shù)據(jù)的組織與管理,解決了地圖數(shù)據(jù)發(fā)布、存取、查詢和可視化等技術(shù)問題.系統(tǒng)整體構(gòu)架、結(jié)構(gòu)清晰,數(shù)據(jù)傳輸方案合理,用戶交互操作便捷,數(shù)據(jù)處理高效,總體方案對此類系統(tǒng)的研發(fā)具有一定的實用性和推廣價值.
[1]陳磊,朱巖,裴國英,等.主要WebGIS平臺的選擇[J].測繪通報,2005(5):10-13.
[2]何建軍,孫磊,丁媛.基于WebGIS危險源管理系統(tǒng)的設(shè)計與實現(xiàn)[J].測繪與空間地理信息,2010,33(1):90-93.
[3]揣媛媛,范繼璋,張新宇,等.基于MapX開發(fā)WebGIS的關(guān)鍵技術(shù)研究與實現(xiàn)[J].遼寧師范大學(xué)學(xué)報:自然科學(xué)版,2005,28(3):302-305.
[4]陳騰.基于WebGIS的空間數(shù)據(jù)發(fā)布技術(shù)研究[J].測繪與空間地理信息,2010,33(2):46-48.
[5]蔣學(xué)文,代勁,宋娟.基于MVC模式的WebGIS架構(gòu)設(shè)計[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2010,22(3):365-370.
[6]吳麗.基于WebGIS的城市基礎(chǔ)設(shè)施管理系統(tǒng)的設(shè)計[J].計算機技術(shù)與發(fā)展,2010,20(1):221-224.
[7]王茂芝,佘純東,郭科,等.基于Ajax的WebGIS土地信息管理系統(tǒng)應(yīng)用開發(fā)[J].微計算機信息.2010,26(1):36-38.
[8]劉志芳,付華.基于WebGIS的旅游信息系統(tǒng)建設(shè)[J].測繪科學(xué),2009,34(1):162-164.
(責(zé)任編輯:盧奇)
Design and realization of military depot geography information system based on WebGIS
Kong Dechuan
(Henan Institute of Science and Technology,Xinxiang 453003,China)
Based on WebGIS,the military depot Internet geographical information system were designed by means of analyzing the needs of military depot's management.The system maintains database network station in the way of alternation,in order to know about the distributing situations of every depot,to show immediately the depot capacity and it's disposing information.The delaminating truss of whole system and structure are clear,the blue print of date transmission is reasonable,alternative operation is convenient,the data processing is high efficient and convenient.In a word,the general blue print can be used for reference for the likewise system research.
WebGIS;depot management;MVC;design and realization
TP302.1
A
:1008-7516(2014)01-0062-05
10.3969/j.issn.1008-7516.2014.01.012
2013-11-17
孔德川(1977-),男,河南洛陽人,碩士,講師.主要從事計算機應(yīng)用技術(shù)研究.