Home 新闻中心 技术博客

ArcMap 寻找两点间的最佳路径

发布时间:2021-10-24 23:36:42   浏览量:88   作者:GIS前沿

ArcGIS中实现最佳路径分析,首先利用高程数据派生出坡度数据及起伏度数据,然后重分类流域数据、坡度、起伏度数据集到相同的等级范围,再按照上述数据集在路径选择中的影响率赋权重值,最后合并这些数据即可得到成本数据集。基于成本数据集计算栅格数据中各单元到源点的成本距离与方向数据集,最后执行最短路径函数提取最佳路径。

1

数据准备

DEM(高程数据)、startPot(路径源点数据)、endPot(路径终点数据)和river(小河流域数据)。

2

基本解决方案

  1. 计算坡度成本

使用DEM数据生成坡度数据Slope,工具位置和相关参数设置如下图所示:请添加图片描述
前面开头说了,最佳路径是通过耗费成本比较出来的,所以我们为了方便比较成本,需要对Slope数据进行重分类,分类的基本原则是:采用等间距分为10级,坡度最小的一级赋值为1,坡度最大的一级赋值为10。重分类工具的位置以及相关参数设置如下图所示:请添加图片描述
这时候我们点击分类按钮,弹出如下界面,在方法中选择“相等间隔”,并且把类别设置成10,点击确定返回上一个界面,这时候观察可以发现表里面的旧值的最小值对应新值的1,旧值的最大值对应新值的10,符合我们的分类要求,点击确定即可将坡度成本数据Reclass_river。请添加图片描述
2. 计算起伏度成本

使用焦点统计生成起伏度成本数据QFD,工具位置以及相关参数设置如下图所示:

图片

注意:

统计类型选择为“RANG”意思是计算12*12(这个看具体情况选邻域范围)的矩形栅格像元内的像元值极差,由于是DEM高程数据,所以该统计结果就是这个区域内的高差(即起伏度)。

接下来对QFD进行重分类,依然使用前面使用的重分类工具,在分类方法中选择“相等间隔”,并且把类别设置成10,点击确定返回上一个界面,这时候观察可以发现表里面的旧值的最小值对应新值的1,旧值的最大值对应新值的10,符合我们的分类要求,点击确定即可生成地形起伏成本数据Reclass_QFD(由于和前面一样的操作,本次不提供例图啦)。

  1. 计算河流成本

由于河流数据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高程数据上面直观地展示出来,于是我们进行矢量化,方便后续对线进行符号化,工具位置和参数设置如下图所示:请添加图片描述
最终我们看到的是这个效果(红色线段),最短路径经历千辛万苦终于做出来啦!!!!!请添加图片描述

来源:https://blog.csdn.net/qq_43173805/article/details/119890612