インサイド 3D (Inside 3D) (3D Analyst)

サマリー

入力フィーチャクラスを使用して、クローズド マルチパッチの中に 3D フィーチャが含まれているかどうかを判定し、部分的または完全にマルチパッチの中にあるフィーチャを出力テーブルに記録します。

[インサイド 3D (Inside 3D)] の図

使用法

  • すべての入力フィーチャについて、そのジオメトリの一部として Z 情報が格納されている必要があります。2D フィーチャクラスに高さのフィールドがある場合、[属性でフィーチャを 3D に変換 (Feature to 3D By Attribute)] ツールを使用して、3D フィーチャクラスを作成できます。

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

  • [コンプレックス出力テーブル] オプションがオンの場合、所定の入力フィーチャが交差する各マルチパッチのレコードが作成されます。1 つのフィーチャが複数のクローズド マルチパッチ フィーチャ内に存在し、出力テーブルに複数のエントリがある場合があります。

  • 出力テーブルには、次のフィールドが存在しています。

    • Target_ID - 入力フィーチャの一意の ID。
    • Status - [Target_ID] フィールドで識別されるフィーチャが、マルチパッチの内側にあるか、部分的に内側にあるかを示します。
    • Contain_ID - 入力フィーチャが内側または部分的に内側に存在しているマルチパッチの一意の ID を識別します。[コンプレックス出力テーブル] オプションがオンの場合のみ含まれます。

パラメーター

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

入力マルチパッチまたは 3D ポイント、ライン、ポリゴン フィーチャクラス

Feature Layer
入力マルチパッチ フィーチャ

入力フィーチャのコンテナーとして使用するクローズド マルチパッチ フィーチャ

Feature Layer
出力テーブル

閉じている [入力マルチパッチ フィーチャクラス] の内部または部分的に内部にある 3D の [入力フィーチャ] のリストを提供する出力テーブル。出力テーブルには、OBJECTID(オブジェクト ID)、Target_ID、および Status フィールドが含まれます。Status フィールドは、入力フィーチャ (Target_ID) がマルチパッチの内部にあるのか、部分的に内部にあるのかを示します。

Table
コンプレックス出力テーブル
(オプション)

入力フィーチャを含んでいるマルチパッチ フィーチャを特定する [Contain_ID] フィールドの作成を通じて、出力テーブルが、[入力フィーチャ][入力マルチパッチ フィーチャクラス] との間のリレーションシップを特定するかどうかを指定します。

  • オン - 入力フィーチャを含んでいるマルチパッチ フィーチャを特定します。
  • オフ - 入力フィーチャを含んでいるマルチパッチ フィーチャを特定しません。これがデフォルトです。
Boolean

arcpy.ddd.Inside3D(in_target_feature_class, in_container_feature_class, out_table, {complex_output})
名前説明データ タイプ
in_target_feature_class

入力マルチパッチまたは 3D ポイント、ライン、ポリゴン フィーチャクラス

Feature Layer
in_container_feature_class

入力フィーチャのコンテナーとして使用するクローズド マルチパッチ フィーチャ

Feature Layer
out_table

閉じている [入力マルチパッチ フィーチャクラス] の内部または部分的に内部にある 3D の [入力フィーチャ] のリストを提供する出力テーブル。出力テーブルには、OBJECTID(オブジェクト ID)、Target_ID、および Status フィールドが含まれます。Status フィールドは、入力フィーチャ (Target_ID) がマルチパッチの内部にあるのか、部分的に内部にあるのかを示します。

Table
complex_output
(オプション)

入力フィーチャを含んでいるマルチパッチ フィーチャを特定する [Contain_ID] フィールドの作成を通じて、出力テーブルが、[入力フィーチャ][入力マルチパッチ フィーチャクラス] との間のリレーションシップを特定するかどうかを指定します。

  • オン - 入力フィーチャを含んでいるマルチパッチ フィーチャを特定します。
  • オフ - 入力フィーチャを含んでいるマルチパッチ フィーチャを特定しません。これがデフォルトです。

入力フィーチャを含んでいるマルチパッチ フィーチャを特定する [Contain_ID] フィールドの作成を通じて、出力テーブルが、[入力フィーチャ][入力マルチパッチ フィーチャクラス] との間のリレーションシップを特定するかどうかを指定します。

  • COMPLEX入力フィーチャを含んでいるマルチパッチ フィーチャを特定します。
  • SIMPLE入力フィーチャを含んでいるマルチパッチ フィーチャを特定しません。これがデフォルトです。
Boolean

コードのサンプル

Inside3D (インサイド 3D) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = 'C:/data'
arcpy.Inside3D_3d('inFeature.shp', 'sample.gdb/multipatch', 'sample.gdb/output_table')
Inside3D (インサイド 3D) の例 2 (スタンドアロン スクリプト)

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

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

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

# Set Local Variables
inFC = 'Points_3D.shp' # the input feature
inMP = 'Buildings.shp' # the input multi-patch

# Ensure output has a unique name
outTbl = arcpy.CreateUniqueName('Output_Table.dbf')

# Execute Inside 3D
arcpy.Inside3D_3d(inFC, inMP, outTbl)

関連トピック