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

サマリ

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

[インサイド 3D(Inside 3D)] ツールの仕組みの詳細

Inside 3D tool graphic

使用法

構文

Inside3D_3d (in_target_feature_class, in_container_feature_class, out_table, {complex_output})
パラメータ説明データ タイプ
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

コードのサンプル

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

次の 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')
Inside 3D(インサイド 3D)の例 2(スタンドアロン スクリプト)

次の 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)

環境

関連項目

ライセンス情報

ArcView: 必須 3D Analyst
ArcEditor: 必須 3D Analyst
ArcInfo: 必須 3D Analyst

7/10/2012