计算统计数据 (数据管理)
摘要
计算栅格数据集或镶嵌数据集的统计数据。
需要对栅格和镶嵌数据集进行统计方可执行诸如应用对比度拉伸或分类数据等任务。
用法
-
通过计算统计值,ArcGIS 应用程序能适当地对显示的栅格数据进行拉伸和符号化操作。
-
在计算统计值时使用的那部分栅格数据集由跳跃因子控制。特定输入值可指示水平或垂直跳跃因子,值为 1 时使用每个像素,值为 2 时则每隔一个像素使用一个。此跳跃因子的取值范围只能从 1 至栅格数据集中列/行中的数量。
-
对于储存在文件地理数据库或 ArcSDE 地理数据库中的栅格数据集,它们的跳跃因子则大为不同。首先,如果 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 或会影响计算,则最好忽略该值。
-
以 GRID 和 RADARSAT2 格式计算统计值时始终将跳跃因子设为 1。
语法
参数 | 说明 | 数据类型 |
in_raster_dataset |
输入栅格数据集或镶嵌数据集。 | Mosaic Dataset; Mosaic Layer; Raster Dataset |
x_skip_factor (可选) |
样本之间水平像素的数量。 此值必须大于零,并且小于等于栅格数据集中的列数。默认值为 1 或者为上次使用的跳跃因子。 对于储存在文件地理数据库或 ArcSDE 地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。 | Long |
y_skip_factor (可选) |
样本之间垂直像素的数量。 此值必须大于零并小于等于栅格中的行数。默认值为 1 或者为上次使用的 y 跳跃因子。 对于储存在文件地理数据库或 ArcSDE 地理数据库中的栅格数据集,它们的跳跃因子并不相同。首先,如果 x 和 y 跳跃因子不同,则使用两者中较小的一个来作为 x 和 y 共同的跳跃因子。其次,跳跃因子同与其最接近的金字塔等级相关联。如果跳跃因子不等于金字塔图层中像素的数量,则该数量向下舍入至下一个金字塔等级,并使用那些统计值。 | Long |
ignore_values [ignore_value,...] (可选) |
排除在统计值计算之外的像素值。 默认情况下没有值,或者是上次使用的忽略值。 | Long |
代码示例
这是 CalculateStatistics 的 Python 示例。
import arcpy arcpy.CalculateStatistics_management("c:/data/image.tif", "4", "6", "0;255;21",\ "SKIP_EXISTING")
这是 CalculateStatistics 的 Python 脚本示例。
##==================================== ##Calculate Statistics ##Usage: CalculateStatistics_management in_raster_dataset {x_skip_factor} ## {y_skip_factor} {ignore_values;ignore_values...} {skip_existing} try: import arcpy arcpy.env.workspace = r"\\MyMachine\PrjWorkspace\RasGP" ##Calculate Statistics for single raster dataset arcpy.CalculateStatistics_management("image.tif", "4", "6", "0;255;21", "OVERWRITE") except: print "Calcualte Statistics example failed." print arcpy.GetMessages()