训练最大似然法分类器 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

使用最大似然法分类器 (MLC) 分类定义生成 Esri 分类器定义文件 (.ecd)。

使用情况

  • 要完成最大似然法分类流程,请在分类栅格工具中使用相同的输入栅格和此工具中的输出 .ecd 文件。

  • 输入栅格可以是任意 Esri 支持的栅格,可具有任意有效的位深度。

  • 要创建分割栅格数据集,请使用 Mean Shift 影像分割工具。

  • 要创建训练样本文件,请使用分类工具下拉菜单中的训练样本管理器窗格。

  • 输出分类器定义文件包含适用于最大似然法分类工具的属性统计数据。

  • 仅在其中一个栅格图层输入为分隔影像的情况下激活分割属性参数。

  • 要使用连续变化检测和分类 (CCDC) 算法对时间序列栅格数据进行分类,请首先运行使用 CCDC 分析变化工具,然后使用输出变化分析栅格作为此训练工具的输入栅格。

    训练样本数据必须通过训练样本管理器多次进行收集。 训练样本要素类的一个字段中列出了每个样本的维度值,该字段在维度值字段参数中指定。

参数

标注说明数据类型
输入栅格

待分类的栅格数据集。

Raster Layer; Mosaic Layer; Image Service; String
输入训练样本文件

用于描绘训练场的训练样本文件或图层。

它们可以是包含训练样本的 shapefile 或要素类。 训练样本文件中需要以下字段名称:

  • classname- 指示类类别名称的文本字段
  • classvalue- 包含每个类类别的整数值的长整型字段

Feature Layer
输出分类器定义文件

包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的输出 JSON 格式文件。 将创建 .ecd 文件。

File
附加输入栅格
(可选)

整合辅助栅格数据集,例如分割影像或 DEM。设置此参数属于可选操作。

Raster Layer; Mosaic Layer; Image Service; String
所用的分割影像属性
(可选)

指定要包括在与输出栅格相关联的属性表中的属性。

仅当在输入栅格上将分割关键属性设置为 true 时,此参数才会激活。 如果该工具中的唯一输入是分割影像,则默认属性为平均色度像素计数紧密度垂直度。 如果将附加输入栅格值作为输入与分割影像一起添加进来,则还可以使用平均数字值标准差属性。

  • 聚合颜色RGB 颜色值将基于每个分割从输入栅格获取。
  • 平均数字值基于每个分割,将从可选像素图像中获取的平均数字值 (DN)。
  • 标准差基于每个分割,将从可选像素影像中获取的标准差。
  • 像素计数基于每个分割,构成分割的像素数。
  • 紧密度基于每个分割,决定分割为紧凑型还是圆形的度数。 值的范围从 0 到 1,1 表示圆形。
  • 垂直度基于每个分割,决定分割为矩形的度数。 值的范围从 0 到 1,1 表示矩形。
String
维度值字段
(可选)

在输入训练样本要素类中包含尺寸值。

使用使用 CCDC 分析变化工具的变化分析栅格输出来分类栅格数据的时间序列时,需要使用此参数。

Field

TrainMaximumLikelihoodClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {used_attributes}, {dimension_value_field})
名称说明数据类型
in_raster

待分类的栅格数据集。

Raster Layer; Mosaic Layer; Image Service; String
in_training_features

用于描绘训练场的训练样本文件或图层。

它们可以是包含训练样本的 shapefile 或要素类。 训练样本文件中需要以下字段名称:

  • classname- 指示类类别名称的文本字段
  • classvalue- 包含每个类类别的整数值的长整型字段

Feature Layer
out_classifier_definition

包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的输出 JSON 格式文件。 将创建 .ecd 文件。

File
in_additional_raster
(可选)

整合辅助栅格数据集,例如分割影像或 DEM。设置此参数属于可选操作。

Raster Layer; Mosaic Layer; Image Service; String
used_attributes
[used_attributes,...]
(可选)

指定要包括在与输出栅格相关联的属性表中的属性。

  • COLORRGB 颜色值将基于每个分割从输入栅格获取。
  • MEAN基于每个分割,将从可选像素图像中获取的平均数字值 (DN)。
  • STD基于每个分割,将从可选像素影像中获取的标准差。
  • COUNT基于每个分割,构成分割的像素数。
  • COMPACTNESS基于每个分割,决定分割为紧凑型还是圆形的度数。 值的范围从 0 到 1,1 表示圆形。
  • RECTANGULARITY基于每个分割,决定分割为矩形的度数。 值的范围从 0 到 1,1 表示矩形。

仅当在输入栅格上将分割关键属性设置为 true 时,此参数才可用。 如果仅对此工具输入分割影像,则默认属性为 COLORCOUNTCOMPACTNESSRECTANGULARITY。 如果将 in_additional_raster 值作为输入与分割影像一起添加进来,则还可以使用 MEANSTD 属性。

String
dimension_value_field
(可选)

在输入训练样本要素类中包含尺寸值。

使用使用 CCDC 分析变化工具的变化分析栅格输出来分类栅格数据的时间序列时,需要使用此参数。

Field

代码示例

TrainMaximumLikelihoodClassifier 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 TrainMaximumLikelihoodClassifier 工具。

import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

TrainMaximumLikelihoodClassifier("c:/test/moncton_seg.tif", "c:/test/train.gdb/train_features", 
                                 "c:/output/moncton_sig.ecd", "c:/test/moncton.tif", 
                                 "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainMaximumLikelihoodClassifier 示例 2(独立脚本)

本示例显示了如何训练最大似然法分类器。

# Import system modules
import arcpy
from arcpy.ia import *

"""
Usage: TrainMaximumLikelihoodClassifier(in_raster, in_training_features, out_classifier_definition, 
                                       {in_additional_raster}, {used_attributes})
"""

# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/moncton_sig.ecd"
in_additional_raster = "c:/moncton.tif"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
TrainMaximumLikelihoodClassifier(inSegRaster, train_features, out_definition, 
                                 in_additional_raster, attributes)
TrainMaximumLikelihoodClassifier 示例 3(独立脚本)

本示例演示如何使用来自使用 CCDC 分析变化工具的变化分析栅格训练最大似然分类器。

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")


# Define input parameters
in_changeAnalysisRaster = "c:/test/LandsatCCDC.crf"
train_features = "c:/test/train.gdb/train_features"
out_definition = "c:/output/change_detection.ecd"
additional_raster = ''
attributes = None
dimension_field = "DateTime"

# Execute 
arcpy.ia.TrainMaximumLikelihoodClassifier(
	in_changeAnalysisRaster, train_features, out_definition, 
	additional_raster, attributes, dimension_field)

许可信息

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

相关主题