Spatial Analyst のライセンスで利用可能。
サマリー
一連のラスター バンドに対して主成分分析 (PCA) を実行し、1 つのマルチバンド ラスターを出力として生成します。
使用法
主成分の数に指定した値は、出力マルチバンド ラスターの主成分バンドの数を決定します。数字は、入力のラスターバンドの合計数を超えてはなりません。
-
ラスター バンドは共通の交差部を持つ必要があります。ない場合は、エラーが発生し、出力は作成されません。
割合分散は、捕捉した固有値ごとの分散の量を識別します。この値は、PCA の結果を解釈する際に役立ちます。少数の (それぞれが出力ラスターのバンドに対応する) 固有値で分散の大部分が捕捉される場合は、このバンドのサブセットで元のマルチバンド データセット内のほとんどの操作を捕捉できるため、以降の解析では、このサブセットの使用で十分です。
捕捉した固有値ごとの割合分散を決定するときには、固有値の合計を「 (固有値 * 100) /合計」の式で使用します。最初の固有値 (および、関連するバンド) は最大の分散を捕捉し、以降の固有値はそれぞれより小さい分散を捕捉します。分散の累積割合は、捕捉した固有値ごとの分散を累積した合計です。
-
入力が、4 バンド以上のマルチバンド ラスターから作成したレイヤーである場合、この操作では、レイヤーによって読み込まれた (シンボル表示された) 3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスターからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスター バンド] の横にある参照 ボタンを使用してマルチバンド ラスターを参照し、ラスターを開いて、使用するバンドを選択します。
- マルチバンド ラスターが [コンテンツ] ウィンドウ内のレイヤーである場合、[ラスター レイヤーの作成 (Make Raster Layer)] ツールを使用して、目的のバンドのみが含まれる新しいマルチバンド レイヤーを作成できます。
- [コンポジット バンド (Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメーターでリストとして直接指定できます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
PrincipalComponents (in_raster_bands, {number_components}, {out_data_file})
パラメーター | 説明 | データ タイプ |
in_raster_bands [in_raster_band,...] | 入力ラスター バンド。 整数タイプまたは浮動小数点タイプにすることができます。 | Raster Layer |
number_components (オプション) | 主成分の数。 この数は、ゼロより大きく、入力ラスター バンドの合計数以下でなければなりません。 デフォルトは、入力のラスターの合計数です。 | Long |
out_data_file (オプション) | 主成分パラメーターを格納する出力 ASCII データ ファイル。 出力データ ファイルには、共分散と相関行列、固有値と固有ベクトル、捕捉した固有値ごとの割合分散、および固有値によって説明された累積分散が記録されます。 出力ファイルの拡張子は、「.txt」または「.asc」です。 | File |
戻り値
名前 | 説明 | データ タイプ |
out_multiband_raster | 出力マルチバンドのラスター データセット。 入力バンドがすべて整数タイプである場合、出力ラスター バンドは整数になります。入力バンドのいずれかが浮動小数である場合、出力は浮動小数になります。 出力が Esri Grid ラスターの場合、名前は 10 文字未満である必要があります。 | Raster |
コードのサンプル
PrincipalComponents (主成分分析) の例 1 (Python ウィンドウ)
次の例では、入力マルチバンド ラスターに対して主成分分析 (PCA) を実行し、マルチバンド ラスターの出力を生成しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPrincipalComp = PrincipalComponents(["redlands"], 4,"pcdata.txt")
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
PrincipalComponents (主成分分析) の例 2 (スタンドアロン スクリプト)
次の例では、入力マルチバンド ラスターに対して主成分分析 (PCA) を実行し、マルチバンド ラスターの出力を生成しています。
# Name: PrincipalComponents_Ex_02.py
# Description: Performs principal components analysis 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
inRasterBand1 = "redlands/redlandsc1"
inRasterBand2 = "redlands/redlandsc3"
numberComponents = 2
outDataFile = "C:/sapyexamples/output/pcdatafile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute PrincipalComponents
outPrincipalComp = PrincipalComponents([inRasterBand1, inRasterBand2], 2,
outDataFile)
# Save the output
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Advanced: 次のものが必要 Spatial Analyst