隨著人類社會向信息化迅速發(fā)展,人防系統(tǒng)已成為現(xiàn)代化國防建設(shè)的一項重要內(nèi)容。人民防空,是指動員和組織人民群眾防備敵人空中襲擊、消除空襲后果所采取的行動,簡稱人防;人防工程,是指為保障戰(zhàn)時人員與物資掩蔽、人民防空指揮、醫(yī)療救護(hù)而單獨修建的地下防護(hù)建筑,以及結(jié)合地面建筑修建的戰(zhàn)時可用于防空的地下室;應(yīng)急指揮,是指人防機構(gòu)在突發(fā)事件的事前預(yù)防、事發(fā)應(yīng)對、事中處置和善后管理過程中,采取的一系列指揮與協(xié)調(diào)措施。人防工程的規(guī)劃、建設(shè)、管理需要科學(xué)化、正規(guī)化,人防職能管理部門必須依靠相應(yīng)的人防工程、資源信息,隨時掌握市區(qū)內(nèi)的人防工程情況,并根據(jù)這些情況及時進(jìn)行應(yīng)急指揮處理,這就要求能夠有一套滿足人防工程管理、應(yīng)急預(yù)案、協(xié)同辦公、應(yīng)急指揮的綜合系統(tǒng)。本文依據(jù)《中華人民共和國人民防空法》和各地人防法規(guī)的具體要求,成功研發(fā)了某市人防電子地圖系統(tǒng),為現(xiàn)代化國防建設(shè)提供了一個有力的技術(shù)保障。
1、基于MapXtreme的人防電子地圖系統(tǒng)設(shè)計
1.1 系統(tǒng)總體架構(gòu)
通過對系統(tǒng)的背景和設(shè)計原則的分析,考慮到要充分利用客戶現(xiàn)有的網(wǎng)絡(luò)環(huán)境,達(dá)到支持網(wǎng)絡(luò)共享和并發(fā)控制,允許多個用戶同時進(jìn)行相關(guān)操作的需求,系統(tǒng)采用基于C/S與B/S混合的總體架構(gòu)方案。
系統(tǒng)由表示層、業(yè)務(wù)層和數(shù)據(jù)層組成。針對地理空間數(shù)據(jù)量大、種類多,且用戶并發(fā)請求多,網(wǎng)絡(luò)傳輸量大的特點,將系統(tǒng)組網(wǎng)方式分為內(nèi)部的局域網(wǎng)和連接外部用戶的外網(wǎng)。內(nèi)網(wǎng)負(fù)責(zé)處理業(yè)務(wù)邏輯和生成包含地圖數(shù)據(jù)的HTML代碼。外網(wǎng)負(fù)責(zé)對外發(fā)布地理信息服務(wù),實現(xiàn)內(nèi)網(wǎng)與外網(wǎng)在物理上的隔離。其中,地圖數(shù)據(jù)和應(yīng)用程序都放在服務(wù)器端,客戶端不需要安裝GIS軟件,使用瀏覽器即可獲得GIS應(yīng)用功能,這使得GIS應(yīng)用不受地域和終端類型的限制。業(yè)務(wù)層采用MapXtreme2004.NET作為應(yīng)用服務(wù)器,專門負(fù)責(zé)生成和打包在網(wǎng)絡(luò)上傳輸?shù)牡貓D信息。當(dāng)MapXtreme應(yīng)用服務(wù)器運行后,若接收到客戶端的請求,由MapXtreme應(yīng)用服務(wù)器將矢量地圖通過MapX引擎轉(zhuǎn)換成GIF或JPG格式的柵格圖像,并生成包含圖像數(shù)據(jù)的HTML代碼,使用戶可以通過WWW瀏覽器訪問地圖數(shù)據(jù)。由于傳遞到瀏覽器端的是一幅經(jīng)過壓縮的柵格地圖,而真正的矢量地圖和屬性數(shù)據(jù)仍保留在服務(wù)器端,因此減少了網(wǎng)絡(luò)傳輸負(fù)擔(dān),同時降低了原始數(shù)據(jù)被盜用的可能。
1.2 系統(tǒng)數(shù)據(jù)庫設(shè)計
系統(tǒng)數(shù)據(jù)包括空間數(shù)據(jù)和屬性數(shù)據(jù),它們通過唯一的ID號關(guān)聯(lián)。本系統(tǒng)對數(shù)據(jù)的管理采用文件系統(tǒng)和數(shù)據(jù)庫相結(jié)合的混合管理方式,其中地圖數(shù)據(jù)采用文件管理策略,即每一類型的地圖數(shù)據(jù)都存放在一個圖層文件中,對應(yīng)地圖對象的屬性數(shù)據(jù)和人防工程數(shù)據(jù)則由關(guān)系數(shù)據(jù)庫統(tǒng)一管理。
1.2.1 空間數(shù)據(jù)庫
系統(tǒng)選擇MapInfo格式的矢量圖作為地圖數(shù)據(jù),其中屬性數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫的若干屬性表中,而空間數(shù)據(jù)則以MapInfo自定義模式保存于若干文件中。
本設(shè)計將人防業(yè)務(wù)相關(guān)的空間數(shù)據(jù)分為圖層類和專題圖類:
(1) 圖層類。本系統(tǒng)將具有相同空間幾何特征和屬性特征的空間對象的集合,如河流、公路、行政區(qū)域、居民地等分別存儲在不同的圖層中。同一個層上的多個空間地物共享同一個屬性結(jié)構(gòu),同一個圖層中的所有對象共享相同的顏色、符號、線型等特性。
(2) 專題圖類。某市人防電子地圖系統(tǒng)涉及到“來襲敵情判斷圖”、“預(yù)防空襲部署圖”、“離城人口疏散圖”、“留城人員隱蔽圖”、“通信警報保障圖”、“物資保障計劃圖”和“人防工程保障圖”7個預(yù)案專題圖。每個專題圖由多個圖層構(gòu)建而成。系統(tǒng)共有56個自定義圖層數(shù)據(jù),其中某市的地圖(包括道路、湖泊等基礎(chǔ)信息)是這7個預(yù)案專題圖共享的,其余的人防業(yè)務(wù)相關(guān)圖層按照其所包含的地物類別來分層組織。
1.2.2 屬性數(shù)據(jù)庫
屬性數(shù)據(jù)庫主要包括兩類屬性表,一類是對應(yīng)于地圖實體的可地圖化的屬性表,用于存儲地圖實體的屬性。本系主要設(shè)計了路段屬性表、連接點屬性表、行政區(qū)劃屬性表、土地利用屬性表、鐵路屬性表等。另一類是非地圖化的常規(guī)的屬性表,本系統(tǒng)主要有用戶表、人防設(shè)施類型表、人防工程類型表、人防工程表、人防工程維修表、人防設(shè)備類型表、人防設(shè)備表、人防設(shè)備維修表、保護(hù)對象類型表、保護(hù)對象表和預(yù)案數(shù)據(jù)表等,由Oracle 9i進(jìn)行管理和維護(hù)。
1.3 系統(tǒng)功能設(shè)計
根據(jù)系統(tǒng)的業(yè)務(wù)要求和設(shè)計原則,某市人防電子地圖系統(tǒng)由人防遠(yuǎn)程子系統(tǒng)和人防本地子系統(tǒng)組成,遠(yuǎn)程子系統(tǒng)用B/S模式實現(xiàn),本地子系統(tǒng)用C/S模式實現(xiàn)。系統(tǒng)功能模塊設(shè)計如圖1所示。
主要功能模塊如下:
(1) 圖形變換與圖層管理:包括專題地圖切換、地圖縮放、鷹眼圖例管理和圖層添加刪除等。此模塊提供①縮放、平移等幾何變換功能,電子地圖可以按照任意比例進(jìn)行放大、縮小、漫游,使用戶能夠詳細(xì)地查看空間目標(biāo)及目標(biāo)的周圍情況;②鷹眼功能,根據(jù)電子地圖的縮放比例,將當(dāng)前區(qū)域在整幅地圖中所處的位置顯示在鷹眼窗口,使用戶能夠把握全局;③圖層、標(biāo)注和圖例的顯示控制功能,使得用戶能夠?qū)W⒂诋?dāng)前關(guān)心的目標(biāo),并且可以讓顯示的圖形更加簡潔清晰。
(2) 空間信息查詢:包括空間量算、坐標(biāo)查詢和地物查詢功能??臻g量算包含距離查詢和面積查詢功能,其中距離查詢能夠得到當(dāng)前地圖任意連續(xù)點構(gòu)成的折線的總長度,面積查詢則能夠得到當(dāng)前地圖任意多邊形的面積??臻g量算功能使用戶能夠快捷準(zhǔn)確地得到空襲后受災(zāi)面積的大小以及救助人員及設(shè)施離受災(zāi)地區(qū)的距離。坐標(biāo)查詢功能使用戶能夠查詢空間地理坐標(biāo)位置。地物查詢根據(jù)用戶鼠標(biāo)在地圖上選中的實體,將與該實體相關(guān)的屬性信息(如名稱、位置等)及多媒體信息(如圖片、音頻和視頻等)展現(xiàn)給用戶,能清楚查詢顯示任何一處人防要素及其周邊環(huán)境的狀況。
(3) 空間分析模塊:此模塊包括最短路徑規(guī)劃和緩沖區(qū)分析功能。最短路徑分析功能根據(jù)用戶輸入的起點及終點位置的名稱,規(guī)劃出了兩者之間連通的1條最短路徑,系統(tǒng)將在地圖上予以展現(xiàn),還可以根據(jù)道路狀況等約束條件優(yōu)化其路徑,從而達(dá)到戰(zhàn)時快速疏散、救護(hù)、維修、消防和集結(jié)等目的。緩沖區(qū)分析功能則根據(jù)用戶輸入的點狀或線狀地物名稱查詢其周圍指定半徑范圍內(nèi)的地物,并將符合條件的地物在地圖上突出顯示。
(4) 地圖編輯模塊:包括點狀、線狀和面狀地物的添加、刪除功能。利用GIS數(shù)據(jù)編輯技術(shù),對人防工程、重點保護(hù)目標(biāo)、人防指揮所等人防要素進(jìn)行增加、刪除、修改,該模塊相當(dāng)于一個GIS數(shù)據(jù)維護(hù)平臺。
(5) 人防預(yù)案模塊:包括預(yù)案查詢、預(yù)案管理和預(yù)案評估。將所有人防預(yù)案集成到一個統(tǒng)一的平臺,方便戰(zhàn)時或演習(xí)時調(diào)用。
(6) 專題制圖:用于制作專題地圖和電子沙盤,包括二維數(shù)據(jù)網(wǎng)格化、三角網(wǎng)等值線嵌入、地形圖三維顯示、地形圖柵格圖像生成、預(yù)案套圖制作與查詢。
2、人防系統(tǒng)的關(guān)鍵問題及實現(xiàn)
2.1 最短路徑查詢及其優(yōu)化
根據(jù)某市人防電子地圖系統(tǒng)的實際需求,最短路徑查詢有時要求距離最短、有時要求時間最短,且道路或橋梁有可能被炸毀而不能通行,這使得道路的正向、反向權(quán)值不是固定值,需隨著應(yīng)用背景的變化而更新。因此,進(jìn)行最短路徑分析時,若要求距離最短,則可以直接利用路段的正向、反向權(quán)值進(jìn)行計算;若要求時間最短,則可以利用路段的正向、反向權(quán)值,并結(jié)合道路的平均速度進(jìn)行計算。然而,無論按時間還是距離查詢最短路徑,其實還是一個單源單目問題,可以使用最經(jīng)典的Dijkstra算法[4]并加以優(yōu)化。
在本系統(tǒng)中,首先將現(xiàn)實中的道路網(wǎng)絡(luò)實體抽象化為網(wǎng)絡(luò)圖論理論中的網(wǎng)絡(luò)拓?fù)鋱D,交叉路口為結(jié)點,道路為邊,道路長度為權(quán)值;其次,獲取起始點名與終止點名,并對輸入的始末點名,通過在道路結(jié)點表中查詢的點的名稱,得到始末點的結(jié)點NODE_ID;再次,將道路結(jié)點集與道路弧段集作為Dijkstra算法中的參數(shù),計算從出發(fā)點到目的點的最短路徑的結(jié)點序列;最后,將返回結(jié)點序列即最佳路徑在電子地圖上高亮顯示。
在最短路徑查詢的實際應(yīng)用中,本系統(tǒng)從以下兩方面進(jìn)行了優(yōu)化:
(1) 初始化始末點時,若該點不是道路結(jié)點,則一般的處理是遍歷道路結(jié)點表,查詢離該地物點最近的道路結(jié)點作為起始點。由于道路結(jié)點數(shù)據(jù)量太大,這種方法不僅效率低,且對于某些特殊的地物點會出錯。比如某點A,若離它最近的道路較長,則該道路的端點離A就比較遠(yuǎn),繼而選擇的是另一條端點離A近的道路,而實際上該選擇結(jié)果并不是離A最近的道路。為了解決這兩個問題,系統(tǒng)在初始化始末點時,不是以道路結(jié)點為參照,而是將道路層單獨提練出來。設(shè)定某個距離值為半徑畫圓,若該圓與某條道路有交點,則說明此道路為離該點最近的道路,從該點向道路作垂線,即為該點的第1條路線;若沒有交點,則按某個設(shè)定值繼續(xù)擴大半徑搜索,直至查詢到最近道路為止。這種優(yōu)化方法,一方面解決了某些對特殊地物點進(jìn)行最短路徑查詢時可能出現(xiàn)的錯誤;另一方面也提高了查詢的效率。在實際情況中,道路結(jié)點數(shù)據(jù)量大,而采用優(yōu)化方法后只需進(jìn)行幾次循環(huán)查找即可。
(2) 由于每次做路徑查詢時都需要將所有道路結(jié)點和道路弧段的集合構(gòu)建道路拓?fù)渚W(wǎng)絡(luò),但道路網(wǎng)絡(luò)的數(shù)據(jù)量非常大,而且該拓?fù)潢P(guān)系是不會改變的,所以原有的最短路徑查詢功能在構(gòu)建路網(wǎng)拓?fù)潢P(guān)系時做了大量重復(fù)的工作。為提高最短路徑查詢過程的效率,在系統(tǒng)初始化過程中,將所有道路節(jié)點的拓?fù)潢P(guān)系緩沖到服務(wù)器端內(nèi)存中,每次做路徑查詢時先檢查緩存中是否已經(jīng)存在生成的路網(wǎng)拓?fù)湫畔ⅲ苊饬说缆吠負(fù)渚W(wǎng)絡(luò)的重復(fù)生成。優(yōu)化后的最短路徑查詢的工作流程如圖2所示。
本文將系統(tǒng)重構(gòu)為基于上述優(yōu)化方法的電子地圖系統(tǒng),并選擇8對相同的始末結(jié)點進(jìn)行最短路徑查詢,并與使用傳統(tǒng)方法的系統(tǒng)進(jìn)行比較測試,最終得到如圖3所示的性能測試對比圖。
從圖中可以看出,未經(jīng)優(yōu)化的電子地圖系統(tǒng)響應(yīng)時間比優(yōu)化后的系統(tǒng)響應(yīng)時間長,可見該優(yōu)化在當(dāng)前實驗環(huán)境下,對系統(tǒng)性能的提升有較大的幫助。
2.2 基于MapXtreme的鷹眼技術(shù)
鷹眼是除了主視圖外的一個小視圖窗口,用來顯示全圖,并用1個矩形表示大圖的地圖邊界。點擊鷹眼窗口時,地圖自動定位到相應(yīng)位置,當(dāng)?shù)貓D視圖(包括縮放比例和中心)發(fā)生變化時,鷹眼上的導(dǎo)航矩形框相應(yīng)變化,以指示用戶當(dāng)前所處的位置。
鷹眼的實現(xiàn)思路:在同一頁面表單上放置2個MapControl控件,分別為地圖主窗口(mainMapControl)和鷹眼窗口(overviewMapControl),地圖主窗口用于顯示實際的地圖,鷹眼窗口則需要將地圖按合適的比例尺顯示,然后在鷹眼窗口上創(chuàng)建1個圖層,在該圖層上添加1個矩形對象FeatureGeometry,該矩形的大小隨著主圖邊界而變化。由于兩個窗口的大小不同,需要經(jīng)過1次比例轉(zhuǎn)換,因此首先定義1個setView()方法,該方法用于實現(xiàn)地圖數(shù)據(jù)自適應(yīng)任意大小地圖窗口。當(dāng)?shù)貓D主窗口中的圖形被縮放或者平移之后,在鷹眼窗口已有圖層中加入1個臨時層,在臨時層上動態(tài)生成1個紅色矩形,顯示地圖主窗口中顯示的圖形在整體地圖中所處的位置。
系統(tǒng)中鷹眼功能的具體實現(xiàn)步驟如下:(1)判斷用戶是否對主地圖窗口進(jìn)行了縮放或平移操作,若沒有變換則鷹眼窗口內(nèi)容不變,若有變換則獲取主地圖窗口顯示的地圖范圍。然后創(chuàng)建1個矩形對象并設(shè)置其顏色和寬度屬性,創(chuàng)建窗口樣式并設(shè)置樣式屬性;(2)再判斷鷹眼窗口的圖層中是否已經(jīng)存在臨時圖層,若存在則先清空臨時圖層中的所有對象;若不存在則創(chuàng)建1個臨時圖層并將臨時圖層加入到鷹眼窗口圖層中; (3)將矩形對象插入臨時圖層。到此系統(tǒng)即完成了鷹眼窗口的地圖視圖變換。
2.3 人防系統(tǒng)的安全保證
由于本系統(tǒng)應(yīng)用于市人防辦,涉及國家安全信息,對數(shù)據(jù)安全性非常敏感,因此使用了多種安全機制保障系統(tǒng)的安全。
(1) 表單驗證和Session認(rèn)證機制相結(jié)合
本系統(tǒng)采用表單驗證和Session認(rèn)證機制相結(jié)合的方式加強登錄過程的身份認(rèn)證,即由用戶以表單形式向服務(wù)器發(fā)送登錄憑證,如果用戶通過了服務(wù)器端的身份驗證,系統(tǒng)的權(quán)限管理將會給用戶授予一定的權(quán)限標(biāo)志信息,通過Session對象跟蹤本次登錄的整個會話生存周期;如果用戶沒有通過身份驗證,客戶端將重定向到指定的頁面。Session對象用于存儲特定的用戶會話所需的信息,從1個用戶開始訪問某個特定的主頁起,到用戶離開為止。服務(wù)器可以分配給每個用戶1個Session,以存儲特定的用戶信息,包括用戶名、用戶ID等。如果用戶沒有經(jīng)過登錄而直接進(jìn)入頁面,則Session中存放的用戶信息無效,程序?qū)⒅囟ㄎ坏接脩舻卿浗缑妫苑乐雇ㄟ^網(wǎng)頁地址而繞過登錄控制的企圖。
(2) 基于角色的訪問控制
為了保證系統(tǒng)的訪問安全,防止非法用戶進(jìn)入系統(tǒng)及合法用戶對系統(tǒng)資源的非法使用,本系統(tǒng)采用基于角色的訪問控制模型RBAC(Role Based Access Control)來實現(xiàn)。RBAC的基本思想[6]是:在用戶和訪問權(quán)限之間引入角色的概念,將用戶和角色聯(lián)系起來,通過對角色的授權(quán)來控制用戶對系統(tǒng)資源的訪問。根據(jù)人防電子地圖系統(tǒng)的具體應(yīng)用需求,系統(tǒng)定義了3種角色:系統(tǒng)管理員、通信指揮用戶和普通用戶。系統(tǒng)管理員負(fù)責(zé)管理維護(hù)系統(tǒng),沒有任何業(yè)務(wù)權(quán)限,其主要權(quán)限有添加、刪除、修改用戶信息,授予用戶權(quán)限和管理日志等;通信指揮用戶除了具有對地圖數(shù)據(jù)的操作權(quán)限,包括地圖的查詢、瀏覽等以外,還有一個特殊的權(quán)限——編輯地圖,與人防業(yè)務(wù)相關(guān)的信息都交由這類角色的用戶負(fù)責(zé);普通用戶則只擁有瀏覽和查詢一些指定專題地圖的權(quán)限。系統(tǒng)將根據(jù)登錄用戶的角色加載不同的功能模塊。
此外,本系統(tǒng)還通過數(shù)據(jù)庫身份驗證模式和防SQL注入攻擊保證了數(shù)據(jù)庫的安全;使用SSL機制對客戶端和服務(wù)器之間發(fā)送的消息進(jìn)行加密和解密,保證系統(tǒng)數(shù)據(jù)通信的安全;通過采用完全備份、增量備份、系統(tǒng)備份3種備份方式,定期對空間數(shù)據(jù)進(jìn)行備份,保證數(shù)據(jù)和使用對象都不崩潰。
3 、系統(tǒng)實例及運行效果
人防電子地圖系統(tǒng)采用MapInfo公司推出的MapXtreme2004組件式GIS平臺作為實現(xiàn)地理信息存儲、顯示、操作等功能的二次開發(fā)平臺, 以Visual Studio 2003
.net為開發(fā)工具,采用Oracle 9i作為數(shù)據(jù)庫管理系統(tǒng),在此基礎(chǔ)上實現(xiàn)了具有GIS特點和功能的某市人防電子地圖系統(tǒng)。圖4是該系統(tǒng)應(yīng)用于某市時系統(tǒng)最短路徑查詢的功能界面。
人防電子地圖系統(tǒng)是現(xiàn)代化國防建設(shè)的核心應(yīng)用系統(tǒng)之一,其研發(fā)涉及地理信息系統(tǒng)和計算機科學(xué)領(lǐng)域的眾多應(yīng)用技術(shù),是一項較大規(guī)模的軟件開發(fā)工程。該系統(tǒng)不僅實現(xiàn)了電子地圖操作的基本功能以及多種方式的信息查詢,而且專門針對某市“防空襲預(yù)案”中對人口疏散、空襲后果消除等方面的要求,設(shè)計了空間量算、最短路徑規(guī)劃和緩沖區(qū)分析等實用功能,另外還集成了人防工程信息管理系統(tǒng)。
目前,該系統(tǒng)已經(jīng)在某市人防辦得到了實際應(yīng)用。通過用戶反饋表明,該系統(tǒng)具有功能強大、實時性強、安全可靠、易于使用等優(yōu)點,可以進(jìn)行人防工程信息管理、應(yīng)急指揮調(diào)度、預(yù)案管理和組織演練等,不但能夠滿足該市在戰(zhàn)時組織防空襲指揮的需求,也能為平時防災(zāi)、救災(zāi)等城市應(yīng)急管理工作提供技術(shù)平臺和決策支持。
責(zé)任編輯:gt
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7035瀏覽量
89047 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9165瀏覽量
85438 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1025瀏覽量
35364
發(fā)布評論請先 登錄
相關(guān)推薦
評論