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

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

    MULTI_BAND として処理された場合のマルチバンド出力
    MULTI_BAND として処理すると、[セル統計 (Cell Statistics)] ツールでマルチバンド出力が生成されます。
  • ArcPy では、すべての入力が、同数の変数を含む多次元ラスターの場合、このツールは、ディメンション値が同じすべてのスライスについて演算を実行し、出力は多次元ラスターになります。 入力に含まれる変数には、同じディメンションまたは一般的なディメンションが指定される必要があります。

    すべての入力が、1 つの変数を含むが名前が異なっている多次元ラスターである場合は、演算を実行するために、matchMultidimensionalVariable ジオプロセシング環境を False に設定します。

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

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

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

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

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

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

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")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst または Image Analyst
  • Standard: 次のものが必要 Spatial Analyst または Image Analyst
  • Advanced: 次のものが必要 Spatial Analyst または Image Analyst

関連トピック