Graphic Buffer (Analysis)

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.

Learn more about how Graphic Buffer works

Alternate tools are available for buffer operations. See the Pairwise Buffer and Buffer tool documentation for details.

Illustration

Graphic Buffer tool illustration

Usage

    Note:

    When using the output of a buffer operation to identify features within a certain area, the Pairwise Buffer and Buffer tools are generally the best choice.

  • The input features can be point, line, or polygon.

  • The Caps Type parameter controls the shape of the line ends, and the Join Type parameter controls the shape of the corners. Use the Round, Bevel, or Miter join options and the Round, Butt, or Square cap options to change the shape of the output buffers.

    The parameters available for the ends (caps) and corners (joins) depend on the input feature type as follows:

    • Caps Type—Points and lines only
    • Join Type—Polygons and lines only

    The terms caps and joins are common graphics terms.

    The tool illustration shows polyline features buffered using different Caps Type and Join Type parameter options.

  • 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 BUFF_DIST field 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 an ORIG_FID field 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.

  • You can use a field from the input to set the buffer distances. Both numeric and text fields are acceptable. In a text field, the buffer distance can be a number, such as 5, or a valid linear unit, such as 5 kilometers.

    If using a number without a linear unit, the buffer will be in the linear units of the input's spatial reference. If the input is in a geographic coordinate system, the buffer will be in meters.

    If the linear unit is not recognized, the buffer will be in the linear units of the input's spatial reference. To learn more about valid linear units, see Linear units.

    Using a buffer field for buffer distances
  • 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. If the environment is set to 0, parallel processing will not be enabled. If a factor between 1 and 99 is specified, the tool will 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.

Parameters

LabelExplanationData Type
Input Features

The input point, line, or polygon features that will be buffered.

Feature Layer
Output Feature Class

The feature class containing the output buffers.

Feature Class
Distance [value 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 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 will be used.

Linear Unit; Field
Caps Type
(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.

  • SquareThe output buffer will have a square cap around the end of the input segment. This is the default.
  • ButtThe output buffer will have a cap perpendicular to the end of the input segment.
  • RoundThe output buffer will have a cap that is round at the end of the input segment.
String
Join Type
(Optional)

Specifies the shape of the buffer at corners where two segments join. This parameter is only supported for line and polygon features.

  • MiterThe output buffer feature will be a square or sharp shape around corners. For example, a square input polygon feature will have a square buffer feature. This is the default.
  • BevelThe output buffer feature for inner corners will be squared, and the outer corner will be cut perpendicular to the farthest point of the corner.
  • RoundThe output buffer feature for inner corners will be squared, and the outer corner will be round.
String
Miter Limit
(Optional)

Where line segments meet at a sharp angle and the Join Type parameter value has been specified as Miter, 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 option. This may cause the point of the corner to extend farther than intended.

Double
Maximum Offset Deviation
(Optional)

The maximum distance the output buffer boundary will deviate from the true buffer boundary.

While the true boundary of the buffer is a curve, the output boundary will be densified. Use this parameter to control how the output polygon boundary approximates the true buffer boundary.

If this 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 and in subsequent analyses may result from using a maximum offset deviation that is too small.

Linear Unit

arcpy.analysis.GraphicBuffer(in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
NameExplanationData Type
in_features

The input point, line, or polygon features that will 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 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 will be used.

When specifying a distance, if the 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.

  • SQUAREThe output buffer will have a square cap around the end of the input segment. This is the default.
  • BUTTThe output buffer will have a cap perpendicular to the end of the input segment.
  • ROUNDThe output buffer will have a cap that is round at the end of the input segment.
String
line_joins
(Optional)

Specifies the shape of the buffer at corners where two segments join. This parameter is only supported for line and polygon features.

  • MITERThe output buffer feature will be a square or sharp shape around corners. For example, a square input polygon feature will have a square buffer feature. This is the default.
  • BEVELThe output buffer feature for inner corners will be squared, and the outer corner will be cut perpendicular to the farthest point of the corner.
  • ROUNDThe output buffer feature for inner corners will be squared, and the outer corner will be round.
String
miter_limit
(Optional)

Where line segments meet at a sharp angle and the line_joins parameter value has been specified as MITER, 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 option. This may cause the point of the corner to extend farther than intended.

Double
max_deviation
(Optional)

The maximum distance the output buffer boundary will deviate from the true buffer boundary.

While the true boundary of the buffer is a curve, the output boundary will be densified. Use this parameter to control how the output polygon boundary approximates the true buffer boundary.

If this 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 and in subsequent analyses may result from using a maximum offset deviation that is too small.

Linear Unit

Code sample

GraphicBuffer example (Python window)

The following Python window script demonstrates how to use the GraphicBuffer function.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.GraphicBuffer("roads", "C:/output/majorrdsBuffered", "100 Feet", 
                             "SQUARE", "MITER")

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics