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