ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

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

  • 概要
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

概要

3D ラインとマルチパッチ フィーチャのジオメトリの交差部分の数を返し、交差ポイントを表すオプションのフィーチャを出力するとともに、3D ラインを交差ポイントで分割します。

図

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

使用法

  • 交差数は、メッセージ ウィンドウに返され、それ以降の処理の前提条件を確立するモデルまたはスクリプトに使用できます。

  • このツールは、3D ユークリッド空間での交差ポイントを決定します。2D ライン フィーチャはこのツールでサポートされていませんが、高さの定義が属性フィールドに格納された 2D ライン フィーチャは、[属性でフィーチャを 3D に変換 (Feature to 3D By Attribute)] を使用して、3D に変換できます。

  • オプションのポイント出力は、入力ラインとマルチパッチ フィーチャ間の交差ポイントを表し、次の属性を含みます。

    • LINE_OID - 交差の見つかった元のラインの OBJECTID。
    • MPATCH_OID - この位置でラインと交差したマルチパッチの OBJECTID。
    • DIST_3D - 交差の見つかった元のラインの 3D 距離。
  • オプションのライン出力は、交差ポイントで入力ライン フィーチャを分割し、次の属性を含みます。

    • LINE_OID - 新しいラインの取得元である元のラインの OBJECTID。
    • FROM_MP_ID - 新しいラインの始点と交差するマルチパッチ フィーチャの OBJECTID。値が -1 の場合、ラインの始点が交差ポイントでないことを示します。
    • TO_MP_ID - 新しいラインの終点と交差するマルチパッチの OBJECTID。値が -1 の場合、ラインの始点が交差ポイントでないことを示します。
      メモ:

      ラインがマルチパッチと交差しない場合は、このマルチパッチは出力に直接コピーされ、FROM_MP_ID フィールドと TO_MP_ID フィールドには -1 が出力されます。

    • DIST_3D - 交差の見つかった元のライン (この新しいラインの始点となるライン) の 3D 距離。
    • LENGTH_3D - この新しいラインの 3D 長さ。元のラインから取得した新しい各ラインの長さを合計した値は、元のラインの 3D 長さに等しくなります。
  • 元のラインの属性値は、出力ライン フィーチャクラスを使用することで、[属性を結合] パラメーターを介してオプションの出力フィーチャ内で参照できます。

構文

arcpy.ddd.Intersect3DLineWithMultiPatch(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
(オプション)

オプションの出力フィーチャに格納される入力ライン フィーチャ属性。

  • IDS_ONLY — フィーチャの識別番号のみが格納されます。これがデフォルトです。
  • ALL —すべての属性が格納されます。
String
out_point_feature_class
(オプション)

3D ラインとマルチパッチ間の交差ポイントを表すオプションのフィーチャ。

Feature Class
out_line_feature_class
(オプション)

マルチパッチ フィーチャとの各交差ポイントで入力ラインを分割するオプションのライン フィーチャ。

Feature Class

派生した出力

名前説明データ タイプ
out_intersection_count

交差数。

Long

コードのサンプル

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

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

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')
Intersect3DLineWithMultipatch (3D ラインをマルチパッチでインターセクト) の例 2 (スタンドアロン スクリプト)

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

'''****************************************************************************
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)

環境

  • 現在のワークスペース
  • 範囲
  • 出力座標系
  • 地理座標系変換
  • XY 座標精度
  • XY 許容値
  • Z 座標精度
  • Z 許容値
  • 出力データのコンフィグレーション キーワード
  • 自動コミット
  • 出力データの XY ドメイン
  • 出力データの Z ドメイン

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック

  • 3D フィーチャ ツールセットの概要
  • 3D フィーチャについて
  • ArcGIS 3D Analyst エクステンションのジオプロセシングの基礎
  • 3D セット演算子の使用
  • 既存の 3D モデルをマルチパッチ フィーチャクラスへインポートする手順
  • マルチパッチ
  • 3D ファイルのインポート (Import 3D Files)

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル