Multiple Ring Buffer (Analysis)


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


  • If the input features have a projected coordinate system, planar buffers will be produced in the output. Ensure the input features have a coordinate system that is suitable for distance analysis, such as an equidistant projection.

    If the input features have a geographic coordinate system, geodesic buffers will be produced in the output, as planar buffers of non-projected features would be highly inaccurate.

    Learn more about geodesic and planar (or Euclidean) buffers

  • If the dissolve all option is specified, 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 together.


MultipleRingBuffer(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 the default is chosen, 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. The linear unit is ignored if the input features have an unknown or undefined spatial reference.

  • 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

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics