Spatial Analyst のライセンスで利用可能。
概要
別のデータセットのゾーン内にあるラスターの値の統計情報を計算します。
図
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) と [入力値ラスター] (Python では in_value_raster) のセル サイズが異なる場合、出力セル サイズは [入力データの最大セル サイズ] となり、[入力値ラスター] は内部でスナップ対象ラスターとして使用されます。セル サイズは同じだが、セル同士が位置揃えされていない場合、[入力値ラスター] が内部でスナップ対象ラスターとして使用されます。これらのいずれの場合も、ゾーン演算が実行される前に内部リサンプリングが開始されます。
ゾーンと値の入力が同じセル サイズのラスターであり、セルの位置が揃っている場合、セルはツールで直接使用され、ツール実行中に内部リサンプリングされません。
[入力ラスター、またはフィーチャ ゾーン データ](Python では in_zone_data) がラスターの場合、整数ラスターになるはずです。
[入力ラスター、またはフィーチャ ゾーン データ](Python では in_zone_data) がフィーチャの場合、[入力値ラスター](Python では in_value_raster) のセル サイズとセルの位置合わせを使用して、内部的にラスターに変換されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。その結果、これらのゾーンは出力に表示されません。これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持する [セル サイズ] 環境の適切な値を決定し、解析環境で指定します。
[入力ラスター、またはフィーチャ ゾーン データ](Python では in_zone_data) がポイント フィーチャである場合、値入力ラスターの特定のセルが複数のポイントを含むことができます。そのようなセルの場合、ゾーンの値は最小の ObjectID フィールドを持つポイントによって決まります (例: OID、FID)。
[入力ラスター、またはフィーチャ ゾーン データ](Python では in_zone_data) が重なり合うポリゴンを持つ場合、個別のポリゴンに対してゾーン解析は実行されません。フィーチャ入力はラスターに変換されるため、各位置は 1 つの値しか持てません。
別の方法として考えられるのは、それぞれのポリゴン ゾーンについてゾーン操作を反復処理して、その結果を適用することです。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
[入力値ラスター] (Python では in_value_raster) には、整数または浮動小数点のいずれかを使用できます。ただし、浮動小数点タイプの場合、最頻値、中央値、最少頻値、種類の計算オプションは使用できません。
最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、ゾーンには同一頻度の値の中で最も小さい値が出力されます。詳細については、「ゾーン統計 (Zonal Statistics) の詳細」をご参照ください。
出力のデータ タイプ (整数または浮動小数点) は、実行するゾーン統計と入力値ラスターのタイプによって変わります。詳細については、「ゾーン統計 (Zonal Statistics) の詳細」をご参照ください。
デフォルトでは、このツールはマルチコア プロセッサを利用します。使用できるコアの最大数は 4 です。
ツールが使用するコア数を減らしたい場合、並列処理ファクター環境設定を使用します。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata})
パラメーター | 説明 | データ タイプ |
in_zone_data | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
zone_field | 各ゾーンを定義する値を保持するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | Field |
in_value_raster | 統計情報を計算する値を含むラスター。 | Raster Layer |
statistics_type (オプション) | 計算する統計情報の種類。
| String |
ignore_nodata (オプション) | 入力値内の NoData 値が、属するゾーンの結果に影響をおよぼすかどうかを指定します。
| Boolean |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 出力ゾーン統計情報ラスター。 | Raster |
コードのサンプル
ZonalStatistics (ゾーン統計) の例 1 (Python ウィンドウ)
次の例では、値の入力ラスターのセル値の範囲をゾーンごとに求めています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
"NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
ZonalStatistics (ゾーン統計) の例 2 (スタンドアロン スクリプト)
次の例では、値の入力ラスターのセル値の範囲をゾーンごとに求めています。
# Name: ZonalStatistics_Ex_02.py
# Description: Calculates statistics on values of a raster
# within the zones of another dataset.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zone"
zoneField = "value"
inValueRaster = "valueraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
"RANGE", "NODATA")
# Save the output
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst