Buffer (Analysis)

License Level:BasicStandardAdvanced

Summary

Creates buffer polygons around input features to a specified distance.

Learn more about how Buffer works

Illustration

Buffer illustration

Usage

Syntax

Buffer_analysis (in_features, out_feature_class, buffer_distance_or_field, {line_side}, {line_end_type}, {dissolve_option}, {dissolve_field})
ParameterExplanationData Type
in_features

The input point, line, or polygon features to be buffered.

Feature Layer
out_feature_class

The feature class containing the output buffers.

Feature Class
buffer_distance_or_field

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

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

When specifying a distance in scripting, if the desired linear unit has two words, like Decimal Degrees, combine the two words into one (for example, '20 DecimalDegrees').

Linear unit ;Field
line_side
(Optional)

The side(s) of the input features that will be buffered.

  • FULLFor line input features, buffers will be generated on both sides of the line. For polygon input features, buffers will be generated around the polygon and will contain and overlap the area of the input features. For point input features, buffers will be generated around the point. This is the default.
  • LEFTFor line input features, buffers will be generated on the topological left of the line. This option is not valid for polygon input features.
  • RIGHTFor line input features, buffers will be generated on the topological right of the line. This option is not valid for polygon input features.
  • OUTSIDE_ONLYFor polygon input features, buffers will be generated only outside the input polygon (the area inside the input polygon will be erased from the output buffer). This option is not valid for line input features.
LicenseLicense:

This optional parameter is not available with a Basic or Standard license.

String
line_end_type
(Optional)

The shape of the buffer at the end of line input features. This parameter is not valid for polygon input features.

  • ROUNDThe ends of the buffer will be round, in the shape of a half circle. This is the default.
  • FLATThe ends of the buffer will be flat, or squared, and will end at the endpoint of the input line feature.
LicenseLicense:

This optional parameter is not available with a Basic or Standard license.

String
dissolve_option
(Optional)

Specifies the dissolve to be performed to remove buffer overlap.

  • NONEAn individual buffer for each feature is maintained, regardless of overlap. This is the default.
  • ALLAll buffers are dissolved together into a single feature, removing any overlap.
  • LISTAny buffers sharing attribute values in the listed fields (carried over from the input features) are dissolved.
String
dissolve_field
[dissolve_field,...]
(Optional)

The list of field(s) from the input features on which to dissolve the output buffers. Any buffers sharing attribute values in the listed fields (carried over from the input features) are dissolved.

Field

Code Sample

Buffer example (Python window)

The following Python window script demonstrates how to use the Buffer tool.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
Buffer example (stand-alone script)

Find areas of suitable vegetation that exclude areas heavily impacted by major roads:

# Name: Buffer.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"

# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1" 
arcpy.Select_analysis(veg, suitableVeg, whereClause)

# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, dissolveType, dissolveField)

# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Limited
ArcGIS for Desktop Standard: Limited
ArcGIS for Desktop Advanced: Yes
5/6/2013