ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

3D 线与多面体相交

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

返回 3D 线和多面体要素之间几何交集的数量,并且还提供用于表示相交点的可选要素,另在这些点处对 3D 线进行分割。

插图

3D 线与多面体相交示例

用法

  • 交点计数将在消息窗口中返回,并可在模型或脚本中用于建立后续操作的前提条件。

  • 此工具用于确定 3D 欧氏空间中的交点。此工具不支持 2D 线要素,但通过依据属性实现要素转 3D,可将属性字段中存储了高度定义的 2D 线要素转换为 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 长度。
  • 通过连接属性参数使用输出线要素类可在可选输出要素中引用原始线的属性值。

语法

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
(可选)

将与可选输出要素一同存储的输入线要素属性。

  • IDS_ONLY — 仅存储要素标识号。这是默认设置。
  • ALL —将存储所有属性。
String
out_point_feature_class
(可选)

用于表示 3D 线和多面体之间交点的可选要素。

Feature Class
out_line_feature_class
(可选)

在与多面体要素的各交点处对输入线进行分割的可选线要素。

Feature Class

代码示例

Intersect3DLineWithMultipatch 示例 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 示例 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 属性域

许可信息

  • ArcGIS Desktop Basic: 需要 3D Analyst
  • ArcGIS Desktop Standard: 需要 3D Analyst
  • ArcGIS Desktop Advanced: 需要 3D Analyst

相关主题

  • 3D 要素工具集概述
  • 关于 3D 要素
  • 有关使用 ArcGIS 3D Analyst 扩展模块进行地理处理的基础知识
  • 使用 3D 集合运算符
  • 如何将现有 3D 模型导入到多面体要素类中
  • 多面体 (Multipatch)
  • 导入 3D 文件

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明