ゾーン特性 (Zonal Characterization) (Spatial Analyst)

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

サマリー

他のデータセットのゾーン内の複数のラスター値を集約し、その結果をテーブルとして出力します。

ゾーン統計ツールの仕組みの詳細

使用法

  • ツールの応用例を次に示します。

    • 持続的な農業活動を推定するために、さまざまなエコシステム ゾーン内の平均降水量、最高気温、合計人口を計算します。
    • 日陰をつくる樹木の植栽に適した場所を特定するため、各プロットの平均標高、平均傾斜角、NDVI 値の合計を推定します。

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

  • [入力ラスターまたはフィーチャ ゾーン] (Python では in_zone_raster_or_features) パラメーター値がラスターである場合、整数ラスターである必要があります。

  • [入力ラスターまたはフィーチャ ゾーン] パラメーター値がフィーチャである場合、解析環境で別途指定されている場合を除き、そのフィーチャは最小セル サイズを持つ [入力値ラスター] (Python では in_value_rasters_statistics) パラメーター値のセル サイズ、セル配置、空間参照を使用して内部でラスターに変換されます。 これにより、ゾーン演算を実行する前に内部でリサンプリングが開始されます。

  • [入力ラスターまたはフィーチャ ゾーン] パラメーター値がフィーチャである場合、値ラスターのセルの中心に重なっていないゾーン フィーチャのゾーンは内部ゾーン ラスターに変換されません。 その結果、これらのゾーンは出力に表示されません。 これを管理するには、フィーチャ ゾーンの目的の詳細レベルを保持するセル サイズ環境の適切な値を決定し、解析環境で指定します。

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

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

  • [入力ラスターまたはフィーチャ ゾーン] パラメーター値と [入力値ラスター] パラメーター値のセル サイズが異なる場合、解析環境で別途指定されている場合を除き、最小セル サイズを持つ [入力値ラスター] パラメーター値のセル サイズ、セル配置、空間参照が使用されます。 これにより、ゾーン演算を実行する前に内部でリサンプリングが開始されます。

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

  • [入力ラスターまたはフィーチャ ゾーン] 値を指定する場合、デフォルトの [ゾーン フィールド] (Python では zone_field) パラメーター値は、フィーチャの場合は 1 つ目の有効な整数フィールド (OIDFID など)、ラスターの場合は VALUE フィールドになります。 ゾーン フィールドには整数または文字列フィールド タイプを指定できます。

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

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

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

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

  • 値ラスターごとに複数の統計タイプを計算するには、同じ値ラスターを複数回指定する必要があります。 同じラスターと統計タイプの組み合わせが重複している場合、ツールはエラーを生成します。

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

    [円周統計の計算] パラメーターがオンの場合、指定した円形折り返し値が適用されたすべての値ラスターに対して円周統計が計算されます。

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

  • [出力統計テーブル] (Python では out_statistics_table) パラメーター値には、次の特性があります。

    • 出力テーブルの行数は、分析範囲内のゾーン数です。
    • 出力テーブルに、ゾーンを表す一連のフィールドが作成され、[入力値ラスター] の各値に対して個数と統計値が示されます。
    • フィールド名は、[フィールド名] パラメーターで指定されている場合を除き、デフォルトで値ラスター名と統計タイプから生成されます。 円周統計の場合、指定の統計の前においてフィールド名に C_ が付加されます。 たとえば、このフィールドの名前は、中央値の算術統計では ValueRasterName_MEAN になり、中央値の円周統計では ValueRasterName_C_MEAN になります。
    • 出力テーブルのフィールド名の最大長は、ワークスペースによって異なります。
    • 出力テーブルに含まれるアイテムの各値のデータ タイプは、実行されるゾーン計算によって変わります。 統計の固有の動作については、「ゾーン統計ツールの詳細」をご参照ください。

  • [出力統計フィーチャクラス] (Python では out_statistics_features) パラメーター値では、ゾーン入力がラスターの場合、出力フィーチャクラスは頂点の間引きを行わず、解析環境を適用することで、フィーチャに変換されます。

  • このツールでは、次の環境設定を使用します。

    • 最小セル サイズを持つ値ラスターが、分析のセル サイズ、出力座標系、スナップ対象ラスターとしてデフォルトで使用されます。
    • デフォルト範囲は、ゾーンと、すべての値ラスターのユニオンの交点です。
    • デフォルトでは、このツールはマルチコア プロセッサを使用します (使用可能な場合)。 使用できるコアの最大数は 4 です。

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

    このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

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

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

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

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

それぞれの値が統計によって集計されるラスターの集合。 このパラメーターには次のプロパティがあります。

  • [ラスター] - 入力値ラスター。
  • [統計タイプ] - ラスターに対して計算される統計。
  • [フィールド名] - 出力テーブルのラスターのフィールド名。

統計は、同じゾーンに属する入力値ラスター内のすべてのセルについて、出力セルとして算出されます。 使用可能な統計情報のタイプは以下のとおりです。

  • [平均] - セルの平均値。
  • [最頻値] - 最も頻繁に発生するセル値。
  • [最頻値の数] - 最頻値を含むすべてのセルの数。
  • [最頻値の割合] - 最頻値を含むセルの割合。
  • [最大] - 最大のセル値。
  • [中央値] - 中央値またはセルの中間値。
  • [最小] - 最小のセル値。
  • [最少頻値] - 最も頻度が低いセル値。
  • [最小頻値の数] - 最少頻値を含むすべてのセルの数。
  • [最小頻値の割合] - 最少頻値を含むセルの割合。
  • [パーセンタイル] - セル値のパーセンタイル。 デフォルトで 90 番目のパーセンタイルが計算されます。 [パーセンタイル値] パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • [範囲] - 最大のセル値と最小セル値の差。
  • [標準偏差] - セル値の標準偏差。
  • [合計] - セルの合計値。
  • [種類] - 一意のセル値の数。

出力統計テーブルのフィールド名は、デフォルトで、値ラスター名と統計タイプから生成されます。

Value Table
出力統計テーブル

すべての値ラスターについて、各ゾーンの値のサマリーを含む出力テーブル。

テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。

Table
出力統計フィーチャクラス
(オプション)

出力テーブルを入力ゾーン データに結合することで作成される出力フィーチャクラス。

Feature Class
ゾーン フィールド
(オプション)

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

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

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

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

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

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

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

このパラメーターは、[統計情報の種類] パラメーターが [パーセンタイル][すべて] に設定されている場合にのみ利用できます。

Double
パーセンタイル内挿タイプ
(オプション)

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

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

円形データの入力ラスターの処理方法を指定します。

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

特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。

このパラメーターは、[円周統計の計算] パラメーターがオンになっている場合にのみサポートされます。

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

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

  • オフ - 入力多次元データセットの現在のスライスから統計が算出されます。 これがデフォルトです。
  • オン - 入力多次元データセットのすべての次元に関する統計が算出されます。
Boolean
ゾーン属性を出力フィーチャにアペンド
(オプション)

入力ゾーンの追加ゾーン属性のいずれかを、出力フィーチャクラスにアペンドするかどうかを指定します。

  • オフ - 入力ゾーンのゾーン ID フィールドのみが出力フィーチャクラスにアペンドされます。 これがデフォルトです。
  • オン - 入力ゾーンの追加のゾーン属性が、出力フィーチャクラスにアペンドされます。
Boolean

ZonalCharacterization(in_zone_raster_or_features, in_value_rasters_statistics, out_statistics_table, {out_statistics_features}, {zone_field}, {ignore_nodata}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {process_as_multidimensional}, {add_zone_attributes})
名前説明データ タイプ
in_zone_raster_or_features

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

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

Raster Layer; Feature Layer
in_value_rasters_statistics
[in_value_rasters_statistics,...]

それぞれの値が統計によって集計されるラスターの集合。 このパラメーターには次のプロパティがあります。

  • ラスター - 入力値ラスター。
  • 統計タイプ - ラスターに対して計算される統計。
  • フィールド名 - 出力テーブルのラスターのフィールド名。

統計は、同じゾーンに属する入力値ラスター内のすべてのセルについて、出力セルとして算出されます。 使用可能な統計情報のタイプは以下のとおりです。

  • MEAN - セルの平均値。
  • MAJORITY - 最も頻繁に発生するセル値。
  • MAJORITY_COUNT - 最頻値を含むすべてのセルの数。
  • MAJORITY_PERCENT - 最頻値を含むセルの割合。
  • MAXIMUM - 最大のセル値。
  • MEDIAN - 中央値またはセルの中間値。
  • MINIMUM - 最小のセル値。
  • MINORITY - 最も頻度が低いセル値。
  • MINORITY_COUNT - 最少頻値を含むすべてのセルの数。
  • MINORITY_PERCENT - 最少頻値を含むセルの割合。
  • PERCENTILE - セル値のパーセンタイル。 デフォルトで 90 番目のパーセンタイルが計算されます。 percentile_values パラメーターを使用して、その他の値 (0 ~ 100) を指定できます。
  • RANGE - 最大のセル値と最小セル値の差。
  • STD - セル値の標準偏差。
  • SUM - セルの合計値。
  • VARIETY - 一意のセル値の数。

出力統計テーブルのフィールド名は、デフォルトで、値ラスター名と統計タイプから生成されます。

Value Table
out_statistics_table

すべての値ラスターについて、各ゾーンの値のサマリーを含む出力テーブル。

テーブルの形式は、出力先とパスによって決定されます。 デフォルトでは、出力は、ジオデータベース ワークスペースではジオデータベース テーブル、ファイル ワークスペースでは dBASE テーブルになります。

Table
out_statistics_features
(オプション)

出力テーブルを入力ゾーン データに結合することで作成される出力フィーチャクラス。

Feature Class
zone_field
(オプション)

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

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

Field
ignore_nodata
(オプション)

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

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

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

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

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

Double
percentile_interpolation_type
(オプション)

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

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

円形データの入力ラスターの処理方法を指定します。

  • ARITHMETIC通常のリニア統計が計算されます。 これがデフォルトです。
  • CIRCULAR角度またはその他の周期的変化量 (度単位のコンパス方向、日中時間、実数の小数部など) の統計が計算されます。
Boolean
circular_wrap_value
(オプション)

特定の円形統計の範囲にリニア値を四捨五入するために使用される値。 値は整数または浮動小数点で指定する必要があります。 デフォルト値は 360 度です。

このパラメーターは、circular_calculation パラメーターが CIRCULAR に設定されている場合のみサポートされます。

Double
process_as_multidimensional
(オプション)

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

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

入力ゾーンの追加ゾーン属性のいずれかを、出力フィーチャクラスにアペンドするかどうかを指定します。

  • ZONE_FIELD_ONLY入力ゾーンのゾーン ID フィールドのみが出力フィーチャクラスにアペンドされます。 これがデフォルトです。
  • ALL入力ゾーンの追加のゾーン属性が、出力フィーチャクラスにアペンドされます。
Boolean

コードのサンプル

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

次の例では、ポリゴン シェープファイルに定義されたゾーン内の複数のラスターの値を集計し、結果をテーブルとフィーチャクラスに記録しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

outTable = ZonalCharacterization("zones.shp",
                "ValueRas1.tif MEAN ValueRas1_MEAN;ValueRas2.tif MAXIMUM ValueRas2_MAX;ValueRas3.tif STD ValueRas3_STD",
                "zonalcharacterout.dbf","featurestatout.shp","Id","DATA","",
                "AUTO_DETECT","ARITHMETIC","","CURRENT_SLICE","ZONE_FIELD_ONLY")
ZonalCharacterization の例 2 (スタンドアロン スクリプト)

次の例では、ゾーン ラスターに定義されたゾーン内の複数のラスターの値を集計し、結果をテーブルとフィーチャクラスに記録しています。

# Name: ZonalCharacterization_Ex_standalone.py
# Description: Summarizes the values of multiple rasters within the zones
#              of another dataset and reports the results as 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.tif"
zoneField = "Value"
inValueRas1 = "ValueRas1.tif"
inValueRas2 = "ValueRas2.tif"
inValueRas3 = "ValueRas3.tif"
outTable = "zonalcharactereizationout.dbf"
outFeatureClass = "featurestatout.shp"

# Execute ZonalCharacterization
outzonalchar = ZonalCharacterization(inZoneData, [[inValueRas1, "MEAN", 
            "ValueRas1_MEAN"], [inValueRas2, "STD", "ValueRas2_STD"], 
            [inValueRas3, "SUM", "ValueRas3_SUM"]], outTable, outFeatureClass, 
            zoneField, "NODATA", "", "", "ARITHMETIC", "", "CURRENT_SLICE", "ALL")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック