焦点统计 (Spatial Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

为每个输入像元位置计算其周围指定邻域内的值的统计数据。

了解有关焦点统计工作原理的详细信息

插图

具有总和统计数据集的矩形邻域的“焦点统计”工具的输入和输出值
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,"CELL"), "SUM", "DATA")

使用情况

  • 有多种邻域形状和统计数据类型可供选择。 可用统计数据取决于输入栅格的类型。

  • 当指定某圆形、环形或楔形邻域时,因为像元的中心必须包含在邻域中,所以在计算中可能不考虑一些外部对角线像元。

  • 不规则与权重邻域类型需要指定核文件。 核文件应具有 .txt 文件扩展名。

    有关创建和使用核文件的信息,请参阅焦点统计的工作原理的“不规则”部分和“权重”部分。

  • 对于整型输入栅格,统计类型的有效选择包括:众数、最大值、平均值、中值、最小值、少数、百分比数、范围、标准差、总和及变异度。 对于浮点型输入栅格,有效统计数据包括:最大值、平均值、中止、最小值、百分比数、范围、标准差和总和。 众数、少数和变异度不可用。

  • 如果输入栅格为整型,则以下统计数据的输出栅格将为整型:众数、最大值、最小值、少数、范围、总和和变异度。 对于平均值、中值、百分比数和标准差,输出将为浮点型。

    如果输入栅格为浮点型,则所有可用统计数据类型的输出都将为浮点型。

  • 对于统计类型参数的中值设置,如果邻域具有奇数个像元,则将对值进行排列,然后将排在中间的值作为中值。 如果邻域的像元数为偶数,则将对这些值进行排列,然后取中间两个数的平均值。

  • 对于统计类型参数的众数设置,如果一个像元值在邻域中出现频率最高(出现频率最高的单个值),则将为该处理像元返回这个值。 如果两个或多个像元值的出现频率最高(像元值之间的连接),则不会识别单个众数值,并且该处理像元的输出将为 NoData。 对于少数设置,邻域中出现频率最低的值之间的连接也将被分配 NoData。

  • 仅当统计类型为平均值标准差总和时,方可将邻域参数设置为权重

  • 假设邻域内至少有一个含有效值的像元,则选中在计算中忽略 NoData 参数时,NoData 输入像元可能会在输出中接收到一个值。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格

系统将为其计算每个输入像元的焦点统计数据的栅格。

Raster Layer
邻域
(可选)

统计计算中将使用的处理像元周围的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。

选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是宽和高为三个像元的方矩形。

以下为可用邻域类型的形式:

  • 环形内半径外半径单位类型

    由内半径或外半径定义的环形(圆环形)邻域。 默认环形具有一个像元的内半径以及三个像元的外半径。

  • 半径单位类型

    具有给定半径的圆形邻域。 默认半径为三个像元。

  • 矩形高度宽度单位类型

    由高度和宽度定义的矩形邻域。 默认设置是高和宽为三个像元的正方形。

  • 楔形半径起始角度终止角度单位类型

    由半径、起始角度和终止角度定义的楔形邻域。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为三个像元。

  • 不规则核文件

    带有通过已识别核文本文件设置的规范的自定义邻域。

  • 权重核文件

    带有通过已识别核文本文件设置的规范的自定义邻域,可将权重应用于邻域的成员。

对于环形、圆形、矩形和楔形邻域类型,参数的距离单位能够以像元单位或地图单位进行指定。 默认设置为“像元”单位。

对于核邻域,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中不规则邻域或权重邻域类型的值为 0 表示相应位置将不包括在计算中。 对于不规则邻域,核文件中的值为 1 表示相应的输入像元将包含在运算中。 对于权重邻域,每个位置的值均表示需要与对应输入像元值相乘的值。 可以使用正值、负值和小数值。

Neighborhood
统计类型
(可选)

指定要计算的统计数据类型。

默认统计类型为平均值

如果输入栅格为整型,则所有统计类型均可用。 如果输入栅格为浮点型,则只有平均值最大值中值最小值百分比数范围标准差总和统计类型可用。

  • 平均值将计算邻域内像元的平均值。
  • 众数将识别邻域内像元的众数(出现次数最多的值)。
  • 最大值将识别邻域内像元的最大值。
  • 中值将计算邻域内像元的中值。 中位数相当于第 50 个百分点。
  • 最小值将识别邻域内像元的最小值。
  • 少数将识别邻域内像元的少数(出现次数最少的值)。
  • 百分比数将计算邻域内像元的百分比数。 默认情况下将计算 90% 百分比数。 您可以使用百分数值参数来指定其他值(从 0 到 100)。
  • 范围将计算邻域内像元的范围(最大值和最小值之差)。
  • 标准差将计算邻域内像元的标准差。
  • 总和将计算邻域内像元的总和。
  • 变异度将计算邻域内像元的变异度(唯一值的数量)。
String
在计算中忽略 NoData
(可选)

指定在进行统计计算时是否将忽略 NoData 值。

  • 选中 - 当邻域中存在 NoData 值时,将忽略此 NoData 值。 将仅使用邻域内具有数据值的像元来确定输出值。 如果处理像元本身为 NoData,则处理像元即可在输出栅格中接收值,前提是该邻域内至少有一个像元具有有效值。 这是默认设置。
  • 未选中 - 如果邻域内有任意像元的值是 NoData(包括处理像元),则处理像元的输出将为 NoData。 存在 NoData 值表明确定邻域的统计值所需要的信息不足。
