ラベル | 説明 | データ タイプ |
出力フィーチャクラス | テッセレーション グリッドを含む出力フィーチャクラスのパスと名前。 | Feature Class |
範囲 | テッセレーションがカバーする範囲。 現在の表示エリア、データセットの範囲、または手動で入力した値のいずれかを指定できます。
座標を手動で入力する場合、アクティブなマップの座標系の座標を数値で指定する必要があります。 マップで、入力した座標と異なる表示単位が使用されることがあります。 南と西の座標にはマイナス値の記号を使用します。 | Extent |
形状タイプ (オプション) | 生成する形状を指定します。
| String |
サイズ (オプション) | テッセレーションを構成する個別の形状の面積。 | Areal Unit |
空間参照 (オプション) | 出力フィーチャクラスに割り当てられる空間参照。 | Spatial Reference |
H3 解像度 (オプション) | 六角形の H3 座標精度を指定します。 座標精度の値が大きくなるごとに、ポリゴンの面積はサイズの 7 分の 1 になります。
[形状タイプ] パラメーターが [H3 六角形] に設定されている場合、このパラメーターは有効です。 | Long |
サマリー
特定の範囲をカバーするために正多角形ポリゴン フィーチャのテッセレーション グリッドを生成します。 テッセレーションは、三角形、正方形、菱形、六角形、H3 六角形、または六角形 (縦) のいずれかにすることができます。
図

