ArcGIS中實現最佳路徑分析,首先利用高程數據派生出坡度數據及起伏度數據,然后重分類流域數據、坡度、起伏度數據集到相同的等級范圍,再按照上述數據集在路徑選擇中的影響率賦權重值,最后合并這些數據即可得到成本數據集?;诔杀緮祿嬎銝鸥駭祿懈鲉卧皆袋c的成本距離與方向數據集,最后執行最短路徑函數提取最佳路徑。
1
數據準備
DEM(高程數據)、startPot(路徑源點數據)、endPot(路徑終點數據)和river(小河流域數據)。
2
基本解決方案
- 計算坡度成本
使用DEM數據生成坡度數據Slope,工具位置和相關參數設置如下圖所示:
前面開頭說了,最佳路徑是通過耗費成本比較出來的,所以我們為了方便比較成本,需要對Slope數據進行重分類,分類的基本原則是:采用等間距分為10級,坡度最小的一級賦值為1,坡度最大的一級賦值為10。重分類工具的位置以及相關參數設置如下圖所示:
這時候我們點擊分類按鈕,彈出如下界面,在方法中選擇“相等間隔”,并且把類別設置成10,點擊確定返回上一個界面,這時候觀察可以發現表里面的舊值的最小值對應新值的1,舊值的最大值對應新值的10,符合我們的分類要求,點擊確定即可將坡度成本數據Reclass_river。
2. 計算起伏度成本
使用焦點統計生成起伏度成本數據QFD,工具位置以及相關參數設置如下圖所示:
圖片
注意:
統計類型選擇為“RANG”意思是計算12*12(這個看具體情況選鄰域范圍)的矩形柵格像元內的像元值極差,由于是DEM高程數據,所以該統計結果就是這個區域內的高差(即起伏度)。
接下來對QFD進行重分類,依然使用前面使用的重分類工具,在分類方法中選擇“相等間隔”,并且把類別設置成10,點擊確定返回上一個界面,這時候觀察可以發現表里面的舊值的最小值對應新值的1,舊值的最大值對應新值的10,符合我們的分類要求,點擊確定即可生成地形起伏成本數據Reclass_QFD(由于和前面一樣的操作,本次不提供例圖啦)。
- 計算河流成本
由于河流數據river已經分了河流等級(0、1、2、3、4)5個等級,我們按照河流等級再進行重分類,4級分為10,其他依次分為8、5、2、1,直接在新值下面修改成相應的數字后點擊確定即可生成河流成本數據Reclass_river。
4.加權合并成本數據
到目前為止,所有的成本數據已經準備完畢,接下來對成本數據進行加權合并生成最終成本數據。選擇【柵格計算器】,該工具的位置以及相關參數設置如下圖所示:
最終成本柵格cost如下圖所示:
成本即到達目的地的花費,包括金錢、時間等。影響成本的因素有很多,比如我們本次計算的成本影響因子包括坡度,地形起伏度,河流的阻礙。成本柵格數據記錄了通過每一像元所需要的通行成本。
5.計算成本權重距離指數
使用【成本距離】工具,該工具的位置和相關參數設置如下:
得到成本距離加權數據CostDis_star也叫成本累積數據,記錄每個柵格到距離最近、成本最低的源的最少累加成本,以及回溯鏈接數據blanklink也叫距離方向數據,表示從每一個像元出發,沿著最低累積成本路徑達到最近源的路線方向,一共有8個方向(1、3、5、7分別表示東、南、西、北,2、4、6、8分別表示東南、西南、西北、東北)如下圖所示:
4. 計算最短路徑
使用【成本路徑】工具,該工具的位置和相關參數設置如下:
最終得到一條由連續像元集合組成的線狀柵格數據,由于像元太小無法在DEM高程數據上面直觀地展示出來,于是我們進行矢量化,方便后續對線進行符號化,工具位置和參數設置如下圖所示:
最終我們看到的是這個效果(紅色線段),最短路徑經歷千辛萬苦終于做出來啦?。。。?!
本文鏈接:http://www.duo1680.com/blog/330.html
本文標簽:ArcGIS