インサイド 3D (3D Analyst)
サマリ
各フィーチャがマルチパッチの内側にあるのかどうかテストします。マルチパッチ フィーチャの内側にある場合、どのフィーチャ内に存在するのかを示す新しいテーブルへのエントリを記述します。
図

使用法
-
入力フィーチャが必要です。その入力フィーチャには、閉じたマルチパッチ ジオメトリが存在していなければなりません。
-
解析には閉じたマルチパッチのみを使用できます。
-
1 つのフィーチャが複数の閉じたマルチパッチ フィーチャ内に存在し、出力テーブルに複数のエントリを持つ場合があります。
[インサイド 3D(Inside 3D)] は、[3D フィーチャ] ツールセットの一部を成す 3D セット演算子です。セット演算子の種類と、その使用方法については、「3D セット演算子の使用」をご参照ください。
-
出力テーブルには、次のフィールドが存在しています。
- OBJECTID: フィールドの OBJECTID。
- Target_ID:元のフィーチャの OBJECTID。
- ステータス:入力フィーチャ(Target_ID)が、マルチパッチの内側にあるか、部分的に内側にあるかを示します。
-
[コンプレックス出力テーブル] オプションがオンの場合、出力テーブルには次のフィールドが存在します。
- OBJECTID: フィールドの OBJECTID。
- Target_ID:元のフィーチャの OBJECTID。
- ステータス:入力フィーチャ(Target_ID)が、マルチパッチの内側にあるか、部分的に内側にあるかを示します。
- Container_ID:Container_ID は、入力フィーチャが内側または部分的に内側に存在しているマルチパッチを正確に表しています。
構文
| パラメータ | 説明 | データ タイプ |
in_target_feature_class |
Z 対応ポイント、ライン、ポリゴン、またはマルチパッチ フィーチャです。 | Feature Layer |
in_container_feature_class |
マルチパッチ フィーチャ。マルチパッチは閉じている必要があります。[クローズド 3D(Is Closed 3D)] ツールを使用して、マルチパッチが閉じているかどうか確認します。 | Feature Layer |
out_table |
閉じている [入力マルチパッチ フィーチャクラス] の内側または部分的に内側にある 3D の [入力フィーチャ] のリストを提供する出力テーブル。出力テーブルには、OBJECTID(オブジェクト ID)、Target_ID、および Status が含まれます。Status は、入力フィーチャ(Target_ID)がマルチパッチの内側にあるのか、部分的に内側にあるのかを示します。 | Table |
complex_output (オプション) |
[コンプレックス出力テーブル] オプションは、[入力フィーチャ] と [入力マルチパッチ フィーチャクラス] の間の関係に関する情報を含むように、出力テーブルを変更します。これによって、特定の閉じたマルチパッチの内側または部分的に内側に存在するフィーチャを特定できるようになります。チェックボックスをオンにすると、出力テーブルには Target_ID 情報と一緒に、追加で Container_ID が表示されます。この Container_ID は、入力フィーチャ(Target_ID)が内側または部分的に内側に存在しているマルチパッチを正確に表しています。 | Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで Inside 3D(インサイド 3D)関数を使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Inside3D_3d('inFeature.shp', 'sample.gdb/multipatch', 'sample.gdb/output_table')
次の Python スクリプトは、スタンドアロン スクリプトで Inside 3D(インサイド 3D)関数を使用する方法を示しています。
'''****************************************************************************
Name: Inside3D Example
Description: This script demonstrates how to use the
Inside3D tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
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)
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)