Spatial Analyst のライセンスで利用可能。
サマリー
個別のゾーンにおける値入力のセル値の頻度分布を示すテーブルとヒストグラム グラフを作成します。
図
使用法
ゾーン ヒストグラムを使用すると、あるデータセットの値について、別のデータセットのクラス内における値の頻度分布を調査できます。 例としては、土地利用クラス内の傾斜分布、標高クラスの降雨分布、警察の巡回区域の犯罪分布などが挙げられます。
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) と [入力値ラスター] (Python では in_value_raster) のセル サイズが異なる場合、出力セル サイズは [入力データの最大セル サイズ] となり、[入力値ラスター] は内部でスナップ対象ラスターとして使用されます。セル サイズは同じだが、セル同士が位置揃えされていない場合、[入力値ラスター] が内部でスナップ対象ラスターとして使用されます。どちらの場合も、ゾーン演算を実行する前に内部でリサンプリングが開始されます。
ゾーンと値の両方の入力が同じセル サイズのラスターで、セル同士が位置揃えされている場合、それらの入力はツールで直接使用され、ツールの実行時に内部でリサンプリングされません。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がラスターである場合、そのラスターは整数ラスターでなければなりません。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がフィーチャである場合、そのフィーチャは、[入力値ラスター] (Python では in_value_raster) のセル サイズとセル配置を使用して、内部でラスターに変換されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) がポイント フィーチャである場合、値入力ラスターの特定のセルが複数のポイントを含むことが可能です。そのようなセルの場合、ゾーンの値は最小の ObjectID フィールド (たとえば、OID または FID) を持つポイントによって決まります。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) が重なり合うポリゴンを持つ場合、個別のポリゴンに対してゾーン解析は実行されません。フィーチャ入力はラスターに変換されるため、各位置は 1 つの値しか持てません。
別の方法として考えられるのは、それぞれのポリゴン ゾーンについてゾーン演算を反復処理して、その結果を適用することです。
[ゾーン フィールド] (Python では zone_field) は、整数またはテキスト タイプである必要があります。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
ヒストグラム グラフでは、各ゾーンのクラス (ビン) の数は、[入力値ラスター] によって決まります。
- レイヤーを指定すると、レイヤーのシンボルによってクラスの数が定義されます。
- データセットを指定すると、入力が 26 個未満の個別値の整数である場合を除いて、デフォルトで 256 クラスになります。この場合、これが個別値の総数になります。
ゾーン ヒストグラム グラフは、デフォルトでは作成されません。ツールの実行時にグラフを作成するには、[出力グラフ名] を指定します。
このグラフは、一時的に (メモリ内に) 作成されます。保存用のグラフを作成するには、[グラフの保存 (Save Graph)] ツールを使用して、*.grf ファイルか、そのツールで使用できる他の出力形式の 1 つで作成します。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
ZonalHistogram (in_zone_data, zone_field, in_value_raster, out_table, {out_graph})
パラメーター | 説明 | データ タイプ |
in_zone_data | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
zone_field | 各ゾーンを定義する値を保持するフィールド。 ゾーン データセットの整数フィールドまたは文字列フィールドを使用できます。 | Field |
in_value_raster | ヒストグラムを作成するラスター値。 | Raster Layer |
out_table | 出力テーブル ファイル。 テーブルの形式は、出力先とパスによって決定されます。デフォルトでは、出力はジオデータベース テーブルです。パスがジオデータベースでない場合、形式は拡張子によって決まります。拡張子が .dbf である場合、形式は dBASE 形式になります。拡張子を指定しない場合、出力は INFO テーブルになります。 オプションのグラフ出力は、テーブル内の情報から作成されます。 | Table |
out_graph (オプション) | 表示用の出力グラフの名前。 グラフはテンポラリです。保存用のグラフを作成するには、[グラフの保存 (Save Graph)] ツールを使用します。 | Graph |
コードのサンプル
ZonalHistogram (ゾーン ヒストグラム) の例 1 (Python ウィンドウ)
次の例では、*.dbf テーブルのゾーン ヒストグラムを作成しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonHisto = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf")
ZonalHistogram (ゾーン ヒストグラム) の例 2 (スタンドアロン スクリプト)
次の例では、ゾーン ヒストグラムの *.dbf テーブルとグラフ ファイルを作成しています。
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table and
# a graph 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 *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tbl.dbf"
outGraph = "zonehist_gra"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable, outGraph)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Advanced: 次のものが必要 Spatial Analyst