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 缓冲

  • 描述
  • 插图
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

围绕点或线创建三维缓冲区以生成球形或圆柱形的多面体要素。

插图

3D 缓冲图示

使用方法

  • 此工具的输出是闭合多面体要素,可用于体积计算和其他 3D 集合操作工具。

  • 考虑指定一个简化值以提高复杂线要素(例如带有大量折点的曲线)的性能。

  • 如果线几何和缓冲距离生成折点密集的重叠区域,则此工具可能无法生成某些线要素的闭合多面体。一般来说,最好避开可能会导致在同一要素内创建重叠区域的缓冲距离。

语法

arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
参数说明数据类型
in_features

待缓冲的线或点要素。

Feature Layer
out_feature_class

包含 3D 缓冲区的输出多面体。

Feature Class
buffer_distance_or_field

输入要素的缓冲距离,可以是线性距离或从输入要素属性表中的数值字段获取。如果已通过输入字段指定缓冲距离,则将通过要素空间参考获得其测量单位。如果已将线性距离指定为数值,则支持以下测量单位:

  • UNKNOWN —未知
  • INCHES —英寸
  • FEET —英尺
  • YARDS —码
  • MILES —英里
  • MILLIMETERS —毫米
  • CENTIMETERS —厘米
  • DECIMETERS —分米
  • METERS —米
  • KILOMETERS —千米
Linear Unit; Field
buffer_joint_type
(可选)

线段折点之间的缓冲区形状。此参数只对线输入要素有效。

  • STRAIGHT —折点之间的连接线形状是平直的。这是默认设置。
  • ROUND —折点之间的连接线形状为圆形。
String
buffer_quality
(可选)

用于表示生成的多面体要素的线段数。默认为 20,但可输入 6 到 60 范围内的任何数字。缓冲质量值越高,生成的 3D 要素越平滑,但同时也会增加处理时间。

Long
simplification_tolerance
(可选)

简化输入线,方法是保持它们在其原始形态的指定偏移范围内的形状。如果未指定值,则不会进行简化。支持以下测量单位:

  • UNKNOWN —未知
  • INCHES —英寸
  • FEET —英尺
  • YARDS —码
  • MILES —英里
  • MILLIMETERS —毫米
  • CENTIMETERS —厘米
  • DECIMETERS —分米
  • METERS —米
  • KILOMETERS —千米
Linear Unit

代码示例

Buffer3D 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters', 
                 'Round', 30, '1 Meters')
Buffer3D 示例 2(独立脚本)

下面的示例演示了如何在独立 Python 脚本中使用此工具。

'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of 
             the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inFC = 'lineFC.shp'
    bufferOut = 'buffer3d.shp'
    # Execute Buffer 3D
    arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
    arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')

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 属性域
  • 输出 Z 属性域

许可信息

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

相关主题

  • 3D 要素工具集概览
  • 关于 3D 要素
  • 有关使用 ArcGIS 3D Analyst 扩展模块进行地理处理的基础知识

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明