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