在最短路徑分析中,為何分析的結果「不是」最短路徑

2021-09-30 14:35:53 字數 753 閱讀 5851

在arcgis網路分析中,最短路徑分析是很常見的應用,但使用者偶爾會發現,軟體所分析出來的路徑,並非「如此」,然而很明顯的繞了遠路,如下圖所示:

那麼造成這個情況的原因到底是什麼呢?真的是軟體有bug,還是資料出了問題。事實並非如此,首先我們來介紹乙個結點的概念。

網路邊的兩個端點稱為網路結點,網路中邊與邊之間通過結點相連。結點根據它在網路中的角色或與它相連的邊的屬性而具有某些特定的屬性,如在道路的交叉路口處具有穿過路口的時間屬性等,如下圖所示。

那麼這段話到底是什麼意思,跟本文所說的問題又有什麼關係呢?用通俗的話來說,就是如下圖所示。使用者想要從①走向②,我們通過主觀就可以判斷①②之間的直線才是最短路徑,可偏偏軟體提供的最短路徑是①③④⑤②(預設沒有轉彎要素、單行線等因素)。是因為①②兩點間的線段和橫穿此線段的路線的交叉點並沒有節點,軟體會自動判定為此交叉點不是十字路口,是高架橋等不通的路線。

解決此類問題,若真是道路情況就是如此,則不需要改變,軟體分析所得出的路線是正確的。如若是資料採集或處理過程**現了問題,只需將所有的線打斷即可(在【編輯器】的【高階編輯】模組有【打斷相交線】的功能)。

最短路徑演算法對比分析

最短路徑演算法對比分析 floyd dijkstra bellman ford 佇列優化的bellman ford 空間複雜度 o n 3 o m o m o m 時間複雜度 o n 3 o m n logn o nm o nm 適用情況 稠密圖和頂點關係密切 稠密圖和頂點關係密切 稀疏圖和邊關係密...

最短路徑演算法對比分析

我們選擇最短路徑演算法時,要根據實際需求和每一種演算法的特性,選擇合適的演算法。floyd演算法雖然總體時間複雜度高,但是可以處理帶有負權邊的圖 但不能含有負權迴路 並且均攤到每一點的對上,在所有的演算法中還是屬於較優的。另外floyd演算法較小的編碼複雜度也是它的一大優勢。所以,如果要求的是所有點...

最短路徑演算法對比分析

floyd演算法 雖然總體時間複雜度高,但是可以解決負權邊,並且均攤到每一點對上,在所有演算法中還是屬於較優的。另外,floyd演算法較小的編碼複雜度也是它的一大優勢。所以,如果要求的是所有點對間的最短路徑,或者如果資料範圍較小,則floyd演算法比較合適。dijkstra演算法最大的弊端是它無法適...