资源描述
地理国情监测云平台
ArcGIS教程:Iso 聚类
一、Iso 聚类
摘要
使用 isodata 聚类算法来确定多维属性空间中像元自然分组的特征并将结果存储在输出 ASCII 特征文件中。
用法
· 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.
· 如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
· 您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
§ 如果要使用工具对话框,则通过输入栅格波段旁边的按钮导航至多波段栅格,打开栅格并选择所需波段。
§ 如果多波段栅格是内容列表中的图层,则可以使用创建栅格图层工具来创建一个新的只包含所需波段的多波段图层。
§ 您还可以用波段合成来创建一个只包含所需波段的新数据集,并将生成的数据集用作工具的输入。
§ 在 Python 中,可以在工具参数中以列表形式直接指定所需波段。
语法
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)
二、Iso 聚类非监督分类
摘要
使用 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})
参数
说明
数据类型
Input_raster_bands
[in_raster_band,...]
输入栅格波段。
Raster Layer
Number_of_classes
number_of_classes
要将像元划分成的类数目。
Long
Minimum_class_size
minimum_class_size
(可选)
一个有效类中的最小像元数。
默认值为 20。
Long
Sample_interval
sample_interval
(可选)
采样所使用的间隔。
默认值为 10。
Long
Output_signature_file
out_signature_file
(可选)
输出特征文件。
必须指定一个 .gsg 扩展名。
File
返回值
名称
说明
数据类型
Output_classified_raster
输出分类的栅格。
Raster
代码实例
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")
北京数字空间科技有限公司
展开阅读全文