使用法
入力範囲全体がテッセレーション グリッドでカバーされるようにするには、出力フィーチャを意図的に入力範囲よりも大きく設定します。 このように設定する理由は、テッセレーション グリッドの外周が必ずしも直線にならないため、グリッドの範囲が入力範囲内に収まるようにすると、ギャップが生じてしまうからです。
[H3 六角形] 以外の [形状タイプ] パラメーター オプションの場合、出力フィーチャはユークリッド計算を使用して作成されます。 最適な結果を得るには、[範囲] パラメーター値は、距離や面積の歪みを最小限に抑える座標系である必要があります。 範囲は、適切な投影座標系で示す必要があります。 範囲の地理座標系または投影座標系が距離の計測に適していない場合は、まず範囲を投影する必要があります。
[形状タイプ] パラメーター値が [H3 六角形] の場合、GRID_ID フィールドの値はセルごとに一意の階層インデックスになります。
他のすべての [形状タイプ] パラメーター値では、GRID_ID フィールドはフィーチャごとに一意の ID になります。 ID の形式は A-1、A-2、B-1、B-2 などです。 これにより、[属性検索 (Select Layer By Attribute)] ツールを使用して、クエリで行と列を選択できるようになります。 たとえば、GRID_ID like 'A-%' で列 A に含まれるすべてのフィーチャを選択したり、GRID_ID like '%-1' で行 1 に含まれるすべてのフィーチャを選択したりすることができます。
出力データの空間参照は、以下によって決定されます。
- [空間参照] パラメーター値 (指定されている場合)
- [空間参照] パラメーターが指定されていない場合、出力座標系環境の値が使用されます (設定されている場合)
- これらのいずれも設定されていない場合、[範囲] パラメーター値の空間参照が使用されます
[範囲] パラメーターの値は、四角形を定義する座標と空間参照で構成されます。 範囲が既存のオブジェクト (例: アクティブなマップの範囲) から設定される場合や、Python で arcpy.Describe(dataset).extent を使用する場合、通常はオブジェクトの空間参照が含まれます。
[範囲] パラメーター値に定義されていない空間参照がある場合、座標は出力データの空間参照内にあると見なされます。
[範囲] パラメーター値の空間参照が [出力フィーチャクラス] パラメーター値の空間参照と異なる場合、フィーチャは [範囲] パラメーター値の空間参照内に生成され、出力データの空間参照に投影されます。 これは、[形状タイプ] パラメーター値が [H3 六角形] の場合には適用されません。
別のデータセット内のフィーチャと交差しないグリッド、つまりテッセレーション フィーチャに対して排他的なグリッドを生成するには、[空間条件で選択 (Select Layer By Location)] ツールを使用して、コピー元フィーチャを含む出力ポリゴンを選択した後、[フィーチャのコピー (Copy Features)] ツールを使用して、選択した出力フィーチャを新しいフィーチャクラスに永続的にコピーします。
このツールは指定した面積による形状を生成します。 1 辺の長さに基づいて形状の面積を算出するには、次の式のいずれかを使用して、[サイズ] パラメーターの値を計算します。
形状 式 例 六角形または六角形 (縦)
1 辺の長さが 100 メートルの六角形を生成するには、[サイズ] パラメーター値を 25980.76211353316 平方メートル (100 の 2 乗 x 3 x ルート 3 / 2) に指定します。
正方形
1 辺の長さが 100 メートルの正方形を生成するには、[サイズ] パラメーター値を 10000 平方メートル (100 の 2 乗) に指定します。
菱形
1 辺の長さが 100 メートルの菱形を生成するには、[サイズ] パラメーター値を 10000 平方メートル (100 の 2 乗) に指定します。
三角形
1 辺の長さが 100 メートルの三角形を生成するには、[サイズ] パラメーター値を 4330.127018922193 平方メートル (100 の 2 乗 x ルート 3 / 4) に指定します。
[形状タイプ] パラメーターの [H3 六角形] オプションは、[サイズ] パラメーターを無視します。 六角形の面積は、[H3 座標精度] パラメーター値に基づきます。
パラメーター
arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference}, {H3_Resolution})
名前 | 説明 | データ タイプ |
Output_Feature_Class | テッセレーション グリッドを含む出力フィーチャクラスのパスと名前。 | Feature Class |
Extent | テッセレーションがカバーする範囲。 現在の表示エリア、データセットの範囲、または手動で入力した値のいずれかを指定できます。
| Extent |
Shape_Type (オプション) | 生成する形状を指定します。
| String |
Size (オプション) | テッセレーションを構成する個別の形状の面積。 | Areal Unit |
Spatial_Reference (オプション) | 出力フィーチャクラスに割り当てられる空間参照。 | Spatial Reference |
H3_Resolution (オプション) | 六角形の H3 座標精度を指定します。 座標精度の値が大きくなるごとに、ポリゴンの面積はサイズの 7 分の 1 になります。
このパラメーターは、Shape_Type パラメーターが H3_HEXAGON に設定されている場合にアクティブになります。 | Long |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで GenerateTessellation 関数を使用する方法を示しています。
import arcpy
tessellation_extent = arcpy.Extent(0.0, 0.0, 10.0, 10.0)
spatial_ref = arcpy.SpatialReference(4326)
arcpy.management.GenerateTessellation(r"C:\data\project.gdb\hex_tessellation",
tessellation_extent, "HEXAGON",
"100 SquareMiles", spatial_ref)
次の Python ウィンドウ スクリプトは、GenerateTessellation 関数を使用して H3 六角形を作成する方法を示しています。
# Import modules
import arcpy
# Create some variables
out_gdb = r"C:\temp\project.gdb\h3_hexagon"
extent = arcpy.Extent(0.0, 0.0, 10.0, 10.0)
sr = arcpy.SpatialReference(4326)
# Generate H3 hexagons
arcpy.management.GenerateTessellation(out_gdb, Extent=extent, Shape_Type="H3_HEXAGON",
H3_Resolution=5, Spatial_Reference=sr)
次のスタンドアロン Python スクリプトは、プログラムでフィーチャクラスから範囲を抽出し、その範囲を使用して GenerateTessellation 関数のパラメーターを入力する方法を示しています。
# Name: GenerateDynamicTessellation.py
# Purpose: Generate a grid of squares over the envelope of a provided feature
# class.
# Import modules
import arcpy
# Set paths of features
my_feature = r"C:\data\project.gdb\myfeature"
output_feature = r"C:\data\project.gdb\sqtessellation"
# Describe the input feature and extract the extent
description = arcpy.Describe(my_feature)
extent = description.extent
# Find the width, height, and linear unit used by the input feature class' extent
# Divide the width and height value by three.
# Multiply the divided values together and specify an area unit from the linear
# unit.
# Should result in a 4x4 grid covering the extent. (Not 3x3 since the squares
# hang over the extent.)
width = extent.width
height = extent.height
unit = extent.spatialReference.linearUnitName
size = width/3 * height/3
area = f"{size} Square{unit}s"
# Use the extent's spatial reference to project the output
spatial_ref = extent.spatialReference
arcpy.management.GenerateTessellation(output_feature, extent, "SQUARE", area,
spatial_ref)
環境
ライセンス情報
- Basic: Yes
- Standard: Yes
- Advanced: Yes