Spatial Analyst のライセンスで利用可能。
サマリー
データセット内の各ゾーンに対して、ジオメトリ計測値 (面積、境界、深さ、楕円の特性) を計算し、結果をテーブルとしてレポートします。
図
VALUE AREA PERIMETER THICKNESS XCENTROID YCENTROID MAJORAXIS MINORAXIS ORIENTATION 0 5.0 14.0 0.5 2.300 2.100 2.338 0.681 60.714 1 5.0 14.0 0.5 1.900 2.100 2.668 0.596 126.061 2 3.0 8.0 0.5 3.167 2.167 1.286 0.743 135.000 4 2.0 6.0 0.5 0.500 1.000 1.128 0.564 90.000
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
入力ゾーン データがフィーチャ データセットの場合、[処理するセル サイズ] または [セル サイズ] 環境で、セルサイズを設定する必要があります。
各ゾーンの計算は、出力テーブルに記録されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) が重なり合うポリゴンを持つ場合、個別のポリゴンに対してゾーン解析は実行されません。フィーチャ入力はラスターに変換されるため、各位置は 1 つの値しか持てません。
別の方法として考えられるのは、それぞれのポリゴン ゾーンについてゾーン演算を反復処理して、その結果を適用することです。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
出力テーブルでは、値フィールドは、必ずゾーン出力計算を含むフィールドの前になります。値フィールドには、ゾーン データセットで定義したゾーンの値が含まれます。
ゾーン計算の値は、浮動小数になります。
出力テーブル内の結果は、(0 〜 180 の範囲の度で表示される) ORIENTATION アイテムを除き、すべてマップ単位で表示されます。方向は、X 軸と楕円の主軸との間の角度として定義されます。方向の角度値は、東 (3 時の位置) を始点 0 とし、長軸が垂直になる 90 度まで反時計回りに計測されます。
特定のゾーンが 1 つのセルのみで構成されている場合、またはゾーンが複数のセルから構成される 1 つの正方形ブロックの場合、楕円 (この場合は円) の方向が 90 度に設定されます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
ZonalGeometryAsTable (in_zone_data, zone_field, out_table, {processing_cell_size})
パラメーター | 説明 | データ タイプ |
in_zone_data | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
zone_field | 各ゾーンを定義する値を保持するフィールド。 ゾーン データセットの整数フィールドでなくてはいけません。 | Field |
out_table | 各ゾーンの値のサマリーを含む出力テーブル。 テーブルの形式は、出力先とパスによって決定されます。デフォルトでは、出力はジオデータベース テーブルです。パスがジオデータベースでない場合、形式は拡張子によって決まります。拡張子が .dbf である場合、形式は dBASE 形式になります。拡張子を指定しない場合、出力は INFO テーブルになります。 | Table |
processing_cell_size (オプション) | ゾーン演算で処理するセル サイズ。 環境設定で特定の値が指定されている場合、その値を使用します。設定されていない場合、セル サイズのデフォルト値は以下のようにゾーン データのタイプによって決められます。
| Analysis Cell Size |
コードのサンプル
ZonalGeometryAsTable (ゾーンのジオメトリをテーブルに出力) の例 1 (Python ウィンドウ)
次の例では、入力ポリゴン シェープ ファイルで定義された各ゾーンのジオメトリ メジャー値を求めています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes", "zonalgeomout", 0.2)
ZonalGeometryAsTable (ゾーンのジオメトリをテーブルに出力) の例 2 (スタンドアロン スクリプト)
次の例では、入力ポリゴン シェープ ファイルで定義された各ゾーンのジオメトリ メジャー値を求めています。
# Name: ZonalGeometryAsTable_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse) and reports the results as a table.
# 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 = "zones.shp"
zoneField = "Classes"
outTable = "zonalgeomout02.dbf"
processingCellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalGeometryAsTable
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA", cellSize)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS Desktop Advanced: 次のものが必要 Spatial Analyst