需要 Spatial Analyst 许可。
摘要
对一组栅格波段执行最大似然法分类并创建分类的输出栅格数据。
用法
通过创建特征、编辑特征,或通过 Iso 聚类工具创建的任何特征文件,对于输入特征文件而言均为有效条目。它们都具有一个 .gsg 扩展名。
默认情况下,输出栅格中的所有像元都将进行分类,每个具有相等概率权重的类都会附加到相应的特征中。
输入先验概率文件必须是包含两列的 ASCII 文件。左列中的值表示类 ID。右列中的值表示相应类的先验概率。类别先验概率的有效值必须大于或等于零。如果指定零作为概率,则类无法显示在输出栅格中。指定先验概率的总和必须小于或等于一。该文件的格式如下:
1 .3 2 .1 4 .0 5 .15 7 .05 8 .2
文件中所忽略的类将接收值 1 其余部分的平均先验概率。在上面的示例中,所有从 1 到 8 的类都在特征文件中表示。类 3 和类 6 的先验概率在输入先验概率文件中缺失。由于上述文件中所有指定概率的总和等于 0.8,概率的其余部分 (0.2) 将与未指定类的数量 (2) 相除。因此,类 3 和类 6 将被分别指定概率 0.1。
位于任意两个有效值之间的指定剔除分数将被分配给下一个更高级别的有效值。例如,0.02 将变成 0.025。
通过剔除分数得到的输出栅格中的像元数和由小于输入的相应剔除分数值的置信度总和表示的像元数之间存在直接关系。
如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
如果特征文件中的类名称与类 ID 不同,则会向名为 CLASSNAME 的输出栅格属性表添加一个附加字段。对于输出表中的每个类,该字段会包含与该类关联的类名称。例如,如果特征文件中各个类的类名称是描述性字符串名称(如针叶树、水体和市区),则这些名称会被传递到 CLASSNAME 字段。
输入先验概率文件的扩展名是 .txt。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
MLClassify (in_raster_bands, in_signature_file, {reject_fraction}, {a_priori_probabilities}, {in_a_priori_file}, {out_confidence_raster})
参数 | 说明 | 数据类型 |
in_raster_bands [in_raster_band,...] | 输入栅格波段。 虽然波段可以是整数也可以是浮点类型,但特征文件只能是整数类值。 | Raster Layer |
in_signature_file | 最大似然法分类器使用的特征类所属的输入特征文件。 需要使用 .gsg 扩展名。 | File |
reject_fraction (可选) | 将因最低正确分配概率而得不到分类的像元部分。 默认值为 0.0;因此,将对每个像元进行分类。 有效输入包括
| String |
a_priori_probabilities (可选) | 指定将如何确定先验概率。
| String |
in_a_priori_file (可选) | 包含用于输入特征类的先验概率的文本文件。 仅在使用 FILE 选项时才需要先验概率文件的输入。 先验文件的扩展名可以是 .txt 或 .asc。 | File |
out_confidence_raster (可选) | 以 14 个置信度显示分类确定性的输出置信栅格数据集,其中,最低值表示的确定性最高。 将为整型。 | Raster Dataset |
返回值
名称 | 说明 | 数据类型 |
out_classified_raster | 输出分类的栅格。 将为整型。 | Raster |
代码示例
MaximimumLikelihoodClassification 示例 1(Python 窗口)
本例将创建包含来自输入特征文件和多波段栅格的五个类的分类输出栅格。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
mlcOut = MLClassify("redlands", "c:/sapyexamples/data/wedit5.gsg", "0.0",
"EQUAL", "", "c:/sapyexamples/output/redmlcconf")
mlcOut.save("c:/sapyexamples/output/redmlc")
MaximimumLikelihoodClassification 示例 2(独立脚本)
本例将创建包含来自输入特征文件和多波段栅格的五个类的分类输出栅格。
# Name: MLClassify_Ex_02.py
# Description: Performs a maximum likelihood classification on a set of
# raster bands.
# 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"
sigFile = "c:/sapyexamples/data/wedit5.gsg"
probThreshold = "0.0"
aPrioriWeight = "EQUAL"
aPrioriFile = ""
outConfidence = "c:/sapyexamples/output/redconfmlc"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
mlcOut = MLClassify(inRaster, sigFile, probThreshold, aPrioriWeight,
aPrioriFile, outConfidence)
# Save the output
mlcOut.save("c:/sapyexamples/output/redmlc02")
环境
许可信息
- ArcGIS for Desktop Basic: 需要 Spatial Analyst
- ArcGIS for Desktop Standard: 需要 Spatial Analyst
- ArcGIS for Desktop Advanced: 需要 Spatial Analyst