类别概率 (空间分析)
用法
-
通过创建特征、编辑特征,或通过 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 时,才会生成包含浮点值的波段。
-
如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
语法
参数 | 说明 | 数据类型 |
in_raster_bands [in_raster_band,...] |
输入栅格波段。 栅格波段可以为整型或浮点型。 | Raster Layer |
in_signature_file |
其类特征可用于生成先验概率波段的输入特征文件。 需要使用一个 .gsg 扩展名。 | File |
maximum_output_value (可选) |
用于调整输出概率波段中的值范围的因子。 默认情况下,值范围从 0 到 100。 | Long |
a_priori_probabilities (可选) | 指定将如何确定先验概率。
| String |
in_a_priori_file (可选) | 包含用于输入特征类的先验概率的文本文件。 仅在使用 FILE 选项时才需要先验概率文件的输入。 先验文件的扩展名可为 .txt 或 .asc。 | File |
返回值
名称 | 说明 | 数据类型 |
out_multiband_raster |
输出多波段栅格数据集。 如果输出是 Esri Grid,则文件名不能超过 9 个字符。 | Raster |
代码实例
在本示例中,将为特征文件中每个类的概率波段创建多波段栅格。
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")
在本示例中,将为特征文件中每个类的概率波段创建多波段栅格。
# 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 = ""
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ClassProbability
outClassProbability = ClassProbability(inRaster,inSigFile,
maxValue, aPrioriWeight, aPrioriFile)
# Save the output
outClassProbability.save("c:/sapyexamples/output/classprob01")