Iso 聚类 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

使用 isodata 聚类算法来确定多维属性空间中像元自然分组的特征并将结果存储在输出 ASCII 特征文件中。

了解有关 Iso 聚类工作原理的详细信息

使用情况

  • Iso 聚类工具对输入波段列表中组合的多元数据执行聚类。 所生成的特征文件可用作生成非监督分类栅格的分类工具(例如最大似然法分类)的输入。

  • 将多波段栅格指定为输入栅格波段(Python 中的 in_raster_bands)之一时,将使用所有波段。

    要处理一系列来自多波段栅格的波段,可先用波段合成工具创建由这些特定波段组成的新栅格数据集,并在输入栅格波段(Python 中的 in_raster_bands)列表中使用该结果。

  • 类数的最小有效值为二。 不存在最大聚类数。 通常情况下,聚类越多,所需的迭代就越多。

  • 要提供充足的必要统计数据,生成特征文件以供将来分类使用,每个聚类都应当含有足够的像元来准确地表示聚类。 为最小类大小输入的值应大约比输入栅格波段中的图层数大 10 倍。

  • 为采样间隔输入的值表示,在聚类计算中每 n 乘 n 块像元中使用一个像元。

  • 不应合并或移除类,也不应更改 ASCII 特征文件的任何统计数据。

  • 通常情况下,输入波段交集范围内所含的像元越多,为最小类大小和采样间隔所指定的值就应当越大。 为采样间隔输入的值应当足够小,以便对存在于输入数据中的最小理想类别进行合理采样。

  • 输出特征文件中的类 ID 值以一开始,然后按顺序增加至输入类的数量。 可分配任意数量的类数。

  • 如果所有输入波段的数据范围均相同,则将得到更加理想的结果。 如果波段具有截然不同的数据范围,则可以使用地图代数执行方程将数据范围转换为相同范围。

    Iso 聚类方程式
     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.
  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

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

输入栅格波段。

可为整型或浮点型。

Raster Layer
输出特征文件

输出特征文件。

必须指定 .gsg 扩展名。

File
类数

要将像元划分成的类数目。

Long
迭代次数
(可选)

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

默认值为 20。

Long
最小类大小
(可选)

一个有效类中的最小像元数。

默认值为 20。

Long
采样间隔
(可选)

采样所使用的间隔。

默认值为 10。

Long

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

代码示例

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)
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

# Execute IsoCluster
IsoCluster(inRaster, outSig, classes, cycles, minMembers, sampInterval)

相关主题