Geoprocessing tool that creates buffer polygons around input features to a specified distance.
As described in How Buffer works, an important feature of the Buffer tool is the Method parameter, which determines how buffers are constructed. The two basic methods for constructing buffers, Euclidean and geodesic, are described as follows:
The Method parameter determines how buffers are created.
You can change the coordinate system of a feature class using the Project tool, or you can set the Output Coordinate System geoprocessing environment before executing the Buffer tool, and this coordinate system will be used when creating buffers.
When using the Planar method, you can improve the accuracy of buffers created with projected inputs using a projection that minimizes distance distortion, such as an Equidistant Conic or an Azimuthal Equidistant projection, and is geographically appropriate for your input.
When buffering features in a projected coordinate system with output to a geodatabase feature class, the geometries created may contain circular arc segments (when buffering points, the output will always be circular arcs). If buffers containing circular arcs are reprojected to a different coordinate system, the location and size of the original buffers will be transformed, but the shape of the buffers will not change, causing the reprojected buffers to no longer accurately represent the area covered by the original buffer. If you reproject buffers containing circular arcs, first use the Densify tool to convert circular arc segments to straight lines, and then reproject the densified buffers.
The output feature class will have a BUFF_DIST field that contains the buffer distance used to buffer each feature in the linear unit of the input's coordinate system. When using the Geodesic method to create buffers, the buffer distance entered will be converted to meters in all cases.
If a field named BUFF_DIST exists in the input, its values will be overwritten in the output. If a Dissolve Type of All or List (ALL or LIST in Python) is used, the output will not have this field.
The output feature class will have a ORIG_FID field that contains the feature ID of the input feature for which the buffer was created. If a field named ORIG_FID exists in the input, its values will be overwritten in the output. If a Dissolve Type of All or List is used, the output will not have this field.
When buffering polygon features, negative buffer distances can be used to create buffers inside the polygon features. Using a negative buffer distance will reduce the polygons' boundaries by the distance specified.
If the negative buffer distance is large enough to collapse the polygon to nothing, a null geometry will be generated. A warning message will appear, and no null geometry features will be written to the output feature class.
If a field from the input is used to obtain buffer distances, the field's values can be either a number (5, for example) or a number with a valid linear unit (5 Kilometers, for example). If a field value is a number, it is assumed that the distance is in the linear unit of the input's spatial reference (unless the input is in a geographic coordinate system, in which case, the value is assumed to be in meters). If the linear unit specified in the field values is invalid or not recognized, the linear unit of the input's spatial reference will be used by default.
The Dissolve Field(s) parameter Add Field button is used only in ModelBuilder. In ModelBuilder, where the preceding tool has not been run or its derived data does not exist, the Dissolve Field(s) parameter may not be populated with field names. The Add Field button allows expected fields to be added to the Dissolve Field(s) list to complete the Buffer tool dialog box.
Side Type (line_side) options Left, Right, and Outside only (LEFT, RIGHT, and OUTSIDE_ONLY in Python) and the End Type (line_end_type) option Flat (FLAT in Python) are only available with an Desktop Advanced license.
Parameter | Explanation |
---|---|
in_features |
The input point, line, or polygon features to be buffered. |
out_feature_class |
The feature class containing the output buffers. |
buffer_distance_or_field |
The distance around the input features that will be buffered. Distances can be provided as either a value representing a linear distance or as a field from the input features that contains the distance to buffer each feature. If linear units are not specified or are entered as Unknown, the linear unit of the input features' spatial reference is used. |
line_side (Optional) |
Specifies the sides of the input features that will be buffered.
This optional parameter is not available with a Desktop Basic or Desktop Standard license. |
line_end_type (Optional) |
Specifies the shape of the buffer at the end of line input features. This parameter is not valid for polygon input features.
This optional parameter is not available with a Desktop Basic or Desktop Standard license. |
dissolve_option (Optional) |
Specifies the type of dissolve to be performed to remove buffer overlap.
|
dissolve_field (Optional) |
The list of fields from the input features on which to dissolve the output buffers. Any buffers sharing attribute values in the listed fields (carried over from the input features) are dissolved. The Add Field button, which is only used in ModelBuilder, allows expected fields to be added to the Dissolve Field(s) list. |
method (Optional) |
Specifies the method to use, planar or geodesic, to create the buffer.
|
Buffer example 1 (Python window)
The following Python window script demonstrates how to use the Buffer tool.
import arcpy arcpy.env.workspace = "C:/data" arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "FULL", "ROUND", "LIST", "Distance")
Buffer example 2 (stand-alone script)
Find areas of suitable vegetation that exclude areas heavily impacted by major roads.
# Name: Buffer.py # Description: Find areas of suitable vegetation which exclude areas heavily # impacted by major roads # import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data/Habitat_Analysis.gdb" # Select suitable vegetation patches from all vegetation veg = "vegtype" suitableVeg = "C:/output/Output.gdb/suitable_vegetation" whereClause = "HABITAT = 1" arcpy.Select_analysis(veg, suitableVeg, whereClause) # Buffer areas of impact around major roads roads = "majorrds" roadsBuffer = "C:/output/Output.gdb/buffer_output" distanceField = "Distance" sideType = "FULL" endType = "ROUND" dissolveType = "LIST" dissolveField = "Distance" arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, dissolveType, dissolveField) # Erase areas of impact around major roads from the suitable vegetation patches eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads" xyTol = "1 Meters" arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)
There are no tags for this item.
There are no credits for this item.
There are no use limitations for this item.