ゾーン統計 (Zonal Statistics) (Image Analyst)

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

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

概要

別のデータセットのゾーン内にあるラスターの値の統計情報を計算します。

[ゾーン統計 (Zonal Statistics)] ツールの詳細

ゾーン統計 (Zonal Statistics) の図
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM", "DATA", "CURRENT_SLICE")

使用法

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

  • [入力ラスター、またはフィーチャ ゾーン データ] (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 フィールドを持つポイントによって決まります (たとえば OIDFID)。

  • [入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) が重なり合うポリゴンを持つ場合、個別のポリゴンに対してゾーン解析は実行されません。フィーチャ入力はラスターに変換されるため、各位置は 1 つの値しか持てません。

    別の方法として考えられるのは、それぞれのポリゴン ゾーンについてゾーン操作を反復処理して、その結果を適用することです。

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

  • [入力値ラスター] (Python では in_value_raster) には、整数または浮動小数点のいずれかを使用できます。ただし、浮動小数点タイプの場合、最頻値、最少頻値、種類を計算するためのオプションは使用できません。

  • 最頻値と最少頻値の計算では、同一頻度の値が複数ある場合、ゾーンには同一頻度の値の中で最も小さい値が出力されます。詳細については、「ゾーン統計 (Zonal Statistics) ツールの仕組み」をご参照ください。

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

  • 出力のデータ タイプ (整数または浮動小数) は、実行するゾーン計算と入力値ラスターのタイプによって変わります。

  • デフォルトでは、このツールは複数コアのプロセッサを利用します。使用できるコアの最大数は 4 です。

    ツールが使用するコア数を減らすには、並列処理ファクター環境設定を使用します。

構文

ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value}, {percentile_interpolation_type})
パラメーター説明データ タイプ
in_zone_data

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

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

Raster Layer; Feature Layer
zone_field

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

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

Field
in_value_raster

統計情報を計算するための値を含むラスター。

Raster Layer
statistics_type
(オプション)

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

  • MEAN出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの平均値が計算されます。
  • MAJORITY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も多く存在する値が計算されます。
  • MAXIMUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値が計算されます。
  • MEDIAN出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの中央値が計算されます。
  • MINIMUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最小値が計算されます。
  • MINORITY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルにおいて最も少なく存在する値が計算されます。
  • PERCENTILE出力セルと同じゾーンに属する値ラスター内にある、すべてのセルのパーセンタイルが計算されます。デフォルトで 90 番目のパーセンタイルが計算されます。[パーセンタイル値] パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • RANGE出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの最大値と最小値の差が計算されます。
  • STD出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの標準偏差が計算されます。
  • SUM出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの合計値が計算されます。
  • VARIETY出力セルと同じゾーンに属する値ラスター内にある、すべてのセルの個別値の数が計算されます。
String
ignore_nodata
(オプション)

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

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

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

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

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

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

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

Double
percentile_interpolation_type
(オプション)

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

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

戻り値

名前説明データ タイプ
out_raster

出力ゾーン統計情報ラスター。

Raster

コードのサンプル

ZonalStatistics (ゾーン統計) の例 1 (Python ウィンドウ)

次の例では、値の入力ラスターのセル値の範囲をゾーンごとに求めています。

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C://data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/output/zonestatout")
ZonalStatistics (ゾーン統計) の例 2 (スタンドアロン スクリプト)

この例では、各ゾーンの入力多次元値ラスターから最大値を計算することで、多次元ゾーン出力を作成します。

# Name: ZonalStatistics_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones 
#              of another dataset.
# 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"

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "MAXIMUM", "NODATA", "ALL_SLICES")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2.crf")

ライセンス情報

  • Basic: 次のものが必要 Image Analyst または Spatial Analyst
  • Standard: 次のものが必要 Image Analyst または Spatial Analyst
  • Advanced: 次のものが必要 Image Analyst または Spatial Analyst

関連トピック