關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于MapXtreme的人防電子地圖系統設計與實現

        基于MapXtreme的人防電子地圖系統設計與實現

        作者: 時間:2010-05-07 來源:網絡 收藏

        (5) 預案模塊:包括預案查詢、預案管理和預案評估。將所有預案集成到一個統一的平臺,方便戰時或演習時調用。
        (6) 專題制圖:用于制作專題地圖和電子沙盤,包括二維數據網格化、三角網等值線嵌入、地形圖三維顯示、地形圖柵格圖像生成、預案套圖制作與查詢。
        2 的關鍵問題及
        2.1 最短路徑查詢及其優化

        根據某市人防的實際需求,最短路徑查詢有時要求距離最短、有時要求時間最短,且道路或橋梁有可能被炸毀而不能通行,這使得道路的正向、反向權值不是固定值,需隨著應用背景的變化而更新。因此,進行最短路徑分析時,若要求距離最短,則可以直接利用路段的正向、反向權值進行計算;若要求時間最短,則可以利用路段的正向、反向權值,并結合道路的平均速度進行計算。然而,無論按時間還是距離查詢最短路徑,其實還是一個單源單目問題,可以使用最經典的Dijkstra算法[4]并加以優化。
          在本中,首先將現實中的道路網絡實體抽象化為網絡圖論理論中的網絡拓撲圖,交叉路口為結點,道路為邊,道路長度為權值;其次,獲取起始點名與終止點名,并對輸入的始末點名,通過在道路結點表中查詢的點的名稱,得到始末點的結點NODE_ID;再次,將道路結點集與道路弧段集作為Dijkstra算法中的參數,計算從出發點到目的點的最短路徑的結點序列;最后,將返回結點序列即最佳路徑在上高亮顯示。
          在最短路徑查詢的實際應用中,本系統從以下兩方面進行了優化:
          (1) 初始化始末點時,若該點不是道路結點,則一般的處理是遍歷道路結點表,查詢離該地物點最近的道路結點作為起始點。由于道路結點數據量太大,這種方法不僅效率低,且對于某些特殊的地物點會出錯。比如某點A,若離它最近的道路較長,則該道路的端點離A就比較遠,繼而選擇的是另一條端點離A近的道路,而實際上該選擇結果并不是離A最近的道路。為了解決這兩個問題,系統在初始化始末點時,不是以道路結點為參照,而是將道路層單獨提練出來。設定某個距離值為半徑畫圓,若該圓與某條道路有交點,則說明此道路為離該點最近的道路,從該點向道路作垂線,即為該點的第1條路線;若沒有交點,則按某個設定值繼續擴大半徑搜索,直至查詢到最近道路為止。這種優化方法,一方面解決了某些對特殊地物點進行最短路徑查詢時可能出現的錯誤;另一方面也提高了查詢的效率。在實際情況中,道路結點數據量大,而采用優化方法后只需進行幾次循環查找即可。
          (2) 由于每次做路徑查詢時都需要將所有道路結點和道路弧段的集合構建道路拓撲網絡,但道路網絡的數據量非常大,而且該拓撲關系是不會改變的,所以原有的最短路徑查詢功能在構建路網拓撲關系時做了大量重復的工作。為提高最短路徑查詢過程的效率,在系統初始化過程中,將所有道路節點的拓撲關系緩沖到服務器端內存中,每次做路徑查詢時先檢查緩存中是否已經存在生成的路網拓撲信息,避免了道路拓撲網絡的重復生成。優化后的最短路徑查詢的工作流程如圖2所示。

        本文引用地址:http://www.104case.com/article/163092.htm

          本文將系統重構為上述優化方法的系統,并選擇8對相同的始末結點進行最短路徑查詢,并與使用傳統方法的系統進行比較測試,最終得到如圖3所示的性能測試對比圖。

        從圖中可以看出,未經優化的電子地圖系統響應時間比優化后的系統響應時間長,可見該優化在當前實驗環境下,對系統性能的提升有較大的幫助。
        2.2 的鷹眼技術
          鷹眼是除了主視圖外的一個小視圖窗口,用來顯示全圖,并用1個矩形表示大圖的地圖邊界。點擊鷹眼窗口時,地圖自動定位到相應位置,當地圖視圖(包括縮放比例和中心)發生變化時,鷹眼上的導航矩形框相應變化,以指示用戶當前所處的位置。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玛沁县| 固镇县| 广饶县| 克东县| 宁明县| 炎陵县| 阳高县| 阿勒泰市| 盈江县| 平定县| 营口市| 大冶市| 青海省| 邯郸县| 房产| 马公市| 杭州市| 吉安市| 襄樊市| 盈江县| 浦城县| 永济市| 大名县| 贵州省| 浠水县| 丹东市| 德庆县| 克山县| 永宁县| 景德镇市| 永康市| 调兵山市| 福海县| 十堰市| 新平| 库尔勒市| 泗洪县| 彭泽县| 丰县| 封丘县| 儋州市|