需要 Spatial Analyst 许可。
使用方法
将多波段栅格指定为输入栅格波段(Python 中的 in_raster_bands)之一时,将使用所有波段。
要处理一系列来自多波段栅格的波段,可先用波段合成工具创建由这些特定波段组成的新栅格数据集,并在输入栅格波段(Python 中的 in_raster_bands)列表中使用该结果。
栅格波段必须具有一个公共交集。如果不存在公共交集,则会出现错误,且不会创建任何输出。
如果栅格波段的范围不同,统计数据将以所有输入栅格波段的共同的空间范围来计算。默认情况下,像元大小为输入栅格的最大像元的大小;否则,将取决于栅格分析环境设置。
对于计算协方差和相关矩阵参数,默认未选中设置(脚本中的 BRIEF)表明将仅计算输入栅格波段的最小值、最大值、平均值以及标准差。除了计算这些统计数据以外,要计算协方差和相关矩阵,请选中工具对话框中的此选项(或使用脚本中的 DETAILED)。
协方差矩阵列出所有沿左上到右下的对角线的所有栅格波段的方差,以及剩余条目中所有栅格波段间的协方差。相关矩阵提供每两个输入波段对的相关系数。
在协方差矩阵的计算中,每个波段的平均值用于任何 NoData 输入像元。
统计数据以 ASCII 文本格式写入输出文件。该输出的扩展名必须为 .txt。
语法
BandCollectionStats(in_raster_bands, out_stat_file, {compute_matrices})
参数 | 说明 | 数据类型 |
in_raster_bands [in_raster_band,...] | 输入栅格波段。 可为整型或浮点型。 | Raster Layer |
out_stat_file | 包含统计数据的输出 ASCII 文件。 需要使用 .txt 扩展名。 | File |
compute_matrices (可选) | 指定是否计算协方差和相关矩阵。
| Boolean |
代码示例
该示例计算一组栅格波段的统计数据。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")
该示例计算一组栅格波段的统计数据。
# Name: BandCollectionStats_Ex_02.py
# Description: Calculates the statistics for a set of raster bands.
# 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
inRasterBand1 = "sb/sbc1"
inRasterBand2 = "sb/sbc2"
outStatFile = "C:/sapyexamples/output/bandstatfile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute BandCollectionStats
BandCollectionStats([inRasterBand1, inRasterBand2], outStatFile, "DETAILED")
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst