バンド コレクション統計(Band Collection Statistics) (Spatial Analyst)
使用法
-
ラスタ バンドは共通の交差部を持つ必要があります。ない場合は、エラーが発生し、出力は作成されません。
-
ラスタ バンドの範囲が同じでない場合、すべての入力ラスタ バンドの共通の空間範囲に対して統計情報が計算されます。デフォルトでは、セル サイズは入力ラスタ バンドの最大セル サイズになります。それ以外の場合は、[ラスタ解析] 環境設定によって変わります。
-
[行列計算(Compute matrices)] パラメータのデフォルト設定(スクリプトでは [BRIEF]、ツールのダイアログ ボックスでは [オフ])では、入力ラスタ バンドの最小値、最大値、平均値、および標準偏差だけが計算されます。これらの統計情報の他に、共分散と相関行列も計算するには、パラメータを、スクリプト内では [DETAILED]、ツールのダイアログ ボックスでは [オン] に設定します。共分散行列は、左上から右下の対角線に沿ったすべてのラスタ バンドの分散と、残りのエントリにあるすべてのラスタ バンド間の分散を提供します。相関行列は、2 つの入力バンドのそれぞれの組み合わせの相関係数を提供します。
-
共分散行列の計算では、NoData の入力セルに、バンドの平均値が使用されます。
-
統計情報は、ASCII テキスト形式の出力ファイルに書き込まれます。出力の拡張子は、「.txt」にする必要があります。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、この操作では、レイヤによって読み込まれた(シンボル表示された)3 つのバンドだけでなく、ソース データセットに関連付けられたバンドがすべて考慮されます。
マルチバンド ラスタからバンドのサブセットを指定し、ツールの入力として使用するには、いくつかの方法があります。
- ツールのダイアログ ボックスを使用する場合は、[入力ラスタ バンド] の横にある参照 ボタンを使用してマルチバンド ラスタを参照し、ラスタを開いて、使用するバンドを選択します。
- マルチバンド ラスタがコンテンツ ウィンドウのレイヤである場合は、[ラスタ レイヤの作成(Make Raster Layer)] ツールを使用して、目的のバンドだけを含む新しいマルチバンド レイヤを作成できます。
- [コンポジット バンド(Composite Bands)] を使用して、目的のバンドだけを含む新しいデータセットを作成し、結果のデータセットをツールの入力として使用することもできます。
- Python では、使用するバンドをツール パラメータでリストとして直接指定できます。
構文
パラメータ | 説明 | データ タイプ |
in_raster_bands [in_raster_band,...] |
入力ラスタ バンド。 | Raster Layer |
out_stat_file |
統計情報を含む出力 ASCII ファイル。 拡張子「.txt」が必要です。 | File |
compute_matrices (オプション) |
共分散と相関行列を計算するかどうかを指定します。
| Boolean |
コードのサンプル
次の例では、一連のラスタ バンドの統計情報を計算しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")
次の例では、一連のラスタ バンドの統計情報を計算しています。
# Name: BandCollectionStats_Ex_02.py
# Description: Calculates the statistics for 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 = "sb/sbc1"
inRasterBand2 = "sb/sbc2"
outStatFile = "C:/sapyexamples/output/bandstatfile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute BandCollectionStats
BandCollectionStats([inRasterBand1, inRasterBand2], outStatFile, "DETAILED")