ゾーン統計をテーブルに出力 (Zonal Statistics As Table) (Spatial Analyst)

サマリー

別のデータセット上のゾーンごとにラスターの値を集計し、結果をテーブルとして出力します。

ゾーン統計の詳細

[ゾーン統計をテーブルに出力 (Zonal Statistics As Table)] の図
ZonalStatisticsAsTable(ZoneRas, "Value", ValRas, OutTable, "DATA", "MIN_MAX_MEAN")

使用法

  • ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。 エリアは連続していなくてもかまいません。 ラスターとフィーチャのいずれも入力ゾーンとして使用できます。

  • [入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) の値がラスターの場合、整数ラスターである必要があります。

  • [入力ラスター、またはフィーチャ ゾーン データ] がフィーチャである場合、そのフィーチャは、[入力値ラスター] (Python では in_value_raster) パラメーターのセル サイズとセル配置を使用して、内部でラスターに変換されます。

  • [入力ラスター、またはフィーチャ ゾーン データ][入力値ラスター]セル サイズが異なる場合、出力セル サイズは [入力データの最大セル サイズ] となり、[入力値ラスター] は内部でスナップ対象ラスターとして使用されます。 セル サイズは同じだが、セル同士が位置揃えされていない場合、[入力値ラスター] が内部でスナップ対象ラスターとして使用されます。 これらのいずれの場合も、ゾーン演算が実行される前に内部リサンプリングが開始されます。

    ゾーンと値の両方の入力が同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの処理時に内部でリサンプリングされません。

  • [入力ラスター、またはフィーチャ ゾーン データ] がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。 その結果、これらのゾーンは出力に表示されません。 これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持する [セル サイズ] 環境の適切な値を決定し、解析環境で指定します。

  • [入力ラスター、またはフィーチャ ゾーン データ] の値がポイント フィーチャである場合、値入力ラスターの特定のセルが複数のポイントを含むことが可能です。 そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (たとえば OIDFID)。

  • [入力ラスター、またはフィーチャ ゾーン データ] に重なり合うフィーチャがある場合は、フィーチャごとにゾーン解析が実行されます。

  • [入力ラスター、またはフィーチャ ゾーン データ] の値を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。 他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば OID または FID) がデフォルトになります。

  • [入力値ラスター] の値のデータ型、および [円周統計の計算] パラメーターで指定した統計計算タイプによって、サポートされる統計タイプが異なります。

    データ タイプが整数の場合、算術統計計算では、[平均][最頻値][最頻値の数][最頻値の割合][最大][中央値][最小][最少頻値][最少頻値の数][最少頻値の割合][パーセンタイル][範囲][標準偏差][合計][種類] の各オプションがサポートされます。 円周統計の計算では、[平均][最頻値][最少頻値][標準偏差][種類] の各オプションがサポートされます。

    データ タイプが浮動小数点の場合、算術統計計算では、[平均][最大][中央値][最小][パーセンタイル][範囲][標準偏差][合計] の各オプションがサポートされます。 円周統計の計算では、[平均][標準偏差] オプションがサポートされます。

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

  • 円周統計を計算するには、[円周統計の計算] パラメーター (Python では circular_calculation = "CIRCULAR") をオンにし、[円形折り返し値] (Python では circular_wrap_value) パラメーターの値を指定します。

  • サポートされている多次元ラスター データセット タイプには、多次元ラスター レイヤー、モザイク、イメージ サービスおよび Esri CRF が含まれます。

  • [統計の種類] パラメーター (Python では statisticType) の設定に応じて、1 つのフィールドまたは一連のフィールドが出力テーブルに作成されます。

    算術統計の計算の場合、このフィールドの名前は [統計の種類] と同じになります。 これがデフォルトです。

    一方、円周統計の場合は、このフィールドの名前の先頭に C_ が付加され、指定の統計情報がその後に続きます。 たとえば、このフィールドの名前は、中央値の算術統計では Median になり、中央値の円周統計では C_Median になります。

  • 出力テーブルに含まれるアイテムの各値のデータ タイプは、実行されるゾーン計算によって変わります。 統計の固有の動作については、「ゾーン統計ツールの詳細」をご参照ください。

  • 出力テーブルの行数は、ゾーンの数です。

  • デフォルトでは、このツールはマルチコア プロセッサを使用します (使用可能な場合)。 使用できるコアの最大数は 4 です。

    もっと少ないコアを使用するには、並列処理ファクター環境設定を使用します。

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

