インサイド 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)