Skip To Content

使用垂直系数调整遇到的距离

适用于 Image Server

在计算调整后的直线距离后,可以使用垂直系数控制遇到该距离时的速率。 还可以使用成本表面移动者的特征水平系数控制该速率。

垂直系数考虑了穿越地形中斜坡所需付出的精力。 该努力会影响遇到距离的方式。 上坡可能更费力,下坡更省力,穿越斜坡介于二者之间。 针对此精力修改调整后的直线距离有助于采集旅行者遇到距离时的速率。

下坡的徒步旅行者
下坡更省力,因此移动者可以更快的速率走完距离。

不要混淆垂直系数(表示穿越斜坡的精力)和表面距离,后者指将直线距离通过考虑旅行者在地形中上坡和下坡时经过的实际距离进行调整后得出的距离。

斜坡通常与成本距离分析相关。 直观地说,穿越陡坡的成本高于穿越平坡的成本。 通常,使用表面参数工具生成坡度栅格;但是有时坡度栅格会错误输入到成本表面中。

表面参数工具中的坡度选项用于计算每个数字高程模型 (DEM) 像元的高程变化率。 它是 DEM 的一阶导数。 但是,如上所述,它关系到通过像元时遇到坡度的方式。 旅行者可以避免成本表面中分配给陡坡的像元。 如果旅行者在穿过该像元时向上爬坡,这种方法可能会有效。 但是,如果旅行者在穿过该像元时下坡或横穿坡度,则该像元可能更适合行进。

可以使用垂直系数中的高程栅格考虑穿越斜坡所需的精力。 如果遇到坡度的方向很重要,则不要将坡度栅格包含在成本表面中。

还可以通过行进方向源特征参数更改垂直系数中坡度的计算方向。 即向源移动或远离源时会更改旅行者进入像元的方向,从而改变遇到坡度的方式。

将垂直系数 (VF) 纳入调整后的直线距离计算中,作为乘数修饰符。 有关如何计算垂直系数的详细信息,请参阅距离累积算法主题。

垂直系数使用示例

垂直系数可以在各种情况下使用,如下所示:

  • 找到两个野营地之间的新徒步路线,与直接徒步穿过二者之间的最短路径相比,该路线距离更长但是更容易遍历。
  • 检查冬季在道路撒盐对周围植被健康状况的影响。 道路下方的植被会更容易受到径流的影响。
  • 确定依赖盐度浓度变化而移动的海洋生物如何移动。

纳入垂直系数

可以在概念上将距离分析分为以下相关功能领域:

基于第二个功能区,通过垂直系数确定遇到距离时的速率,如下所示。 在该情景中,涉及对四个森林护林员站(紫色点)和一些河流(蓝色线)进行数据采集。

距离四个森林护林员站的累积成本距离地图
从每个像元到最近护林员站的最小成本距离纳入了障碍、表面栅格和成本表面。

为了纳入护林员穿越山坡的精力,指定了垂直系数。 高程表面将用作垂直栅格。

已添加垂直系数的累积成本距离地图
纳入包含障碍、表面栅格和成本表面的垂直系数后的从每个像元到最近护林员站的最小成本距离。 垂直系数尤其会影响研究区域的中心。

使用垂直系数创建距离栅格

要创建纳入垂直系数的栅格,请完成以下步骤:

  1. 打开距离累积工具。
  2. 提供输入栅格或要素源数据参数源。
  3. 对输出距离累积栅格进行命名。
  4. 展开与垂直移动有关的成本类别。
  5. 输入垂直栅格参数提供垂直系数栅格。

    此输入用于计算在像元之间移动时遇到的坡度。 通常,应指定高程栅格。

    随即显示垂直系数参数。

  6. 指定垂直系数参数设置。

    此参数用于识别要应用于成本的乘数,以调整穿越遇到的斜坡所需的精力。

  7. 单击运行

垂直系数会影响遇到距离时的速率。

要修改遇到距离时的速率并考虑旅行者越过斜坡所需的精力,工具会执行以下操作:

  • 计算在像元之间移动时如何遇到斜坡。 这称为垂直相对移动角度 (VRMA)。
  • 识别 VRMA 如何修改遇到距离时的速率。

计算 VRMA

VRMA 指从处理像元(起始像元)到旅行者移入的像元(结束像元)的坡度角。 距离是针对结束像元计算的。 计算坡度时的起始高度由输入垂直系数栅格定义。

斜率使用勾股定理公式垂直增量/水平增量进行计算。 确定坡度所需的三角形底边是通过调整后的直线距离获得的。 高度通过从“目标”像元值减去“起始”像元值来确定。 结果角度为 VRMA。

VRMA 计算

VRMA 值以度为单位。 VRMA 的值范围介于 -90 到 +90 度之间,这同时考虑了正向和负向坡度。

识别 VF 乘数

随后将在指定的垂直系数图上绘制 VRMA 值,从而获得计算到达“结束”像元的成本时使用的垂直系数乘数。 穿越像元的距离值将乘以识别的垂直系数。 系数越大,移动的难度也就越大。 大于 1 的 VF 会增加遇到的成本距离。 小于 1 但大于 0 的 VF 允许移动者以更快的速率遇到距离。

例如,下图显示了线性 VF 函数中 VF 和 VRMA 的关系:

线性类型图中的 VF 和 VRMA

用于采集旅行者与其遇到的坡度之间的相互作用的垂直系数函数包括二进制线性逆线性对称线性对称逆线性CosSecCos-SecSec-Cos。 有关每个函数的详细信息,请参阅其他信息一节。

注:

垂直系数为乘数。 将垂直系数与成本表面、源特征或水平系数相结合时,谨慎指定单位。 通常,在输入成本表面后,垂直系数应为乘数调整,用于调节成本表面速率的单位。 如果时间是成本表面速率的单位,则垂直系数应为时间乘数。 只有以下系数之一可以定义速率单位。 其他系数无单位,其值为指定单位的乘数修饰符。

使用垂直系数的示例应用

下面介绍了使用垂直系数的示例应用。

创建下坡缓冲区以了解冬季撒盐对植被的影响

您想要识别道路 50 米范围内的下坡区域,因为这些区域可能收到冬季盐水径流的影响。 您想要沿地形表面测量距离。 您可以使用二进制垂直系数设置,防止距离累积工具识别高于道路像元的像元。 下面显示了生成的缓冲区示例。

周围是 50 米下坡缓冲区的道路
将识别可能受道路下方冬季盐水径流影响的区域。 可通过在“距离累积”工具中使用二进制垂直系数设置,确定距离道路 50 米的表面距离内的下坡像元(橙色阴影)。

为了进行比较,将使用其他路段显示直线与仅下坡缓冲区之间的差异。

此道路的 50 米下坡缓冲区道路叠加在 50 米直线缓冲区上
50 米直线距离缓冲区(蓝色阴影)叠加在仅下坡表面距离缓冲区(橙色阴影)上。 后者在无法下坡行进的 50 米位置较窄。

要创建下坡缓冲区,请完成以下步骤:

  1. 打开距离累积工具。
  2. 输入栅格或要素源数据参数中提供道路数据。
  3. 输出距离累积栅格参数值进行命名。
  4. 展开与垂直移动有关的成本类别。
  5. 输入垂直栅格参数中提供高程栅格。
  6. 垂直系数参数设置为二进制
  7. 展开源特征类别。
  8. 最大累积距离参数设置为 50 米。
  9. 单击运行

托布勒徒步旅行函数

您想要计算在整个地形上徒步旅行所需时间,同时根据行进方向上遇到的坡度调整步行速度。 托布勒徒步旅行函数是用于执行该调整的经验模型。 在该模型中,假设基本步行速度为 6 km/h,这在稍微下坡(大约 -3 度)行进时才能达到。

托布勒徒步旅行函数

其中 d 是用于计算坡度的角度。

绘制时,速度函数 W 应与下图类似:

托布勒速度函数图
托布勒速度函数与坡度(度)的函数以 km/h 为单位。 当稍微下坡步行时,才能达到最大行进速度 6 km/h。

您想要了解行进给定距离(一个像元)所需的时长,而不是在给定时间内可能行进的距离,因此您需要使用速度的倒数,即配速。 配速以小时/米为单位(因为水平距离分析单位为米),而不是小时/千米:

配速函数

其中 d 是用于计算坡度的角度。

配速函数(称为徒步旅行时间)外观与下图类似:

转换为配速函数的托布勒速度函数图
托布勒速度函数的倒数为配速函数,在这里以小时/米为单位,按照与坡度(度)的函数进行绘图。

要创建徒步旅行时间地图,请完成以下步骤:

  1. 打开距离累积工具。
  2. 提供徒步旅行起始位置作为输入栅格或要素源数据参数值。
  3. 输出距离累积栅格参数值进行命名。
  4. 使用输入表面栅格参数提供一个高程表面。
  5. 展开相对于垂直移动的成本参数类别,然后执行以下操作
    1. 输入垂直栅格参数中提供高程栅格。
    2. 垂直系数参数值设置为徒步旅行时间
    3. 交角下限交角上限参数设置为默认值。
  6. 展开源特征类别,然后将行进方向参数值设置为从源行进
  7. 单击运行

