“多尺度表面偏差”的工作原理

多尺度表面偏差工具用于计算一系列空间尺度(大小不等的邻域)中的最大表面偏差。 此工具的输出用于识别像元的偏差及确定其的尺度。

输出可用于解释输入表面栅格上的要素及其相关尺度。 以下图像显示了同一输入表面两种不同尺度的结果。 一个输出使用了 9 × 9 像元尺度,而另一个输出使用了 29 × 29 像元尺度。 较小的尺度对景观的局部变化更为敏感,并能捕捉较小的表面要素。 另一方面,较大的尺度仅能捕捉较大的表面要素,因此显示的细节较少。

两个不同尺度的偏差输出示例
针对两个不同的尺度显示了相同范围的偏差输出:较小尺度(第二张图)和较大尺度(第三张图)。

如何计算最大偏差值

以下步骤概述了该工具使用的内部流程:

  1. 可以使用最小邻域距离最大邻域距离基础距离增量非线性因子参数定义分析的尺度。 这些参数的单位由距离单位参数控制。
  2. 对于每个像元,将以每个识别的尺度计算偏差。
  3. 将针对各个尺度对计算的偏差进行比较,并返回最大偏差值。

下面的各部分将对每个步骤进行更详细的说明。

分析尺度的识别方式

将使用多尺度表面百分位数工具中的可选参数来确定分析尺度。 最小邻域距离最大邻域距离参数用于设置分析的最小尺度和最大尺度。 基础距离增量非线性因子参数用于控制最小值和最大值之间邻域距离的增加。

每个尺度用邻域距离值表示。 分析将在多个邻域距离下进行,具体取决于输入参数设置。

对于给定目标像元,将从目标像元中心向外测量邻域距离,由此在目标像元周围创建一个像元方块。 例如,对于像元大小为 10 米的输入表面栅格,如果邻域距离为 30 米,则将形成 7 x 7 像元的邻域,如下图所示。 此值(30 米)将为计算最大偏差的尺度之一。

邻域距离和移动窗口中的像元数量之间的关系
将显示邻域距离(橙色线)和移动窗口中的像元数据之间的关系。 像元大小为 10 米时;10 米的邻域距离将使用 3 x 3 像元窗口(此为默认设置),20 米的邻域距离将使用 5 x 5 像元窗口,而 30 米的邻域距离将使用 7 x 7 像元窗口。

允许的最小邻域距离等于输入栅格的像元大小。 该值为 1 个像元,形成一个 3 x 3 的像元邻域。 在上述示例中,最小邻域距离为 5 米。

邻域距离不能超过输入表面栅格的范围。

如果指定的邻域距离不是像元大小的整数倍,工具会将其向上取整至下一个单元格大小的整数倍。 例如,在上述示例中,如果指定邻域距离为 25 米,它将向上取整至 30 米。

计算将从最小邻域距离参数值开始,然后计算每个后续邻域距离。

用于计算要使用的后续邻域距离的表达式如下:

ni = no + [Δn × (i - no)]p
  • 其中:

    ni = 步骤 i 的邻域距离

    no = 最小邻域距离

    Δn = 基础距离增量

    i = 正在计算邻域距离的步骤(其中第一步的值为 1 + no

    p = 非线性因子

将检查识别的每个新邻域距离,以确定其是否小于或等于最大邻域距离参数值。 如果新距离值小于或等于最大值,则邻域距离计算将继续。 如果新值大于最大值,则表示已识别所有邻域距离,并且偏差计算随即开始。

有关该部分分析的详细信息,请参阅以下如何计算偏差部分。

非线性因子如何影响邻域距离

非线性因子参数用于控制邻域距离增加的栅格。 默认值为 1,这会导致邻域距离线性增加。 这意味着邻域距离之间的增量将等于基础距离增量参数值。

当将非线性因子参数值增大到 1 以上时,邻域距离之间的增量将在第一个增量之后发生变化。 第一个增量将等于基础距离增量值,但所有后续增量的大小将逐渐增大。

当将非线性因子参数值设置为 1 以上的值时,第一个增量之后的后续邻域距离之间的距离增量将逐渐增大。 另一个结果是,对于相同的最小和最大邻域值,较高的非线性因子将导致整体邻域距离较少。

下图演示了三种不同的非线性因子参数设置的影响。 在本示例中,设置为 1.0、1.5 和 2.0。 对于这些设置中的每种设置,其他参数的值均保持不变。 最小邻域距离参数值为 1,最大邻域距离值为 10,基础距离增量值为 1。

对于第一个增量,非线性因子的所有三个设置的邻域距离均为相同的值,即 2 个像元。 此后,邻域距离的值将开始变化。 当非线性因子为 1.5 时,增量将逐渐变大,当因子为 2.0 时,增量将更大。

非线性因子参数值为 1.0 时,总共存在 9 个增量,每个增量将以线性方式大于前一个增量。 当因子值为 1.5 时,仅存在 4 个增量;当因子值为 2.0 时,仅存在 3 个增量。

图形说明了非线性因子的影响
将非线性因子增大到 1.0 以上会导致增量大小逐渐增大,因此邻域距离增加得更快。 这也会导致当使用较大的非线性因子值时,相同的“最小邻域距离”和“最大邻域距离”的尺度较小。

非线性因子参数用于自定义尺度的采样密度。 使用大于 1.0 的非线性因子参数值,可以使小尺度的尺度采样密度更高,大尺度的尺度采样密度更低。 但是,在这些情况下,您可能需要增大最大邻域距离参数值,才能获得所需增量。 对于大多数情况,非线性因子使用 1.0 到 2.0 之间的值。

如何计算偏差

偏差是一种统计测量值,表示值与固定值(例如数据集的均值)之间的差异程度。

对于针对计算标识的每个邻域距离以及输入表面栅格中的每个像元,多尺度表面偏差工具用于计算偏差。 将在输出偏差栅格参数值中标识并记录最大偏差值。 确定这些偏差的尺度将记录为输出尺度栅格参数值中的像元值。

要计算偏差,首先计算方差,然后计算标准差。 以下将对这些计算进行说明。

首先,计算每个像元的方差。 方程如下:

方差方程
  • 其中:

    σ = 邻域中像元值的方差

    xi = 邻域中像元 i 的值

    n = 邻域中像元的总数(不包括 NoData 像元)

接下来,使用方差值计算每个像元的标准差。 方程如下:

标准差方程
  • 其中:

    sd = 邻域中像元值的标准差

    σ = 邻域中像元值的方差

最后,使用标准偏差值计算偏差值。 方程如下:

最终偏差值方程
  • 其中:

    偏差值 = 保存以供比较的输出偏差

    xc = 邻域中的中心像元的原始值

    平均值 = 邻域中像元值的平均值(不包括 NoData 像元)

    sd = 标准差

使用积分图像法高效计算平均值 (Lindsay et al., 2015)。 在这种方法中,邻域的局部总和预先计算,性能得以改善。 将在输出偏差栅格参数值中标识并记录最大偏差值。 确定这些偏差的尺度将记录为输出尺度栅格参数值中的像元值。

GPU 的使用

如果您的系统上已安装某些 GPU 硬件,则此工具能够显著提高性能。 有关如何支持、配置以及启用此功能的详细信息,请参阅通过 Spatial Analyst 处理 GPU

参考资料

Lindsay, John B., Jaclyn M. H. Cockburn, Hanzen A. J. Russell. 2015. "An integral image approach to performing multi-scale topographic position analysis." Geomorphology Volume 245, pp. 51–61. https://doi.org/10.1016/j.geomorph.2015.05.025

Newman, Daniel R., John B. Lindsay, and Jaclyn Mary Helen Cockburn. 2018. "Evaluating metrics of local topographic position for multiscale geomorphometric analysis." Geomorphology 312, 40–50. https://doi.org/10.1016/j.geomorph.2018.04.003

相关主题