ジオメトリの最小範囲 → ポリゴン (Minimum Bounding Geometry) (データ管理)

サマリー

各入力フィーチャまたは各入力フィーチャ グループを囲む、所定の最小範囲のジオメトリを表すポリゴンを格納するフィーチャクラスを作成します。

[ジオメトリの最小範囲 → ポリゴン (Minimum Bounding Geometry)] ツールの図

使用法

  • 出力ポリゴン フィーチャとその属性は、ジオメトリ タイプおよびグループ化の選択肢をどのように指定するかに応じて異なります。

  • [グループ オプション] パラメーター (Python では group_option パラメーター) を指定すると、出力ポリゴンと属性に次のような影響がおよびます。

    • [なし] を使用すると、入力フィーチャは一切グループ化されなくなります。 入力フィーチャごとに出力ポリゴン フィーチャが作成され、生成されるポリゴンは重なり合う場合があります。 入力フィーチャの属性は、出力フィーチャクラスに保持されます。 新しいフィールド ORIG_FID が、出力フィーチャクラスに追加され、入力フィーチャ ID に設定されます。
    • [すべて] を使用すると、すべての入力フィーチャに対して 1 つの出力ポリゴン フィーチャが作成されます。 入力フィーチャの属性は、出力フィーチャクラス内に保持されません。
    • [リスト] を使用すると、指定したグループ フィールド (1 つまたは複数) 内のフィールド値が同じ入力フィーチャ セット同士がそれぞれ、グループとして扱われるようになります。 グループごとに出力ポリゴン フィーチャが作成され、生成されるポリゴンは重なり合う場合があります。 グループ フィールド (1 つまたは複数) として使用されている入力フィーチャの属性は、出力フィーチャクラス内に保持されます。
  • それぞれのジオメトリ タイプは、1 つ以上の一意の計測値によって特徴付けることができます。これらの計測値は、次に示すように、必要に応じて新しいフィールドとして出力に追加できます。 幅、長さ、および直径の値はフィーチャの単位で示され、方向角度 (度 (10 進)) は北から時計方向に計測されます。 接頭辞 MBG_ は、最小範囲のジオメトリ フィールドを示します。

    • [最小面積の長方形] および [最小幅の長方形] の場合、新しいフィールドと測定値は次のようになります。
      • MBG_Width- 結果として生成された長方形の短辺の長さ。
      • MBG_Length- 結果として生成された長方形の長辺の長さ。
      • MBG_Orientation- 結果として生成された長方形の長辺の向き。
    • [エンベロープ] の場合、新しいフィールドと計測値は次のとおりです
      • MBG_Width- 結果として生成された長方形の短辺の長さ。
      • MBG_Length- 結果として生成された長方形の長辺の長さ。
    • [凸包] の場合、新しいフィールドと計測値は次のとおりです
      • MBG_Width- 凸包の 2 頂点間の最短距離 (この距離が頂点の複数のペア間で確認された場合でも、最初に確認された距離が使用されます)。
      • MBG_Length- 対蹠ペアまたは対蹠ポイントと呼ばれる、凸包の 2 頂点間の最長距離 (この距離が頂点の複数のペア間で確認された場合でも、最初に確認された距離が使用されます)。
      • MBG_APodX1- 対蹠ペアの最初のポイントの X 座標。
      • MBG_APodY1- 対蹠ペアの最初のポイントの Y 座標。
      • MBG_APodX2- 対蹠ペアの 2 番目のポイントの X 座標。
      • MBG_APodY2- 対蹠ペアの 2 番目のポイントの Y 座標。
      • MBG_Orientation- 対蹠ペアを接続している想像線の向き。
    • [円形] の場合、新しいフィールドと計測値は次のとおりです
      • MBG_Diameter- 結果として生成された円の直径。
  • 入力フィーチャの特殊な例では、無効な (面積ゼロの) 出力ポリゴンが生成されます。 このような場合、入力フィーチャの XY 許容値から導き出された小さい値を幅、長さ、または直径として使用して出力ポリゴンが作成されます。 これらのポリゴンは、フィーチャを追跡するための「プレースホルダー」として機能します。 デフォルトのポリゴン アウトライン幅を使用して、生成されたポリゴンが ArcMap に「表示されない」場合、それらを表示するには、アウトラインのライン シンボルの幅を太く変更してください。 このような変更が必要になるのは、次のような状況のときです。

    • マルチポイント フィーチャに 1 つのポイントしか含まれていないか、そのようなフィーチャのグループの座標が一致している場合、[最小面積の長方形][最小幅の長方形][凸包]、および [エンベロープ] ジオメトリ タイプのポイントの周囲に非常に小さい矩形ポリゴンが作成されます。[円] ジオメトリ タイプの場合は、非常に小さい円が作成されます。 MBG_WidthMBG_LengthMBG_Orientation、および MBG_Diameter の値は、このような状況を示す 0 に設定されます。
    • 入力フィーチャまたは入力フィーチャのグループが完全に整合している場合 (例: 水平ライン フィーチャ、垂直ライン フィーチャ、2 ポイントのマルチポイント フィーチャ)、フィーチャの周囲に極小幅の長方形ポリゴンが作成されます。 これは、[最小面積の長方形][最小幅の長方形][凸包]、および [エンベロープ] ジオメトリ タイプに適用されます。生成される MBG_Width の値は、このような状況を示すゼロに設定されます。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

入力フィーチャ。入力フィーチャはポイント、マルチポイント、ライン、ポリゴン、またはマルチパッチです。

