创建特征文件 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

创建由输入样本数据和一组栅格波段定义的类的 ASCII 特征文件。

了解有关“创建特征文件”工作原理的详细信息

使用方法

  • 将多波段栅格指定为输入栅格波段(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
(可选)

指定除计算平均值以外是否还要计算协方差矩阵。

  • COVARIANCE 将为 in_sample_data 的所有类计算协方差矩阵和平均值。这是默认设置。
  • MEAN_ONLY 只计算 in_sample_data 的所有类的平均值。
Boolean
sample_field
(可选)

用来向采样位置(类)分配值的输入栅格或要素样本数据的字段。

只有整型或字符串字段是有效字段。指定的数字或字符串将在输出特征文件中用作类名。

Field

代码示例

CreateSignatures 示例 1(Python 窗口)

本例将为由采样训练区域和一组输入栅格波段定义的类创建特征文件。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CreateSignatures("sb", "sbtrain", "c:/sapyexamples/output/rbsig.gsg", 
                 "COVARIANCE", "")
CreateSignatures 示例 2(独立脚本)

本例将为由采样训练区域和一组输入栅格波段定义的类创建特征文件。

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

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题