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.

Illustration

Buffer illustration

Usage

    Note:

    The output of this tool is intended for cartographic display only. It is not intended for use in further analysis. Doing so 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) will depend on the input feature type.

    • Caps Type - Points and lines only.
    • Join Type - Polygons and lines only.
  • 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.

    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 Learn More About How Buffer Works for an understanding of 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 determine 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

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)

The caps (ends) of the input features that will be buffered. This parameter is only supported for point and polygon features.

  • SQUAREA square end around the end of a segment. This is the default.
  • BUTTEnd of the buffer of a segment would be perpendicular to the segment.
  • ROUNDEnd of the buffer is round around the end of the 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.

  • MITERSquare or sharp shape around corners. For example, a square input polygon feature will have a square buffer feature. This is the default.
  • BEVELInner corners will be squared while the outer corner will be chopped off perpendicular to the furthest point of the corner.
  • ROUNDInner 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 you want.

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. With 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 determine the maximum deviation for you. The default is strongly recommended. Severe performance degradation, in the tool itself or in subsequent analysis, could result from using a maximum offset deviation that is too small.

See the max_deviation parameter information contained 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