在生成的累积栅格上,您可以单击任意位置以了解在选择最佳路径时从源到您单击的位置的徒步旅行时间(以小时为单位)。 添加行进方向十分重要,因为在斜坡向上行进的速度比相同坡度向下行进速度慢。

垂直系数参数也可以使用另一个选项,即双向徒步旅行时间选项,它也基于托布勒徒步旅行函数。 此设置使用最佳路径来查找在往返徒步旅行路线上沿一个方向徒步旅行的平均时间。 如果您想找到最佳往返路线,则这是确定最佳路径的最佳方法。 使用此选项时,行进方向参数不会影响结果,因为它是两个方向的平均值。

其他信息

以下几节包含有关垂直系数的其他信息。

垂直系数

要定义垂直系数函数,可以使用提供的图表,或使用 ASCII 文件创建自定义函数。 下面的垂直系数函数适用于距离累积工具:

垂直系数选项、修饰符和默认值

函数零系数交角下限交角上限坡度Cos 幂Sec 幂
二进制

1

-30

30

N/A

N/A

N/A

N/A

线性

1

-90

90

1.111E-02

N/A

N/A

N/A

逆线性

1

-45

45

-2.222E-02

N/A

N/A

N/A

对称线性

1

-90

90

1.111E-02

N/A

N/A

N/A

对称逆线性

1

-45

45

-2.222E-02

N/A

N/A

N/A

Cos

N/A

-90

90

N/A

1

N/A

N/A

Sec

N/A

-90

90

N/A

1

N/A

N/A

Cos – Sec

N/A

-90

90

N/A

N/A

1

1

Sec – Cos

N/A

-90

90

N/A

N/A

1

1

徒步旅行时间

N/A

-70

70

N/A

N/A

N/A

N/A

双向徒步旅行时间

N/A

-70

70

N/A

N/A

N/A

N/A

二进制

当 VRMA 大于切削角上限且小于切削角下限时,在两个像元之间移动的 VF 设置为与零系数相关联的值。 如果 VRMA 大于切削角,则 VF 设置为无穷大。 默认切削角为 30 度(如果未指定)。

默认二进制垂直系数图

线性

VF 由 VRMA-VF 坐标系中的一条直线确定。 这条线在 y 轴(表示 VF 系数)上的零系数值处进行截取。 线的斜率可以使用斜率修饰属性进行指定。 如果未确定斜率,则默认值为 1/90(指定为 0.01111)。 默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。

默认线性垂直系数图

逆线性

VF 由 VRMA-VF 坐标系中的一条直线的逆向值确定。 这条线在 y 轴(表示 VF 系数)上的零系数值处进行截取。 线的斜率可以使用斜率修饰属性进行指定。 如果未确定斜率,则默认值为 -1/45(指定为 0.02222)。 默认的交角下限为 -45 度,而默认的交角上限为 45 度。

默认逆线性垂直系数图

对称线性

垂直系数由两个与 VRMA 相关的线性函数组成,这两个函数关于 VF (y) 轴对称。 两条线都在与零系数相关联的 VF 值处截取 y 轴。 使用斜率垂直系数修饰属性相对于正 VRMA 定义线的斜率,然后将针对负 VRMA 生成一个镜像。 默认斜率为 1/90(指定为 0.01111)。 默认的交角下限为 -90,而默认的交角上限为 90。

默认对称线性垂直系数图

对称逆线性

此垂直系数与对称线性垂直系数关键字相反。 它由两个与 VRMA 相关的线性函数组成,这两个函数关于 VF (y) 轴相对称。 两条线都在 VF 值 1 处截取 y 轴。 使用斜率垂直系数修饰属性相对于正 VRMA 定义线的斜率,然后将针对负 VRMA 生成一个镜像。 默认斜率为 -1/45(指定为 0.02222)。 默认的切削角下限为 -45,而默认的切削角上限为 45。

默认对称逆线性垂直系数图

Cos

VF 由 VRMA 的余弦函数确定。 默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。 默认的 Cos 幂值为 1.0。

默认 Cos 垂直系数图

Sec

VF 由 VRMA 的正割函数确定。 默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。 默认的 Sec 幂值为 1.0。

默认 Sec 垂直系数图

Cos-Sec

当 VRMA 度数为负值时,VF 由 VRMA 的余弦函数确定。 如 VRMA 度数为正值,VF 则由 VRMA 的正割函数确定。 默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。 默认的 Cos 幂Sec 幂值均为 1.0。

默认 Cos-Sec 垂直系数图

Sec-Cos

当 VRMA 度数为负值时,VF 由 VRMA 的正割函数确定。 如 VRMA 度数为正值,VF 则由 VRMA 的余弦函数确定。 默认的切削角下限为 -90 度,而默认的切削角上限为 90 度。 默认的 Sec 幂Cos 幂值均为 1.0。

