水平系数和垂直系数如何影响路径距离
对于路径距离工具,有几个参数可用来控制水平和垂直摩擦系数。
阅读此部分之前,请确保您首先对路径距离分析及路径距离工具的工作原理有所了解。
水平系数
水平系数
水平系数 (HF) 从像元移动时所遇到的水平摩擦因素的角度出发,确定从一个像元移到另一个像元的总成本或困难。
要计算在像元间行进的总 HF,就必须确定以下两条连接线段的 HF:从待处理像元的中心到“目标”像元所在边的线段以及从“目标”像元所在边到其中心的线段。
确定每个连接的水平成本的过程分为两步:
- 首先,必须确定主导的水平方向。水平方向以度为单位进行定义,0 表示位于待处理像元的上方(或北方),值沿顺时针方向增加,形成一个圆并在 360 度时回到原始位置。
水平方向由指定给输入水平系数栅格上每个像元位置的值进行定义。该方向通常用于识别相对于待处理像元的水平移动成本最低的方向,但也并非必须如此。
- 一旦定义了水平方向,就必须确定在计算沿线段移动的总成本时所使用的水平系数。首先,必须确定目标像元相对于水平方向的位置。目标像元的方向(相对于起始像元的主导水平方向)即水平移动方向,或只是移动方向。目标像元与水平方向构成的角的度数由水平系数栅格定义,称为水平相对移动角度 (HRMA)。
需要考虑的是与已确定的水平方向形成的角度数而非已确定的方向的哪条边。
确定了 HRMA 后,会使用一个图表来确定实际的水平系数。y 轴表示 HF,而 x 轴表示 HRMA。
在上面的示例中,如果您正在计算的水平系数所属的像元与水平方向形成的 HRMA 为 90 度(由输入水平系数栅格上的待处理像元定义),则水平系数成本将为 1.61。
HRMA 值的范围介于 -180 到 180 度之间。但是,在水平系数图中,x 轴上的值介于 0 到 180 之间,这是因为该图被假定为关于水平系数轴对称(互为镜像)。也就是说,180 度与由水平方向栅格指定的方向相反,而 90 度则表示位于待处理像元的左右两侧。INF 意味着线趋于无穷。
对起始位置位于“目标”像元的边且结束位置在该像元中心的线段执行相同的处理。移动方向保持相同,但计算时将使用“目标”像元的主导水平方向作为水平方向。将两个像元之间的行程连接分为两条线段(线段的一半在“起始”像元中,而另一半在“目标”像元中),这样,得到的水平系数将更为精确。这是因为自“起始”像元到“目标”像元这一半距离将遇到与“起始”像元相关的成本,而剩下的距离将位于相邻像元之中,其水平阻力有所不同。在路径距离公式中,每条线段的水平系数都乘以其相应的成本系数(通过成本栅格确定)。
水平系数关键字
用于确定水平系数的水平系数图可通过以下方法定义,从随软件提供的图表中选择现有图表或基于 ASCII 文件创建自定义图表。随软件提供的现有图表如下所示:
- BINARY
当 HRMA 小于切削角时,通过像元部分的 HF 设置为与零系数相关联的值。如果 HRMA 大于切削角,则此部分的 HF 设置为无穷大。默认切削角为 45 度。默认零系数为 1.0。
- FORWARD
如果某段行程的 HRMA 小于 45 度,则 HF 设置为与零系数相关联的值。当 HRMA 大于或等于 45 度且小于 90 度时,HF 设置为边值。如果未指定边值,则默认边值为 1。如果 HRMA 大于或等于 90 度,则 HF 设置为无穷大。默认零系数为 .5。
- LINEAR
HF 由 HRMA-HF 坐标系中的一条直线确定。这条线在 y 轴(表示 HF 系数)上与零系数相关联的值处进行截取。线的斜率可以使用 SLOPE 修饰属性进行指定。如果未确定斜率,则默认值为 0.5/45 或 1/90(指定为 0.01111)。默认切削角为 181 度,这相当于无切削。默认零系数为 .5。
- INVERSE_LINEAR
HF 由 HRMA-HF 坐标系中的一条直线的逆向值确定。这条线在 y 轴(表示 HF 系数)上与零系数相关联的值处进行截取。线的斜率可以使用 SLOPE 修饰属性进行指定。如果未确定斜率,则默认值为 -2/180 或 -1/90(指定为 0.01111)。默认切削角为 181 度,这相当于无切削。默认零系数为 2.0。
- TABLE
还可以使用在任意文本编辑器中创建的 ASCII 文件来定义图表。该文件的每一行有两列值与之对应。第一列值用于识别 HRMA(以度为单位表示),第二列值为 HF。文件中的每行指定图表中的一个点。两个连续的点定义 HRMA-HF 坐标系中的一条线段。HRMA 角度必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 HRMA 角度,其 HF 系数将设置为无穷大。在 ASCII 文件中,无穷大的 HF 表示为 -1。以下是水平系数 ASCII 表的示例:
0 1.40 10 2.43 20 2.30 30 3.44 40 1.25 50 1.02 60 0.90 70 0.86 80 0.25 90 0.78 100 1.49 110 2.35 120 3.32 130 2.39 140 3.18 150 2.13 160 1.89 170 1.20 180 2.034
水平系数修饰属性
可对某些 HRMA 关键字参数的修饰属性进行指定以获得各种所需结果。LINEAR 和 INVERSE_LINEAR 函数中线的斜率、FORWARD 函数的边值和零系数可以更改输入函数的 y 轴截距,而且所有 HRMA 函数的交角都可进行控制。即使此时您对修饰属性的效果并不熟悉,也不必担心。您只需了解自己能够进一步控制 HRMA 图表以满足自身需求即可。
- ZEROFACTOR
此系数将用于确定指定函数的 y 截距。它可以同所有的水平系数函数结合使用。
- CUTANGLE
确定 HRMA 角度阈值,超出该范围的 HF 将设置为无穷大。CUTANGLE 可用于除 FORWARD 以外的所有指定的水平系数关键字。根据定义,FORWARD 函数确定其自身的交角。
- SLOPE
为 LINEAR 和 INVERSE_LINEAR 关键字确定 HRMA–HF 坐标系中直线的斜率。斜率被指定为垂直增量与水平增量的比值(例如,30 度斜率为 1/30,指定为 0.03333)。有关斜率为 1/90 的线的示例,请参见 LINEAR HRMA 图。
- SIDEVALUE
使用 FORWARD 水平系数关键字时,确定为大于或等于 45 度且小于 90 度的 HRMA 指定的 HF 值。请参见 FORWARD HRMA 图,其边值为 1。
- TABLE_NAME
识别将与 TABLE 水平系数关键字一同使用的 ASCII 文件的名称。
垂直系数
垂直系数
垂直系数 (VF) 从影响移动的垂直因素的角度出发,确定从一个像元移动至另一个像元的困难。
确定从一个像元行进到另一个像元时遇到的 VF 与确定水平系数相似,不同之处在于计算 VF 时不像计算 HF 时那样将连接分为两段。这是因为在两个像元中心之间仅有一个斜率。因此,仅存在一个垂直相对移动角度 (VRMA)。
要确定从一个像元移到下一个像元的 VF,需根据输入垂直系数栅格中定义的值计算“起始”像元和“目标”像元之间的斜率。结果斜率为 VRMA,将在垂直系数图上将其绘出以确定垂直系数值,该值将用于计算像元间移动的路径距离。此垂直系数确定自起始像元中心到目标像元中心的垂直系数。垂直系数越大,移动的难度也就越大。
垂直相对移动角度是“起始”像元与“目标”像元形成的斜率的角度。斜率使用勾股定理公式垂直增量/水平增量进行计算。确定斜率所必需的三角形底边通过像元大小得出。高度通过从“目标”像元值减去“起始”像元值来确定。生成的角度为 VRMA。
VRMA 以度为单位进行指定。VRMA 的值范围为 -90 到 +90 度,这样对正负斜率都做出了补偿。随后将在指定的垂直系数图上绘制 VRMA 值,从而获得计算到达“目标”像元的成本时使用的垂直系数。得出的 VRMA 为 0.25 度。
例如,下图显示了 LINEAR 类型图中 VF 和 VRMA 的关系:
垂直系数关键字
定义确定 VF 时使用的垂直系数图所涉及的步骤与定义水平系数图相同。可以从随软件提供的图表列表中选择图表,也可以使用 ASCII 文件创建自定义图表。随软件提供的垂直系数图包括以下类型:
BINARY
当 VRMA 大于切削角上限且小于切削角下限时,在两个像元之间移动的 VF 设置为与零系数相关联的值。如果 VRMA 大于切削角,则 VF 设置为无穷大。如果未进行任何指定,则默认的切削角为 30 度。
LINEAR
VF 由 VRMA-VF 坐标系中的一条直线确定。这条线在 y 轴(表示 VF 系数)上与零系数相关联的值处进行截取。线的斜率可以使用 SLOPE 修饰属性进行指定。如果未确定斜率,则默认值为 1/90(指定为 0.01111)。默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。
SYM_LINEAR
SYM_LINEAR 由两个与 VRMA 相关的线性函数组成,这两个函数关于 VF (y) 轴对称。两条线都在与零系数相关联的 VF 值处截取 y 轴。使用 SLOPE 垂直系数修饰属性相对于正 VRMA 定义线的斜率,然后将针对负 VRMA 生成一个镜像。默认斜率为 1/90(指定为 0.01111)。默认的切削角下限为 -90,而默认的切削角上限为 90。
INVERSE_LINEAR
VF 由 VRMA-VF 坐标系中的一条直线的逆向值确定。这条线在 y 轴(表示 VF 系数)上与零系数相关联的值处进行截取。线的斜率可以确定(如果使用 SLOPE 修饰属性指定)。如果未确定斜率,则默认值为 -1/45(指定为 .02222)。默认的切削角下限为 -45 度,而默认的切削角上限为 45 度。
SYM_INVERSE_LINEAR
顾名思义,SYM_INVERSE_LINEAR 与 SYM_LINEAR 垂直系数关键字正相反。它由两个与 VRMA 相关的线性函数组成,这两个函数关于 VF (y) 轴相对称。两条线都在 VF 值为 1 处截取 y 轴。使用 SLOPE 垂直系数修饰属性相对于与正 VRMA 定义线的斜率,然后将针对负 VRMA 生成一个镜像。默认斜率为 -1/45(指定为 .02222)。默认的切削角下限为 -45,而默认的切削角上限为 45。
COS
VF 由 VRMA 的余弦函数确定。默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。默认的 COSPOWER 为 1.0。
SEC
VF 由 VRMA 的正割函数确定。默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。默认的 SECPOWER 为 1.0。
COS_SEC
当 VRMA 度数为负值时,VF 由 VRMA 的余弦函数确定。如 VRMA 度数为正值,VF 则由 VRMA 的正割函数确定。默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。默认的 COSPOWER 和 SECPOWER 均为 1.0。
SEC_COS
当 VRMA 度数为负值时,VF 由 VRMA 的正割函数确定。如 VRMA 度数为正值,VF 则由 VRMA 的余弦函数确定。默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。默认的 COSPOWER 和 SECPOWER 均为 1.0。
TABLE
表是一个 ASCII 文件,每行对应两列。这与水平系数图中的 TABLE 选项类似。
第一列以度为单位标识 VRMA,第二列为 VF。每行指定一个点。两个连续的点生成 VRMA-VF 坐标系中的一条线段。角度必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 VRMA 角度,其 VF 系数将设置为无穷大。在 ASCII 表中,无穷大的 VF 表示为 -1。
垂直系数 ASCII 表示例:
0 1.40 10 2.43 20 2.30 30 3.44 40 1.25 50 1.02 60 0.90 70 0.86 80 0.25 90 0.78 100 1.49 110 2.35 120 3.32 130 2.39 140 3.18 150 2.13 160 1.89 170 1.20 180 2.034
垂直系数修饰属性
与 HRMA 图一样,VRMA 图中的字符可由修饰属性进行进一步的控制,从而细化垂直系数。可能会存在角度阈值,如果 VRMA 超过了此角度,成本会过高而使其成为行进的障碍。此阈值称为交角。当 VRMA 超出此值时,VF 会指定为无穷大。
水平系数图仅有一个交角,而垂直系数图与此相反,它具有最大和最小两个交角。
可为每个函数指定交角,可增大三角曲线的幂,可通过零系数更改非三角函数的 y 轴截距,还可以定义线性函数中线的斜率。
- LCUTANGLE
定义阈值下限的 VRMA 度数,如果低于(小于)该值,将不会考虑指定的垂直系数关键字,而将 VF 设置为无穷大。
- HCUTANGLE
定义阀值上限的 VRMA 度数,如果高于(大于)该值,将不会考虑指定的垂直系数关键字,而将 VF 设置为无穷大。
- SLOPE
为 LINEAR、INVERSE_LINEAR、SYM_LINEAR 和 SYM_INVERSE_LINEAR 关键字确定 VRMA-VF 坐标系中直线的斜率。斜率被指定为垂直增量/水平增量(例如,30 度斜率为 1/30,指定为 0.03333)。有关斜率为 1/90 的线性函数的示例,请参见 LINEAR VRMA 图。
- COSPOWER
COS VRMA 函数中的值将增加到的幂。VF 由以下方程确定:
VF = cos(VRMA)power
- SECPOWER
SEC VRMA 函数中的值将增加到的幂。VF 由以下方程确定:
VF = sec(VRMA)power
- TABLE_NAME
识别将与 TABLE 垂直系数关键字一同使用的 ASCII 文件的名称。