Boolean
百分比值
(可选)

将计算百分数值。 对于 90%,其默认值为 90。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”统计数据。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此选项仅在将统计类型参数设置为百分比数后受支持。 如果指定任何其他统计类型,则将忽略此参数。

Double

返回值

标注说明数据类型
输出栅格

输出焦点统计栅格。

Raster

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
名称说明数据类型
in_raster

系统将为其计算每个输入像元的焦点统计数据的栅格。

Raster Layer
neighborhood
(可选)

统计计算中将使用的处理像元周围的像元。 有多种预定义邻域类型可供选择,也可以定义自定义核。

选择邻域类型后,可设置其他参数来完全定义形状、大小和测量单位。 默认邻域是宽和高为三个像元的方矩形。

邻域的形状将由 Neighborhood 类进行定义。 可用的邻域类型有 NbrAnnulusNbrCircleNbrRectangleNbrWedgeNbrIrregular,NbrWeight

以下为可用邻域类型的形式:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})

    由内半径或外半径定义的环形(圆环形)邻域。 默认环形具有一个像元的内半径以及三个像元的外半径。

  • NbrCircle({radius}, {units}

    具有给定半径的圆形邻域。 默认半径为三个像元。

  • NbrRectangle({width}, {height}, {units})

    由高度和宽度定义的矩形邻域。 默认设置是高和宽为三个像元的正方形。

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

    由半径、起始角度和终止角度定义的楔形邻域。 楔形按逆时针方向从起始角延伸到终止角。 角度以度为单位进行指定,0 或 360 的值表示东方。 也可使用负角度。 默认楔形起始角度为 0 度,终止角度为 90 度,半径为三个像元。

  • NbrIrregular(inKernelFile)

    带有通过已识别核文本文件设置的规范的自定义邻域。

  • NbrWeight(inKernelFile)

    带有通过已识别核文本文件设置的规范的自定义邻域,可将权重应用于邻域的成员。

对于 NbrAnnulusNbrcircleNbrRectangleNbrWedge 邻域,参数的距离单位可指定为 CELL 单位或 MAP 单位。 默认设置为“像元”单位。

对于核邻域,核文件中的第一行将以像元数来定义邻域的宽度和高度。 后续各行将指示如何处理与核中该位置相对应的输入值。 核文件中不规则邻域或权重邻域类型的值为 0 表示相应位置将不包括在计算中。 对于不规则邻域,核文件中的值为 1 表示相应的输入像元将包含在运算中。 对于权重邻域,每个位置的值均表示需要与对应输入像元值相乘的值。 可以使用正值、负值和小数值。

Neighborhood
statistics_type
(可选)

指定要计算的统计数据类型。

  • MEAN将计算邻域内像元的平均值。
  • MAJORITY将识别邻域内像元的众数(出现次数最多的值)。
  • MAXIMUM将识别邻域内像元的最大值。
  • MEDIAN将计算邻域内像元的中值。 中位数相当于第 50 个百分点。
  • MINIMUM将识别邻域内像元的最小值。
  • MINORITY将识别邻域内像元的少数(出现次数最少的值)。
  • PERCENTILE将计算邻域内像元的百分比数。 默认情况下将计算 90% 百分比数。 您可以使用 percentile_value 参数来指定其他值(从 0 到 100)。
  • RANGE将计算邻域内像元的范围(最大值和最小值之差)。
  • STD将计算邻域内像元的标准差。
  • SUM将计算邻域内像元的总和。
  • VARIETY将计算邻域内像元的变异度(唯一值的数量)。

默认统计类型为 MEAN

如果输入栅格为整型,则所有统计类型均可用。 如果输入栅格为浮点型,则只有 MEANMAXIMUMMEDIANMINIMUMPERCENTILERANGESTDSUM 统计类型可用。

String
ignore_nodata
(可选)

指定在进行统计计算时是否将忽略 NoData 值。

  • DATA当邻域中存在 NoData 值时,将忽略此 NoData 值。 将仅使用邻域内具有数据值的像元来确定输出值。 如果处理像元本身为 NoData,则处理像元即可在输出栅格中接收值,前提是该邻域内至少有一个像元具有有效值。 这是默认设置。
  • NODATA如果邻域内有任意像元的值是 NoData(包括处理像元),则处理像元的输出将为 NoData。 存在 NoData 值表明确定邻域的统计值所需要的信息不足。
Boolean
percentile_value
(可选)

将计算百分数值。 对于 90%,其默认值为 90。

取值范围为 0 到 100。 0% 基本上等同于“最小值”统计数据,而 100% 则等同于“最大值”统计数据。 值 50 所生成的结果基本等同于“中值”统计数据的结果。

此选项仅在将 statistics_type 参数设置为 PERCENTILE 后受支持。 如果指定任何其他统计类型,则将忽略此参数。

Double

返回值

名称说明数据类型
out_raster

输出焦点统计栅格。

Raster

代码示例

FocalStatistics 示例 1(Python 窗口)

本例计算输入栅格中每个像元周围的环形邻域内出现频率最低的值。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
FocalStatistics 示例 2(独立脚本)

本例确定输入栅格中每个像元周围的 10×10 邻域内出现频率最低的值。

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")

许可信息

  • Basic: 需要 Spatial Analyst 或 Image Analyst
  • Standard: 需要 Spatial Analyst 或 Image Analyst
  • Advanced: 需要 Spatial Analyst 或 Image Analyst

相关主题