默认 Sec-Cos 垂直系数图

徒步旅行时间

VF 是托布勒徒步旅行函数的倒数,结果是以小时为单位的配速。 当 VRMA 约为 -3 度时,成本最低。 默认的切削角下限为 -70 度,而默认的切削角上限为 70 度。 公式将根据地图单位进行调整。

托布勒徒步旅行函数的公式如下:

托布勒徒步旅行函数

徒步旅行时间函数(即托布勒徒步旅行函数的倒数)如下所示:

配速或徒步旅行时间函数

其中 d 是用于计算坡度的角度。

徒步旅行时间垂直系数图

双向徒步旅行时间

此函数使用最佳路径确定在往返徒步旅行路线上沿一个方向徒步旅行的平均时间。 VF 基于托布勒徒步旅行函数的倒数,但它使用平均值,且结果是以小时为单位的配速。 公式将根据地图单位进行调整。

托布勒徒步旅行函数的公式如下:

托布勒徒步旅行函数

徒步旅行时间函数(即托布勒徒步旅行函数的倒数)如下所示:

配速或徒步旅行时间函数

双向徒步旅行函数的时间是使用正角度和负角度得出的平均徒步旅行时间。

双向徒步旅行函数

其中 d 是用于计算坡度的角度。

双向徒步旅行时间垂直系数图

表是一个 ASCII 文件,每行对应两列。

第一列以度为单位标识 VRMA,第二列标识 VF。 每行指定一个点。 两个连续的点生成 VRMA-VF 坐标系中的一条线段。 角度必须按升序输入,范围为 -90 至 90。 对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 VRMA 角度,其 VF 系数将设置为无穷大。 在 ASCII 表中,无穷大的 VF 表示为 -1。

下面是垂直系数 ASCII 表的示例。 第一列的单位为度,第二列的单位为小时/米。

    -90  -1
    -80  -1
    -70   2.099409721
    -60   0.060064462
    -50   0.009064613
    -40   0.00263818
    -30   0.001055449
    -20   0.000500142
    -10   0.00025934
      0   0.000198541
     10   0.000368021
     20   0.000709735
     30   0.001497754
     40   0.003743755
     50   0.012863298
     60   0.085235529
     70   2.979204206
     80  -1
     90  -1

垂直系数修饰属性

您可以使用允许细化垂直系数的修饰符进一步控制 VRMA 函数。 可能会存在角度阈值,如果 VRMA 超过了此角度,成本会过高而使其成为行进的障碍。 此阈值称为交角。 当 VRMA 超出此值时,VF 赋值为无穷大。

垂直系数图将具有交角下限和上限,这与水平系数图不同,该图仅具有单一交角。

使用这些修饰符,可以为每个函数指定交角,三角函数曲线可以进行幂次运算,零系数可以改变非三角函数的 y 轴截断,并且可以定义线性函数中的线斜率。

零系数

此修饰符用于确定 VRMA 为零时使用的垂直系数。 该系数可确定指定函数的 y 截距。

交角下限

此修饰符为定义阈值下限的 VRMA 度数,如果低于(小于)该值,VF 将设置为无穷大,无论指定的垂直系数关键字为何。

交角上限

此修饰符为定义阈值上限的 VRMA 度数,如果超过(大于)该值,VF 将设置为无穷大,无论指定的垂直系数关键字为何。

垂直系数修饰属性示例 - 交角上限/下限

坡度

此修饰符用于为线性逆线性对称线性对称逆线性关键字确定 HRMA–HF 坐标系中的直线斜率。 斜率被指定为垂直增量与水平增量的比值(例如,30 度斜率为 1/30,指定为 0.03333)。 有关斜率为 1/90 的线性函数的示例,请参阅线性 VRMA 图。

该修饰符是对值进行幂运算的指数。

Cos 幂

该修饰符是对 Sec-Cos VRMA 函数中的非负值和 Cos-Sec VRMA 函数中的负值进行幂运算的指数。 VF 由以下方程确定:

VF = cos(VRMA)power

Sec 幂

该修饰符是对 Cos-Sec VRMA 函数中的非负值和 Sec-Cos VRMA 函数中的负值进行幂运算的指数。 VF 由以下方程确定:

VF = sec(VRMA)power

表名

此修饰符用于识别将与垂直系数关键字一同使用的 ASCII 文件的名称。

其他资源

Tobler, Waldo. 1993. 地理分析与模型三篇论文:非各向同性地理建模;地理学的几何特征的猜测;全球空间分析 (93-1)。 检索自 https://escholarship.org/uc/item/05r820mz