『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:波段集统计

ArcGIS教程:波段集统计
计算矩阵参数(在脚本中为 BRIEF,在工具对话框中为未选中状态)的默认设置是仅计算输入栅格波段的最小值、最大值、平均值以及标准差。要计算这些统计数据以及其协方差和相关矩阵,需要在脚本中将参数设置为 DETAILED,或在工具对话框中选中。协方差矩阵列出所有沿左上到右下的对角线的所有栅格波段的方差,以及剩余条目中所有栅格波段间的协方差。

摘要

    计算一组栅格波段的统计信息。

用法

·      栅格波段必须具有一个公共交集。如果不存在公共交集,则会出现错误,且不会创建任何输出。

·      如果栅格波段的范围不同,统计数据将以所有输入栅格波段的共同的空间范围来计算。默认情况下,像元大小为输入栅格的最大像元的大小;否则,将取决于栅格分析环境设置。

·      计算矩阵参数(在脚本中为 BRIEF,在工具对话框中为未选中状态)的默认设置是仅计算输入栅格波段的最小值、最大值、平均值以及标准差。要计算这些统计数据以及其协方差和相关矩阵,需要在脚本中将参数设置为 DETAILED,或在工具对话框中选中。协方差矩阵列出所有沿左上到右下的对角线的所有栅格波段的方差,以及剩余条目中所有栅格波段间的协方差。相关矩阵提供每两个输入波段对的相关系数。

·      在协方差矩阵的计算中,每个波段的平均值用于任何 NoData 输入像元。

·      统计数据以 ASCII 文本格式写入输出文件。该输出的扩展名必须为 .txt

·      如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。

·      您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。

§  如果要使用工具对话框,则通过输入栅格波段旁边的按钮导航至多波段栅格,打开栅格并选择所需波段。

§  如果多波段栅格是内容列表中的图层,则可以使用创建栅格图层工具来创建一个新的只包含所需波段的多波段图层。

§  您还可以用波段合成来创建一个只包含所需波段的新数据集,并将生成的数据集用作工具的输入。

§  Python 中,可以在工具参数中以列表形式直接指定所需波段。

语法

    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

(可选)

指定是否计算协方差和相关矩阵。

·         BRIEF — 仅计算每个图层的基本统计测量值(最小值、最大值、平均值和标准差)。这是默认设置。

·         DETAILED — 除了使用 {BRIEF} 计算标准的统计数据外,还要确定协方差和相关矩阵。

Boolean

代码实例

    波段集统计 (BandCollectionStatistics) 示例 1Python 窗口)

    该示例计算一组栅格波段的统计数据。

import arcpy

from arcpy import env

from arcpy.sa import *

env.workspace = "C:/sapyexamples/data"

BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")

    波段集统计 (BandCollectionStatistics) 示例 2(独立脚本)

    该示例计算一组栅格波段的统计数据。

# 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")

      京ICP备2025132830号-1 京公网安备 号