摘要
使用 Iso 聚类分类定义生成 Esri 分类器定义 (.ecd) 文件。
ISO 聚类分类器将执行非监督分类。此分类器可处理非常大的分割影像,这些影像的属性表可能会变得很大。另外,此工具还可接受来自第三方应用程序的分割 RGB 栅格。此工具适用于 Esri 支持的标准栅格文件(无限制)以及分割栅格数据集。
用法
任何 Esri 支持的栅格都可用作输入,包括栅格产品、分割栅格、镶嵌、影像服务或通用栅格数据集。分割栅格必须为 8 位 3 波段栅格。
仅在其中一个栅格图层输入为分割影像的情况下启用分割属性参数。
语法
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 | 选择要分类的栅格数据集。 首选输入项为 8 位 3 波段分割栅格数据集,其中所有位于同一分割的像素具有相同的颜色。输入也可以是 8 位单波段灰度分割栅格。如果没有可用的分割栅格,可使用任何 Esri 支持的栅格数据集 | Raster Layer | Mosaic Layer |
max_classes | 分组像素或分割影像所需的最大类数。此参数应根据图例中类的数量进行设置。 您获取的要素类可能会少于此参数中指定的数量。如果需要更多要素类,可在训练过程结束后增加此值并聚集类。 | Long |
out_classifier_definition | 这是包含属性信息、统计数据、超平面矢量和分类器所需的其他信息的 JSON 文件。将创建扩展名为 .ecd 的文件。 | File |
in_additional_raster (可选) | 也可以整合其他栅格数据集(如分割影像、多光谱影像或 DEM),从而为分类生成属性和其他所需信息。 | Raster Layer | Mosaic Layer |
max_iterations (可选) | 要运行的聚类过程的最大迭代次数。 推荐范围为 10 到 20 次迭代之间。增加此值将会使处理时间呈线性增加。 | Long |
min_samples_per_cluster (可选) | 一个有效聚类或类中的最小像素数或分割数。 已表明默认值 20 对于创建具有统计显著性的类有效。可增加这一数量来获得更强大的要素类;但是,这样可能会限制所创建要素类的总数。 | Long |
skip_factor (可选) | 要为像素影像输入跳过的像素数。如果输入是分割影像,则请指定要跳过的分割数。 | Long |
used_attributes used_attributes;used_attributes (可选) | 指定要包括在与输出栅格相关联的属性表中的属性。 如果仅对此工具输入分割影像,默认属性则为 COLOR、COUNT、COMPACTNESS 和 RECTANGULARITY。如果还将 in_additional_raster 作为输入与分割影像一起添加进来,则 MEAN 和 STD 选项也将可用。
| String |
max_merge_per_iter (可选) | 增加合并的数量将减少所创建的类。较小值将生成较多的类。 | Long |
max_merge_distance (可选) | 增加距离将允许更多的聚类合并,从而生成较少的类。较小值将生成较多的类。 此距离的属性为光谱且基于 RGB 颜色。例如,RGB 值为 100、100、100 的像素与 RGB 值为 100、130、120 的像素之间的距离为 50。尽管您可将其设置为所需的任何值,但是 0 至 5 之间的值可提供最佳结果。 | Double |
代码示例
TrainIsoClusterClassifier 示例 1(Python 窗口)
以下 Python 窗口脚本使用 ISO 聚类分类器创建最多含十个类的非监督 Esri 分类定义文件。
import arcpy
from arcpy.sa import *
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.sa import *
# 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 Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, out_definition,
in_additional_raster, maxIteration,
minNumSamples, skipFactor, attributes)
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst