Spatial Analyst のライセンスで利用可能。
図
使用法
ゾーンは、入力データ内において、同じ値を持つすべてのエリアとして定義されます。エリアは連続していなくてもかまいません。ラスターとフィーチャのいずれも入力ゾーンとして使用できます。
[出力セル サイズ] は、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、[セル サイズ] 環境が指定されていれば、そこから取得されます。パラメーターのセル サイズも環境のセル サイズも指定されていない場合、デフォルトの出力セル サイズは、次のように入力データセットのタイプに基づいて決定されます。
- 入力データセットがラスターの場合は、そのデータセットのセル サイズが使用されます。
- 入力データセットがフィーチャで、[スナップ対象ラスター] 環境が設定されている場合は、スナップ ラスターのセル サイズが使用されます。スナップ ラスターが設定されていない場合、セル サイズは範囲の幅または高さ (どちらか短い方) を 250 で割って求められます。この範囲は環境で指定された [出力座標系] にあります。
セル サイズが数値によって指定されている場合、このツールは出力ラスターに対してこの値を直接使用します。
セル サイズがラスター データセットを使用して指定されている場合、パラメーターはセル サイズの値ではなくラスター データセットのパスを示します。データセットの空間参照が出力空間参照と同じである場合、解析ではラスター データセットのセル サイズが直接使用されます。データセットの空間参照が出力空間参照と異なる場合は、選択された [セル サイズ投影法] に基づいて投影されます。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) が重なり合うポリゴンを持つ場合、個別のポリゴンに対してゾーン解析は実行されません。フィーチャ入力はラスターに変換されるため、各位置は 1 つの値しか持てません。
別の方法として考えられるのは、それぞれのポリゴン ゾーンについてゾーン操作を反復処理して、その結果を適用することです。
[入力ラスター、またはフィーチャ ゾーン データ] (Python では in_zone_data) を指定する場合、デフォルトのゾーン フィールドは 1 つ目の有効な整数フィールドまたはテキスト フィールドになります。他に有効なフィールドが存在しないとき、ObjectID フィールド (たとえば、OID または FID) がデフォルトになります。
各ジオメトリ タイプに対する出力ラスターのデータ タイプは、浮動小数です。
特定のゾーンが 1 つのセルのみで構成されている場合、またはゾーンが複数のセルから構成される 1 つの正方形ブロックの場合、楕円 (この場合は円) の方向が 90 度に設定されます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
ZonalGeometry(in_zone_data, zone_field, {geometry_type}, {cell_size})
パラメーター | 説明 | データ タイプ |
in_zone_data | ゾーンを定義するデータセット。 ゾーンは、整数ラスターまたはフィーチャ レイヤーによって定義できます。 | Raster Layer; Feature Layer |
zone_field | 各ゾーンを定義する値を格納するフィールド。 ゾーン データセットの整数フィールドでなくてはいけません。 | Field |
geometry_type (オプション) | 計算するジオメトリ タイプ。
| String |
cell_size (オプション) | 作成される出力ラスターのセル サイズ。 このパラメーターは、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、指定されていれば、環境のセル サイズ値が使用されます。そうでない場合は、追加のルールを使用して別の入力から計算されます。詳細については、使用方法をご参照ください。 | Analysis Cell Size |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 出力ゾーン ジオメトリ ラスター。 | Raster |
コードのサンプル
次の例では、入力ポリゴン シェープ ファイルで定義された各ゾーンの面積を求めています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometry = ZonalGeometry("zones.shp", "Classes", "AREA", 0.2)
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout3")
次の例では、入力ポリゴン シェープ ファイルで定義された各ゾーンの面積を求めています。
# Name: ZonalGeometry_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse).
# 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"
cellSize = 0.2
# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)
# Save the output
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst