クラス確率(Class Probability) (Spatial Analyst)
サマリ
確率バンドのマルチバンド ラスタを作成します。入力シグネチャ ファイルにある各クラスに対して 1 つのバンドが作成されます。
使用法
-
[シグネチャの作成(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 の場合のみ、浮動小数の値を持つバンドが作成されます。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、この操作では、レイヤによって読み込まれた(シンボル表示された)3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスタからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスタ バンド] の横にある参照 ボタンを使用してマルチバンド ラスタを参照し、ラスタを開いて、使用するバンドを選択します。
- マルチバンド ラスタがコンテンツ ウィンドウのレイヤである場合は、[ラスタ レイヤの作成(Make Raster Layer)] ツールを使用して、目的のバンドだけを含む新しいマルチバンド レイヤを作成できます。
- [コンポジット バンド(Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメータでリストとして直接指定できます。
構文
パラメータ | 説明 | データ タイプ |
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")