セル統計 (Cell Statistics) (Spatial Analyst)

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

Image Analyst ライセンスで利用できます。

サマリー

複数のラスターからセルごとに統計情報を計算します。

使用できる統計情報は、最頻値、最大、平均、中央値、最小、最少頻値、パーセンタイル、範囲、標準偏差、合計、および種類です。

セル統計 (Cell Statistics) ツールの機能の詳細

[セル統計 (Cell Statistics)] ツールの入力値と出力値の例
OutRas = CellStatistics([InRas1, InRas2, InRas3], "SUM", "NODATA", "SINGLE_BAND")

使用法

  • このツールに、入力ラスターの順序は関係ありません。

  • 統計の種類が最大、最小、平均値、中央値、最頻値、最少頻値、パーセンタイル、または合計の場合に、1 つのラスターを入力値として使用すると、出力セルの値が入力セルの値と同じになります。 範囲および標準偏差の場合、出力セル値は 0 になります。 VARIETY のときは 1 になります。

  • [マルチバンドとして処理] パラメーターがオフの場合 (Python では process_as_multibandSINGLE_BAND に設定されている場合)、マルチバンド ラスター入力の各バンドはシングル バンド ラスターとして別々に処理され、出力はシングル バンド ラスターになります。

    SINGLE_BAND として処理された場合のシングルバンド出力
    SINGLE_BAND として処理すると、セル統計ツールでシングルバンド出力が生成されます。
  • [マルチバンドとして処理] パラメーターがオンの場合 (Python では process_as_multibandMULTI_BAND に設定されている場合)、各マルチバンド ラスター入力はマルチバンド ラスターとして処理され、出力はマルチバンド ラスターになります。 入力がマルチバンド ラスターと定数の組み合わせの場合、出力もマルチバンドになります。 各マルチバンド入力のバンド数は同一である必要があります。

    ツールは、一方の入力の各バンドに対し、他方の入力の対応するバンドを使用して操作を行います。 入力の一方がマルチバンド ラスターで他方が定数の場合、ツールはマルチバンド入力の各バンドの定数値を使用して操作を行います。

    MULTI_BAND として処理された場合のマルチバンド出力
    MULTI_BAND として処理すると、セル統計ツールでマルチバンド出力が生成されます。
  • すべての入力が、同数の変数を含む多次元ラスター データの場合、このツールは、ディメンション値が同じすべてのスライスについて演算を実行します。 出力は CRF 形式の多次元ラスターになります。 このツールで処理を行うには、一般的なディメンションと一般的なディメンション値が入力の変数に少なくとも 1 つ必要です。これらがないとエラーが発生します。

    すべての入力に 1 つの変数が含まれているものの、名前が異なる場合は、演算を実行する前に多次元変数の照合ジオプロセシング環境をオフにします (Python では arcpy.env.matchMultidimensionalVariable = False を設定)。

    1 つ以上の入力が多次元ラスターで、それ以外の入力が定数である場合、このツールは、すべての変数のすべてのスライスについて、その定数値を使用して演算を実行し、出力は多次元ラスターになります。

  • 最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、同一頻度の値の中で最も小さい値が出力されます。

パラメーター

ラベル説明データ タイプ
入力ラスター、または定数値

解析ウィンドウでセルごとに統計演算を計算する入力ラスターのリスト。

数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。

[マルチバンドとして処理] パラメーターをオンにした場合は、すべてのマルチバンド入力ラスターのバンド数を同じにする必要があります。

Raster Layer; Constant
オーバーレイ統計情報
(オプション)

計算する統計の種類を指定します。