Feature Layer
出力フィーチャクラス

出力ポリゴン フィーチャクラス。

Feature Class
ジオメトリ タイプ
(オプション)

出力ポリゴンによって表される、最小範囲のジオメトリのタイプを指定します。

  • 最小面積の長方形入力フィーチャを囲む最小面積の長方形。 これがデフォルトです。
  • 最小幅の長方形入力フィーチャを囲む最小幅の長方形。
  • 凸包入力フィーチャを囲む最小の凸ポリゴン。
  • 円形入力フィーチャのエンベロープを囲む最小の円。
  • エンベロープ入力フィーチャのエンベロープ。
String
グループ オプション
(オプション)

各グループを 1 つの出力ポリゴンで囲む入力フィーチャを、どのようにグループ化するかについて指定します。

  • なし入力フィーチャをグループ化しません。 これがデフォルトです。 このオプションは、ポイントの入力では使用不可になります。
  • すべてすべての入力フィーチャを 1 つのグループとして扱います。
  • リストグループ フィールド パラメーターで指定したフィールド (1 つまたは複数) 内の共通値に基づいて、入力フィーチャをグループ化します。
String
グループ フィールド
(オプション)

[グループ オプション] として [リスト] を指定した場合に、フィーチャをグループ化する際に使用される入力フィーチャ内のフィールド (1 つまたは複数)。 [リスト] オプションを使用するには、少なくとも 1 つのグループ フィールドを指定する必要があります。 指定したフィールド (1 つまたは複数) 内の値が同じフィーチャ同士はそれぞれ、グループとして扱われます。

Field
ジオメトリ特性を属性として出力に追加
(オプション)

出力フィーチャクラスのジオメトリ属性を追加するかそれとも省略するかを指定します。

  • オフ - 出力フィーチャクラスのジオメトリ属性を省略します。 これがデフォルトです。
  • オン - 出力フィーチャクラスのジオメトリ属性を追加します。
Boolean

arcpy.management.MinimumBoundingGeometry(in_features, out_feature_class, {geometry_type}, {group_option}, {group_field}, {mbg_fields_option})
名前説明データ タイプ
in_features

入力フィーチャ。入力フィーチャはポイント、マルチポイント、ライン、ポリゴン、またはマルチパッチです。

Feature Layer
out_feature_class

出力ポリゴン フィーチャクラス。

Feature Class
geometry_type
(オプション)

出力ポリゴンによって表される、最小範囲のジオメトリのタイプを指定します。

  • RECTANGLE_BY_AREA入力フィーチャを囲む最小面積の長方形。 これがデフォルトです。
  • RECTANGLE_BY_WIDTH入力フィーチャを囲む最小幅の長方形。
  • CONVEX_HULL入力フィーチャを囲む最小の凸ポリゴン。
  • CIRCLE入力フィーチャのエンベロープを囲む最小の円。
  • ENVELOPE入力フィーチャのエンベロープ。
String
group_option
(オプション)

各グループを 1 つの出力ポリゴンで囲む入力フィーチャを、どのようにグループ化するかについて指定します。

  • NONE入力フィーチャをグループ化しません。 これがデフォルトです。 このオプションは、ポイントの入力では使用不可になります。
  • ALLすべての入力フィーチャを 1 つのグループとして扱います。
  • LISTグループ フィールド パラメーターで指定したフィールド (1 つまたは複数) 内の共通値に基づいて、入力フィーチャをグループ化します。
String
group_field
[group_field,...]
(オプション)

group_option として LIST を指定した場合に、フィーチャをグループ化する際に使用される入力フィーチャ内のフィールド (1 つまたは複数)。 LIST オプションを使用するには、少なくとも 1 つのグループ フィールドを指定する必要があります。 指定したフィールド (1 つまたは複数) 内の値が同じフィーチャ同士はそれぞれ、グループとして扱われます。

Field
mbg_fields_option
(オプション)

出力フィーチャクラスのジオメトリ属性を追加するかそれとも省略するかを指定します。

  • NO_MBG_FIELDS出力フィーチャクラスの入力属性を省略します。 これがデフォルトです。
  • MBG_FIELDS出力フィーチャクラスのジオメトリ属性を追加します。
Boolean

コードのサンプル

MinimumBoundingGeometry (ジオメトリの最小範囲 → ポリゴン) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、MinimumBoundingGeometry (ジオメトリの最小範囲 → ポリゴン) 関数をイミディエイト モードで使用する方法を、例を挙げて示したものです。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MinimumBoundingGeometry_management("parks.shp",
                                         "c:/output/output.gdb/parks_mbg",
                                         "RECTANGLE_BY_AREA", "NONE")
MinimumBoundingGeometry (ジオメトリの最小範囲 → ポリゴン) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、スクリプト環境で MinimumBoundingGeometry (ジオメトリの最小範囲 → ポリゴン) 関数を適用する方法を示した単純な例です。

# Name: MinimumBoundingGeometry.py
# Description: Use MinimumBoundingGeometry function to find an area 
#              for each multipoint input feature.

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Create variables for the input and output feature classes
inFeatures = "treeclusters.shp"
outFeatureClass = "forests.shp"

# Use MinimumBoundingGeometry function to get a convex hull area
#         for each cluster of trees which are multipoint features
arcpy.MinimumBoundingGeometry_management(inFeatures, outFeatureClass, 
                                         "CONVEX_HULL", "NONE")

関連トピック