ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

ユニオン 3D (Union 3D)

  • 概要
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

概要

入力フィーチャクラスから、重なり合うクローズド マルチパッチ フィーチャをマージします。

図

[ユニオン 3D (Union 3D)]

使用法

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

  • 互いが重なる体積を含むマルチパッチ フィーチャは、フィーチャのシェルを交差させ、内部の重複部分を削除することによって結合されます。このプロセスは、フィーチャクラスのすべてのマルチパッチ フィーチャが処理されるまで、繰り返し実行されます。

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

  • 最適化を有効にすると、ツールは、各フィーチャのバウンディング ボックスを解析することによって、自動的にフィーチャをグループに分けます。グループ フィールドを指定したら、最適化を無効にすることで、ツールのパフォーマンスが向上する可能性があります。目的の出力が、重なり合うすべてのフィーチャを単一のマルチパッチに結合することになっている場合は、グループ フィールドがないため、この場合も最適化を無効にできます。

  • 出力フィーチャクラスに非常に大きく複雑なフィーチャが作成されると、表示パフォーマンスの低下を起こす可能性があるため、集約するフィーチャの数を決定する際には注意が必要です。

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

  • オプションのテーブルを作成し、結合されたソース フィーチャの属性を特定して、結合された各出力を生成することができます。

    メモ:

    テーブルと出力フィーチャクラスとの関係を確立することで、ソース フィーチャに関連付けられている属性を検索できます。詳細については、「テーブル間の属性のリレート」をご参照ください。

構文

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 (ユニオン 3D) の例 1 (Python ウィンドウ)

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

import arcpy
from arcpy import env

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

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

'''****************************************************************************
Name: Union3D Example
Description: This script demonstrates how to use the 
             Union3D tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    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)
    arcpy.CheckInExtension('3D')


except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

  • 現在のワークスペース
  • 範囲
  • 出力座標系
  • 地理座標系変換
  • 出力データのコンフィグレーション キーワード
  • 自動コミット
  • 出力データの XY ドメイン
  • 出力データの Z ドメイン

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック

  • 3D フィーチャ ツールセットの概要
  • 3D フィーチャについて
  • ArcGIS 3D Analyst エクステンションのジオプロセシングの基礎
  • 3D セット演算子の使用
  • 既存の 3D モデルをマルチパッチ フィーチャクラスへインポートする手順
  • マルチパッチ
  • 3D ファイルのインポート (Import 3D Files)

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル