ゾーン統計ツールの仕組み

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

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

ゾーン統計の動作は、別のデータセットによって定義されたゾーン内のラスター (値ラスター) のセル値に対して統計情報を計算します。ゾーン別に統計情報を計算する、[ゾーン統計 (Zonal Statistics)] および [ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] という 2 つのツールが存在します。

[ゾーン統計 (Zonal Statistics)] ツールは、一度に 1 つの統計情報のみを計算して、ラスター出力を作成します。この値は、そのゾーンに対応するセルのラスター出力のセル値になります。ゾーン フィーチャが重複するゾーンを含んでいる場合、出力ラスター内のセルが 1 つの値のみを表すことができるため、1 つのゾーンに対してのみ統計情報が計算されます。

[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] は、事前に定義されたサブセットを使用して 1 つ以上の統計情報を計算するか、すべての統計情報を計算して、テーブル出力を作成します。[ゾーン統計 (Zonal Statistics)] と同様に、得られる統計情報は、ゾーンごとの単一の値です。出力テーブルには、1 つのゾーンにつき 1 つのレコードが存在し、統計値が、事前に定義されたフィールドに報告されます。ゾーン入力がフィーチャであり、重複するゾーンを含んでいる場合、すべてのゾーンに対して統計情報が計算され、出力が、ゾーンごとの個別のレコードに報告されます。

入力ゾーン レイヤーは、ラスターまたはフィーチャのいずれかであることができるゾーンの形状、値、および位置を定義します。ゾーン演算時に、最初にフィーチャ データがラスターに変換されます。ラスター データでは、ゾーンは、セルが隣接しているかどうかにかかわらず、すべて同じ値を含んでいるセルです。各ゾーンは、一意の ID を持つ必要があり、ラスターである場合は、整数データ型を含む必要があります。ゾーン入力内の一意の値の任意の整数フィールドまたは文字列フィールドを指定して、ゾーンを定義することができます。

入力値ラスターには、各ゾーンの出力統計情報の計算に使用される値が含まれます。整数データ型でも浮動小数点データ型でもかまいません。

下の図では、入力された値の平均がゾーンごとに識別されています。

ゾーン統計 (Zonal Statistics) の入力と出力の例
[ゾーン統計 (Zonal Statistics)] の入力と出力の例が示されています。ライト グレーのセルは、NoData を表しています。

値ラスター内のセルがラスター ゾーンとして識別される方法

統計情報を計算するために、ツールは、最初に、各ゾーンに含まれるすべてのセルについて、値ラスターからセル値を抽出します。値ラスターにおけるゾーン内のセルのこの識別は、ゾーンを値ラスターの上に重ね合わせることによって実行されます。ゾーンおよび入力値が、両方とも同じセル サイズのラスターであり、セル同士が位置揃えされている場合、ゾーンのセルに重なる値ラスターのセル値が抽出され、統計情報が計算されます。

抽出されたセルがハイライト表示されていることを示す、値ラスターの上に重ね合わせられたゾーン ラスター
抽出されたセルがハイライト表示されていることを示す、値ラスターの上に重ね合わせられたゾーン ラスター。

ゾーン ラスターのセル サイズまたは位置揃えのいずれかが、値ラスターと異なっている場合、ゾーン ラスターと値ラスターの間で、セルを互いに完全に重ね合わせることができません。その場合、このツールは、内部で 1 つまたは両方のラスターを調整し、セルの完全な重ね合わせを達成します。この調整は、いくつかの単純なルールに従って実行されます。ゾーン ラスターおよび値ラスターのセル サイズが異なる場合、出力セル サイズは [入力データの最大セルサイズ] の値になり、値ラスターがスナップ対象ラスターとして内部で使用されます。セル サイズは同じだが、セルが位置揃えされていない場合、値ラスターがスナップ対象ラスターとして内部で使用されます。どちらの場合も、ゾーン演算を実行する前に内部でリサンプリングが開始されます。

ジオプロセシング環境設定で、[セル サイズ][スナップ対象ラスター][出力座標系]、またはこれらの組み合わせが指定された場合、これらの設定を遵守して作成された解析ウィンドウで、ゾーン演算が実行されます。詳細については、「Spatial Analyst における解析ウィンドウの決定方法」をご参照ください。

値ラスター内のセルがフィーチャ ゾーンとして識別される方法

ゾーン演算は、基本的に、1 つがゾーン、もう 1 つが値である 2 つのラスターに対して実行されるラスター解析です。ゾーンがフィーチャによって定義される場合、フィーチャからラスターへの内部変換が発生します。ポリゴン ゾーンに対する内部変換は、[ポリゴン → ラスター (Polygon to Raster)] ツールでセルの中心メソッドを使用し、値ラスターのセル サイズおよびスナップ対象ラスターを用いて入力をラスター化します。これは、ラスター化のグリッドのどのセルの中心もフィーチャ ゾーンに含まれない場合、出力においてゾーンが欠落するという予期しない結果を引き起こすことがあります。この結果は、内部のゾーン ラスターのセルの面積より小さいゾーンで発生する可能性があり、さらに大きいゾーンでも発生することがあります。

下の例では、図 (1) が、入力フィーチャ ゾーン、入力値ラスター、およびセルの中心を表しています。入力フィーチャは 3 つのゾーン (黄色い形状) を含んでおり、次のことが当てはまります。

  • zone1 が個々のセルより大きい。
  • zone2 および zone3 が 1 つのセルより小さい。
  • セルの中心が zone2 から外れているが、zone3 に含まれている。

図 (2) のゾーン ラスター化プロセス中に、セルの中心が zone1 および zone2 に含まれていないため、zone3 のみがラスター化され、他の 2 つのゾーンが基本的に非表示になる。

ゾーン統計の計算時のフィーチャ ゾーンの内部変換
ゾーン統計の計算時のフィーチャ ゾーンの内部変換が示されています。

出力でゾーンが非表示になるのを防ぐには、各ゾーンが、値ラスターの 1 つ以上のセルの中心を必ず含むようにします。これを実行する 1 つの方法は、環境内で小さなセル サイズを指定して、作成するセルの中心を増やすことです。デフォルトでは、解析セル サイズは値ラスターのセル サイズになります。解析環境で、値ラスターのセル サイズより小さいセル サイズを指定した場合、上の図 (3) に示されているように、より多くのゾーンを捕捉できるようになります。小さなセル サイズを指定すると、大規模な出力ラスターが生成されることに注意してください。追加の詳細が入力値ラスターに実際に存在しないため、高解像度の出力は、結果が高品質に見えることに必ずしもつながりません。

値ラスターの同じセル サイズおよびセルの位置揃えを使用してフィーチャ ゾーンがラスター ゾーンに変換された後に、ゾーンを値ラスターに重ね合わせることによって、ゾーン内の値ラスターからのセルの抽出が実行されます。

ジオプロセシング環境設定で、[セル サイズ][スナップ対象ラスター][出力座標系]、またはこれらの組み合わせが指定された場合、これらの設定によって定義された解析ウィンドウで、フィーチャからラスターへの内部変換を含むゾーン演算が実行されます。詳細については、「Spatial Analyst における解析ウィンドウの決定方法」をご参照ください。

多次元ラスターを使用したゾーン統計の計算

多次元ラスター データは、複数の回数および複数の深度または高さで、データを表します。このタイプのデータは、一般に、大気科学、海洋学、および地球科学で使用され、プラットフォームを監視することによって観測されるか、衛星によって捕捉されるか、データがさまざまな統計手法を使用して処理、集約、または内挿される数値シミュレーション モデルから生成されます。多次元ラスターの詳細については、「多次元ラスター データの概要」をご参照ください。

[ゾーン統計 (Zonal Statistics)] ツールおよび [ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] ツールは、多次元ゾーン データおよび値ラスター データを入力としてサポートします。[多次元として処理] パラメーターをオンにした場合 (Python では ALL_SLICES パラメーターの process_as_multidimensional)、ゾーン統計は、多次元ラスターのすべてのスライスに対して計算されます。[多次元として処理] パラメーターをオフにした場合 (Python では CURRENT_SLICES)、現在のスライスのみが処理されます。

多次元データに対するゾーン統計解析の例としては、次のようなものが挙げられます。

  • 気象学者は、特定の期間のハリケーンの軌跡に沿って、ハリケーンの移動および降水分布に関する洞察を得る必要があります。気象学者は、[ゾーン統計 (Zonal Statistics)] ツールで多次元処理を使用して、時間と共に変化したハリケーン ゾーンに関して、タイム スライスごとの平均降雨量を知ることができます。
  • 環境保護活動家は、特定の河川流域に関して、過去 30 年間の毎日の最大降雨量データから、極端な出来事の分布を調べる必要があります。パーセンタイル値のリストでのパーセンタイルの統計の種類と共に [ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] ツールを使用して、多次元として処理する場合の時系列データに関して、毎日の最大降雨量データの分布を調べることができます。

