Spatial Analyst のライセンスで利用可能。
使用法
主成分の数に指定した値は、出力マルチバンド ラスターの主成分バンドの数を決定します。数字は、入力のラスターバンドの合計数を超えてはなりません。
[入力ラスター バンド] (Python では in_raster_bands) の 1 つとしてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。
マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成される新しいラスター データセットを作成し、その結果を [入力ラスター バンド] (Python では in_raster_bands) のリストで使用できます。
ラスター バンドは共通の交差部を持つ必要があります。ない場合は、エラーが発生し、出力は作成されません。
割合分散は、捕捉した固有値ごとの分散の量を識別します。この値は、PCA の結果を解釈する際に役立ちます。少数の (それぞれが出力ラスターのバンドに対応する) 固有値で分散の大部分が捕捉される場合は、このバンドのサブセットで元のマルチバンド データセット内のほとんどの操作を捕捉できるため、以降の解析では、このサブセットの使用で十分です。
捕捉した固有値ごとの割合分散を決定するときには、固有値の合計を「 (固有値 * 100) /合計」の式で使用します。最初の固有値 (および、関連するバンド) は最大の分散を捕捉し、以降の固有値はそれぞれより小さい分散を捕捉します。分散の累積割合は、捕捉した固有値ごとの分散を累積した合計です。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と 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 |
コードのサンプル
次の例では、入力マルチバンド ラスターに対して主成分分析 (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")
次の例では、入力マルチバンド ラスターに対して主成分分析 (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")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst