Spatial Analyst のライセンスで利用可能。
サマリ
一連のラスター バンドに対して最尤法分類を実行し、出力として分類されたラスターを作成します。
使用法
-
[シグネチャの作成 (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 が割り当てられます。
2 つの有効値の間に除外する端数が指定された場合、次に大きい有効値に割り当てられます。たとえば、0.02 は 0.025 になります。
除外する端数による出力ラスターの未分類セルの数と、除外する端数に入力された各値より小さい信頼度の合計で表されるセルの数には、直接的な関係があります。
-
入力が、4 バンド以上のマルチバンド ラスターから作成したレイヤーである場合、この操作では、レイヤーによって読み込まれた (シンボル表示された) 3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスターからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスター バンド] の横にある参照 ボタンを使用してマルチバンド ラスターを参照し、ラスターを開いて、使用するバンドを選択します。
- マルチバンド ラスターが [コンテンツ] ウィンドウ内のレイヤーである場合、 [ラスター レイヤーの作成 (Make Raster Layer)] ツールを使用して、目的のバンドのみが含まれる新しいマルチバンド レイヤーを作成できます。
- [コンポジット バンド (Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメーターでリストとして直接指定できます。
シグネチャ ファイルのクラス名がクラス ID と異なる場合は、出力ラスター属性テーブルに CLASSNAME というフィールドが追加されます。このフィールド には、出力テーブルのクラスごとに、クラスに関連付けられたクラス名が格納されます。たとえば、シグネチャ ファイルのクラスのクラス名が説明的な文字列の名前 (たとえば、針葉樹、水域、都市) である場合は、これらの名前が CLASSNAME フィールドに格納されます。
入力の事前確率ファイルの拡張子は、「.txt」です。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
MLClassify (in_raster_bands, in_signature_file, {reject_fraction}, {a_priori_probabilities}, {in_a_priori_file}, {out_confidence_raster})
パラメータ | 説明 | データ タイプ |
in_raster_bands [in_raster_band,...] | 入力ラスター バンド。 バンドには整数型または浮動小数点型を使用できますが、シグネチャ ファイルには整数クラス値のみを使用できます。 | Raster Layer |
in_signature_file | 最尤法分類に使用されるクラス シグネチャのある入力シグネチャ ファイル。 「.gsg」という拡張子が必須です。 | File |
reject_fraction (オプション) | 正しい割り当ての最小確率により、未分類のままになるセルの割合。 デフォルト値は 0.0 で、すべてのセルが分類されます。 有効なエントリは次のとおりです。
| String |
a_priori_probabilities (オプション) | 事前確率の決定方法を指定します。
| String |
in_a_priori_file (オプション) | 入力シグネチャ クラスの事前確率を含むテキスト ファイル。 事前確率ファイルの入力が必要になるのは、FILE オプションを使用したときだけです。 事前確率ファイルの拡張子は、「.txt」または「.asc」です。 | File |
out_confidence_raster (オプション) | 14 の信頼度の分類の確実度を示す出力信頼度ラスター データセット。値が小さいほど、信頼度が高いことを表します。 整数タイプになります。 | Raster Dataset |
戻り値
名前 | 説明 | データ タイプ |
out_classified_raster | 出力分類ラスター。 整数タイプになります。 | Raster |
コードのサンプル
MaximimumLikelihoodClassification (最尤法分類) の例 1 (Python ウィンドウ)
次の例では、入力シグネチャ ファイルとマルチバンド ラスターから得た 5 つのクラスを含む出力分類ラスターを作成しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
mlcOut = MLClassify("redlands", "c:/sapyexamples/data/wedit5.gsg", "0.0",
"EQUAL", "", "c:/sapyexamples/output/redmlcconf")
mlcOut.save("c:/sapyexamples/output/redmlc")
MaximimumLikelihoodClassification (最尤法分類) の例 2 (スタンドアロン スクリプト)
次の例では、入力シグネチャ ファイルとマルチバンド ラスターから得た 5 つのクラスを含む出力分類ラスターを作成しています。
# Name: MLClassify_Ex_02.py
# Description: Performs a maximum likelihood classification on a set of
# raster bands.
# 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 = "redlands"
sigFile = "c:/sapyexamples/data/wedit5.gsg"
probThreshold = "0.0"
aPrioriWeight = "EQUAL"
aPrioriFile = ""
outConfidence = "c:/sapyexamples/output/redconfmlc"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
mlcOut = MLClassify(inRaster, sigFile, probThreshold, aPrioriWeight,
aPrioriFile, outConfidence)
# Save the output
mlcOut.save("c:/sapyexamples/output/redmlc02")
環境
ライセンス情報
- ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst