Skip to main content

顶帽变换的工作原理

需具备 Spatial Analyst 许可方可使用。

顶帽变换工具用于从高程表面中提取空间结构。 要利用这些提取出的结构(如山谷和水道),一种方式是在基于高程数据的水文分析中验证水文要素的位置。 该工具使用的算法基于顶帽变换函数(由 Rodriguez 等于 2002 年提出),使用输入邻域作为结构化元素。

分析类型参数用于控制将要检测的结构是山脊还是山谷。 在每个像元位置,输出值均表示在该位置检测到的空间结构的高度或深度。

顶帽变换工具输出

一个分辨率为 1 米的高程表面,以及使用 11×11 像元矩形邻域通过“山脊”和“山谷”分析类型创建的输出栅格。

使用山脊分析类型选项时,会高亮显示高于其周围环境的对象,例如水坝和桥梁。 使用山谷分析类型选项时,则会高亮显示低于其周围环境的对象,例如水道。

山脊分析

山脊分析类型与 Rodriguez 等人于 2002 年提出的白帽变换函数相对应。 它需要对输入 DEM 应用一系列焦点最小值(侵蚀操作)和最大值(膨胀操作)操作。 然后,从原始 DEM 中减去结果。

顶帽变换过程

“山脊”分析类型的顶帽变换过程。

在上图中,图 (1) 展示了识别了两个对象(a 和 b)的输入 DEM 的横截面视图。 图 (2) 显示经过侵蚀和膨胀操作后的 DEM,其中对象 a 和 b 已替换为周围的值。 图 (3) 展示了具有提取对象 a 和 b 的输出栅格,通过从 (1) 中减去横截面 (2) 获得。

下面介绍了该工具计算山脊分析类型输出的具体方法。

  1. 对于每个像元,找到其邻域内的最小值,并将该值分配给当前像元。

  2. 使用第一步得出的结果,找到每个像元邻域内的最大值,并将其分配给当前像元。

  3. 从输入表面栅格中减去第二步得出的结果。 像元值代表山脊的高度。

山谷分析

山谷分析类型与 Rodriguez 等人于 2002 年提出的黑帽变换函数相对应。 它同样对输入 DEM 执行一系列焦点计算,但计算顺序相反,即先执行焦点最大值计算,再执行焦点最小值计算。 然后,从计算结果中减去原始 DEM。

下面介绍了该工具计算山谷分析类型输出的具体方法。

  1. 对于每个像元,找到其邻域内的最大值,并将该值分配给当前像元。

  2. 使用第一步得出的结果,找到每个像元邻域内的最小值,并将其分配给当前像元。

  3. 从第二步得出的结果中减去输入表面栅格。 像元值代表山谷的深度。

邻域类型

邻域的形状可以是圆形或矩形。 也可以使用核文件定义自定义邻域形状。

以下是不同邻域形状的描述及其定义方法。

圆形

通过指定半径值来创建圆形邻域。

半径以像元或地图单位为单位,并沿垂直于 x 轴或 y 轴的方向进行测量。 当半径按地图单位指定时,会使用附加逻辑条件来确定在处理邻域时要包含的像元。 首先,计算由指定半径值定义的圆的精确面积。 然后,再计算出另外两个圆面积值,一个是指定半径值向下舍入后的圆面积,另一个是指定半径值向上舍入后的圆面积。 这两个面积分别与用指定半径计算出的准确面积值进行比较,更为接近准确面积值的半径将被用于运算过程中。

默认圆形邻域半径为三个像元。

以下为圆形邻域的示例图:

![具有圆形邻域的处理像元](images/sac_nbrhd_focalstats_nbr_circle-6DE92.png)
显示了具有圆形邻域的处理像元(半径 = 2 像元)。

矩形

通过提供以像元或地图单元为单位的宽度和高度值,指定矩形邻域。

仅将中心在定义对象内的像元作为矩形邻域的一部分进行处理。

默认矩形邻域为高和宽为三个像元的正方形。

邻域范围内待处理像元相对于邻域左上角的 x,y 位置可通过以下方程式来确定:

x = (邻域的宽度 + 1) / 2

y = (邻域的高度 + 1) / 2

如果输入像元数为偶数,则将使用截断来计算 x,y 坐标。 例如,在 5 X 5 的像元邻域中,x 和 y 值为 3,3。 而在 4 X 4 的邻域中,x 和 y 值则为 2,2。

下面展示了两个矩形邻域示例:

![具有两个矩形邻域的处理像元](images/sac_nbrhd_focalstats_nbr_rectangle-A4785.png)
显示了具有两个矩形邻域的处理像元。

不规则

使用此选项可指定处理像元周围形状不规则的邻域。

不规则核文件可指定要包含在邻域范围内的像元位置。

邻域范围内待处理像元相对于邻域左上角的 x,y 位置可通过以下方程式来确定:

x = (宽度 + 1) / 2

y = (高度 + 1) / 2

如果输入像元数为偶数,则使用截断来计算 x 和 y 坐标。

以下点适用于不规则邻域的核文件:

  • 不规则的核文件是一种 ASCII 文本文件,用于定义不规则邻域的值和形状。 可以使用任何纯文本编辑器来创建此文件。 文件扩展名必须是 .txt,且文件名中没有空格。

  • 第一行用于指定邻域的宽度和高度(x 方向的像元数,后跟一个空格,y 方向的像元数)。

  • 随后的几行将定义用于它们所代表的邻域中每个位置的值。 每个值之间必须存在一个空格。

  • 这些值定义了是否将邻域中的位置包括在计算中。 通常,值 1 用于标识要包含在不规则邻域计算中的位置,但可以使用除 0 以外的任何正值或负值。 也可以使用浮点值。

  • 要从计算中排除邻域中的位置,需在核文件中的相应位置使用值 0(不是空格)。

以下示例显示了不规则核文件的内容及其代表的邻域:

![不规则核和相关邻域](images/sac_nbrhd_focalstats_nbr_irregular-D5A9E.png)
显示了一个不规则邻域核,以及将包含的要处理像元的图示。

参考文献

Rodriguez, F., E. Maire, P. Courjault-Rade, and J. Darrozes. 2002. "The Black Top Hat function applied to a DEM: A tool to estimate recent incision in a mountainous watershed (Estibere Watershed, Central Pyrenees)." Geophysical Research Letters 29(6): 9.1–9.4.