I am using ArcGIS Desktop 10.4.
I would like to create multiple ring buffers surrounding my polygon localities. My buffers should not overlap and I need to know, which location each of my buffers surrounds.
I've thought to simply use arcpy.MultipleRingBuffer_analysis
. However, if I use Dissolve_Option = "NONE"
, I am able to define which locations my buffers surround, as the locations ID is stored in newly created "ORIG_FID"
field. However, my buffers overlap.
If I use Dissolve_Option = "ALL"
, my buffers do not overlap. But, I have no information about which location does my buffer surround.
How do I accomplish having multiple distances non-overlapping buffers but be able to know the location they belong to?
My code to create multiple ring buffers:
# Import modules
import arcpy, os
# Set environmental settings
inWD = "C:/Users/Localities"
arcpy.env.workspace = os.path.join(inWD, "analyzed.gdb")
outPath = os.path.join(inWD, "output.gdb")
# Allow files to overwrite
arcpy.env.overwriteOutput = True
# Define input variables
inFC = "NPR"
try:
# Define Multiple ring buffer variables
distances = [100, 500, 1000, 2000]
buffUnit = "Meters"
Field_Name = "distance"
Dissolve_Option = "ALL"
Outside_Polygons_Only = "OUTSIDE_ONLY"
# Process: Multiple ring buffer
outBuff = os.path.join(outPath, "buff_complete")
arcpy.MultipleRingBuffer_analysis(inFC, outBuff, distances, buffUnit,
Field_Name, Dissolve_Option,
Outside_Polygons_Only)
except:
print(arcpy.GetMessages(0))
Simple illustration for distances [100,500,1000,2000] Meters: even if I click only on 100 m buffer (the closest to inFC), my buffers have to overlap, as in attribute table I've selected 3 different buffers.