ラベル | 説明 | データ タイプ |
入力ラスター、またはフィーチャ ゾーン データ | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
ゾーン フィールド | 各ゾーンを定義する値を格納するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | Field |
入力値ラスター | 統計の計算対象の値を含むラスター。 | Raster Layer |
出力テーブル | 各ゾーンの値のサマリーを含む出力テーブル。 テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペース内であればジオデータベース テーブル、ファイル ワークスペース内であれば dBASE テーブルになります。 | Table |
計算時に NoData を除外 (オプション) | 入力値内の NoData 値が、属するゾーンの結果で無視されるかどうかを指定します。
| Boolean |
統計の種類 (オプション) | 計算する統計情報の種類を指定します。
| String |
多次元として処理 (オプション) | 多次元の場合の入力ラスターの計算方法を指定します。
| Boolean |
パーセンタイル値 (オプション) | 計算対象のパーセンタイル。 デフォルトは 90 で、90 番目のパーセンタイルを示します。 値の範囲は 0 ~ 100 です。 0 番目のパーセンタイルは、基本的に最小の統計と同じであり、100 番目のパーセンタイルは最大と同じです。 値が 50 の場合、基本的に中央値の統計と同じ結果になります。 このパラメーターは、[統計の種類] パラメーターが [パーセンタイル] か [すべて] に設定されている場合にのみ使用できます。 | Double |
パーセンタイル内挿タイプ (オプション) | パーセンタイル値が入力値ラスターの 2 つのセル値の間にある場合に使用される内挿方法を指定します。
| String |
円周統計の計算 (オプション) | 入力値ラスターを、円形データに対してどのように処理するかを指定します。
| Boolean |
円形折り返し値 (オプション) | リニアの値を指定された円周統計の範囲に丸めるために使用する値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。 このパラメーターは、[円周統計の計算] パラメーターがオンになっているときのみサポートされます。 | Double |
出力結合レイヤー (オプション) | 出力テーブルを入力ゾーン データに結合することで作成される出力レイヤー。 | Raster Layer; Feature Layer |
図
![[ゾーン統計をテーブルに出力 (Zonal Statistics As Table)] の図 [ゾーン統計をテーブルに出力 (Zonal Statistics As Table)] の図](GUID-23B9EFA7-D34B-481F-8904-A23F7FA0821C-web.png)
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。 エリアは連続していなくてもかまいません。 ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) 値がラスターである場合、そのラスターは整数ラスターでなければなりません。
[入力ラスター、またはフィーチャ ゾーン データ] がフィーチャである場合、そのフィーチャは、[入力値ラスター] (Python では in_value_raster) パラメーターのセル サイズとセル配置を使用して、内部でラスターに変換されます。
[入力ラスター、またはフィーチャ ゾーン データ] および [入力値ラスター] パラメーター値のセル サイズまたはセル配置が異なる場合、[入力値ラスター] 値は、内部でセル サイズおよびスナップ対象ラスターとして使用されます。 どちらの場合も、ゾーン演算を実行する前に内部でリサンプリングが開始されます。
ゾーンと値の両方の入力が同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの処理時に内部でリサンプリングされません。
[入力ラスター、またはフィーチャ ゾーン データ] がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。 その結果、これらのゾーンは出力に表示されません。 これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持するセル サイズ環境の適切な値を決定し、解析環境で指定します。
[入力ラスター、またはフィーチャ ゾーン データ] 値がポイント フィーチャである場合、値入力ラスターの特定のセルに複数のポイントが含まれる可能性があります。 そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (たとえば OID や FID)。
[入力ラスター、またはフィーチャ ゾーン データ] に重なり合うフィーチャがある場合は、フィーチャごとにゾーン解析が実行されます。
[入力ラスター、またはフィーチャ ゾーン データ] 値を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。 他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば OID や FID) がデフォルトになります。
サポートされる統計タイプは、[入力値ラスター] 値のデータ タイプと、[円周統計の計算] パラメーターで指定されている統計の計算タイプによって異なります。
データ タイプが整数の場合、算術統計計算では、[平均]、[最頻値]、[最頻値の数]、[最頻値の割合]、[最大]、[中央値]、[最小]、[最少頻値]、[最少頻値の数]、[最少頻値の割合]、[パーセンタイル]、[範囲]、[標準偏差]、[合計]、[種類] の各オプションがサポートされます。 円周統計の計算では、[平均]、[最頻値]、[最少頻値]、[標準偏差]、[種類] の各オプションがサポートされます。
データ タイプが浮動小数点の場合、算術統計計算では、[平均]、[最大]、[中央値]、[最小]、[パーセンタイル]、[範囲]、[標準偏差]、[合計] の各オプションがサポートされます。 円周統計の計算では、[平均] と [標準偏差] オプションがサポートされます。
最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、同一頻度の値の中で最も小さい値が出力されます。
円周統計を計算するには、[円周統計の計算] パラメーター (Python では circular_calculation = "CIRCULAR") をオンにし、[円形折り返し値] パラメーター (Python では circular_wrap_value) に値を指定します。
サポートされている多次元ラスター データセット タイプには、多次元ラスター レイヤー、モザイク、イメージ サービス、Esri CRF が含まれます。
[統計の種類] パラメーター (Python では statisticType) の設定に応じて、1 つのフィールドまたは一連のフィールドが出力テーブルに作成されます。
算術統計の計算の場合、このフィールドの名前は [統計の種類] と同じになります。 これがデフォルトです。
一方、円周統計の場合は、このフィールドの名前の先頭に C_ が付加され、指定の統計情報がその後に続きます。 たとえば、このフィールドの名前は、中央値の算術統計では Median になり、中央値の円周統計では C_Median になります。
出力テーブルに含まれるアイテムの各値のデータ タイプは、実行されるゾーン計算によって変わります。 統計の固有の動作については、「ゾーン統計ツールの詳細」をご参照ください。
出力テーブルの行数は、ゾーンの数です。
デフォルトでは、このツールはマルチコア プロセッサを使用します (使用可能な場合)。 使用できるコアの最大数は 4 です。
ツールが使用するコア数を減らすには、並列処理ファクター環境設定を使用します。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
パラメーター
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 値が、属するゾーンの結果で無視されるかどうかを指定します。
| Boolean |
statistics_type (オプション) | 計算する統計情報の種類を指定します。
| String |
process_as_multidimensional (オプション) | 多次元の場合の入力ラスターの計算方法を指定します。
| Boolean |
percentile_values [percentile_values,...] (オプション) | 計算対象のパーセンタイル。 デフォルトは 90 で、90 番目のパーセンタイルを示します。 値の範囲は 0 ~ 100 です。 0 番目のパーセンタイルは、基本的に最小の統計と同じであり、100 番目のパーセンタイルは最大と同じです。 値が 50 の場合、基本的に中央値の統計と同じ結果になります。 このパラメーターは、statistics_type パラメーターが PERCENTILE または ALL に設定されているときのみサポートされます。 | Double |
percentile_interpolation_type (オプション) | パーセンタイル値が入力値ラスターの 2 つのセル値の間にある場合に使用される内挿方法を指定します。
| String |
circular_calculation (オプション) | 入力値ラスターを、円形データに対してどのように処理するかを指定します。
| Boolean |
circular_wrap_value (オプション) | リニアの値を指定された円周統計の範囲に丸めるために使用する値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。 このパラメーターは、circular_calculation パラメーターが CIRCULAR に設定されているときのみサポートされます。 | Double |
out_join_layer (オプション) | 出力テーブルを入力ゾーン データに結合することで作成される出力レイヤー。 | Raster Layer; Feature Layer |
コードのサンプル
次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
"zonalstattblout", "NODATA", "SUM")
次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。
# 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")
次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。
import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
"zonalstattblout", "NODATA", "SUM")
次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。
# 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: Image Analyst Extension
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# 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")