王 威, 郝 威
隨著社會的飛速發(fā)展,人們對事物的實時監(jiān)控的要求越來越高。目前,人們利用GPRS等先進的科技手段,開發(fā)出了大量的監(jiān)控系統(tǒng)。例如:管井遠(yuǎn)程監(jiān)控系統(tǒng)、汽車監(jiān)控調(diào)度管理系統(tǒng)等[1-2]。這些實時監(jiān)控系統(tǒng)給我們的生活和工作帶來了巨大的便利。
隨著計算機技術(shù)的不斷發(fā)展,利用GIS技術(shù)建立一個海岸電子航行顯示系統(tǒng),從而對海面艦船進行實時監(jiān)控已經(jīng)成為可能。本系統(tǒng)采用控件MapX,利用VB語言進行集成二次開發(fā)并結(jié)合SQL Server 2000數(shù)據(jù)庫,建立一個以電子海圖為背景的海岸電子航海顯示的信息平臺。海岸人員利用本系統(tǒng)能夠及時、直觀了解海面艦船在航行中的相關(guān)參數(shù)和狀態(tài)信息。
MapX具有強大的地圖分析功能。編程人員在開發(fā)過程中可以選用自己最熟悉的開發(fā)語言(如VB、Delphi、C++等),輕松地將地圖功能嵌入到應(yīng)用中。利用MapX能簡單快速地在應(yīng)用中嵌入地圖化功能,增強應(yīng)用的空間分析能力[3-4]。
本系統(tǒng)采用C/S(客戶端/服務(wù)器)體系結(jié)構(gòu)??臻g數(shù)據(jù)和屬性數(shù)據(jù)統(tǒng)一管理在服務(wù)器端,使用MapX自帶的文件來管理空間數(shù)據(jù),屬性數(shù)據(jù)通過ADO進行訪問。系統(tǒng)位于客戶端,通過ADO動態(tài)讀取艦船狀態(tài)數(shù)據(jù)并對艦船進行可視化顯示。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)C/S體系結(jié)構(gòu)
艦船航行時,產(chǎn)生的航海數(shù)據(jù)如航行坐標(biāo)、方位角等通過傳輸設(shè)備傳送到海岸上的數(shù)據(jù)處理設(shè)備,處理設(shè)備接收后進行數(shù)據(jù)處理寫入數(shù)據(jù)庫。為了方便顯示和對艦船的統(tǒng)一有效管理,在地圖載入時首先創(chuàng)建一動態(tài)層,即對所有的艦船的顯示和添加全部放到這一層管理。
本系統(tǒng)通過調(diào)用ADO數(shù)據(jù)接口,訪問數(shù)據(jù)庫,讀取記錄,同時調(diào)用在開發(fā)環(huán)境中已經(jīng)設(shè)置的方法或相應(yīng)事件,并通過設(shè)置定時器開關(guān),讓艦船小圖標(biāo)實時動態(tài)刷新,在電子海圖上動態(tài)顯示從數(shù)據(jù)庫中讀取的航行數(shù)據(jù)。動態(tài)顯示流程如圖2。
圖2 艦船動態(tài)顯示功能數(shù)據(jù)流程
在此以艦船航行時的動態(tài)坐標(biāo)為例,來闡述動態(tài)實時顯示功能。其他的相關(guān)參數(shù)和狀態(tài)信息照此原理。海上傳輸設(shè)備將發(fā)送艦船航行的實時坐標(biāo)數(shù)據(jù)x、y并存儲到數(shù)據(jù)庫中,本功能只需要通過實時訪問該數(shù)據(jù)庫x、y字段值并設(shè)置到艦船節(jié)點坐標(biāo)上即可。
為系統(tǒng)添加計時器Timer1和取點控制變量m_iShip,按設(shè)定的時間間隔依次從數(shù)據(jù)庫中讀取序號為m_iShip的x,y坐標(biāo),同時增加m_iShip的值,這將會動態(tài)獲得船的行進坐標(biāo),最后將其實時顯示在電子地圖上。
本系統(tǒng)主要是針對海面艦船動態(tài)航行的實際,基于GIS技術(shù)建立一個以電子海圖為背景的海面艦船動態(tài)實時的信息平臺,通過地圖表征艦船地理屬性和相對位置關(guān)系,以及直觀實時顯示海面艦船的運行情況,提供直觀、可視化的顯示環(huán)境,最大限度地為海岸人員創(chuàng)造圖文并茂的工作環(huán)境。系統(tǒng)功能模塊如圖3所示。
圖3 系統(tǒng)功能結(jié)構(gòu)
本模塊提供了多種樣式的艦船的32×32的柵格小圖標(biāo)。管理人員可以選擇艦船小圖標(biāo),并通過坐標(biāo)定位的方式將艦船定位到電子地圖上。同時系統(tǒng)管理人員還可通過畫圖軟件制作更多樣式的艦船小圖標(biāo)加載到本系統(tǒng)中,以便對艦船的個性化管理。
3.2.1 地圖顯示
系統(tǒng)中載入的地圖是在 MapX的圖層管理工具 Geoset Manager中創(chuàng)建的*.gst文件,該文件上包含了一個圖層組,每一個圖層都包含地圖的不同部分,這些透明的圖層都是一層層疊加的。在本系統(tǒng)中,需要顯示白天,黑夜,標(biāo)準(zhǔn)等模式的*.gst文件。本系統(tǒng)已經(jīng)加載了不同模式的*.gst文件,每個*.gst對應(yīng)自己的圖層組。在系統(tǒng)運行時,管理人員根據(jù)實際情況選擇不同的背景顯示模式,從而在不同的模式下了解艦船的運行情況。這樣對于航行艦船的動態(tài)管理更加逼真,切合實際。
3.2.2 電子地圖的基本操作
用戶可以方便地對艦船進行查看和選取,并可通過坐標(biāo)定位或人工的方式將各類設(shè)施錄入到地圖上。其中,地形圖管理采用分層方式,用戶可以控制各個圖層是否可以顯示、修改等。并提供地圖放大、縮小、移動、快速定位、坐標(biāo)顯示、距離測量、面積測量等地圖的基本操作功能。提供圖形編輯工具,使得用戶可以對圖中各個圖層、各個圖層的各要素進行添加、修改、移動和刪除以及相應(yīng)屬性數(shù)據(jù)的增、刪、查、改。
本模塊是系統(tǒng)的核心模塊。管理人員首先選擇所需的背景模式地圖,然后選擇所要監(jiān)測的艦船。設(shè)置時間間隔,最后觸發(fā)定時器開關(guān),艦船小圖標(biāo)實時動態(tài)刷新,在電子海圖上動態(tài)顯示從數(shù)據(jù)庫中讀取的航行數(shù)據(jù),從而可與海面艦船“同步航行”了。
本模塊提供點擊查詢、屬性查詢兩種查詢方式。
點擊查詢:用鼠標(biāo)點擊地圖上的艦船,在地圖上以對話框的形式顯示其空間地理位置信息和所有屬性信息。同時還提供艦船圖形顯示功能。用戶可以通過點擊對話框詳圖資料按鈕,顯示艦船的直觀圖、內(nèi)部結(jié)構(gòu)圖等。
屬性查詢:通過屬性數(shù)據(jù)查找相應(yīng)的艦船。在對話框中輸入艦船相關(guān)屬性信息,系統(tǒng)在查找到目標(biāo)艦船之后,自動以合適的比例把所要查找的艦船顯示在屏幕的中心,同時該艦船會出現(xiàn)閃爍,以便用戶快速的查看所要查找艦船的位置。
鷹眼圖是GIS中的一個基本功能,是配合主圖實現(xiàn)地理信息圖形的放大、縮小、漫游及坐標(biāo)的光標(biāo)跟蹤顯示等功能[5]。使用戶能夠在觀看局部放大圖時也能看到全局圖,將宏觀圖和微觀圖同時展現(xiàn)出來。本系統(tǒng)中,鷹眼圖和主圖處于同一窗體之上,位于窗體的左下角。管理人員還可以選擇鷹眼圖是否顯示。
本系統(tǒng)建立了艦船的屬性數(shù)據(jù)庫,將每艘艦船的屬性信息以及動態(tài)信息制作成表寫進數(shù)據(jù)庫中,對海面艦船進行集中統(tǒng)一管理,保證艦船資料的集中性、一致性和完整性。同時將艦船的直觀圖、內(nèi)部結(jié)構(gòu)圖錄入到系統(tǒng)中。
系統(tǒng)具有完善的用戶權(quán)限管理功能,通過系統(tǒng)用戶分級管理,按系統(tǒng)模塊分配用戶權(quán)限來保證系統(tǒng)運行的安全性。管理人員可以對系統(tǒng)數(shù)據(jù)進行修改和維護;普通用戶只能使用系統(tǒng)的基本操作功能,不能對系統(tǒng)數(shù)據(jù)進行修改。
隨著計算機技術(shù)的不斷發(fā)展,基于GIS技術(shù)的應(yīng)用范圍越來越廣泛,將MapX應(yīng)用到電子航海圖中,能夠?qū)崿F(xiàn)動態(tài)顯示艦船航行數(shù)據(jù)等功能。隨著GIS技術(shù)與通信業(yè)務(wù)的進一步結(jié)合,必將給通信資源管理方式帶來巨大的變化。
[1] 侯占雙,鄧中亮.管井遠(yuǎn)程監(jiān)控系統(tǒng)[J].通信技術(shù),2009,42(01):319-320.
[2] 張凱林,呂芳,臧琛.出租汽車監(jiān)控調(diào)度管理系統(tǒng)探討[J].通信技術(shù),2007,40(11):401-402.
[3] 翁穎鈞,朱仲英.基于WebGIS的配電網(wǎng)調(diào)度管理系統(tǒng)[J].電力系統(tǒng)自動化,2003,27(18):83-86.
[4] 何占國.基于MapX的土地利用現(xiàn)狀查詢系統(tǒng)設(shè)計與實現(xiàn)[J].煤炭技術(shù),2007,26(06):126-128.
[5] 王紅才,李小平.一個基于 MapX的 GIS系統(tǒng)中鷹眼功能的實現(xiàn)[J].計算機與應(yīng)用化學(xué),2006,23(10):1017-1020.