类别概率 (Spatial Analyst)

需要 Spatial Analyst 许可。

描述

创建概率波段的多波段栅格,并为输入特征文件中所表示的每个类对应创建一个波段。

了解有关类别概率工作原理的详细信息

使用方法

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

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

  • 通过创建特征编辑特征,或通过 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。

    输入先验概率文件的扩展名可以是 .txt.asc

  • 用作最大输出值的输入值可用来设置输出概率波段中值的范围上限。默认值 100 将为各波段创建整数值范围为 0 到 100 的多波段栅格。任何大于零的整数值都可用作有效的最大输出值。只有最大输出参数值为 1 时,才会生成包含浮点值的波段。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

语法

ClassProbability(in_raster_bands, in_signature_file, {maximum_output_value}, {a_priori_probabilities}, {in_a_priori_file})
参数说明数据类型
in_raster_bands
[in_raster_band,...]

输入栅格波段。

可为整型或浮点型。

Raster Layer
in_signature_file

其类特征可用于生成先验概率波段的输入特征文件。

需要使用 .gsg 扩展名。

File
maximum_output_value
(可选)

用于调整输出概率波段中的值范围的因子。

默认情况下,值范围从 0 到 100。

Long
a_priori_probabilities
(可选)

指定将如何确定先验概率。

  • EQUAL 所有类将具有相同的先验概率。
  • SAMPLE 先验概率将与特征文件内所有类中采样像元总数的相关的各类的像元数成比例。
  • FILE先验概率将会分配给输入 ASCII 先验概率文件中的各个类。
String
in_a_priori_file
(可选)

包含用于输入特征类的先验概率的文本文件。

只有在使用 File 选项时才需要先验概率文件的输入。

先验文件的扩展名可以是 .txt.asc

File

返回值

名称说明数据类型
out_multiband_raster

输出多波段栅格数据集。

将为整型。

如果输出是 Esri Grid,则文件名不能超过 9 个字符。

Raster

代码示例

ClassProbability 示例 1(Python 窗口)

在本示例中,将为特征文件中每个类创建概率波段的多波段栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outClassProbability = ClassProbability("redlands","C:/sapyexamples/data/wedit5.gsg",
                    100,"EQUAL","")
outClassProbability.save("c:/sapyexamples/output/classprob")
ClassProbability 示例 2(独立脚本)

在本示例中,将为特征文件中每个类创建概率波段的多波段栅格。

# Name: ClassProbability_Ex_02.py
# Description: Creates probability layers for each class in a 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 = "redl123"
inSigFile = "c:/sapyexamples/data/wedit5.gsg"
maxValue = 100
aPrioriWeight = "EQUAL"
aPrioriFile = ""

# Execute ClassProbability
outClassProbability = ClassProbability(inRaster,inSigFile,
                    maxValue, aPrioriWeight, aPrioriFile)

# Save the output 
outClassProbability.save("c:/sapyexamples/output/classprob01")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题