需要 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 (可选) | 指定将如何确定先验概率。
| 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 = ""
# 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