デフォルトの統計情報タイプは [平均値] です。

  • 平均入力の平均値が計算されます。 これがデフォルトです。
  • 最頻値入力の最頻値 (最も頻繁に出現する値) が計算されます。
  • 最大入力の最大値が計算されます。
  • 中央値入力の中央値が計算されます。
  • 最小入力の最小値が計算されます。
  • 最少頻値入力の最少頻値 (出現する数が最も少ない値) が計算されます。
  • パーセンタイル入力のパーセンタイルが計算されます。 デフォルトで 90 番目のパーセンタイルが計算されます。 [パーセンタイル値] パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • 範囲入力の範囲 (最大値と最小値の差) が計算されます。
  • 標準偏差入力の標準偏差が計算されます。
  • 合計入力の合計値 (すべての値の合計) が計算されます。
  • 種類入力の種類 (個別値の数) が計算されます。
String
計算時に NoData を除外
(オプション)

統計計算で NoData 値を無視するかどうかを指定します。

  • オン - 処理するセル位置で、いずれかの入力ラスターが NoData の場合、その NoData 値は無視されます。 有効なデータを持つセルだけを考慮して、統計情報が計算されます。 これがデフォルトです。
  • オフ - いずれかの入力ラスターの処理するセル位置が NoData の場合、そのセルの出力は NoData になります。
Boolean
マルチバンドとして処理
(オプション)

マルチバンド ラスターのバンドを処理する方法を指定します。

  • オフ - マルチバンド ラスター入力の各バンドは、シングルバンド ラスターとして別々に処理されます。 これがデフォルトです。
  • オン - それぞれのマルチバンド ラスター入力はマルチバンド ラスターとして処理されます。 1 つの入力に含まれる各バンドについて、他の入力に含まれる対応バンド番号を使用して演算が行われます。
Boolean
パーセンタイル値
(オプション)

計算されるパーセンタイル値。 デフォルトは 90 で、90 番目のパーセンタイルを示します。

値の範囲は 0 〜 100 です。 0 番目のパーセンタイルは、基本的に最小値の統計情報と同じであり、100 番目のパーセンタイルは最大値の統計情報と同じです。 値が 50 の場合、基本的に中央値の統計情報と同じ結果になります。

このパラメーターは、[オーバーレイ統計情報] パラメーターが [パーセンタイル] に設定されている場合にのみ使用できます。

Double
パーセンタイル内挿タイプ
(オプション)

指定したパーセンタイル値が 2 つの入力セル値の間にある場合に使用される内挿の方法を指定します。

  • 自動検出入力ラスターが整数ピクセル タイプである場合は、[最近隣内挿法] が使用されます。 入力ラスターが浮動小数点ピクセル タイプである場合は、[リニア] 内挿法が使用されます。 これがデフォルトです。
  • 最近隣内挿法目的のパーセンタイルに使用できる最近隣の値が使用されます。 この場合、出力のピクセル タイプは、入力ラスターと同じになります。
  • リニアパーセンタイルからの 2 つの周囲値の加重平均が使用されます。 この場合、出力のピクセル タイプは浮動小数点になります。
String

戻り値

ラベル説明データ タイプ
出力ラスター

出力ラスター。

各セルで、指定された統計情報の種類をその位置で入力ラスターに適用することにより、値が求められます。

Raster

CellStatistics(in_rasters_or_constants, {statistics_type}, {ignore_nodata}, {process_as_multiband}, {percentile_value}, {percentile_interpolation_type})
名前説明データ タイプ
in_rasters_or_constants
[in_raster_or_constant,...]

解析ウィンドウでセルごとに統計演算を計算する入力ラスターのリスト。

数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。

[processing_as_multiband] パラメーターを [MULTI_BAND] に設定した場合は、すべてのマルチバンド入力ラスターのバンド数を同じにする必要があります。

Raster Layer; Constant
statistics_type
(オプション)

