ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Buffer

Available with Advanced license.

  • Summary
  • Illustration
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Creates buffer polygons around specified input coverage features.

Learn more about how Buffer works

Illustration

Buffer illustration

Usage

  • Negative and positive distances can be used for buffer distance with the POLY option. It is possible to shrink some polygons and grow others in the same coverage when the buffer item contains positive and negative numbers.

  • The ROUND, FLAT, FULL, LEFT, and RIGHT options apply only to line data.

  • Small sliver polygons may be created by the Buffer tool. They can cause problems when coded as nonbuffer areas inside buffer zones. Remove them with Eliminate.

  • Features will not be buffered if their buffer distance is zero. If you do not want to buffer a feature in the input coverage, give it a buffer distance value of zero in a buffer item or of DIST in a buffer table.

  • When performing a buffer on a coverage that contains island polygons, all the polygons with a buffer distance greater than zero get buffered. However, since the island buffer is entirely within its surrounding polygon buffer, it is dissolved into the surrounding polygon during Buffer's dissolve phase and the island buffers will not be visible.

  • Nodes can be buffered on coverages with or without an NAT. If there is no NAT, the nodes in the AAT must be numbered (FNODE# and TNODE# must be greater than zero). Run Renumber Nodes if the node numbers are zero.

  • The LEFT and RIGHT options generate buffers at the left or right of a line. Caution must be exercised in interpreting the left or right of a line. A single line segment defines two half planes, cutting a rectangular buffer into two clearly defined left and right sections. When connecting line segments, points that are on the left side of one segment may be on the right side of another connecting segment. This ambiguity can be prevented by a concept of not crossing over the line.

  • The LEFT and RIGHT options use the topological left and right of the line, so line topology must be present for the use of these options. To access the Line buffer styles, use Build on the input coverage with LINE and NODE.

  • The BUFFER function works in Euclidean space and uses a two-dimensional algorithm. A buffer will be the same width no matter what the coordinate system is. It will not reflect the curvature or the shape of the earth. For the best results, generate the buffer in a map projection that minimizes distortion in the area of interest.

  • For buffers around lines, the fuzzy tolerance for the output coverage may not be the same as the fuzzy tolerance for the input coverage. The output tolerance may be reset as a function of the buffer distance. This may happen for larger buffer distances and reflects the progressively courser approximation of a circle with a fixed number of straight line segments. If this effect is to be avoided, a buffer can be grown in a number of steps. First, run Buffer with the LINE option using a small buffer distance, then run a number of buffers on this using the POLY option until you achieve the desired resultant buffer distance. Fuzzy tolerance changes only for buffers around lines; it does not change for buffers around polygons.

  • The coordinate precision of the output coverage is determined by the current processing rule as set by the Precision for Derived Coverages environment setting. If the processing rule has not been established during the current session, then the processing rule will be HIGHEST. This means that Buffer will create an output coverage in the same precision as the input coverage.

  • On both single-precision and double-precision coverages, Buffer calculates a minimum tolerance based on the mathematical precision of the coverage (based on the width of the BND and the number of decimal places). If the calculated minimum tolerance is greater than the entered fuzzy tolerance, the calculated minimum tolerance is used.

    Learn more about how the default fuzzy tolerance is calculated

  • The projection file (PRJ) will be copied to the output coverage.

Syntax

Buffer_arc (in_cover, out_cover, {feature_type}, {buffer_item}, {buffer_table}, {buffer_distance}, {fuzzy_tolerance}, {buffer_shape}, {buffer_side})
ParameterExplanationData Type
in_cover

The coverage containing features to be buffered.

Coverage
out_cover

The polygon buffer coverage to be created.

Coverage
feature_type
(Optional)

The feature class to be buffered:

  • LINE —Arcs will be buffered. This is the default.
  • POLY —Polygons will be buffered.
  • POINT —Points will be buffered.
  • NODE —Nodes will be buffered.
String
buffer_item
(Optional)

An item in the feature attribute table of input coverage whose value is used as the feature's buffer distance. If a buffer table is used, the buffer item functions as a lookup item in the buffer table.

String
buffer_table
(Optional)

An INFO lookup table that lists a buffer distance for each buffer item. A buffer table can be specified only if the buffer item is specified. The buffer table contains at least two items:

  • Buffer Item—Defined the same as buffer item in the input coverage feature attribute table. The buffer table must be sorted on this item in ascending order.
  • DIST—The buffer distance for each buffer item value. DIST must be defined as a numeric item (that is, N, I, F, or B). A lookup table will categorize item values.
INFO Table
buffer_distance
(Optional)

The distance used to create buffer zones around input coverage features when buffer item and buffer table are not specified. The default buffer distance is 0.125 coverage units. This default buffer distance will be applied whenever a value for this parameter is not specified.

The smallest buffer distance that can be computed is 0.00000005 coverage units. Specifying a buffer distance below this threshold will result in an empty output coverage. For polygon features, if a negative buffer distance is used, buffers will be generated on the insides of polygons.

Double
fuzzy_tolerance
(Optional)

The minimum distance between coordinates in the out_cover. By default, the minimum fuzzy tolerance value from the in_cover is used.

Double
buffer_shape
(Optional)

For lines, the shape of the buffer at the line endpoints.

  • ROUND —Will make an end in the shape of a halfcircle.
  • FLAT —Will construct rectangular line endings with the middle of the short side of the rectangle coincident with the endpoint of the line.
String
buffer_side
(Optional)

For lines, the topological side on which the buffer may be generated.

  • FULL —On all sides. This is the default.
  • LEFT —Half buffer on the topological left side of a line.
  • RIGHT —Half buffer on the topological right side of a line.
String

Code Sample

Buffer example (stand-alone script)

The following stand-alone script demonstrates how to create a buffer around a road coverage.

# Name: Buffer_Example.py
# Description: Creates a buffer around a road coverage.
# Requirements: ArcInfo Workstation

# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
inCover = "road"
outCover = "C:/output/roadbuf"
featureType = "LINE"
bufferDistance = 200
bufferShape = "ROUND"
bufferSide = "FULL"

# Execute Buffer
arcpy.Buffer_arc(inCover, outCover, featureType, "", "", bufferDistance, "",
                 bufferShape, bufferSide)

Environments

  • Current Workspace
  • Level Of Comparison Between Projection Files
  • Precision For Derived Coverages
  • Precision For New Coverages
  • Scratch Workspace

Licensing Information

  • ArcGIS for Desktop Basic: No
  • ArcGIS for Desktop Standard: No
  • ArcGIS for Desktop Advanced: Requires ArcInfo Workstation installed

Related Topics

  • An overview of the Proximity toolset
  • An overview of the Proximity toolset
  • Dissolve
  • Eliminate
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

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

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal