ゾーン統計をテーブルに出力 (Zonal Statistics As Table) (ラスター解析)

サマリー

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

ゾーン統計をテーブルに出力 ツールの図

使用法

  • このラスター解析ポータル ツールは、ラスター解析 用に構成された ArcGIS Image Server を備えた ArcGIS Enterprise にサインインすると使用できます。 このツールを実行すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。 ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。

    入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールからの出力に対応しています。 入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。 このツールは、ローカルのラスター データまたはレイヤーをサポートしません。 このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。

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

  • [入力ゾーン ラスターまたはフィーチャ] (Python では inputZoneRasterOrFeatures) がラスターの場合、整数ラスターになるはずです。

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

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

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

  • [入力ゾーン ラスターまたはフィーチャ] がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。 その結果、これらのゾーンは出力に表示されません。 これを管理するには、フィーチャ ゾーンの必要な詳細レベルを保持する [セル サイズ] 環境の適切な値を決定し、解析環境で指定します。 小さなセル サイズを指定すると、大規模な出力ラスターが生成されます。 [入力値ラスター] には詳細情報が存在しないため、解像度がより高い出力は必ずしも高品質な結果になりません。

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

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

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

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

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

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

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

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

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

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

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

パラメーター

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

ゾーンを定義する入力。

ラスター データとフィーチャ データのどちらも入力ゾーンとして使用できます。

Raster Layer; Feature Layer
入力値ラスター

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

Raster Layer
出力テーブル名

出力テーブルの名前。

既存のテーブルである場合は、別の名前を指定するよう求められます。

String
ゾーン フィールド

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

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

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

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

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

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

値ラスターが整数の場合に使用可能なオプションは、[すべて][平均][最頻値][最頻値の数][最頻値の割合][最頻値、数、割合][最大][中央値][最小][最少頻値][最少頻値の数][最少頻値の割合][最少頻値、数、割合][パーセンタイル][範囲][標準偏差][合計][種類][最小と最大][平均値および標準偏差][最小値、最大値および平均値] です。

値ラスターが浮動小数点の場合のオプションは、[すべて][平均値][最大値][中央値][パーセンタイル][最小値][範囲][標準偏差]、および [合計] です。

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

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

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

このパラメーターはパーセンタイルの計算中のみ使用できます。

Double
多次元として処理
(オプション)

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

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

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

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

統計タイプの計算方法を指定します。

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

周期的データの最も高い値 (上限)。 正の数字で、デフォルト値は 360 です。 この値は最も低い値 (下限) と同じ数量も表します。

このパラメーターは、円周統計を計算するときのみ適用されます。

Double

派生した出力

ラベル説明データ タイプ
出力テーブル

出力テーブル。

Feature service without geometry

arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField, {ignoreNodata}, {statisticType}, {percentileValues}, {processAsMultidimensional}, {percentileInterpolationType}, {circularCalculation}, {circularWrapValue})
名前説明データ タイプ
inputZoneRasterOrFeatures

ゾーンを定義する入力。

ラスター データとフィーチャ データのどちらも入力ゾーンとして使用できます。

Raster Layer; Feature Layer
inputValueRaster

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

Raster Layer
outputTableName

出力テーブルの名前。

既存のテーブルである場合は、別の名前を指定するよう求められます。

String
zoneField

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

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

String
ignoreNodata
(オプション)

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

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

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

値ラスターが整数の場合に使用可能なオプションは、ALLMEANMAJORITYMAJORITY_COUNTMAJORITY_PERCENTMAJORITY_VALUE_COUNT_PERCENTMAXIMUMMEDIANMINIMUMMINORITYMINORITY_COUNTMINORITY_PERCENTMINORITY_VALUE_COUNT_PERCENTPERCENTILERANGESTDSUMVARIETYMINI_MAXMEAN_SD、および MIN_MAX_MEAN です。

値ラスターが浮動小数点の場合のオプションは、ALLMEANMAXIMUMMEDIANMINIMUMPERCENTILERANGESTD、および SUM です。

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

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

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

このパラメーターはパーセンタイルの計算中のみ使用できます。

Double
processAsMultidimensional
(オプション)

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

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

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

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

統計タイプの計算方法を指定します。

  • ARITHMETIC算術統計が計算されます。 これがデフォルトです。
  • CIRCULAR周期的な数量に適した円周統計 (度単位のコンパス方向、日中時間、実数の小数部など) が計算されます。
Boolean
circularWrapValue
(オプション)

周期的データの最も高い値 (上限)。 正の数字で、デフォルト値は 360 です。 この値は最も低い値 (下限) と同じ数量も表します。

このパラメーターは、円周統計を計算するときのみ適用されます。

Double

派生した出力

名前説明データ タイプ
outputTable

出力テーブル。

Feature service without geometry

コードのサンプル

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

この例では、集約するラスター レイヤー内のセル値の平均値をゾーンごとに求めています。

import arcpy
arcpy.ra.ZonalStatisticsAsTable('https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer',
                           	'https://MyPortal.esri.com/server/rest/services/Hosted/elevation/ImageServer',
    				'outTable', 'Landuse', '', 'MEAN')
ZonalStatisticsAsTable の例 2 (スタンドアロン スクリプト)

この例では、集約するラスター レイヤー内の統計値をゾーンごとに求めています。

#-------------------------------------------------------------------------------
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Calculates all statistics with defined percentile values  
#              for sea-surface temperature defined by ecological zones.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputZoneRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/zones/ImageServer'
inputValueRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/seaSurfaceTemperature/ImageServer'
outputTableName = 'outZSAT'
zoneField = 'temperature'
ignoreNodata = '' 
statisticType = 'PERCENTILE'
percentileValues = [25,75,90]
processAsMultidimensional = 'ALL_SLICES'
percentileInterpolationType = 'NEAREST'

# Execute Multidimensional Zonal Statistics as Table
arcpy.ra.ZonalStatisticsAsTable(inputZoneRasterOrFeatures, inputValueRaster, outputTableName, zoneField,
                                ignoreNodata, statisticType, percentileValues, processAsMultidimensional, 
                                percentileInterpolationType)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Image Server
  • Standard: 次のものが必要 ArcGIS Image Server
  • Advanced: 次のものが必要 ArcGIS Image Server

関連トピック