サポートされている多次元ラスター データ タイプには、多次元ラスター レイヤー多次元モザイク、イメージ サービス、および Esri の クラウド ラスター形式 (CRF) が含まれます。

ArcGIS Pro で多次元ラスター レイヤーを追加するには、[マップ] タブで [データの追加] > [多次元ラスター レイヤー] オプションを使用します。または、[多次元ラスター レイヤーの作成 (Make Multidimensional Raster Layer)] ツールを使用して、ゾーン演算に適した変数を選択し、多次元ラスター レイヤーを生成します。

多次元データ レイヤーを追加します。
[多次元ラスター レイヤー] オプションを [マップ] タブで選択します。

ゾーン統計の多次元出力

[ゾーン統計 (Zonal Statistics)] ツールが入力を多次元として処理するように指定した場合、ツールは、多次元ラスター出力を CRF 形式で作成します。ゾーン演算は、ゾーン ラスターのスライスと値ラスターの現在の変数のスライスの間で、スライスごとに発生します。計算済みの統計値が多次元変数に格納され、この多次元変数の名前は、値ラスターの変数名と計算されている統計情報を組み合わせて作成されます。出力変数の次元数およびスライス数は、ゾーン ラスター入力および値ラスター入力の特定の性質によって決まります。

プロパティ ウィンドウで、ラスター出力の多次元情報を調べることができます。ArcPy で mdinfo オブジェクトのRaster プロパティを使用して、次元、次元数の値、および変数におけるスライスの総数の詳細を学習することもできます。

[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] で、データを多次元として処理するように指定した場合、すべてゾーンおよびスライスに対して計算された統計情報を含むフラットなテーブル出力が生成されます。このテーブルは、変数名、ディメンション名、およびそれらの値に加えて、ゾーンごとに計算された統計情報を示すための追加フィールドを含みます。

多次元処理が、ゾーン ラスターと値ラスターの間でスライスごとに発生するため、[ゾーン統計 (Zonal Statistics)] ツールからの出力多次元ラスター内のスライスの数、および [ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] ツールからの出力テーブル内のレコードの数は、入力ラスターのタイプおよび入力ラスター内のスライスの数によって決まります。以下のサブセクションで、各例について説明します。

同じ次元を含む多次元ゾーンおよび値ラスター

海洋のさまざまな深さで、対応する深さでのさまざまな温度範囲にわたって最大塩分濃度を知るには、温度ゾーンを表す多次元ゾーンおよび塩分濃度を表す多次元値ラスターを使用してゾーン統計を実行する必要があります。ゾーン演算は、値ラスターからの対応するスライスを使用して、ゾーンのスライスごとに実行されます。出力多次元ラスターは、値ラスターと同じ数のスライスを含みます。

下の図では、ゾーン ラスターと値ラスターの両方における変数が、同じ 3 つの次元 x、y、d、およびディメンション値での同じ数のスライス d0d1d2 を含んでいます。出力多次元ラスターにおける変数も、同じ 3 つの次元 x、y、d、およびディメンション値での同じ数のスライス d0d1d2 を含んでいます。

同じ次元を含む多次元ゾーンおよび値ラスター
同じ次元の多次元のゾーン入力ラスターおよび値入力ラスターが、生成されたゾーン統計ラスターと共に示されています。

[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] 出力内のレコードの総数は、各スライス内のゾーン数を加算することによって決定されます。深さ d0d1、および d2 でのゾーン数がそれぞれ 5、4、および 3 である場合、レコードの総数は 12 (5 + 4 + 3 = 12) になります。

異なる次元を含む多次元ゾーンおよび値ラスター

遠隔操作探査機 (ROV) などのアセットを配置するための適切な位置およびタイム ウィンドウは、異なる時間での ROV の可能性のある位置を表す多次元ゾーン、および異なる深さと時間での海流を表す HYCOM (Hybrid Coordinate Ocean Model) モデルの出力などの多次元値ラスターを使用してゾーン統計を実行することによって、決定できます。

ゾーン演算は、値ラスターからの各スライスを使用して、ゾーン ラスターからのスライスごとに実行されます。出力多次元ラスター内のスライスの数は、ゾーン ラスター内のスライスの数に値ラスター内のスライスの数を掛けることによって決定されます。

