Summary
Creates buffer polygons around input features to a specified distance. A number of cartographic shapes are available for buffer ends (caps) and corners (joins) when the buffer is generated around the feature.
Alternate tools are available for buffer operations. See the Pairwise Buffer and Buffer tool documentation for details.
Illustration
Usage
The input features can be point, line or polygon. The options available for the buffer output ends (caps) and corners (joins) depend on the input feature type.
- Cap type—Points and lines only
- Join type—Polygons and lines only
The output feature class will include a BUFF_DIST field that contains the buffer distance used to buffer each feature in the linear unit of the input features' coordinate system.
If a field named BUFF_DIST exists in the input, its values will be overwritten in the output.
The output buffer features will always be Euclidean. Geodesic buffer features are not supported. See How Buffer (Analysis) works for information about the difference between Euclidean and geodesic buffers.
The output feature class will include an 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.
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.
Caution:
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.
This tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to identify the percentage of logical cores to use by applying the formula (Parallel Processing Factor / 100 * Logical Cores) rounded up to the nearest integer. If the result of this formula is 0 or 1, parallel processing will not be enabled.
Note:
The output of this tool is intended for cartographic display only. It is not intended for use in further analysis. Using it as such will result in incorrect results.
Syntax
arcpy.analysis.GraphicBuffer(in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
Parameter | Explanation | Data Type |
in_features |
The input point, line, or polygon features to be buffered. | Feature Layer |
out_feature_class |
The feature class containing the output buffers. | Feature Class |
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. When specifying a distance, if the desired linear unit has two words, such as Decimal Degrees, combine the two words into one (for example, 20 DecimalDegrees). | Linear Unit; Field |
line_caps (Optional) | Specifies the type of caps (ends) of the input features that will be buffered. This parameter is only supported for point and polygon features.
| String |
line_joins (Optional) | The shape of the buffer at corners where two segments join. This parameter is only supported for line and polygon features.
| String |
miter_limit (Optional) | Where line segments meet at a sharp angle and a line_joins of MITER has been specified, this parameter can be used to control how sharp corners in buffer output come to a point. In some cases, the outer angle where two lines join is quite large when using the MITER line_joins. This could cause the point of the corner to extend further than intended. | Double |
max_deviation (Optional) |
The maximum distance the output buffer polygon boundary will deviate from the true ideal buffer boundary. The true buffer boundary is a curve, and the output polygon boundary is a densified polyline. Using this parameter, you can control how well the output polygon boundary approximates the true buffer boundary. If the parameter is not set or is set to 0, the tool will identify the maximum deviation. It is recommended that you use the default value. Performance degradation in the tool or in subsequent analysis can result from using a maximum offset deviation value that is too small. See the max_deviation parameter information in the Densify tool documentation for more details. | Linear Unit |
Code sample
The following Python window script demonstrates how to use the GraphicBuffer tool.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GraphicBuffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet",
"SQUARE", "MITER")
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes