批量计算统计数据 (数据管理)

摘要

计算多个栅格数据集的统计数据。

使用情况

  • 在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

  • 以 Esri Grid 和 RADARSAT2 格式计算统计值时始终将跳跃因子设为 1。

  • 对于储存在文件地理数据库或企业级地理数据库中的栅格数据集,它们的跳跃因子则大为不同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子的值不等于金字塔中像素的数量(例如,如果跳跃因子为 5,且最接近的金字塔等级为 4 x 4 像素,即等级 2),则软件将向下舍入到下一个金字塔等级(在此示例中为 2)并使用该值作为跳跃因子。

  • 并不是所有栅格格式都可使用跳跃因子。计算统计数据时可利用跳跃因子的栅格格式包括:TIFF、IMG、NITF、DTED、RAW、ADRG、CIB、CADRG、DIGEST、GIS、LAN、CIT、COT、ERMapper、ENVI DAT、BIL、BIP、BSQ 和地理数据库。

  • “忽略值”选项可用于从统计值计算中排除特定值。如果某值为 NoData 或会影响计算,则最好忽略该值。

参数

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

输入栅格数据集。

Raster Dataset
X 跳跃因子
(可选)

样本之间水平像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的列数。默认值为 1 或者为上次使用的跳跃因子。

对于储存在文件地理数据库或企业级地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。

Long
Y 跳跃因子
(可选)

样本之间垂直像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的行数。默认值为 1 或者为上次使用的 y 跳跃因子。

对于储存在文件地理数据库或企业级地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。

Long
忽略值
(可选)

排除在统计值计算之外的像素值。

默认情况下没有值。

Double
跳过现有的
(可选)

指定是在缺少统计数据的位置进行计算,还是重新生成统计数据(即使已经存在)。

  • 取消选中 - 即使统计数据已经存在仍要重新计算,现有统计数据将被覆盖。 这是默认设置。
  • 选中 - 只有当统计数据不存在时才会计算统计数据。
Boolean

派生输出

标注说明数据类型
批量计算统计数据成功

将返回工具是否成功运行。

布尔型

arcpy.management.BatchCalculateStatistics(Input_Raster_Datasets, {Number_of_columns_to_skip}, {Number_of_rows_to_skip}, {Ignore_values}, {Skip_Existing})
名称说明数据类型
Input_Raster_Datasets
[input_raster_dataset,...]

输入栅格数据集。

Raster Dataset
Number_of_columns_to_skip
(可选)

样本之间水平像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的列数。默认值为 1 或者为上次使用的跳跃因子。

对于储存在文件地理数据库或企业级地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。

Long
Number_of_rows_to_skip
(可选)

样本之间垂直像素的数量。

在计算统计值时使用的那部分栅格由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格中列/行的数量。

此值必须大于零并小于等于栅格中的行数。默认值为 1 或者为上次使用的 y 跳跃因子。

对于储存在文件地理数据库或企业级地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。

Long
Ignore_values
[ignore_value,...]
(可选)

排除在统计值计算之外的像素值。

默认情况下没有值。

Double
Skip_Existing
(可选)

指定是在缺少统计数据的位置进行计算,还是重新生成统计数据(即使已经存在)。

  • OVERWRITE即使统计数据已经存在仍要重新计算,现有统计数据将被覆盖。 这是默认设置。
  • SKIP_EXISTING只有当统计数据不存在时才会计算统计数据。
Boolean

派生输出

名称说明数据类型
Batch_Calculate_Statistics_Succeeded

将返回工具是否成功运行。

布尔型

代码示例

BatchCalculateStatistics 示例 1(Python 窗口)

这是 BatchCalculateStatistics 的 Python 示例。

import arcpy
arcpy.management.BatchCalculateStatistics(
     ["C:/data/img1.tif", "C:/data/img2.jp2"],
     5, 5, [0, 255], "SKIP_EXISTING")
BatchCalculateStatistics 示例 2(独立脚本)

这是 BatchCalculateStatistics 的 Python 脚本示例。

# Calculate Statistics for multiple raster datasets with 
# multiple ignore values. 
# Skip datasets that already have the statistics.

import arcpy
arcpy.env.workspace = "C:/Workspace"
    
inras = ["image1.tif", "image2.img", "fgdb.gdb/image3"]
skipcol = 5
skiprow = 5
ignoreval = [0, 255, 21]
skipexist = "SKIP_EXISTING"

arcpy.management.BatchCalculateStatistics(
     inras, skipcol, skiprow, ignoreval,skipexist)

相关主题