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.

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

Illustration

Graphic Buffer illustration

Usage

    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.

  • 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.

    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. 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.

Syntax

arcpy.analysis.GraphicBuffer(in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
ParameterExplanationData 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.

  • 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)

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

  • MITERResults in an output buffer feature that is 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 while the outer corner will be cut perpendicular to the furthest point of the corner.
  • ROUNDThe output buffer feature for inner corners will be squared while the outer corner will be round.
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

GraphicBuffer example 1 (Python window)

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")

Licensing information

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

Related topics