パラメーター

ラベル説明データ タイプ
入力ラスター、またはフィーチャ ゾーン データ

ゾーンを定義するデータセット。

ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。

Raster Layer; Feature Layer
ゾーン フィールド

各ゾーンを定義する値を格納するフィールド。

ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。

Field
入力値ラスター

統計の計算対象の値を含むラスター。

Raster Layer
出力テーブル

各ゾーンの値のサマリーを含む出力テーブル。

テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。

Table
計算時に NoData を除外
(オプション)

入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。

  • オン - どのゾーン内でも、入力値ラスターで値を持つセルだけがゾーンの出力値の決定に使用されます。 値ラスターの NoData セルは、統計情報の計算時に無視されます。 これがデフォルトです。
  • オフ - 特定のゾーン内で、値ラスターに NoData セルがある場合、それらのセルは無視されます。それらのセルの存在は、そのゾーンのすべてのセルについて統計情報の計算を実行するための情報が不十分であることを示します。 したがって、ゾーン全体が、出力ラスターで NoData 値を受け取ります。
Boolean
統計の種類
(オプション)

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

  • すべてすべての統計が計算されます。 これがデフォルトです。
  • 平均出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの平均値が計算されます。
  • 最頻値出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も多く存在する値が計算されます。
  • 最頻値の数出力セルと同じゾーンに属する値ラスター内にある、最頻値を含むすべてのセルの頻度が計算されます。
  • 最頻値の割合出力セルと同じゾーンに属する値ラスター内にある、最頻値を含むすべてのセルの割合が計算されます。
  • 最大出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値が計算されます。
  • 中央値出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの中央値が計算されます。
  • 最小出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最小値が計算されます。
  • 最少頻値出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も少なく存在する値が計算されます。
  • 最少頻値の数出力セルと同じゾーンに属する値ラスター内にある、最少頻値を含むすべてのセルの頻度が計算されます。
  • 最少頻値の割合出力セルと同じゾーンに属する値ラスター内にある、最少頻値を含むすべてのセルの割合が計算されます。
  • パーセンタイル出力セルと同じゾーンに属する値ラスター内にある、すべてのセルのパーセンタイルが計算されます。 デフォルトで 90 番目のパーセンタイルが計算されます。 [パーセンタイル値] パラメーターを使用して、他の値 (0 ~ 100) を指定できます。
  • 範囲出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値と最小値の差が計算されます。
  • 標準偏差出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの標準偏差が計算されます。
  • 合計出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの合計値が計算されます。
  • 種類出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの個別値の数が計算されます。
  • 最小と最大最小値と最大値の統計情報が計算されます。
  • 平均および標準偏差平均値と標準偏差の統計情報が計算されます。
  • 最小、最大、および平均最小値、最大値および平均値の統計情報が計算されます。
  • 最頻値、数、割合最頻値、数、割合の統計が計算されます。
  • 最少頻値、数、割合最少頻値、数、割合の統計が計算されます。
String
多次元として処理
(オプション)

多次元の場合の入力ラスターの計算方法を指定します。

  • オフ - 入力多次元データセットの現在のスライスから統計が算出されます。 これがデフォルトです。
  • オン - 入力多次元データセットのすべての次元に関する統計が算出されます。
Boolean
パーセンタイル値
(オプション)

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

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

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

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

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

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

円形データの入力ラスターの処理方法を指定します。

  • オフ - 通常のリニア統計が計算されます。 これがデフォルトです。
  • オン - 角度またはその他の周期的変化量 (度単位のコンパス方向、日中時間、実数の小数部など) の統計が計算されます。
Boolean
円形折り返し値
(オプション)

特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。

このパラメーターは、[円周統計の計算] パラメーターがオンになっている場合にのみサポートされます。

Double
出力結合レイヤー
(オプション)

出力テーブルを入力ゾーン データに結合することで作成される出力レイヤー。

Raster Layer; Feature Layer

ZonalStatisticsAsTable(in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type}, {process_as_multidimensional}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {out_join_layer})
名前説明データ タイプ
in_zone_data