下の図では、ゾーン ラスターにおける変数が、3 つの次元 x、y、d、およびディメンション値での 3 つのスライス d0d1d2 を含んでいます。値ラスターにおける変数が、3 つの次元 x、y、t、およびディメンション値での 2 つのスライス t0 および t1 を含んでいます。出力多次元ラスター内の変数も、4 つの次元 x、y、d、t を含みます。

異なる次元を含む多次元ゾーンおよび値ラスター
異なる次元の多次元のゾーン入力ラスターおよび値入力ラスターが、生成されたゾーン統計ラスターと共に示されています。

[ゾーン統計 (Zonal Statistics)] ツールの出力内のスライスの総数は、ゾーン ラスター内の深さの数と値ラスター内の時間ステップの数を乗算することによって決定され、この場合は、6 (3 つの深さ x 2 つの時間 = 6) になります。[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] 出力内のレコードの総数は、各スライス内のゾーン数を乗算することによって決定されます。ゾーン数が 5 である場合、この場合のレコードの総数は 30 (5 つのゾーン x 3 つの深さ x 2 つの時間 =30) になります。

多次元値ラスターのみ

その年の毎日の各郡内の最高気温を知るには、毎日の気温を表す多次元値ラスターおよび郡を表すゾーン ラスターを使用してゾーン統計を実行する必要があります。ゾーン演算は、同じゾーン ラスターを使用して、値ラスターからのスライスごとに実行されます。出力多次元ラスターは、値ラスターと同じ数のスライスを含みます。

下の図では、値ラスターにおける変数が、3 つの次元 x、y、t、およびディメンション値での 3 つのスライス t0t1t2 を含んでいます。出力多次元ラスターにおける変数も、同じ 3 つの次元 x、y、t、およびディメンション値での同じ数のスライス t0t1t2 を含んでいます。

多次元値ラスターの処理
多次元値ラスターの処理が示されています。

[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] 出力内のレコードの総数は、ゾーン数および値ラスター内のスライス数を乗算することによって決定されます。ゾーン数が 5 である場合、レコードの総数は 15 (5 x 3 =15) になります。

多次元値ゾーン ラスターのみ

生態学的景観計画のために、時間と共に変化する各氾濫原ゾーン カテゴリ内の 10 年間の最大降水量の平均を知るには、氾濫原ゾーンを表す多次元ゾーン ラスターおよび 10 年間の最大降水量を表す値ラスターを使用してゾーン統計を実行する必要があります。ゾーン演算は、同じ値ラスターを使用して、ゾーン ラスターからのスライスごとに実行されます。出力多次元ラスターは、ゾーン ラスターと同じ数のスライスを含みます。

下の図では、ゾーン ラスターにおける変数が、3 つの次元 x、y、t、およびディメンション値での 3 つのスライス t0t1t2 を含んでいます。出力多次元ラスターにおける変数も、同じ 3 つの次元 x、y、t、およびディメンション値での同じ数のスライス t0t1t2 を含んでいます。

多次元ゾーン ラスターの処理
多次元ゾーン ラスターの処理が示されています。

[ゾーン統計をテーブルに出力 (Zonal Statistics as Table)] 出力内のレコードの総数は、ゾーン数およびゾーン ラスター内のスライス数を乗算することによって決定されます。ゾーン数が 5 である場合、レコードの総数は 15 (5 x 3 =15) になります。

統計情報

ゾーン統計を計算するために使用可能な統計情報の種類を、詳細および入力例に対する各オプションの結果を示す図と共に、以下に示します。

大多数

  • 各ゾーン内の最も頻出する値が、そのゾーン内のすべてのセルに割り当てられます。
  • 最頻値が複数ある場合は、最小値が採用され、その値がゾーン内のすべてのセルに割り当てられます。

例:

ゾーン統計 (Zonal Statistics) の最頻値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Majority")

最大値

  • 各ゾーン内の最大値が、そのゾーン内のすべてのセルに割り当てられます。

例:

ゾーン統計 (Zonal Statistics) の最大値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Maximum")

平均値

  • 各ゾーン内の値の平均値が、そのゾーン内のすべての出力セルに割り当てられます。

例:

ゾーン統計 (Zonal Statistics) の平均値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Mean")

中央値

  • 各ゾーン内の値の中央値が、そのゾーン内のすべての出力セルに割り当てられます。
  • この統計情報の種類の値は、Hyndman および Fan (1996 年) [1] の手法 Q1 を使用して計算されます。2 つの格納された値がターゲットの中央値に等しく近い場合、2 つの値のうちの小さい方が選択されます。
  • 中央値を計算するため、ゾーン内のすべてのセルがランク付けされます。ゾーン内に n 個のセルがあり、n が奇数の場合、ゾーン内の各セルに中央 ((n+1)/2 番目) の値が書き込まれます。偶数のセルがある場合は、(n/2) 番目の値が出力されます。

例:

ゾーン統計 (Zonal Statistics) の中央値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Median")

最小値

  • 各ゾーン内の最小値が、そのゾーン内のすべてのセルに割り当てられます。

例:

ゾーン統計 (Zonal Statistics) の最小値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Minimum")

最少頻値

  • 各ゾーン内の最も頻出しない値が、そのゾーン内のすべてのセルに割り当てられます。
  • 最少頻値が複数ある場合は、小さい方の値が採用され、その値でゾーンが埋め尽くされます。

例:

ゾーン統計 (Zonal Statistics) の最少頻値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Minority")

パーセンタイル

  • 各ゾーン内の値のパーセンタイルが、そのゾーン内のすべての出力セルに割り当てられます。
  • この統計情報の種類の値は、Hyndman および Fan (1996 年) [1] の手法 Q1 を使用して計算されます。2 つの格納された値がターゲットの中央値に等しく近い場合、2 つの値のうちの小さい方が選択されます。
  • パーセンタイルを計算するために、式 R = P/100 x (n - 1) +1 を使用して値ラスター内のすべてのセルがランク付けされます。P は目的のパーセンタイル、n はセルの数です。

例:

ゾーン統計 (Zonal Statistics) のパーセンタイルの図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Percentile")

範囲

  • 各ゾーン内の最大値と最小値の差が、そのゾーン内のすべてのセルに割り当てられます。
  • 範囲は次のように定義されます。
    Zonal Range = Zonal Maximum – Zonal Minimum

例:

ゾーン統計 (Zonal Statistics) の範囲の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Range")

標準偏差

  • 各ゾーン内の値の標準偏差が、そのゾーン内のすべてのセルに割り当てられます。
  • 標準偏差の式は次のとおりです。

    標準偏差の式

    メモ:

    標準偏差は、サンプルから推定される (N - 1 法) のではなく、母集団全体で計算されます (N 法)。つまり、標準偏差の計算は、Microsoft Excel の STDEV ではなく、STDEVP の方法と同じです。

例:

ゾーン統計 (Zonal Statistics) の標準偏差の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "STD")

合計値

  • 各ゾーン内のすべてのセル値の合計が、そのゾーン内のすべてのセルに割り当てられます。
  • 出力ラスターのデータ タイプは、浮動小数点です。これは、合計の値は非常に大きくなる傾向があり、整数値で表すことができない場合があるためです。

    たとえば、1 つのゾーンに 2,500 個のロウと 2,500 個のカラムのセルがあり、各セルの値が 1,000 である場合、 そのゾーンの合計値は、2,500 x 2,500 x 1,000 = 62.5 億になります。整数値の出力が必要で、その範囲が ± 21.47 億以内の場合は、[Int] ツールを適用することができます。

例:

ゾーン統計 (Zonal Statistics) の合計値の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Sum")

種類

  • 各ゾーン内の個別値の数が、そのゾーン内のすべてのセルに割り当てられます。

例:

ゾーン統計 (Zonal Statistics) の種類の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Variety")

出力データ タイプ

出力データ タイプ (整数または浮動小数) は、実行するゾーン計算と入力値ラスターのタイプの両方によって決定されます。次の表は、出力可能なラスターのデータ タイプを示しています。

統計値の入力タイプ出力

大多数

整数*

整数

最大値

整数、浮動小数点数

値の入力と同じ

平均値

整数、浮動小数点数

浮動小数点数

中央値

整数、浮動小数点数

整数

最小値

整数、浮動小数点数

値の入力と同じ

最少頻値

整数*

整数

パーセンタイル

整数、浮動小数点数

整数

範囲

整数、浮動小数点数

値の入力と同じ

標準偏差

整数、浮動小数点数

浮動小数点数

合計値

整数、浮動小数点数

浮動小数点数

種類

整数*

整数

統計情報別の入力タイプと出力タイプ
* 整数のみがサポートされています。

ゾーン データセット内のいずれかのセル位置が NoData である場合、出力では、その位置に NoData が割り当てられます。

参照先

[1] Rob J. Hyndman and Yanan Fan (1996) "Sample Quantiles in Statistical Packages" The American Statistician, Vol. 50, No. 4, (July), pages 361-365.

関連トピック