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

概要

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

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

使用法

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

  • ライセンス:

    [ジオメトリ タイプ] オプションの [凸包][円]、および [エンベロープ] は、ArcGIS Desktop Advanced ライセンスでのみ使用できます。

  • [グループ オプション] パラメーター (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 の値は、このような状況を示すゼロに設定されます。

構文

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入力フィーチャのエンベロープ
ライセンス:

[凸包][円]、および [エンベロープ] オプションは、ArcGIS Desktop Advanced ライセンスでのみ使用できます。

String
group_option
(オプション)

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

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

LIST として group_option を指定した場合に、フィーチャをグループ化する際に使用される入力フィーチャ内のフィールド (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")

ライセンス情報

  • Basic: 制限付き
  • Standard: 制限付き
  • Advanced: はい

関連トピック