ゾーンを定義するデータセット。

ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。

Raster Layer; Feature Layer
zone_field

各ゾーンを定義する値を格納するフィールド。

ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。

Field
in_value_raster

統計の計算対象の値を含むラスター。

Raster Layer
out_table

各ゾーンの値のサマリーを含む出力テーブル。

テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。

Table
ignore_nodata
(オプション)

入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。

  • DATAどのゾーン内でも、入力値ラスターで値を持つセルだけがゾーンの出力値の決定に使用されます。 値ラスターの NoData セルは、統計情報の計算時に無視されます。 これがデフォルトです。
  • NODATA特定のゾーン内で、値ラスターに NoData セルがある場合、それらのセルは無視されます。それらのセルの存在は、そのゾーンのすべてのセルについて統計情報の計算を実行するための情報が不十分であることを示します。 したがって、ゾーン全体が、出力ラスターで NoData 値を受け取ります。
Boolean
statistics_type
(オプション)

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

  • ALLすべての統計が計算されます。 これがデフォルトです。
  • MEAN出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの平均値が計算されます。
  • MAJORITY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も多く存在する値が計算されます。
  • MAJORITY_COUNT出力セルと同じゾーンに属する値ラスター内にある、最頻値を含むすべてのセルの頻度が計算されます。
  • MAJORITY_PERCENT出力セルと同じゾーンに属する値ラスター内にある、最頻値を含むすべてのセルの割合が計算されます。
  • MAXIMUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値が計算されます。
  • MEDIAN出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの中央値が計算されます。
  • MINIMUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最小値が計算されます。
  • MINORITY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も少なく存在する値が計算されます。
  • MINORITY_COUNT出力セルと同じゾーンに属する値ラスター内にある、最少頻値を含むすべてのセルの頻度が計算されます。
  • MAJORITY_PERCENT出力セルと同じゾーンに属する値ラスター内にある、最少頻値を含むすべてのセルの割合が計算されます。
  • PERCENTILE出力セルと同じゾーンに属する値ラスター内にある、すべてのセルのパーセンタイルが計算されます。 デフォルトで 90 番目のパーセンタイルが計算されます。 percentile_values パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • RANGE出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値と最小値の差が計算されます。
  • STD出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの標準偏差が計算されます。
  • SUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの合計値が計算されます。
  • VARIETY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの個別値の数が計算されます。
  • MIN_MAX最小値と最大値の統計情報が計算されます。
  • MEAN_STD平均値と標準偏差の統計情報が計算されます。
  • MIN_MAX_MEAN最小値、最大値および平均値の統計情報が計算されます。
  • MAJORITY_VALUE_COUNT_PERCENT最頻値、数、割合の統計が計算されます。
  • MINORITY_VALUE_COUNT_PERCENT最少頻値、数、割合の統計が計算されます。
String
process_as_multidimensional
(オプション)

多次元の場合の入力ラスターの計算方法を指定します。

  • CURRENT_SLICE入力多次元データセットの現在のスライスから統計が算出されます。 これがデフォルトです。
  • ALL_SLICES入力多次元データセットのすべての次元に関する統計が算出されます。
Boolean
percentile_values
[percentile_values,...]
(オプション)

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

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

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

Double
percentile_interpolation_type
(オプション)

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

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

円形データの入力ラスターの処理方法を指定します。

  • ARITHMETIC通常のリニア統計が計算されます。 これがデフォルトです。
  • CIRCULAR角度またはその他の周期的変化量 (度単位のコンパス方向、日中時間、実数の小数部など) の統計が計算されます。
Boolean
circular_wrap_value
(オプション)

特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。

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

Double
out_join_layer
(オプション)

出力テーブルを入力ゾーン データに結合することで作成される出力レイヤー。

Raster Layer; Feature Layer

コードのサンプル

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

次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
                                  "zonalstattblout", "NODATA", "SUM")
ZonalStatisticsAsTable の例 2 (スタンドアロン スクリプト)

次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。

# Name: ZonalStatisticsAsTable_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones 
#              of another dataset and reports the results to a table.
# 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
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf"
outTable = "zonalstattblout02.dbf"

# Execute ZonalStatisticsAsTable
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster, 
                                 outTable, "NODATA", "MAXIMUM", "ALL_SLICES")

関連トピック