训练 ISO 聚类分类器 (Image Analyst)

需要 Spatial Analyst 许可。

获得 Image Analyst 许可后可用。

摘要

使用 Iso 聚类分类定义生成 Esri 分类器定义文件 (.ecd)。

此工具用于执行非监督分类。

使用情况

  • 任何 Esri 支持的栅格都可用作输入,包括栅格产品、分割栅格、镶嵌、影像服务或通用栅格数据集。分割栅格必须为 8 位 3 波段栅格。

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

参数

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

待分类的栅格数据集。

Raster Layer; Mosaic Layer; Image Service; String
最大类数/聚类数

分组像素或分割影像时所需的最大类数。此参数应设置为大于图例中类的数量。

您获取的要素类可能会少于此参数中指定的数量。如果需要更多要素类,可在训练过程结束后增加此值并聚集类。

Long
输出分类器定义文件

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

File
附加输入栅格
(可选)

将对其他栅格数据集(如多光谱影像或 DEM)进行整合,从而为分类生成属性和其他所需信息。 设置此参数属于可选操作。

Raster Layer; Mosaic Layer; Image Service; String
最大迭代次数
(可选)

要运行的聚类过程的最大迭代次数。

推荐范围为 10 到 20 次迭代之间。 增加此值将会使处理时间呈线性增加。

Long
每个聚类的最小样本数
(可选)

一个有效聚类或类中的最小像素数或分割数。

默认值 20 对于创建具有统计显著性的类有效。 要增加聚类并减少狭长面,可以提高此数值;但是,可能会限制创建的总类数。

Long
跳跃因子
(可选)

像素影像输入所需跳过的像素数。如果输入是分割影像,则请指定要跳过的分割数。

Long
所用的分割影像属性
(可选)

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

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

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

每个迭代的最大聚类合并数。 增加合并的数量将减少所创建的类。 较小值将生成较多的类。

Long
最大合并距离
(可选)

要素空间中聚类中心间的最大距离。 增加距离将允许更多的聚类合并,从而生成较少的类。 较小值将生成较多的类。 使用值 0 到 5 通常可获得最佳结果。

Double

TrainIsoClusterClassifier(in_raster, max_classes, out_classifier_definition, {in_additional_raster}, {max_iterations}, {min_samples_per_cluster}, {skip_factor}, {used_attributes}, {max_merge_per_iter}, {max_merge_distance})
名称说明数据类型
in_raster

待分类的栅格数据集。

Raster Layer; Mosaic Layer; Image Service; String
max_classes

分组像素或分割影像时所需的最大类数。此参数应设置为大于图例中类的数量。

您获取的要素类可能会少于此参数中指定的数量。如果需要更多要素类,可在训练过程结束后增加此值并聚集类。

Long
out_classifier_definition

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

File
in_additional_raster
(可选)

将对其他栅格数据集(如多光谱影像或 DEM)进行整合,从而为分类生成属性和其他所需信息。 设置此参数属于可选操作。

Raster Layer; Mosaic Layer; Image Service; String
max_iterations
(可选)

要运行的聚类过程的最大迭代次数。

推荐范围为 10 到 20 次迭代之间。 增加此值将会使处理时间呈线性增加。

Long
min_samples_per_cluster
(可选)

一个有效聚类或类中的最小像素数或分割数。

默认值 20 对于创建具有统计显著性的类有效。 要增加聚类并减少狭长面,可以提高此数值;但是,可能会限制创建的总类数。

Long
skip_factor
(可选)

像素影像输入所需跳过的像素数。如果输入是分割影像,则请指定要跳过的分割数。

Long
used_attributes
[used_attributes;used_attributes,...]
(可选)

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

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

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

String
max_merge_per_iter
(可选)

每个迭代的最大聚类合并数。 增加合并的数量将减少所创建的类。 较小值将生成较多的类。

Long
max_merge_distance
(可选)

要素空间中聚类中心间的最大距离。 增加距离将允许更多的聚类合并,从而生成较少的类。 较小值将生成较多的类。 使用值 0 到 5 通常可获得最佳结果。

Double

代码示例

TrainIsoClusterClassifier 示例 1(Python 窗口)

以下 Python 窗口脚本使用 ISO 聚类分类器创建最多含十个类的非监督 Esri 分类定义文件。

import arcpy
from arcpy.ia import *

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

TrainIsoClusterClassifier("c:/test/moncton_seg.tif", "10", 
                "c:/output/moncton_sig_iso.ecd","c:/test/moncton.tif", 
                "5", "10", "2", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainIsoClusterClassifier 示例 2(独立脚本)

此脚本示例使用 ISO 聚类分类器创建最多含十个类的非监督 Esri 分类定义文件。

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

"""Usage: TrainIsoClusterClassifier(in_raster, max_num_classes, 
                out_classifier_definition, {in_additional_raster}, 
                {max_num_iterations}, {min_num_samples_per_cluster}, 
                {skip_factor},{used_attributes})

"""

# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
maxNumClasses = "10"
out_definition = "c:/output/moncton_sig_iso.ecd"
in_additional_raster = "moncton.tif"
maxIteration = "20"
minNumSamples = "10"
skipFactor = "5"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"

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

# Execute 
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, 
                out_definition,in_additional_raster, 
                maxIteration, minNumSamples, skipFactor, attributes)

许可信息

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

相关主题