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. There are two basic methods for constructing buffers: Euclidean and geodesic.
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 in creating buffers.
When using the Planar method, you can improve the accuracy of buffers created with projected inputs by using a projection that minimizes distance distortion, such as an Equidistant Conicor 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 features' coordinate system. When using the Geodesic method for buffer creation, 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 be given, and any null geometry features will not be written to the output feature class.
If a field from the Input Features is used to obtain buffer distances, the field's values can be either a number (5) or a number with a valid linear unit (5 Kilometers). If a field value is a number, it is assumed that the distance is in the linear unit of the Input Features' spatial reference (unless the Input Features are 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 features' 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 in order 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 (Optional) | 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) | The sides of the input features that will be buffered.Full—For line input features, buffers will be generated on both sides of the line. For polygon input features, buffers will be generated around the polygon and will contain and overlap the area of the input features. For point input features, buffers will be generated around the point. This is the default. Left—For line input features, buffers will be generated on the topological left of the line. This option is not valid for polygon input features.Right—For line input features, buffers will be generated on the topological right of the line. This option is not valid for polygon input features.Exclude the input polygon from buffer—For polygon input features, buffers will be generated only outside the input polygon (the area inside the input polygon will be erased from the output buffer). This option is not valid for line input features.This optional parameter is not available with a Desktop Basic or Desktop Standard license. |
line_end_type (Optional) | The shape of the buffer at the end of line input features. This parameter is not valid for polygon input features.Round—The ends of the buffer will be round, in the shape of a half circle. This is the default. Flat—The ends of the buffer will be flat, or squared, and will end at the endpoint of the input line feature. This optional parameter is not available with a Desktop Basic or Desktop Standard license. |
dissolve_option (Optional) | Specifies the dissolve to be performed to remove buffer overlap.No Dissolve—An individual buffer for each feature is maintained, regardless of overlap. This is the default. Dissolve all output features into a single feature—All buffers are dissolved together into a single feature, removing any overlap. Dissolve features using the listed field(s) unique values or combination of values—Any buffers sharing attribute values in the listed fields (carried over from the input features) are dissolved. |
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 what method to use, planar or geodesic, to create the buffer.Planar—If the input features are in a projected coordinate system, Euclidean buffers are created. If the input features are in a geographic coordinate system and the buffer distance is in linear units (meters, feet, and so forth, as opposed to angular units such as degrees), geodesic buffers are created. This is the default. You can use the Output Coordinate System environment setting to specify the coordinate system to use. For example, if your input features are in a projected coordinate system, you can set the environment to a geographic coordinate system in order to create geodesic buffers. Geodesic (shape preserving)—All buffers are created using a shape-preserving geodesic buffer method, regardless of input coordinate system. |
esri_out_feature_service_name (Optional) | The name of the optional feature service to create on the federated server containing the result of this tool. If no name is specified an output feature service will not be created. |
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.