3D ラインをマルチパッチでインターセクト(Intersect 3D Line With Multipatch) (3D Analyst)

サマリ

入力ラインとマルチパッチ フィーチャのジオメトリの交差部分を計算し、交差ポイント数を返します。(交差)ポイントまたは(交差ポイントで切断される入力ラインから得られる)ライン(あるいはその両方)が、任意で出力フィーチャクラスに書き込まれます。

[3D ラインをマルチパッチでインターセクト(Intersect 3D Line With Multipatch)](3D Analyst)の仕組みの詳細

使用法

構文

Intersect3DLineWithMultiPatch_3d (in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})
パラメータ説明データ タイプ
in_line_features

入力ライン フィーチャクラスまたはレイヤ。

Feature Layer
in_multipatch_features

入力マルチパッチ フィーチャクラスまたはレイヤ。

Feature Layer
join_attributes
(オプション)

入力ライン フィーチャクラスのすべての必須でないフィールド(ObjectID またはジオメトリ以外)と値を、オプションの出力ライン フィーチャクラスにコピーできるようにします。

  • IDS_ONLY 入力ライン フィーチャクラスの属性は出力フィーチャクラスに書き込まれません。これがデフォルトです。
  • ALL入力ライン フィーチャクラスのすべての属性が出力フィーチャクラスに書き込まれます。
String
out_point_feature_class
(オプション)

交差ポイントが配置されるオプションのフィーチャクラス。

Feature Class
out_line_feature_class
(オプション)

ライン(交差ポイントで切断される入力ライン)が配置されるオプションのフィーチャクラス。

Feature Class

コードのサンプル

Intersect 3D Line With Multipatch(3D ラインをマルチパッチでインターセクト)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで Intersect 3D Line With Multipatch(3D ラインをマルチパッチでインターセクト)関数を使用する方法を示しています。

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Intersect3DLineWithMultiPatch_3d('inLine.shp', 'inMultipatch.shp', 
                                     'IDS_ONLY', 'outPts.shp', 'outLine.shp')
Intersect 3D Line With Multipatch(3D ラインをマルチパッチでインターセクト)の例 2(スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで Intersect 3D Line With Multipatch(3D ラインをマルチパッチでインターセクト)関数を使用する方法を示しています。

'''****************************************************************************
Name: Intersect3DLineWithMultiPatch Example
Description: This script demonstrates how to
             use the Intersect3DLine 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
    inLineFC = 'sample.gdb/lines_3d'
    inMP = 'sample.gdb/test_MP'
    # Ensure a unique name is produced for output files
    outPoint = arcpy.CreateUniqueName('OutPt_3DIntersect', 'sample.gdb')
    outLine = arcpy.CreateUniqueName('OutLine_3DIntersect', 'sample.gdb')
    
    # Execute Intersect 3D Line with Multipatch
    arcpy.Intersect3DLineWithMultiPatch_3d(inLineFC, inMP, 'IDS_ONLY', 
                                        outPoint, outLine)

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