1. 程式人生 > >【ArcGIS|空間分析|網路分析】12 使用約束屬性執行網路分析

【ArcGIS|空間分析|網路分析】12 使用約束屬性執行網路分析

文章目錄

參考ArcGIS幫助文件

要求

使用具有不同“約束條件用法”引數值的約束屬性來求解簡單路徑,以避開收費公路並首選指定的貨車路徑。

步驟

1 在網路資料集屬性中檢查“約束條件用法”引數

本地圖顯示了聖地亞哥地區的道路網。地圖東南區的紫色高速公路代表收費公路。指定的貨車路徑顯示為沿白色線要素的白色菱形。
在這裡插入圖片描述


當前顯示在地圖中的網路資料集具有很多約束屬性,可以使用這些屬性來滿足路徑偏好與要求。詳細瞭解約束屬性的配置方法及其預設引數“約束條件用法”的資訊。

1、雙擊 SanDiego.gdb > Transportation > Streets_ND。 將開啟網路資料集屬性對話方塊。單擊屬性選項卡。
將列出網路屬性,其中大多數為約束屬性。約束屬性表示行駛偏好或要求,例如,避開未鋪面道路使您可以避開任何砂礫、泥土或其他未鋪面道路。高度限制則使您可以繞開低於車輛高度的間隙。如果車輛上裝載著腐蝕性物質,使用危險物品:腐蝕性貨物受限約束條件可以防止在標記著運輸腐蝕性材料非法的路上運輸這些材料。
建立約束屬性後,將自動新增一個名為“約束條件用法”的引數。在以下步驟中將進一步瞭解此引數。
在這裡插入圖片描述


2、單擊新增。 開啟新增新屬性對話方塊。在使用型別下拉列表中選擇限制。 將啟用約束條件用法屬性。
3、單擊約束條件用法下拉列表檢視可用選項。 此屬性設定了“約束條件用法”引數的預設值,由此也設定了建立的約束屬性的預設行為。該值指定了是禁止、首選還是避免使用約束條件的元素,同時還指定了避免或首選的程度。

避開收費公路約束條件的“約束條件用法”引數預設值為避免:中。這說明使用約束條件時,在可能的情況下求解程式會試圖繞開收費公路。避免:中還表示在網路分析中避開收費公路的重要性,即優先順序為中等。選擇避免:低會降低避開收費公路的重要性,而選擇避免:高則會提高避開收費公路的重要性,因此如果求解程式為避開收費公路生成更長的路徑,也更容易被接受。選擇禁止則會完全不允許在收費公路上行駛,因此路徑不可能遍歷收費公路的所有部分。

避開或禁止收費公路並由此避開公路通行費只是一部分人的目的;對另外一部分人來說,因為避開擁堵的交通比交一些公路通行費更為重要,會寧願走收費公路。在後一種情況下,需要選擇“首選:低”、“首選:中”或“首選:高”。首選的等級越高,求解程式為了在使用約束條件的元素上行駛就會繞行更遠的路程。

鑑於這些不同的觀念和需求,預設情況下,ArcGIS Network Analyst 擴充套件模組將新增“約束條件用法”引數到約束屬性。由於它是一個引數,可以在每次求解之前選擇求解程式應如何響應約束條件。

2 在網路分析圖層屬性中檢查“約束條件用法”引數

1、在 Network Analyst 工具條上,單擊 Network Analyst,然後單擊新建路徑。 路徑分析圖層即被新增到 Network Analyst 視窗以及內容列表 視窗中的文件。
2、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。 將開啟圖層屬性 對話方塊。單擊分析設定選項卡。
3、選項卡中的約束條件框架列出了所有可用的約束條件。由於該網路分析圖層建立自上節中檢查的同一網路資料集,因此列出的約束屬性完全相同。請注意,避開收費公路處於取消選中狀態,因為預設情況下不使用此屬性。
4、單擊屬性引數選項卡。 所有具有引數的網路屬性都在此列出。由於約束屬性在預設情況下具有“約束條件用法”引數,因此都在此列出。可以在值列中為當前分析圖層選擇不同的引數值。

3 求解路徑分析

1、在 Network Analyst 視窗中,右鍵單擊停靠點 (0),然後選擇載入位置。 從載入自下拉列表中選擇停靠點。 單擊確定。 將載入五個停靠點。這些停靠點會顯示在地圖檢視和 Network Analyst 視窗中。
2、在 Network Analyst 工具條上,單擊求解按鈕求解。
採用預定義順序的最佳路徑將顯示在地圖中。請注意,第三個停靠點在收費公路上,因此路徑沿收費公路前行。

