Iso 聚类 (空间分析)
用法
-
Iso 聚类工具对输入波段列表中组合的多元数据执行聚类。所生成的特征文件可用作生成非监督分类栅格的分类工具(例如最大似然法分类)的输入。
-
类数的最小有效值为二。不存在最大聚类数。通常情况下,聚类越多,所需的迭代就越多。
-
要提供充足的必要统计数据,生成特征文件以供将来分类使用,每个聚类都应当含有足够的像元来准确地表示聚类。为最小类大小输入的值应大约比输入栅格波段中的图层数大 10 倍。
-
为采样间隔输入的值表示,在聚类计算中每 n 乘 n 块像元中使用一个像元。
-
不应合并或移除类,也不应更改 ASCII 特征文件的任何统计数据。
-
通常情况下,输入波段交集范围内所含的像元越多,为最小类大小和采样间隔所指定的值就应当越大。为采样间隔输入的值应当足够小,以便对存在于输入数据中的最小理想类别进行合理采样。
-
输出特征文件中的类 ID 值以一开始,然后按顺序增加至输入类的数量。可分配任意数量的类数。
-
如果所有输入波段的数据范围均相同,则将得到更加理想的结果。如果波段的数据范围差异很大,则可使用“地图代数”执行以下方程式,从而将各种数据范围转换为相同的范围。
where: Z is the output raster with new data ranges. X is the input raster. oldmin is the minimum value of the input raster. oldmax is the maximum value of the input raster. newmin is the desired minimum value for the output raster. newmax is the desired maximum value for the output raster.
-
如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
语法
IsoCluster (in_raster_bands, out_signature_file, number_classes, {number_iterations}, {min_class_size}, {sample_interval})
参数 | 说明 | 数据类型 |
in_raster_bands [in_raster_band,...] |
输入栅格波段。 | Raster Layer |
out_signature_file |
输出特征文件。 必须指定一个 .gsg 扩展名。 | File |
number_classes |
要将像元划分成的类数目。 | Long |
number_iterations (可选) | 要运行的聚类过程的迭代次数。 默认值为 20。 | Long |
min_class_size (可选) | 一个有效类中的最小像元数。 默认值为 20。 | Long |
sample_interval (可选) |
采样所使用的间隔。 默认值为 10。 | Long |
代码示例
Iso 聚类 (IsoCluster) 示例 1(Python 窗口)
本示例将创建一个用于将输入多波段栅格分为五类的特征文件。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" IsoCluster("redlands", "c:/sapyexamples/output/isosig.gsg", 5, 20, 50, 15)
Iso 聚类 (IsoCluster) 示例 2(独立脚本)
本示例将创建一个用于将输入多波段栅格分为五类的特征文件。
# Name: IsoCluster_Ex_02.py # Description: Uses an isodata clustering algorithm to determine the # characteristics of the natural groupings of cells in multidimensional # attribute space and stores the results in an output ASCII signature file. # 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 = "redlands" outSig = "redlndiso.gsg" classes = 5 cycles = 20 minMembers = 50 sampInterval = 15 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute IsoCluster IsoCluster(inRaster, outSig, classes, cycles, minMembers, sampInterval)
相关主题
许可信息
ArcView: 需要 Spatial Analyst
ArcEditor: 需要 Spatial Analyst
ArcInfo: 需要 Spatial Analyst
7/10/2012