計算する統計の種類を指定します。

  • MEAN入力の平均値が計算されます。 これがデフォルトです。
  • MAJORITY入力の最頻値 (最も頻繁に出現する値) が計算されます。
  • MAXIMUM入力の最大値が計算されます。
  • MEDIAN入力の中央値が計算されます。
  • MINIMUM入力の最小値が計算されます。
  • MINORITY入力の最少頻値 (出現する数が最も少ない値) が計算されます。
  • PERCENTILE入力のパーセンタイルが計算されます。 デフォルトで 90 番目のパーセンタイルが計算されます。 percentile_value パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • RANGE入力の範囲 (最大値と最小値の差) が計算されます。
  • STD入力の標準偏差が計算されます。
  • SUM入力の合計値 (すべての値の合計) が計算されます。
  • VARIETY入力の種類 (個別値の数) が計算されます。

デフォルトの統計情報タイプは MEAN です。

String
ignore_nodata
(オプション)

統計計算で NoData 値を無視するかどうかを指定します。

  • DATA処理するセル位置で、いずれかの入力ラスターが NoData の場合、その NoData 値は無視されます。 有効なデータを持つセルだけを考慮して、統計情報が計算されます。 これがデフォルトです。
  • NODATAいずれかの入力ラスターの処理するセル位置が NoData の場合、そのセルの出力は NoData になります。
Boolean
process_as_multiband
(オプション)

マルチバンド ラスターのバンドを処理する方法を指定します。

  • SINGLE_BANDマルチバンド ラスター入力の各バンドは、シングルバンド ラスターとして別々に処理されます。 これがデフォルトです。
  • MULTI_BANDそれぞれのマルチバンド ラスター入力はマルチバンド ラスターとして処理されます。 1 つの入力に含まれる各バンドについて、他の入力に含まれる対応バンド番号を使用して演算が行われます。
Boolean
percentile_value
(オプション)

計算されるパーセンタイル値。 デフォルトは 90 で、90 番目のパーセンタイルを示します。

値の範囲は 0 〜 100 です。 0 番目のパーセンタイルは、基本的に最小値の統計情報と同じであり、100 番目のパーセンタイルは最大値の統計情報と同じです。 値が 50 の場合、基本的に中央値の統計情報と同じ結果になります。

このパラメーターは、statistics_type パラメーターが PERCENTILE に設定されている場合のみサポートされます。

Double
percentile_interpolation_type
(オプション)

指定したパーセンタイル値が 2 つの入力セル値の間にある場合に使用される内挿の方法を指定します。

  • AUTO_DETECT入力ラスターが整数ピクセル タイプである場合は、NEAREST 内挿法が使用されます。 入力ラスターが浮動小数点ピクセル タイプである場合は、LINEAR 内挿法が使用されます。 これがデフォルトです。
  • NEAREST目的のパーセンタイルに使用できる最近隣の値が使用されます。 この場合、出力のピクセル タイプは、入力ラスターと同じになります。
  • LINEARパーセンタイルからの 2 つの周囲値の加重平均が使用されます。 この場合、出力のピクセル タイプは浮動小数点になります。
String

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

各セルで、指定された統計情報の種類をその位置で入力ラスターに適用することにより、値が求められます。

Raster

コードのサンプル

CellStatistics の例 1 (Python ウィンドウ)

次の例では、複数の入力 Grid ラスターの標準偏差をセルごとに計算し、結果を IMG ラスターとして出力しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCellStats = CellStatistics(["degs", "negs", "cost"], "STD", "DATA")
outCellStats.save("C:/sapyexamples/output/outcellstats.img")
CellStatistics の例 2 (スタンドアロン スクリプト)

この例では、複数のマルチバンド入力ラスターのバンドごとに各セルの範囲を算出し、マルチバンド出力ラスターを生成します。

# Name: CellStatistics_Ex_standalone.py
# Description: Calculates a per-cell statistic from multiple multiband rasters
#               and process as multiband.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"

# Set the local variables
inRaster01 = "degs_MB"
inRaster02 = "negs_MB"
inRaster03 = "cost_MB"

# Execute CellStatistics
outCellStatistics = CellStatistics([inRaster01, inRaster02, inRaster03], "RANGE", "NODATA", "MULTI_BAND")

# Save the output 
outCellStatistics.save("C:/sapyexamples/output/cellstats_MB.tif")