Buffer By Percent

Buffer input polygon features by a specified percentage of the total area of the polygons.

Usage Tips

The input features must be polygons.

Command line syntax

BufferByPercent <Input_Features> <Output_Feature_Class> <Buffer_Percent> {NONE | ALL} {Iterations}

Parameters

Expression Explanation
<Input_Features>

The input polygon feature class or feature layer that is to be buffered.

<Output_Feature_Class>

The name for the output polygon feature class.

<Buffer_Percent>

The amount to buffer the input polygons, expressed as a percent of the total area of all input polygons.

For example, if you want to double the area of the input polygons, than enter 100 percent.

{NONE | ALL}

Specifies whether a dissolve will be performed to remove buffer feature overlap.

NONE - Individual buffer for each feature is maintained, regardless of overlap. This is the default.

ALL - Dissolves all the buffers together into a single feature and remove any overlap.

{Iterations}

The number of successive approximations to use when trying to find a buffer radius that will result in the desired percent increase in area.

The input polygons are buffered by a different radius each iteration. The more iterations, the more accurate the result, but the longer the processing.

10 iterations is used by default.

When the last iterations is completed, the actual percent increase and buffer radius are displayed.

Command Line Example

workspace c:\docume~1\dchatfie\mydocu~1\test
Set c:\docume~1\dchatfie\mydocu~1\test into workspace

BufferByPercent streambuf streambuf2 100 ALL
Executing (BufferByPercent_11): BufferByPercent streambuf "C:\Documents and Settings\dchatfie\My Documents\test\streambuf2.shp" 100 ALL 10
Start Time: Tue May 16 12:18:09 2006
Running script BufferByPercent...
pass=1, radius=1041.216150
pass=2, radius=520.608075
pass=3, radius=260.304038
pass=4, radius=130.152019
pass=5, radius=195.228028
pass=6, radius=162.690023
pass=7, radius=146.421021
pass=8, radius=154.555522
pass=9, radius=158.622773
pass=10, radius=160.656398
Actual buffer percent=99.850701, Actual radius=160.656398
Completed script BufferByPercent...
Executed (BufferByPercent_11) successfully.
End Time: Tue May 16 12:19:00 2006 (Elapsed Time: 51.00 secs) 

Scripting syntax

BufferByPercent (Input_Features, Output_Feature_Class, Buffer_Percent, Dissolve_Option, Iterations)

Parameters

Expression Explanation
Input Features (Required)

The input polygon feature class or feature layer that is to be buffered.

Output Feature Class (Required)

The name for the output polygon feature class.

Buffer Percent (Required)

The amount to buffer the input polygons, expressed as a percent of the total area of all input polygons.

For example, if you want to double the area of the input polygons, than enter 100 percent.

Dissolve Option (Optional)

Specifies whether a dissolve will be performed to remove buffer feature overlap.

NONE - Individual buffer for each feature is maintained, regardless of overlap. This is the default.

ALL - Dissolves all the buffers together into a single feature and remove any overlap.

Iterations (Optional)

The number of successive approximations to use when trying to find a buffer radius that will result in the desired percent increase in area.

The input polygons are buffered by a different radius each iteration. The more iterations, the more accurate the result, but the longer the processing.

10 iterations is used by default.

When the last iterations is completed, the actual percent increase and buffer radius are displayed.

Script Example

# Import modules.
import sys, string, os, win32com.client

# Create the Geoprocessor object
gp = win32com.client.Dispatch('esriGeoprocessing.GpDispatch.1')

# Load DV Region toolbox.
gp.AddToolbox('C:/Documents and Settings/dchatfie/Application Data/ESRI/ArcToolbox/My Toolboxes/' + \
                         'DV Analysis Tools.tbx')

# Set workspace.
gp.workspace = 'c:/docume~1/dchatfie/mydocu~1/test'

# Double area of stream buffer.
gp.bufferbypercent('streambuf.shp', 'streambuf2.shp', 100, 'all')