天天看點

ArcGIS 網絡分析[2.1] 最短路徑

最短路徑求解

【如果看到此部落格還沒有網絡資料集的,請參考第一章的内容,點選我,看目錄】

最短路徑,是什麼最短?時間最短?距離最短?什麼距離?路程距離?

考慮到擁堵問題,限速問題,換乘問題,在現實的最短路徑遠遠比計算機中的最短路徑要複雜,因為要考慮的因素太多了。

這些因素就叫作最短路徑求解過程中的“阻抗”,和電阻阻礙電流類似。

最短路徑是後面幾個分析類型的基礎,隻有求得了最短路徑,才知道能覆寫多大地方(服務區)、事故點與最近設施的路徑怎麼走(最近設施)等。

在上一章,就已經有了最簡單的路徑分析:單一的道路網,阻抗僅僅為公路網的長度。

在這裡不讨論最短路徑的内部算法,似乎有大佛說過,ESRI是用的Dijkstra算法的變種算法。

最短路徑中有什麼元素呢?換句話說,最短路徑要什麼東西才能分析?

途徑點、障礙。

最短路徑輸出了什麼?

當然就是最短路徑的那條線啊!

輸入元素 輸出元素

途徑點

障礙

最短路徑
ArcGIS 網絡分析[2.1] 最短路徑

換成圖的形式,就是這樣子。

輸入必選參數[途徑點],可選參數:充當障礙的[點線面],基于連通政策和阻抗,就能計算出最短路徑。

什麼是障礙呢?例如,某條路正在封閉施工,那施工的那個地方就是障礙,這裡是不能通行的,就代表最短路徑是不會走過障礙的。

路徑分析常用設定

ArcGIS 網絡分析[2.1] 最短路徑

在這裡打開網絡分析圖層的屬性視窗

找到分析設定頁籤,就會有如下圖:

ArcGIS 網絡分析[2.1] 最短路徑

經常會使用到的設定是:阻抗、限制、方向、交彙點的U形轉彎、這幾個。

阻抗

很簡單,分析的時候經過這條路的花費成本,可以這麼簡單的了解。可以是時間、平均消耗體力、道路長度等。

限制

限制主要有兩種:轉彎限制和單行線限制。

有的十字路口會有禁止轉向左邊或者右邊,或者十字路口等紅綠燈的時間比較長的情況,這個就是轉彎限制。轉彎限制怎麼來的呢?

當網絡資料集中加入了轉彎要素類的時候,這個複選清單就可以選擇了。有關如何制作轉彎要素類,請跳到第四章。

單行線,有的道路隻能一個方向走,不能來回走,這也是很常見的。

方向

這個是導航設定。主要設定導航的顯示機關和導航的屬性(長度或者時間成本)。

交彙點的U形轉彎

交彙點,就是線與線相交并且連通的地方。什麼是連通?就是這個點的所有道路都能暢通無阻通過這個點。

交彙點可以是線的折點,也可以是兩條線的公共交點。

這個點能否U形轉彎,換句話,這個交彙點是否能掉頭,在這裡就有4種選項:

ArcGIS 網絡分析[2.1] 最短路徑

[允許]:在任何交彙點處均允許調頭。

ArcGIS 網絡分析[2.1] 最短路徑

[僅在交點和死角處允許]:當兩條相鄰邊恰好相交于交彙點時,禁止掉頭。

ArcGIS 網絡分析[2.1] 最短路徑

[僅在死角處允許]:除僅有一條相鄰邊的交彙點(死角)外,其他交彙點均禁止掉頭。

ArcGIS 網絡分析[2.1] 最短路徑

[不允許]

什麼地方都不允許掉頭。

ps:這裡僅僅對交彙點所言,要是在道路上,一般也可以掉頭的,除非有中央路障。那這個怎麼設定呢?隻需設定以下屬性:

ArcGIS 網絡分析[2.1] 最短路徑

如果設定了最後一個禁止U形轉彎,那麼在非交彙點也不能掉頭了。

輸出Shape類型

有的時候為了節約顯示資源,提高顯示速度,可以設定為點與點之間的直線:

ArcGIS 網絡分析[2.1] 最短路徑

不過一般最短路徑都是看效果的,除非隻看導航,否則這個設定一般都預設。

分析示例

ArcGIS 網絡分析[2.1] 最短路徑

如上圖,阻抗用的是道路的長度,其餘均為預設設定。

在以後,通過添加各種限制條件,如轉彎、掉頭政策,複雜的阻抗政策,連通性組政策,産生的結果就不同。

繼續閱讀