ゾーン ヒストグラム (Zonal Histogram) (Spatial Analyst)

サマリー

個別のゾーンにおける値入力のセル値の頻度分布を示すテーブルとヒストグラム グラフを作成します。

使用法

  • ゾーン ヒストグラムを使用すると、あるデータセットの値について、別のデータセットのクラス内における値の頻度分布を調査できます。 例としては、土地利用クラス内の傾斜分布、標高クラスの降雨分布、警察の巡回区域の犯罪分布などが挙げられます。

  • ゾーン ヒストグラムのクラス数は、[入力値ラスター] (Python では in_value_raster) の指定方法によって異なります。

    ラスター データセットとして指定した場合に適用される条件は、次のとおりです。

    • 個別値が 25 未満の整数ラスターの場合、クラス数は値ラスターの個別値の数に一致します。
    • 個別値が 25 を超える整数ラスターの場合、値が 256 のクラス (1 ~ 256) に分割されます。 個別値の数が 256 未満の場合、一部のクラスの頻度が 0 になります。
    • 浮動小数点ラスターの場合、値が 256 のクラス (1 ~ 256) に分割されます。

    ラスター レイヤーとして指定した場合に適用される条件は、次のとおりです。

    • [ストレッチ] シンボルの場合、ストレッチ タイプが使用されて、値が 256 のクラス (1 ~ 256) に分割されます。
    • [分類] または [個別値] シンボルの場合、クラス数はクラスまたはシンボルの個別値に一致します。
    • ゾーン解析は、[ストレッチ][分類]、または [個別値] シンボルで指定された値の範囲で実行されます。 計算では、シンボルに表示されない値ラスター内の値がすべて無視されます。
    • [不連続] または [ベクトル場] シンボルの場合、ゾーン解析でシンボルが無視されます。 解析は、入力値ラスターをラスター データセットとして指定するときと同様に、値ラスターのデータ タイプと個別値の数のみを考慮して実行されます。
    • ゾーン ヒストグラムは、値ラスター レイヤーのシンボルのラベルのクラス値を表示します。
  • ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。 エリアは連続していなくてもかまいません。 ラスターとフィーチャのいずれも入力ゾーンとして使用できます。

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

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

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

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

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

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

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

  • [ゾーン フィールド] パラメーター (Python では zone_field) の値は、整数またはテキスト タイプである必要があります。

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

  • ゾーン ヒストグラム グラフは、デフォルトでは作成されません。 グラフを作成するには、[出力テーブルでゾーンを行として表示] パラメーターをオンに (Python では zones_as_rows パラメーターを ZONES_AS_ROWS に設定) して [出力グラフ名] (Python では out_graph パラメーター) を指定します。 ゾーン ヒストグラム グラフは、ArcGIS AllSource アプリケーション内でのみ作成できます。スタンドアロン スクリプトではサポートされていません。

  • [出力テーブルでゾーンを行として表示] パラメーターをオフにして出力テーブルを作成する場合、入力値ラスターの指定方法に応じて、ラベル フィールドには値ラスター データセットまたはレイヤーのシンボルのラベルの値が含まれます。

    [出力テーブルでゾーンを行として表示] パラメーターをオンにして出力テーブルを作成する場合、ラベル フィールドにはゾーン ラスターの値が含まれます。

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

パラメーター

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

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

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

Raster Layer; Feature Layer
ゾーン フィールド

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

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

Field
入力値ラスター

ヒストグラムの作成に使用する値を含むラスター。

Raster Layer
出力テーブル

出力テーブル ファイル。

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

オプションのグラフ出力は、テーブル内の情報から作成されます。

Table
出力グラフ名
(オプション)

表示用の出力グラフの名前。

グラフは [コンテンツ] ウィンドウの [スタンドアロン テーブル] の下にリストされます。

Graph
出力テーブルでゾーンを行として表示
(オプション)

入力値ラスターの値を出力テーブルでどのように表示するかを指定します。

  • オフ - ゾーンはフィールドとして表されます。 これがデフォルトです。
  • オン - ゾーンは行として表されます。
Boolean

ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph}, {zones_as_rows})
名前説明データ タイプ
in_zone_data

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

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

Raster Layer; Feature Layer
zone_field

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

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

Field
in_value_raster

ヒストグラムの作成に使用する値を含むラスター。

Raster Layer
out_table

出力テーブル ファイル。

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

オプションのグラフ出力は、テーブル内の情報から作成されます。

Table
out_graph
(オプション)

表示用の出力グラフの名前。

Graph
zones_as_rows
(オプション)

入力値ラスターの値を出力テーブルでどのように表示するかを指定します。

  • ZONES_AS_FIELDSゾーンはフィールドとして表されます。 これがデフォルトです。
  • ZONES_AS_ROWSゾーンは行として表されます。
Boolean

コードのサンプル

ZonalHistogram (ゾーン ヒストグラム) の例 1 (Python ウィンドウ)

次の例では、ゾーン ヒストグラムの .dbf テーブルとグラフ ファイルを作成しています。

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalHist = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf",
                              "znhist_graphl", "ZONES_AS_ROWS")
ZonalHistogram (ゾーン ヒストグラム) の例 2 (スタンドアロン スクリプト)

次の例では、ゾーン ヒストグラムの .dbf テーブルを作成しています。

# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table
#              showing the amount of value cells 
#              for each unique input zone.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras" 
outTable = "C:/sapyexamples/output/zonehist_tb2.dbf" 

# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable)

関連トピック