像元统计 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

根据多个栅格计算每个像元的统计数据。

可用的统计数据包括众数、最大值、平均值、中值、最小值、少数、百分比数、范围、标准差、总和及变异度。

Learn more about how Cell Statistics works

插图

Example Cell Statistics tool input and output values
OutRas = CellStatistics([InRas1, InRas2, InRas3], "SUM", "NODATA", "SINGLE_BAND")

使用情况

  • 使用此工具时输入栅格的顺序不重要。

  • 对于最大值、最小值、平均值、中位数、多数、少数、百分位数和总和统计类型,如果使用单个栅格作为输入,则输出像元值将与输入像元值相同。 对于范围和标准偏差,输出像元值将全部为 0。 对于 Variety,它将是 1。

  • If the Process as multiband parameter is unchecked (process_as_multiband is set to SINGLE_BAND in Python), each band from a multiband raster input will be processed separately as a single band raster, and the output will be a single band raster.

    Single-band output when processed as SINGLE_BAND
    The Cell Statistics tool creates a single-band output when processed as SINGLE_BAND.
  • If the Process as multiband parameter is checked (process_as_multiband is set to MULTI_BAND in Python), each multiband raster input will be processed as a multiband raster, and the output will be a multiband raster. 如果输入是多波段栅格和常量的组合,则输出栅格也将是多波段。 每个多波段输入中的波段数必须相同。

    该工具将使用另一个输入的相应波段对一个输入的每个波段执行操作。 如果输入之一是多波段栅格,而另一个输入是常量,则该工具将使用多波段输入中每个波段的常量值执行操作。

    Multiband output when processed as MULTI_BAND.
    The Cell Statistics tool creates a multiband output when processed as MULTI_BAND.
  • 如果所有输入均为具有相同数量变量的多维栅格数据,则该工具将对具有相同维度值的所有剖切片执行运算。 输出将是 CRF 格式的多维栅格。 输入中的变量必须至少具有一个常见维度和一个常见维度值以供此工具进行处理,否则将发生错误。

    如果所有输入均具有一个变量但名称不同,请在执行运算之前取消选中匹配多维变量地理处理环境(在 Python 中设置 arcpy.env.matchMultidimensionalVariable = False)。

    如果其中一个或多个输入为多维栅格,而其他输入为常量,则该工具将使用常量值对所有变量的所有剖切片执行运算,并且输出将为多维栅格。

  • 对于众数和少数计算,当存在平局时,输出将为平局值的最低值。

参数

标注说明数据类型
输入栅格或常量值

输入栅格列表,将为其中的输入栅格计算“分析”窗口中各个像元的统计数据运算。

数字可以作为输入,但是必须先在环境中设置像元大小和范围。

如果选中了以多波段方式处理参数,则所有多波段输入都必须具有相同数量的波段。

Raster Layer; Constant
叠加统计
(可选)

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

默认统计类型为平均值

  • 平均值将计算输入的平均值。 这是默认设置。
  • 众数将确定输入的众数(出现次数最多的值)。
  • 最大值将确定输入的最大值。
  • 中值将计算输入的中值。
  • 最小值将确定输入的最小值。
  • 少数将确定输入的少数(出现次数最少的值)。
  • 百分比数将计算输入的百分比数。 默认情况下将计算 90% 百分比数。 您可以使用百分比值参数来指定其他值(从 0 到 100)。
  • 范围将计算输入的范围(最大值和最小值之差)。
  • 标准差将计算输入的标准偏差。
  • 总和将计算输入的总和(所有值的总和)。
  • 变异度将计算输入的变异度(唯一值的数量)。
String
在计算中忽略 NoData
(可选)

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

  • 选中 - 在处理像元位置处,如果任意输入栅格具有 NoData,将忽略该 NoData 值。 仅考虑具有有效数据的像元来计算统计数据。 这是默认设置。
  • 未选中 - 如果任意输入栅格的处理像元位置为 NoData,该像元的输出将为 NoData。
Boolean
以多波段方式处理
(可选)

指定如何处理输入多波段栅格波段。

  • 未选中 - 来自多波段栅格输入的每个波段将被单独处理为单波段栅格。 这是默认设置。
  • 选中 - 每个多波段栅格输入都将作为多波段栅格进行处理。 将使用其他输入的相应波段数对一个输入的每个波段执行操作。
Boolean
百分比值
(可选)

将计算百分数值。 默认值为 90,指示 90%。

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

仅当叠加统计参数设置为百分比数时,此参数才适用。

Double
百分位数插值类型
(可选)

指定当指定的百分比值介于两个输入像元值之间时将使用的插值方法。

  • 自动检测如果输入栅格的像素类型为整型,则将使用最邻近方法。 如果输入栅格的像素类型为浮点型,则将使用线性方法。 这是默认设置。
  • 最邻近将使用最接近所需的百分位数的可用值。 在这种情况下,输出像素类型与输入栅格的像素类型相同。
  • 线性函数将使用接近百分位数的两个值的加权平均值。 在这种情况下,输出像素类型为浮点型。
String

返回值

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

输出栅格。

对于各个像元,可通过将指定统计数据类型应用到该位置处的输入栅格来确定该值。

Raster

CellStatistics(in_rasters_or_constants, {statistics_type}, {ignore_nodata}, {process_as_multiband}, {percentile_value}, {percentile_interpolation_type})
名称说明数据类型
in_rasters_or_constants
[in_raster_or_constant,...]

输入栅格列表,将为其中的输入栅格计算“分析”窗口中各个像元的统计数据运算。

数字可以作为输入,但是必须先在环境中设置像元大小和范围。

If the processing_as_multiband parameter is set to MULTI_BAND, all multiband inputs should have an equal number of bands.

Raster Layer; Constant
statistics_type
(可选)

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

  • MEAN将计算输入的平均值。 这是默认设置。
  • MAJORITY将确定输入的众数(出现次数最多的值)。
  • MAXIMUM将确定输入的最大值。
  • MEDIAN将计算输入的中值。
  • MINIMUM将确定输入的最小值。
  • MINORITY将确定输入的少数(出现次数最少的值)。
  • PERCENTILE将计算输入的百分比数。 默认情况下将计算 90% 百分比数。 You can specify other values (from 0 to 100) using the percentile_value parameter.
  • RANGE将计算输入的范围(最大值和最小值之差)。
  • STD将计算输入的标准偏差。
  • SUM将计算输入的总和(所有值的总和)。
  • VARIETY将计算输入的变异度(唯一值的数量)。

The default statistic type is MEAN.

String
ignore_nodata
(可选)

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

  • DATA在处理像元位置处,如果任意输入栅格具有 NoData,将忽略该 NoData 值。 仅考虑具有有效数据的像元来计算统计数据。 这是默认设置。
  • NODATA如果任意输入栅格的处理像元位置为 NoData,该像元的输出将为 NoData。
Boolean
process_as_multiband
(可选)

指定如何处理输入多波段栅格波段。

  • SINGLE_BAND来自多波段栅格输入的每个波段将被单独处理为单波段栅格。 这是默认设置。
  • MULTI_BAND每个多波段栅格输入都将作为多波段栅格进行处理。 将使用其他输入的相应波段数对一个输入的每个波段执行操作。
Boolean
percentile_value
(可选)

将计算百分数值。 默认值为 90,指示 90%。

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

This parameter is only supported if the statistics_type parameter is set to PERCENTILE.

Double
percentile_interpolation_type
(可选)

指定当指定的百分比值介于两个输入像元值之间时将使用的插值方法。

  • AUTO_DETECTIf the input rasters are of integer pixel type, the NEAREST method will be used. If the input rasters are of floating point pixel type, the LINEAR method will be used. 这是默认设置。
  • NEAREST将使用最接近所需的百分位数的可用值。 在这种情况下,输出像素类型与输入栅格的像素类型相同。
  • LINEAR将使用接近百分位数的两个值的加权平均值。 在这种情况下,输出像素类型为浮点型。
String

返回值

名称说明数据类型
out_raster

输出栅格。

对于各个像元,可通过将指定统计数据类型应用到该位置处的输入栅格来确定该值。

Raster

代码示例

CellStatistics 示例 1(Python 窗口)

在本示例中,将针对多个输入 Grid 栅格中的每个像元计算标准差,并将结果输出为 IMG 栅格。

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outCellStats = CellStatistics(["degs", "negs", "cost"], "STD", "DATA")
outCellStats.save("C:/iapyexamples/output/outcellstats.img")
CellStatistics 示例 2(独立脚本)

本示例将针对多个输入多波段栅格计算每个波段每个像元的范围,并创建一个多波段输出栅格。

# Name: CellStatistics_Ex_standalone.py
# Description: Calculates a per-cell statistic from multiple multiband rasters
#               and process as multiband.
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"

# Set the local variables
inRaster01 = "degs_MB"
inRaster02 = "negs_MB"
inRaster03 = "cost_MB"

# Execute CellStatistics
outCellStatistics = CellStatistics([inRaster01, inRaster02, inRaster03], "RANGE", "NODATA", "MULTI_BAND")

# Save the output 
outCellStatistics.save("C:/sapyexamples/output/cellstats_MB.tif")

许可信息

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

相关主题