在這裡插入圖片描述

4 禁止收費公路

1、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。 單擊分析設定選項卡。
2、在約束條件框架中,選中避開收費公路。
3、單擊屬性引數選項卡。 找到避開收費公路,將它的值從避免:中更改為禁止。
4、在 Network Analyst 工具條上,單擊求解按鈕 求解。
5、將彈出 Network Analyst 訊息 對話方塊,警告您無法到達收費公路上的停靠點。
這就是完全禁止網路元素的缺點,位於元素上的網路位置無法到達。在下一節中您將看到,選擇避開收費公路而不是完全禁止,則有可能避開受限元素的絕大部分,但到達位於元素上的網路位置。
在這裡插入圖片描述

5 避開收費公路

1、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。 單擊屬性引數選項卡。 找到避開收費公路,將它的值從禁止更改為避免:中。
在這裡插入圖片描述
2、在 Network Analyst 工具條上,單擊求解按鈕求解。
將彈出 Network Analyst 訊息 對話方塊,警告有一個停靠點位於使用約束條件的道路上,雖然選擇了避開收費公路,生成的路徑仍然遍歷了一條收費公路。
在這裡插入圖片描述
地圖顯示路徑避開了收費公路的南端,但在其上行駛到達了停靠點 3,之後又到達了停靠點 4。路徑本可以在收費公路上的停靠點 3 與停靠點 4 之間行駛更短的距離,但是考慮到“約束條件用法”引數的值為“避免:中”,Network Analyst 確定出繞行的距離過長。

在接下來的步驟中,將賦予避開收費公路更高的優先順序並看到這樣做的結果。

3、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。 單擊屬性引數選項卡。 找到避開收費公路,將它的值更改為避免:高。
在這裡插入圖片描述
4、在 Network Analyst 工具條上,單擊求解按鈕 求解。
Network Analyst 訊息 對話方塊再次彈出,顯示與上一次同樣的警告。

在地圖上您可以看到,路徑進入收費公路後到達停靠點 3,隨後立即從收費公路退出。

要快速比較兩個連續求解操作的結果,請單擊撤消按鈕 撤消,隨後單擊恢復按鈕 恢復。

在本節中看到路徑不會遍歷使用禁止約束的道路,即使道路上有一個停靠點。但如果選擇避免約束,則可以到達停靠點,Network Analyst 會嘗試繞過受限的道路,具體情況根據約束條件引數設定為避免:低、避免:中還是避免:高。

6 首選指定的貨車路徑

1、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。 將開啟圖層屬性對話方塊。單擊分析設定選項卡。
2、在約束條件框架中,取消選中駕駛汽車。
3、選中駕駛貨車。
此約束屬性表示禁止貨車通行的道路。其預設的“約束條件用法”引數值為“禁止”。無需更改此引數值。
4、選中國家 STAA 首選路徑。
此約束屬性表示由聯邦政府指定為貨車路徑的道路。這種指定的物件是那些便於卡車通行且符合間隙和重量限制最低標準的道路。貨車司機僅需儘可能沿指定的貨車路徑行駛,就可以減少許多潛在的問題。
5、指定的道路在地圖上以白線與菱形井號標註。
請注意不要將此約束屬性與“國家 STAA 及本地首選路徑”屬性相混淆。後一約束屬性包括可能不符合聯邦標準的道路。
6、單擊屬性引數選項卡。
找到國家 STAA 首選路徑,之後您將注意到其預設值為首選:中。
7、在 Network Analyst 工具條上,單擊求解按鈕 求解。
路徑將保持不變。大部分路徑已經沿國家 STAA 道路行進。
在這裡插入圖片描述
8、單擊 Network Analyst 視窗中的分析圖層屬性按鈕。將開啟圖層屬性對話方塊。單擊屬性引數選項卡。 找到國家 STAA 首選路徑並將其值更改為首選:高。
9、在 Network Analyst 工具條上,單擊求解按鈕求解。
整條路徑現在更長,但行駛在未指定為國家 STAA 道路的路上所花費的時間已經變短。
在這裡插入圖片描述
在本練習中,看到約束屬性使您可以對行駛偏好與要求進行建模。使用不同的約束屬性與“約束條件用法”引數值對分析進行求解會對結果產生影響。