ユニオン 3D (Union 3D) (3D Analyst)

サマリー

入力フィーチャクラスから重複しているクローズド マルチパッチ フィーチャをマージします。

ユニオン 3D (Union 3D) ツールの図

使用法

  • この解析には、クローズド マルチパッチ ジオメトリが必要です。 [クローズド 3D (Is Closed 3D)] ツールを使用すると、マルチパッチ フィーチャクラスにクローズド フィーチャが含まれているかどうかを判定できます。また、[クローズド マルチパッチの作成 (Enclose Multipatch)] ツールを使用すると、マルチパッチ フィーチャのギャップを除去できます。

  • このツールは、入力フィーチャの最も外側の部分を維持し、結合されたフィーチャの内部にあるジオメトリを削除して、重複している体積を取り含む交差マルチパッチ フィーチャを結合します。 個別のテーブルを作成して、結合された各出力を生成するためにマージされたソース フィーチャを特定することができます。

  • たとえば、複数のフィーチャが同じ建物の各部分を表している場合は、グループ フィールドを使用して、結合されるフィーチャを特定できます。 グループ フィールドを使用することにより、データセットでツールを実行する回数を減らせるため、パフォーマンスを著しく向上させることができます。 1 つのフィーチャをすべてのフィーチャと比較するのではなく、そのグループに属するフィーチャとだけ比較します。

  • 最適化を有効にすると、ツールは、各フィーチャのバウンディング ボックスを解析することによって、自動的にフィーチャをグループに分けます。 グループ フィールドを指定したら、最適化を無効にすることで、ツールのパフォーマンスが向上する可能性があります。 目的の出力が、重なり合うすべてのフィーチャを単一のマルチパッチに結合することになっている場合は、グループ フィールドがないため、この場合も最適化を無効にできます。 出力フィーチャクラス内に非常に大きく複雑なフィーチャが作成されると、表示パフォーマンスが低下する可能性があるため、集約するフィーチャの数を決定する際には注意が必要です。

  • 複数のマルチパッチ フィーチャが 1 つのエッジまたは頂点を共有している場合、作成されるフィーチャがシンプルでないため、作成されない可能性もあるという警告が表示されます。 このメッセージは、フィーチャが空間を共有していないので、フィーチャのマージができなかったことを示します。

  • 入力マルチパッチ フィーチャのテクスチャと色は、出力では維持されません。

パラメーター

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

結合するマルチパッチ フィーチャ。

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

集約されたフィーチャを格納する出力マルチパッチ フィーチャクラス。

Feature Class
グループ フィールド
(オプション)

グループ化するフィーチャを特定する際に使用するフィールド。

Field
最適化の無効化
(オプション)

入力データの最適化を実行するかどうかを指定します。 最適化では、パフォーマンスを向上させるために入力データをグループ化して前処理し、重複フィーチャごとに一意の出力を生成します。

  • オフ - 入力データの最適化が実行されます。 グループ フィールドは無視されます。 これがデフォルトです。
  • オン - 入力データの最適化が実行されません。 フィーチャは、単一の出力フィーチャに保存されるか、グループ フィールドが指定されている場合は、それぞれのグループ フィールドに従って結合されます。
Boolean
すべてのソリッドの出力
(オプション)

出力フィーチャクラスに、すべてのフィーチャを含めるか、結合された重複フィーチャだけを含めるかを指定します。

  • オン - すべての入力フィーチャが出力に書き込まれます。 これがデフォルトです。
  • オフ - 結合されたフィーチャだけが出力に書き込まれます。 重複していないフィーチャは無視されます。
Boolean
出力テーブル
(オプション)

各出力に影響を与える入力フィーチャを特定する多対 1 のテーブル。

Table

arcpy.ddd.Union3D(in_feature_class, out_feature_class, {group_field}, {disable_optimization}, {output_all}, {out_table})
名前説明データ タイプ
in_feature_class

結合するマルチパッチ フィーチャ。

Feature Layer
out_feature_class

集約されたフィーチャを格納する出力マルチパッチ フィーチャクラス。

Feature Class
group_field
(オプション)

グループ化するフィーチャを特定する際に使用するフィールド。

Field
disable_optimization
(オプション)

入力データの最適化を実行するかどうかを指定します。 最適化では、パフォーマンスを向上させるために入力データをグループ化して前処理し、重複フィーチャごとに一意の出力を生成します。

  • ENABLE入力データの最適化が実行されます。 グループ フィールドは無視されます。 これがデフォルトです。
  • DISABLE入力データの最適化が実行されません。 フィーチャは、単一の出力フィーチャに保存されるか、グループ フィールドが指定されている場合は、それぞれのグループ フィールドに従って結合されます。
Boolean
output_all
(オプション)

出力フィーチャクラスに、すべてのフィーチャを含めるか、結合された重複フィーチャだけを含めるかを指定します。

  • ENABLEすべての入力フィーチャが出力に書き込まれます。 これがデフォルトです。
  • DISABLE結合されたフィーチャだけが出力に書き込まれます。 重複していないフィーチャは無視されます。
Boolean
out_table
(オプション)

各出力に影響を与える入力フィーチャを特定する多対 1 のテーブル。

Table

コードのサンプル

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

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

import arcpy
from arcpy import env

env.workspace = 'C:/data'
arcpy.Union3D_3d('multipatch.shp', 'union_output.shp', 'GROUP_FIELD', 
                'DISABLE', 'ENABLE', 'UnionTable.dbf')
Union3D の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
Name: Union3D Example
Description: This script demonstrates how to use the 
             Union3D tool.
****************************************************************************'''
# Import system modules
import arcpy

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

# Set Local Variables
inMP = "multipatch.shp"

# Ensure output multipatch has a unique name
outMP = arcpy.CreateUniqueName("union_output.shp")
outTbl = arcpy.CreateUniqueName("UnionTable.dbf")
GroupField = "Type"
optimize = "DISABLE"
solids = "ENABLE"

# Execute Union3D
arcpy.ddd.Union3D(inMP, outMP, GroupField, optimize, solids, outTbl)

関連トピック