Spatial Analyst のライセンスで利用可能。
Image Analyst ライセンスで利用できます。
図
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がラスターの場合、整数ラスターになるはずです。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がフィーチャである場合、そのフィーチャは、[入力値ラスター] (Python では in_value_raster) のセル サイズとセル配置を使用して、内部でラスターに変換されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) と [入力値ラスター] (Python では in_value_raster) のセル サイズが異なる場合、出力セル サイズは [入力データの最大セル サイズ] となり、[入力値ラスター] は内部でスナップ対象ラスターとして使用されます。セル サイズは同じだが、セルが位置揃えされていない場合、[入力値ラスター] は内部でスナップ対象ラスターとして使用されます。これらのいずれの場合も、ゾーン演算が実行される前に内部リサンプリングが開始されます。
ゾーンと値の両方の入力が同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの実行時に内部でリサンプリングされません。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。その結果、これらのゾーンは出力に表示されません。これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持する [セル サイズ] 環境の適切な値を決定し、解析環境で指定します。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がポイント フィーチャである場合、値入力ラスターの特定のセルが複数のポイントを含むことが可能です。そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (たとえば OID や FID)。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) に重なり合うフィーチャがある場合は、フィーチャごとにゾーン解析が実行されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
[入力値ラスター] (Python では in_value_raster) には、整数または浮動小数点のいずれかを使用できます。ただし、浮動小数点タイプの場合、最頻値、最少頻値、種類を計算するためのオプションは使用できません。
最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、ゾーンには同一頻度の値の中で最も小さい値が出力されます。詳細については、「ゾーン統計 (Zonal Statistics) ツールの仕組み」をご参照ください。
[統計情報の種類] パラメーターの設定に応じて、フィールドまたは一連のフィールドが出力テーブルに作成されます。入力値が整数の場合、すべての統計 (平均値、最頻値、最大値、中央値、最小値、最小頻値、パーセンタイル、範囲、標準偏差、合計値、種類) が計算に使用できます。入力された値が浮動小数の場合、最頻値、最少頻値、および種類の統計情報は計算できません。
サポートされている多次元ラスター データセット タイプには、多次元ラスター レイヤー、モザイク、イメージ サービスおよび Esri の CRF が含まれます。
出力テーブルに含まれるアイテムの各値のデータ タイプは、実行されるゾーン計算によって変わります。統計の固有の動作については、「[ゾーン統計 (Zonal Statistics)] ツールの詳細」をご参照ください。
出力テーブルの行数は、ゾーンの数です。
デフォルトでは、このツールは複数コアのプロセッサを利用します。使用できるコアの最大数は 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})
パラメーター | 説明 | データ タイプ |
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 (オプション) | 計算される入力ラスターの値の数が偶数である場合に使用されるパーセンタイル内挿の方法を指定します。
| String |
コードのサンプル
次の例では、ポリゴン シェープファイルに定義されたゾーン内のラスターの値を集計し、結果をテーブルに記録しています。
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")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst または Image Analyst
- Standard: 次のものが必要 Spatial Analyst または Image Analyst
- Advanced: 次のものが必要 Spatial Analyst または Image Analyst