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

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

概要

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

使用法

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

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

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

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

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

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

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

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

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

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

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

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

  • ヒストグラム グラフでは、各ゾーンのクラス (ビン) の数は、[入力値ラスター] パラメーターによって決まります。

    • レイヤーを指定すると、レイヤーのシンボルによってクラスの数が定義されます。
    • データセットを指定すると、入力が 26 個未満の個別値の整数である場合を除いて、デフォルトで 256 クラスになります。この場合、このクラスの数が個別値の総数になります。

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

構文

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)

ライセンス情報

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

関連トピック