焦点统计的工作原理

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

焦点统计工具可执行用于计算输出栅格数据的邻域运算,各输出像元的值是其指定邻域范围内所有输入像元值的函数。 运算该函数可得出统计数据,例如最大值、平均值或者邻域内所有值的总和。

从概念上讲,此算法在执行过程中将访问栅格中的每个像元,并且根据识别出的邻域范围计算出指定的统计数据。要计算统计数据的像元称为待处理像元。待处理像元的值以及所识别出的邻域中的所有像元值都将包含在邻域统计数据的计算中。

各邻域可以重叠,因此某一邻域中的像元也可以包含在其他待处理像元的邻域中。

示例

通过下图中值为 5 的待处理像元演示焦点统计计算总和统计值的邻域处理过程。指定一个 3 X 3 的矩形邻域。邻域像元值的总和 (3 + 2 + 3 + 4 + 2 + 1 + 4 = 19) 与待处理像元的值 (5) 相加等于 24 (19 + 5 = 24)。因此输入栅格中该待处理像元位置的输出值为 24。

焦点邻域和待处理像元示例

上图演示了如何对输入栅格中单个像元执行计算。下图将显示出所有输入像元的计算结果。以黄色高亮显示的是与上例中相同的待处理像元及其邻域。

输入数据和焦点总和输出数据示例

邻域可以是环形(圆环)、圆形、矩形或楔形。邻域内可以计算的统计量有均值、众数、最大值、中值、最小值、少数、范围、标准差、总和以及变异度。

焦点统计工具使您可控制邻域类型和要计算的统计数据。

邻域类型

邻域可以是环形(圆环)、圆形、矩形或楔形。通过使用核文件,也可自定义邻域形状,以及在计算统计数据之前将不同的权重分配给邻域中的各个特定像元。

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

  • 环形
    • 环由两个圆组成,一个圆位于另一个圆的内侧,从而构成圆环。中心落在小圆半径范围以外,但落在大圆半径范围以内的像元将包含在邻域处理范围内。因此,处于两个圆形之间的区域构成环形邻域。
    • 半径用像元单位或地图单位标识并且沿着垂直于 x 轴或 y 轴的方向进行测量。采用地图单位指定半径时,会将其转换为以像元为单位的半径。所得的以像元为单位的半径会生成一个区域,该区域能够近似地表示出以原始的地图单位为半径时计算的区域。中心位于环形内的所有像元都将包括在邻域的处理范围内。
    • 默认环形邻域具有一个像元的内半径以及三个像元的外半径。
    • 以下为环形邻域的示例图:

    默认环形邻域处理像元图示
    默认环形邻域示例处理像元(内半径 = 1 像元,外半径 = 3 像元)。

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

    圆形邻域处理像元图示
    圆形邻域示例处理像元(半径 = 2 像元)。

  • 矩形
    • 通过提供以像元或地图单元为单位的宽度和高度值,指定矩形邻域。
    • 仅将中心在定义对象内的像元作为矩形邻域的一部分进行处理。
    • 默认矩形邻域为高和宽为三个像元的正方形。
    • 邻域范围内待处理像元相对于邻域左上角的 x,y 位置可通过以下方程式来确定:

      x = (width of the neighborhood + 1)/2 y = (height of the neighborhood + 1)/2

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

    • 以下是两个矩形邻域的示例图:

    矩形邻域处理像元图示
    双矩形邻域示例处理像元。

  • 楔形
    • 楔形是由半径、起始角度和终止角度指定的饼形邻域。
    • 楔形按逆时针方向从起始角延伸到终止角。角度指定为 0 度到 360 度之间的算数度,其中 0 度位于 x 轴正方向(3 点钟方向);角度可为整型或浮点型。也可使用负角度。
    • 半径用像元单位或地图单位标识并且沿着垂直于 x 轴或 y 轴的方向进行测量。采用地图单位指定半径时,会将其转换为以像元为单位的半径。所得的以像元为单位的半径会生成一个区域,该区域能够近似地表示出使用原始的地图单位为半径时计算的区域。中心位于楔形内的所有像元都将包括在邻域的处理范围内。
    • 默认楔形邻域起始角度为 0 度,终止角度为 90 度,半径为三个像元。
    • 以下为楔形邻域的示例图:

    楔形邻域处理像元图示
    默认楔形邻域示例处理像元(半径 = 3 像元,起始角 = 0,终止角 = 90)。

  • 不规则
    • 允许您指定待处理像元周围形状不规则的邻域。
    • 通过不规则形状核文件可指定应包含在邻域范围内的像元位置。
    • 邻域范围内待处理像元相对于邻域左上角的 x,y 位置可通过以下方程式来确定:

      x = (width + 1)/2 y = (height + 1)/2

      如果输入像元数为偶数,则可通过截断操作来计算 x 坐标和 y 坐标。

    • 对于不规则邻域的核文件:

      • 不规则形状核文件属于 ASCII 文本文件,可定义不规则邻域的值和形状。可以使用任何文本编辑器来创建此文件。
      • 第一行指定了邻域的宽度和高度(表示为由空格分开的 x 轴方向上的像元数和 y 轴方向上的像元数)。
      • 随后几行则指定了邻域中各个位置的值。按照与各像元在所在邻域中相同的配置输入这些像元值。各个值之间需要由空格分隔。
      • 核文件中的值非 0(零)即 1(一)。任何不等于 0 的值均将视为 1。
      • 某像元位置的值为 0(非空)表示该像元不属于该邻域从而无法用于邻域处理。而值为 1 则表示该值对应的像元(和像元值)属于该邻域。

    • 以下示例为 ASCII 不规则形状核文件及其所代表的邻域:

    不规则形状邻域处理像元图示
    不规则形状邻域示例处理像元。

  • 权重
    • 与不规则邻域类型相似,权重邻域用于定义像元周围的不规则形状邻域,还可以指定各输入值的权重。
    • 权重核文件可指定应包含在邻域范围内的各像元位置及其权重。
    • 权重邻域仅适用于平均值、标准差和总和统计类型。
    • 邻域范围内待处理像元相对于邻域左上角的 x,y 位置可通过以下方程式来确定:

      x = (width + 1)/2 y = (height + 1)/2

      如果输入像元数为偶数,则可通过截断操作来计算 x 坐标和 y 坐标。

    • 对于加权邻域的核文件:

      • 权重核文件属于 ASCII 文本文件,可定义权重邻域的值和形状。可以使用任何文本编辑器来创建此文件。
      • 第一行指定了邻域的宽度和高度(表示为由空格分开的 x 轴方向上的像元数和 y 轴方向上的像元数)。
      • 随后几行则指定了邻域中各个位置的权重值。按照与各像元在所在邻域中相同的配置输入这些像元值。正值、负值和小数值均可用作权重。各个值之间需要由空格分隔。
      • 对于邻域中不用于计算的位置,核文件中的相应位置将用值 0 表示。

    • 以下示例为 ASCII 加权核文件及其所代表的邻域:

    加权邻域处理像元图示
    加权邻域示例处理像元。

统计类型

可用的统计数据包括众数、最大值、平均值、中值、最小值、少数、范围、标准差和总和。默认统计类型为平均值。

  • 众数
    • 仅可将整型栅格用作输入。
    • 应首先确定邻域中每个唯一像元值的频率。如果存在一个频率最高的值(最常见),则该值将作为该像元的输出返回。但是,如果存在两个或两个以上频率最高的输入值,则可能出现平局。在这种情况下,待处理像元位置将在输出栅格中收到 NoData。
  • 最大值
    • 如果输入栅格值为整型,则输出栅格中的值也将为整型;如果输入栅格值为浮点型,则输出栅格中的值也将为浮点型。
  • 平均值
    • 输入可以是整型或浮点型栅格。
    • 输出栅格值始终为浮点型。
    • 平均值统计数据适用于权重邻域类型。
  • 中值
    • 输入可以是整型或浮点型栅格。
    • 输出栅格值始终为浮点型。
    • 如果邻域中有效像元值数量为奇数,则将排列这些值然后选择位于中间的值得到中值。如果邻域中的值为偶数,则先排序值,然后取中间两个值的平均值。
  • 最小值
    • 如果输入栅格值为整型,则输出栅格中的值也将为整型;如果输入栅格值为浮点型,则输出栅格中的值也将为浮点型。
  • 少数
    • 仅可将整型栅格用作输入。
    • 应首先确定邻域中每个唯一像元值的频率。如果存在一个频率最低的值(最不常见),则该值将作为该像元的输出返回。但是,如果存在两个或两个以上拥有最低频率的输入值,则可能出现平局。在这种情况下,待处理像元位置将在输出栅格中收到 NoData。
  • 百分比数
    • 输入可以是整型或浮点型栅格。
    • 输出栅格值始终为浮点型。
    • 百分比统计的结果基于以下公式计算 (Hyndman 与 Fan 合著,1996):
      pk = (k-1)/(n-1)
  • 范围
    • 如果输入栅格值为整型,则输出栅格中的值也将为整型;如果输入栅格值为浮点型,则输出栅格中的值也将为浮点型。
    • 通过应用以下公式可逐个像元地确定输出栅格中各个像元位置上的值:
      Focal Range = Focal Maximum – Focal Minimum
  • 标准差
    • 输出栅格值始终为浮点型。
    • 标准差统计数据适用于权重邻域类型。
    • 请注意标准差是在整个总体(N 方法)上计算求得,而不是在样本(N-1 方法)上进行估算。
  • 总和
    • 如果输入栅格值为整型,则输出栅格中的值也将为整型;如果输入栅格值为浮点型,则输出栅格中的值也将为浮点型。
  • 变异度
    • 仅可将整型栅格用作输入。

待处理的 NoData 像元

在计算中忽略 NoData 选项可控制邻域窗口内 NoData 像元的处理方式。选中此选项时(DATA 选项),输出像元值的计算将会忽略邻域中的所有 NoData 像元。取消选中此选项时(NODATA 选项),如果邻域中存在任何 NoData 像元,则输出像元将为 NoData。

如果待处理的像元是 NoData,则在选中忽略 NoData 选项后,将根据邻域中有效的其他像元来计算像元的输出值。如果邻域中的所有该像元均为 NoData,则无论如何设置此参数,输出都将为 NoData。

参考文献

  • Hyndman, R.J. 与 Fan, Y. 合著(1996 年 11 月) "Sample Quantiles in Statistical Packages", The American Statistician 50 (4): pp. 361-365.

相关主题