标注 | 说明 | 数据类型 |
输入栅格波段 | 要创建特征文件的输入栅格波段。 可为整型或浮点型。 | Raster Layer |
输入栅格数据或要素样本数据 | 用于描述类样本集的输入。 输入可以是整型栅格或要素数据集。 | Raster Layer; Feature Layer |
输出特征文件 | 输出特征文件。 必须指定 .gsg 扩展名。 | File |
计算协方差矩阵 (可选) | 指定除均值外是否还计算协方差矩阵。
| Boolean |
样本字段 (可选) | 输入栅格或要素样本数据的字段,用于将值分配给采样位置(类)。 只有整型或字符串字段是有效字段。 指定的数字或字符串将用作输出签名文件中的类名。 | Field |
需要 Spatial Analyst 许可。
使用情况
将多波段栅格指定为输入栅格波段(Python 中的 in_raster_bands)之一时,将使用所有波段。
要处理一系列来自多波段栅格的波段,可先用波段合成工具创建由这些特定波段组成的新栅格数据集,并在输入栅格波段(Python 中的 in_raster_bands)列表中使用该结果。
输出特征文件应使用扩展名 .gsg。
输入栅格波段和输入栅格或要素样本数据必须具有重叠范围。 将仅为公共区域计算统计数据。
样本数据中的最小有效类样本数为两个。 没有最大类数。
如果特征文件将用于使用协方差矩阵的其他多元分析工具(如最大似然法分类和类别概率),则必须存在协方差矩阵。 启用对话框中的计算协方差矩阵选项或在脚本中指定 COVARIANCE 选项时会生成此信息。 注意这是默认设置。 要对比特征文件在生成了协方差矩阵和只有平均值时的区别,请参阅“创建特征文件”的工作原理。
除了输入类名称之外,不应更改特征文件中的任何内容。 文件中的统计数据仅可由多元分析工具创建和更改。
输出特征文件中的类名称是可选的。 它们将仅作参考之用。 可以通过样本字段输入类名称,或者可以对生成的特征文件使用任何文本编辑器来输入名称。 每个类名称必须由一个长度不超过 31 个字母数字字符的字符串组成。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
参数
CreateSignatures(in_raster_bands, in_sample_data, out_signature_file, {compute_covariance}, {sample_field})
名称 | 说明 | 数据类型 |
in_raster_bands [in_raster_band,...] | 要创建特征文件的输入栅格波段。 可为整型或浮点型。 | Raster Layer |
in_sample_data | 用于描述类样本集的输入。 输入可以是整型栅格或要素数据集。 | Raster Layer; Feature Layer |
out_signature_file | 输出特征文件。 必须指定 .gsg 扩展名。 | File |
compute_covariance (可选) | 指定除均值外是否还计算协方差矩阵。
| Boolean |
sample_field (可选) | 输入栅格或要素样本数据的字段,用于将值分配给采样位置(类)。 只有整型或字符串字段是有效字段。 指定的数字或字符串将用作输出签名文件中的类名。 | Field |
代码示例
此示例为采样训练区域和一组输入栅格波段定义的类创建了一个签名文件。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CreateSignatures("sb", "sbtrain", "c:/sapyexamples/output/rbsig.gsg",
"COVARIANCE", "")
此示例为采样训练区域和一组输入栅格波段定义的类创建了一个签名文件。
# Name: CreateSignatures_Ex_02.py
# Description: Creates an ASCII signature file of classes defined by input
# sample data and 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
inRaster = "sb"
inSamples = "sbtrain"
outSig = "c:/sapyexamples/output/rbsig02.gsg"
sampField = ""
# Execute CreateSignatures
CreateSignatures(inRaster, inSamples, outSig, "COVARIANCE", sampField)