ArcGIS教程:路径距离工具的工作原理(二)
2015-11-13 11:34
746 查看
累积成本像元列表
使用图论创建累积成本距离栅格可视作识别最低成本像元的尝试,并将其添加到输出列表。这是起始于源像元的迭代过程。目标是为每个像元快速分配成本距离栅格。
比较路径距离和成本距离
路径距离的处理过程与成本距离相似。首先确定源像元。然后确定到达源像元的相邻像元的行程成本。再将各近邻像元按照从最低成本到最高成本的顺序列入列表。成本最低的像元位置将从列表中移除。最后,确定到达列表中被移除像元到近邻像元的最低累积成本。
处理过程不断重复,直到栅格中的所有像元都分配到一个累积成本。成本距离和路径距离工具的区别在于如何计算从一个像元移动到下一个像元的成本。
路径距离公式
从像元的角度考虑,路径距离工具主要用于为分析范围中的每一像元确定从成本最低的源到达此像元的最低成本路径。每个像元都需要确定从某个源到达自身的最低累积成本路径,包括源位置和路径。
路径距离
在成本表面上移动所需的成本通过上述公式确定。在路径距离中,这些成本(在以下等式中标识为 Cost_Surface)可以通过表面距离 (Surface_distance) 以及水平和垂直系数来修改。从像元 a 到像元 b 的整个行程成本的计算公式取决于行程是垂直的还是呈对角线的:
垂直:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2)
* Surface_distance(ab) * Vertical_factor(ab)
对角线:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2)
* 1.414214 * Surface_distance(ab) * Vertical_factor(ab)
请注意,只有在将水平系数求和后,才能将线段的摩擦值除以 2。
如果未指定成本表面,将使用单位距离的成本值(与成本栅格应用均为 1s 的值相同)。水平和垂直系数都将应用到单位距离。不得采用负的水平和垂直系数。由于两个系数均为各像元的累积成本的乘数,所以大于 0 且小于 1 的系数将减少该像元的总成本。垂直系数为零或水平系数的两条线段均为零会导致像元成本为零。
累积成本距离
从像元 a 穿过像元 b 到像元 c 的累积行程成本如下:
Accum_cost_distance = a1 + (((Cost_Surface(b) * Horizontal_factor(b)) + (Cost_surface(c)
* Horizontal_factor(c)))/2) * Surface_distance(bc) * Vertical_factor(bc)
其中:
a1 为从像元 a 到像元 b 的整个行程成本。
水平和垂直参数
有多种不同参数类型可以控制水平和垂直摩擦系数。对于每种系数,可以通过多种修饰属性对分析执行进一步的控制。
使用图论创建累积成本距离栅格可视作识别最低成本像元的尝试,并将其添加到输出列表。这是起始于源像元的迭代过程。目标是为每个像元快速分配成本距离栅格。
比较路径距离和成本距离
路径距离的处理过程与成本距离相似。首先确定源像元。然后确定到达源像元的相邻像元的行程成本。再将各近邻像元按照从最低成本到最高成本的顺序列入列表。成本最低的像元位置将从列表中移除。最后,确定到达列表中被移除像元到近邻像元的最低累积成本。
处理过程不断重复,直到栅格中的所有像元都分配到一个累积成本。成本距离和路径距离工具的区别在于如何计算从一个像元移动到下一个像元的成本。
路径距离公式
从像元的角度考虑,路径距离工具主要用于为分析范围中的每一像元确定从成本最低的源到达此像元的最低成本路径。每个像元都需要确定从某个源到达自身的最低累积成本路径,包括源位置和路径。
路径距离
在成本表面上移动所需的成本通过上述公式确定。在路径距离中,这些成本(在以下等式中标识为 Cost_Surface)可以通过表面距离 (Surface_distance) 以及水平和垂直系数来修改。从像元 a 到像元 b 的整个行程成本的计算公式取决于行程是垂直的还是呈对角线的:
垂直:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2)
* Surface_distance(ab) * Vertical_factor(ab)
对角线:
Cost_distance = (((Cost_Surface(a) * Horizontal_factor(a)) + (Cost_surface(b) * Horizontal_factor(b)))/2)
* 1.414214 * Surface_distance(ab) * Vertical_factor(ab)
请注意,只有在将水平系数求和后,才能将线段的摩擦值除以 2。
如果未指定成本表面,将使用单位距离的成本值(与成本栅格应用均为 1s 的值相同)。水平和垂直系数都将应用到单位距离。不得采用负的水平和垂直系数。由于两个系数均为各像元的累积成本的乘数,所以大于 0 且小于 1 的系数将减少该像元的总成本。垂直系数为零或水平系数的两条线段均为零会导致像元成本为零。
累积成本距离
从像元 a 穿过像元 b 到像元 c 的累积行程成本如下:
Accum_cost_distance = a1 + (((Cost_Surface(b) * Horizontal_factor(b)) + (Cost_surface(c)
* Horizontal_factor(c)))/2) * Surface_distance(bc) * Vertical_factor(bc)
其中:
a1 为从像元 a 到像元 b 的整个行程成本。
水平和垂直参数
有多种不同参数类型可以控制水平和垂直摩擦系数。对于每种系数,可以通过多种修饰属性对分析执行进一步的控制。
相关文章推荐
- ArcGIS教程之编辑操作常用快捷键列表
- ArcGIS教程:对镶嵌数据集进行色彩平衡
- ArcGIS教程:裁剪数据框
- ArcGIS教程:遥感图像预处理
- ArcGIS教程:3D Analyst 基本词汇
- ArcGIS教程:“交叉协方差云”工具
- ArcGIS教程:检查多个数据集的协变
- ArcGIS教程:关于设置栅格捕捉选项
- ArcMap——简介及操作地图
- ArcGIS教程:投影参数
- ArcGIS教程:地统计模拟的示例
- ArcGIS教程:浏览任务助手管理器
- ArcGIS教程:XY平面坐标值生成地块图斑
- ArcGIS教程:勾勒建成区轮廓
- ArcGIS教程:计算分区河流(管线)总长度
- ArcGIS教程:基于路网的城市间距离计算方法
- ArcGIS教程:基于GIS的旅游辐射区人口统计
- ArcGIS教程:按照固定路径进行三维飞行
- ArcGIS教程:创建“隐形”图层
- ArcGIS之如何计算面要素的宽度?