Skip To Content

Multiple Ring Buffer


Creates multiple buffers at specified distances around the input features. These buffers can optionally be merged and dissolved using the buffer distance values to create non-overlapping buffers.


Multiple Ring Buffer illustration


  • The Buffer Unit parameter is ignored if the Input Features do not have a defined spatial reference.

  • If the Dissolve Option ALL is used, the output feature class will contain one feature for each distance specified in the Distances parameter (all buffers the same distance from the Input Features will be dissolved).

  • The tool creates intermediate data which is written to the location specified in the Scratch workspace environment setting. If the Scratch workspace environment is not set, the temporary data is written to the location defined by the TEMP system variable.

  • This tool is a Python script tool. The script can be viewed by right-clicking the tool and selecting Edit.

  • For more information about buffers, see the Buffer tool.


MultipleRingBuffer_analysis (Input_Features, Output_Feature_class, Distances, {Buffer_Unit}, {Field_Name}, {Dissolve_Option}, {Outside_Polygons_Only})
ParameterExplanationData Type

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

Feature Layer

The output feature class that will contain multiple buffers.

Feature Class

The list of buffer distances.


The linear unit to be used with the distance values. If the units are not specified, or Default is used, the linear unit of the input features' spatial reference is used. If Default is used and the Output Coordinate System geoprocessing environment has been set, the linear unit of the environment will be used.

  • DefaultDefault
  • InchesInches
  • FeetFeet
  • YardsYards
  • MilesMiles
  • NauticalMilesNautical Miles
  • MillimetersMillimeters
  • CentimetersCentimeters
  • DecimetersDecimeters
  • MetersMeters
  • KilometersKilometers
  • DecimalDegreesDecimal Degrees
  • PointsPoints

The name of the field in the output feature class that stores the buffer distance used to create each buffer feature. If no name is specified, the default field name is 'distance'. This field will be of type Double.


Determines if buffers will be dissolved to resemble rings around the input features.

  • ALLBuffers will be rings around the input features that do not overlap (think of these as rings or donuts around the input features). The smallest buffer will cover the area of its input feature plus the buffer distance, and subsequent buffers will be rings around the smallest buffer which do not cover the area of the input feature or smaller buffers. All buffers of the same distance will be dissolved into a single feature. This is the default.
  • NONEAll buffer areas will be maintained regardless of overlap. Each buffer will cover its input feature plus the area of any smaller buffers.

Valid only for polygon input features.

  • FULLBuffers will overlap or cover the input features. This is the default.
  • OUTSIDE_ONLYBuffers will be rings around the input features, and will not overlap or cover the input features (the area inside the input polygon will be erased from the buffer).

Code sample

MultipleRingBuffer example (Python window)

The following Python window script demonstrates how to use the MultipleRingBuffer tool in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.MultipleRingBuffer_analysis("schools", "c:/output/output.gdb/multibuffer1", [10,20,30],
                                  "meters", "", "ALL")
MultipleRingBuffer example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the MultipleRingBuffer tool.

# Name:
# Description: Create multiple buffers for the input features
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
# Set local variables
inFeatures = "schools"
outFeatureClass = "c:/output/output.gdb/multibuffer1"
distances = [10, 20, 30]
bufferUnit = "meters"
# Execute MultipleRingBuffer
arcpy.MultipleRingBuffer_analysis(inFeatures, outFeatureClass, distances, bufferUnit, "", "ALL")

Licensing information

  • ArcGIS Desktop Basic: Yes
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics