摘要
使用 Iso 聚类工具和最大似然法分类工具对一系列输入栅格波段执行非监督分类。
用法
· 此工具结合了 Iso 聚类工具与最大似然法分类工具的功能。输出经过分类的栅格。作为可选的,它也可以输出特征文件。
· 此工具生成的特征文件可用作其他分类工具(例如最大似然法分类)的输入,从而更好地控制分类参数。
· 类数的最小有效值为二。不存在最大聚类数。通常情况下,聚类越多,所需的迭代就越多。
· 要提供充足的必要统计数据,生成特征文件以供将来分类使用,每个聚类都应当含有足够的像元来准确地表示聚类。为最小类大小输入的值应大约比输入栅格波段中的图层数大 10 倍。
· 为采样间隔输入的值表示,在聚类计算中每 n 乘 n 块像元中使用一个像元。
· 不应合并或移除类,也不应更改 ASCII 特征文件的任何统计数据。
· 通常情况下,输入波段交集范围内所含的像元越多,为最小类大小和采样间隔所指定的值就应当越大。为采样间隔输入的值应当足够小,以便对存在于输入数据中的最小理想类别进行合理采样。
· 输出特征文件中的类 ID 值以一开始,然后按顺序增加至输入类的数量。可分配任意数量的类数。
· 输出特征文件的名称必须具有一个 .gsg 扩展名。
· 如果所有输入波段的数据范围均相同,则将得到更加理想的结果。如果波段的数据范围差异很大,则可使用“地图代数”执行以下方程式,从而将各种数据范围转换为相同的范围。
· 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.
· 如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
· 您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
· 如果要使用工具对话框,则通过输入栅格波段旁边的按钮导航至多波段栅格,打开栅格并选择所需波段。
· 如果多波段栅格是内容列表中的图层,则可以使用创建栅格图层工具来创建一个新的只包含所需波段的多波段图层。
· 您还可以用波段合成来创建一个只包含所需波段的新数据集,并将生成的数据集用作工具的输入。
· 在 Python 中,可以在工具参数中以列表形式直接指定所需波段。
语法
IsoClusterUnsupervisedClassification (Input_raster_bands, Number_of_classes, {Minimum_class_size}, {Sample_interval}, {Output_signature_file})
代码实例
Iso 聚类非监督分类 (IsoClusterUnsupervisedClassification) 示例 1(Python 窗口)
本示例执行将输入波段分为 5 类的非监督分类并输出分类的栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outUnsupervised = IsoClusterUnsupervisedClassification("redlands", 5, 20, 50)
outUnsupervised.save("c:/temp/unsup01")
Iso 聚类非监督分类 (IsoClusterUnsupervisedClassification) 示例 2(独立脚本)
本示例执行将输入波段分为 5 类的非监督分类并输出分类的栅格。
# Name: IsoClusterUnsupervisedClassification_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"
classes = 5
minMembers = 50
sampInterval = 15
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute IsoCluster
outUnsupervised = IsoClusterUnsupervisedClassification(inRaster, classes, minMembers, sampInterval)
outUnsupervised.save("c:/temp/outunsup01.tif")
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/dsac1/article/details/46967469