需要 Spatial Analyst 许可。
描述
使用 Iso 聚类分类定义生成 Esri 分类器定义 (.ecd) 文件。
此工具用于执行非监督分类。
使用方法
任何 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 | 待分类的栅格数据集。 | 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,...] (可选) | 指定要包括在与输出栅格相关联的属性表中的属性。
如果在输入栅格上将分割关键属性设置为 true 时,则仅启用此参数。如果仅对此工具输入分割影像,则默认属性为 COLOR、COUNT、COMPACTNESS 和 RECTANGULARITY。如果将 in_additional_raster 作为输入与分割影像一起添加进来,则还可以使用 MEAN 和 STD 属性。 | String |
max_merge_per_iter (可选) | 每个迭代的最大聚类合并数。增加合并的数量将减少所创建的类。较小值将生成较多的类。 | Long |
max_merge_distance (可选) | 要素空间中聚类中心间的最大距离。增加距离将允许更多的聚类合并,从而生成较少的类。较小值将生成较多的类。使用值 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)
环境
许可信息
- Basic: 需要 Spatial Analyst
- Standard: 需要 Spatial Analyst
- Advanced: 需要 Spatial Analyst