最尤法分類 (Maximum Likelihood Classification) (Spatial Analyst)

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

概要

一連のラスター バンドに対して最尤法分類を実行し、出力として分類されたラスターを作成します。

最尤法分類 (Maximum Likelihood Classification) ツールの詳細

使用法

  • [入力ラスター バンド] (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 が割り当てられます。

  • 2 つの有効値の間に除外する端数が指定された場合、次に大きい有効値に割り当てられます。たとえば、0.02 は 0.025 になります。

  • 除外する端数による出力ラスターの未分類セルの数と、除外する端数に入力された各値より小さい信頼度の合計で表されるセルの数には、直接的な関係があります。

  • シグネチャ ファイルのクラス名がクラス 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
(オプション)

除外する端数を選択します。これにより、セルがいずれかのクラスに正しく割り当てられる可能性に基づいて分類されるかどうかが決まります。いずれかのクラスに正しく割り当てられる可能性が、除外する端数より低いセルには、出力分類ラスターで NoData 値が与えられます。

デフォルトの値は 0.0 で、すべてのセルが分類されます。

有効なエントリは次のとおりです。

  • 0.0
  • 0.005
  • 0.01
  • 0.025
  • 0.05
  • 0.1
  • 0.25
  • 0.5
  • 0.75
  • 0.9
  • 0.95
  • 0.975
  • 0.99
  • 0.995
String
a_priori_probabilities
(オプション)

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

  • EQUAL すべてのクラスが同じ事前確率を持ちます。
  • SAMPLE 事前確率が、シグネチャ ファイル内のすべてのクラスでサンプリングされたセルの総数に対する各クラスのセル数に比例します。
  • FILE事前確率は、ASCII 入力事前確率ファイルから各クラスに割り当てられます。
String
in_a_priori_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"


# Execute 
mlcOut = MLClassify(inRaster, sigFile, probThreshold, aPrioriWeight, 
                    aPrioriFile, outConfidence) 

# Save the output 
mlcOut.save("c:/sapyexamples/output/redmlc02")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック