『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:类别概率

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

摘要

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

用法

·      通过创建特征编辑特征,或通过 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 时,才会生成包含浮点值的波段。

·      如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。

·      您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。

§  如果要使用工具对话框,则通过输入栅格波段旁边的按钮导航至多波段栅格,打开栅格并选择所需波段。

§  如果多波段栅格是内容列表中的图层,则可以使用创建栅格图层工具来创建一个新的只包含所需波段的多波段图层。

§  您还可以用波段合成来创建一个只包含所需波段的新数据集,并将生成的数据集用作工具的输入。

§  Python 中,可以在工具参数中以列表形式直接指定所需波段。

语法

    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 示例 1Python 窗口)

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

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 = ""

# 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")

      京ICP备2025132830号-1 京公网安备 号