Buffer 3D (3D Analyst)

Summary

Creates a 3D buffer around points or lines to produce spherical or cylindrical multipatch features.

Illustration

Buffer 3D tool illustration

Usage

  • The output of this tool is closed multipatch features that can be used in volumetric computations and other 3D set operator tools.

  • Consider specifying a Simplification parameter value to improve performance with complex line features, such as curved lines with a large number of vertices.

  • This tool may not generate a closed multipatch for certain line features if the geometry of the line and the buffer distance produces overlapping regions with dense vertices. As a general rule, avoid buffer distances that may result in the creation of overlapping regions within the same feature.

Parameters

LabelExplanationData Type
Input Features

The line or point features that will be buffered.

Feature Layer
Output Feature Class

The output multipatch containing the 3D buffers.

Feature Class
Distance

The radial distance around the input features that will be buffered. Distances can be provided as either a value representing a linear distance or a field from the input features that contains the distance to buffer each feature.

If no linear units are specified or are entered as Unknown, the linear unit of the input features' spatial reference will be used.

Linear Unit; Field
Joint Type
(Optional)

Specifies the shape of the buffer between the vertices of the line segments. This parameter is only valid for input line features.

  • StraightThe shape of connections between vertices will be straight. This is the default.
  • RoundThe shape of connections between vertices will be round.
String
Buffer Quality
(Optional)

The number of segments that will be used to represent the resulting multipatch features. A higher value produces smoother 3D features but lengthens the processing time. Any number in the range of 6 to 60 can be provided. The default is 20.

Long
Simplification (Maximum Allowable Offset)
(Optional)

Simplifies the input lines by maintaining their shape within the specified offset of its original form. Simplification will not occur if no tolerance value is specified.

Linear Unit

arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
NameExplanationData Type
in_features

The line or point features that will be buffered.

Feature Layer
out_feature_class

The output multipatch containing the 3D buffers.

Feature Class
buffer_distance_or_field

The radial distance around the input features that will be buffered. Distances can be provided as either a value representing a linear distance or a field from the input features that contains the distance to buffer each feature.

If no linear units are specified or are entered as Unknown, the linear unit of the input features' spatial reference will be used.

Linear Unit; Field
buffer_joint_type
(Optional)

Specifies the shape of the buffer between the vertices of the line segments. This parameter is only valid for input line features.

  • STRAIGHTThe shape of connections between vertices will be straight. This is the default.
  • ROUNDThe shape of connections between vertices will be round.
String
buffer_quality
(Optional)

The number of segments that will be used to represent the resulting multipatch features. A higher value produces smoother 3D features but lengthens the processing time. Any number in the range of 6 to 60 can be provided. The default is 20.

Long
simplification_tolerance
(Optional)

Simplifies the input lines by maintaining their shape within the specified offset of its original form. Simplification will not occur if no tolerance value is specified.

Linear Unit

Code sample

Buffer3D example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window:

arcpy.env.workspace = 'C:/data'
arcpy.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters', 
                 'Round', 30, '1 Meters')
Buffer3D example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script:

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

# Set environment settings
arcpy.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')

Related topics