クラス確率 (Class Probability) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

サマリー

確率バンドのマルチバンド ラスターを作成します。入力シグネチャ ファイルにある各クラスに対して 1 つのバンドが作成されます。

[クラス確率 (Class Probability)] ツールの詳細

使用法

  • [入力ラスター バンド] (Python では in_raster_bands) の 1 つとしてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。

    マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成される新しいラスター データセットを作成し、その結果を [入力ラスター バンド] (Python では in_raster_bands) のリストで使用できます。

  • [シグネチャの作成 (Create Signatures)][シグネチャの編集 (Edit Signatures)][ISO クラスター (Iso Cluster)] の各ツールで作成したシグネチャ ファイルは入力シグネチャ ファイルの有効な入力値です。拡張子は「.gsg」になります。

  • このツールは、クラス確率の推定に、ベイズ統計を使用します。ベイズ統計は、データに関する事前情報から開始して、データが収集された後に、その情報を更新するというものです。データ値に関する事前情報は事前確率で定量化され、その後、事後確率 (更新された情報) を受け取るために尤度関数で調整されます。尤度関数は、各クラスまたはクラスターのデータ値によって定義されます。

  • 入力事前確率ファイルは、2 つの列から構成される ASCII ファイルである必要があります。左の列の値は、クラス ID を表します。右の列の値は、それぞれのクラスの事前確率を表します。クラスの事前確率の有効な値は、ゼロ以上です。確率としてゼロが指定されている場合、出力マルチバンド ラスターのクラスには、関連する確率バンドが作成されません。指定した事前確率の合計は、1 以下である必要があります。ファイルの形式を示す例を以下に示します。

        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」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスター バンド

入力ラスター バンド。

整数タイプまたは浮動小数点タイプにすることができます。

Raster Layer
入力シグネチャ ファイル

事前確率バンドの生成に使用されるクラス シグネチャのある入力シグネチャ ファイル

拡張子「.gsg」が必要です。

File
最大出力値
(オプション)

出力確率バンドの値の範囲の縮尺係数。

デフォルトでは、値の範囲は 0 ~ 100 です。

Long
事前確率加重
(オプション)

事前確率の決定方法を指定します。

  • 同一 すべてのクラスが同じ事前確率を持ちます。
  • サンプル 事前確率が、シグネチャ ファイル内のすべてのクラスでサンプリングされたセルの総数に対する各クラスのセル数に比例します。
  • ファイル事前確率は、ASCII 入力事前確率ファイルから各クラスに割り当てられます。
String
入力事前確率ファイル
(オプション)

入力シグネチャ クラスの事前確率を含むテキスト ファイル。

事前確率ファイルの入力が必要になるのは、[ファイル] オプションを使用したときだけです。

事前確率ファイルの拡張子は、「.txt」または「.asc」です。

File

戻り値

ラベル説明データ タイプ
出力マルチバンド ラスター

出力マルチバンドのラスター データセット。

整数タイプになります。

出力が Esri Grid の場合、ファイル名の最大文字数は 9 文字です。

Raster

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
(オプション)

入力シグネチャ クラスの事前確率を含むテキスト ファイル。

事前確率ファイルの入力が必要になるのは、[ファイル] オプションを使用したときだけです。

事前確率ファイルの拡張子は、「.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")

関連トピック