テッセレーションの生成 (Generate Tessellation) (データ管理)

サマリー

特定の範囲をカバーするために正多角形ポリゴン フィーチャのテッセレーション グリッドを生成します。 テッセレーションは、三角形、正方形、菱形、六角形、H3 六角形、または六角形 (縦) のいずれかにすることができます。

テッセレーションの生成ツールの図

使用法

  • 入力範囲全体がテッセレーション グリッドでカバーされるようにするには、出力フィーチャを意図的に入力範囲よりも大きく設定します。 このように設定する理由は、テッセレーション グリッドの外周が必ずしも直線にならないため、グリッドの範囲が入力範囲内に収まるようにすると、ギャップが生じてしまうからです。

  • GRID_ID フィールドが出力に追加されます。

    [形状タイプ] パラメーター値が [H3 六角形] の場合、GRID_ID フィールドの値はセルごとに一意の階層インデックスになります。

    サイズ値が 3 の 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 に含まれるすべてのフィーチャを選択したりすることができます。

  • 別のデータセット内のフィーチャと交差しないグリッド、つまりテッセレーション フィーチャに対して排他的なグリッドを生成するには、[空間条件で選択 (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 座標精度] パラメーター値に基づきます。

    H3 座標精度の詳細

パラメーター

ラベル説明データ タイプ
出力フィーチャクラス

テッセレーション グリッドを含む出力フィーチャクラスのパスと名前。

Feature Class
範囲

テッセレーションがカバーする範囲。 現在の表示エリア、データセットの範囲、または手動で入力した値のいずれかを指定できます。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。
  • [範囲の描画] 直角化して完了 - 範囲は、マップまたはシーンに描画された四角形に基づきます。
  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用します。 各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - すべてのフィーチャの範囲。
    • [選択フィーチャ] 選択フィーチャからのエリア - 選択したフィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - 表示フィーチャの範囲。

  • [参照] 参照 - 範囲はデータセットに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲と座標系をクリップボードから貼り付けます。 クリップボードに座標系が含まれていない場合、マップの座標系が範囲に使用されます。
  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。

座標を手動で入力する場合、アクティブなマップの座標系の座標を数値で指定する必要があります。 マップで、入力した座標と異なる表示単位が使用されることがあります。 南と西の座標にはマイナス値の記号を使用します。

Extent
形状タイプ
(オプション)

生成する形状を指定します。

  • 六角形六角形のフィーチャが生成されます。 各六角形の上辺と下辺が座標系の X 軸と平行です (上部と下部が平坦)。
  • 六角形 (縦)六角形 (縦) のフィーチャが生成されます。 各六角形の右辺と左辺がデータセットの座標系の Y 軸と平行です (上部と下部が尖っている)。
  • 正方形正方形のフィーチャが生成されます。 各正方形の上辺と下辺が座標系の X 軸と平行であり、右辺と左辺が座標系の Y 軸と平行です。
  • 菱形菱形のフィーチャが生成されます。 各ポリゴンの辺が座標系の X 軸と Y 軸を基準に 45 度回転されます。
  • 三角形三角形のフィーチャが生成されます。 各三角形は正三角形ポリゴンです。
  • H3 六角形形状が六角形のフィーチャは、「H3 六角形の階層型地理空間インデックス システム」に基づいて生成されます。
String
サイズ
(オプション)

テッセレーションを構成する個別の形状の面積。

Areal Unit
空間参照
(オプション)

出力データセットが投影される空間参照。 空間参照を指定しないと、出力が入力範囲の空間参照に投影されます。 入力範囲の空間参照も存在しない場合は、出力が GCS_WGS_1984 で投影されます。

Spatial Reference
H3 解像度
(オプション)

六角形の H3 座標精度を指定します。

座標精度の値が大きくなるごとに、ポリゴンの面積はサイズの 7 分の 1 になります。

  • 0 - 六角形は H3 座標精度 0 で作成され、平均面積は 4,357,449.416078381 平方キロメートルになります。
  • 1 - 六角形は H3 座標精度 1 で作成され、平均面積は 609,788.441794133 平方キロメートルになります。
  • 2 - 六角形は H3 座標精度 2 で作成され、平均面積は 86,801.780398997 平方キロメートルになります。
  • 3 - 六角形は H3 座標精度 3 で作成され、平均面積は 12,393.434655088 平方キロメートルになります。
  • 4 - 六角形は H3 座標精度 4 で作成され、平均面積は 1,770.347654491 平方キロメートルになります。
  • 5 - 六角形は H3 座標精度 5 で作成され、平均面積は 252.903858182 平方キロメートルになります。
  • 6 - 六角形は H3 座標精度 6 で作成され、平均面積は 36.129062164 平方キロメートルになります。
  • 7 - 六角形は H3 座標精度 7 で作成され、平均面積は 5.161293360 平方キロメートルになります。 これがデフォルトです。
  • 8 - 六角形は H3 座標精度 8 で作成され、平均面積は 0.737327598 平方キロメートルになります。
  • 9 - 六角形は H3 座標精度 9 で作成され、平均面積は 0.105332513 平方キロメートルになります。
  • 10 - 六角形は H3 座標精度 10 で作成され、平均面積は 0.015047502 平方キロメートルになります。
  • 11 - 六角形は H3 座標精度 11 で作成され、平均面積は 0.002149643 平方キロメートルになります。
  • 12 - 六角形は H3 座標精度 12 で作成され、平均面積は 0.000307092 平方キロメートルになります。
  • 13 - 六角形は H3 座標精度 13 で作成され、平均面積は 0.000043870 平方キロメートルになります。
  • 14 - 六角形は H3 座標精度 14 で作成され、平均面積は 0.000006267 平方キロメートルになります。
  • 15 - 六角形は H3 座標精度 15 で作成され、平均面積は 0.000000895 平方キロメートルになります。

[形状タイプ] パラメーターが [H3 六角形] に設定されている場合、このパラメーターは有効です。

Long

arcpy.management.GenerateTessellation(Output_Feature_Class, Extent, {Shape_Type}, {Size}, {Spatial_Reference}, {H3_Resolution})
名前説明データ タイプ
Output_Feature_Class

テッセレーション グリッドを含む出力フィーチャクラスのパスと名前。

Feature Class
Extent

テッセレーションがカバーする範囲。 現在の表示エリア、データセットの範囲、または手動で入力した値のいずれかを指定できます。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
Shape_Type
(オプション)

生成する形状を指定します。

  • HEXAGON六角形のフィーチャが生成されます。 各六角形の上辺と下辺が座標系の X 軸と平行です (上部と下部が平坦)。
  • TRANSVERSE_HEXAGON六角形 (縦) のフィーチャが生成されます。 各六角形の右辺と左辺がデータセットの座標系の Y 軸と平行です (上部と下部が尖っている)。
  • SQUARE正方形のフィーチャが生成されます。 各正方形の上辺と下辺が座標系の X 軸と平行であり、右辺と左辺が座標系の Y 軸と平行です。
  • DIAMOND菱形のフィーチャが生成されます。 各ポリゴンの辺が座標系の X 軸と Y 軸を基準に 45 度回転されます。
  • TRIANGLE三角形のフィーチャが生成されます。 各三角形は正三角形ポリゴンです。
  • H3_HEXAGON形状が六角形のフィーチャは、「H3 六角形の階層型地理空間インデックス システム」に基づいて生成されます。
String
Size
(オプション)

テッセレーションを構成する個別の形状の面積。

Areal Unit
Spatial_Reference
(オプション)

出力データセットが投影される空間参照。 空間参照を指定しないと、出力が入力範囲の空間参照に投影されます。 入力範囲の空間参照も存在しない場合は、出力が GCS_WGS_1984 で投影されます。

Spatial Reference
H3_Resolution
(オプション)

六角形の H3 座標精度を指定します。

座標精度の値が大きくなるごとに、ポリゴンの面積はサイズの 7 分の 1 になります。

  • 0 - 六角形は H3 座標精度 0 で作成され、平均面積は 4,357,449.416078381 平方キロメートルになります。
  • 1 - 六角形は H3 座標精度 1 で作成され、平均面積は 609,788.441794133 平方キロメートルになります。
  • 2 - 六角形は H3 座標精度 2 で作成され、平均面積は 86,801.780398997 平方キロメートルになります。
  • 3 - 六角形は H3 座標精度 3 で作成され、平均面積は 12,393.434655088 平方キロメートルになります。
  • 4 - 六角形は H3 座標精度 4 で作成され、平均面積は 1,770.347654491 平方キロメートルになります。
  • 5 - 六角形は H3 座標精度 5 で作成され、平均面積は 252.903858182 平方キロメートルになります。
  • 6 - 六角形は H3 座標精度 6 で作成され、平均面積は 36.129062164 平方キロメートルになります。
  • 7 - 六角形は H3 座標精度 7 で作成され、平均面積は 5.161293360 平方キロメートルになります。 これがデフォルトです。
  • 8 - 六角形は H3 座標精度 8 で作成され、平均面積は 0.737327598 平方キロメートルになります。
  • 9 - 六角形は H3 座標精度 9 で作成され、平均面積は 0.105332513 平方キロメートルになります。
  • 10 - 六角形は H3 座標精度 10 で作成され、平均面積は 0.015047502 平方キロメートルになります。
  • 11 - 六角形は H3 座標精度 11 で作成され、平均面積は 0.002149643 平方キロメートルになります。
  • 12 - 六角形は H3 座標精度 12 で作成され、平均面積は 0.000307092 平方キロメートルになります。
  • 13 - 六角形は H3 座標精度 13 で作成され、平均面積は 0.000043870 平方キロメートルになります。
  • 14 - 六角形は H3 座標精度 14 で作成され、平均面積は 0.000006267 平方キロメートルになります。
  • 15 - 六角形は H3 座標精度 15 で作成され、平均面積は 0.000000895 平方キロメートルになります。

このパラメーターは、Shape_Type パラメーターが H3_HEXAGON に設定されている場合にアクティブになります。

Long

コードのサンプル

GenerateTessellation の例 1 (Python ウィンドウ)

次の 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)
GenerateTessellation の例 2 (Python ウィンドウ)

次の 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)
GenerateTessellation の例 3 (スタンドアロン スクリプト)

次のスタンドアロン 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.)
w = extent.width
h = extent.height
u = extent.spatialReference.linearUnitName
area = "{size} Square{unit}s".format(size=w/3 * h/3, unit=u)

# 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

関連トピック