Skip to main content

Statistics

汇总

基于已定义的焦点邻域计算影像中各像元的统计数据。

讨论

有关此函数使用方法和波段顺序的详细信息,请参阅 统计数据 栅格函数。

栅格对象所引用的栅格数据集是临时性的。 要将其设置为永久,可以调用栅格对象的 save 方法。

语法

Statistics(raster, kernel_columns, kernel_rows, stat_type, {fill_no_data_only})

参数 说明 数据类型

raster

The input raster on which to perform focal statistics.

Raster

kernel_columns

The number of pixel columns to use in your focal neighborhood dimension.

(默认值为 3)

Integer

kernel_rows

The number of pixel rows to use in your focal neighborhood dimension.

(默认值为 3)

Integer

stat_type

Specify the type of statistics to calculate.

  • max— Calculates the maximum value of the pixels within the neighborhood.

  • mean— Calculates the average value of the pixels within the neighborhood. This is the default.

  • min— Calculates the minimum value of the pixels within the neighborhood.

  • standarddeviation—Calculates the standard deviation value of the pixels within the neighborhood.

  • median—Calculates the median value of the pixels within the neighborhood.

  • majority— Calculates the majority value, or the value that occurs most frequently, of the pixels within the neighborhood.

  • minority— Calculates the minority value, or the value that occurs least frequently, of the pixels within the neighborhood.

(默认值为 None)

String

fill_no_data_only

Specify whether NoData values are ignored in the analysis.

  • True—Fills NoData pixels only. This is the default.

  • False—NoData pixels will not be filled.

(默认值为 False)

Boolean

返回值

数据类型 说明

Raster

输出栅格。

代码示例

统计数据示例

使用 5 x 5 邻域中的多数值填写 NoData 值,以获取分类数据。

from arcpy.sa import *
LandCover_filled = arcpy.sa.Statistics("LandCover.tif", 5, 5, "majority", True)
LandCover_filles.save("LandCover_majority_5_by_5.tif")
统计数据示例

使用平均值对 3 x 3 邻域中的高程栅格进行平滑处理。

import arcpy
from arcpy import env
from arcpy.sa import *

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

# Set local variables
inRaster = "elevation.tif"
kernel_columns=3
kernel_rows=3
stat_type="Mean"
fill_no_data_only = False

# for each pixel, calculate the average value of pixels within its neighborhood. the neighborhood size is 5x5
output = Statistics(imagePath1, kernel_columns, kernel_rows, stat_type, fill_no_data_only)
output.save("statistics_mean_5_by_5.tif")