How Buffer (Analysis) works

How buffers are created

The buffer routine traverses each of the input feature's vertices and creates buffer offsets. Output buffer features are created from those offsets.

Creating offsets around a line

Input line feature

Input line features

Offsets created around the input line feature

Line offsets

Buffer derived from the offsets

Buffer poly output

Description of buffer distance

The buffer distance parameter can be entered as a fixed value or as a field containing numeric values.

Example 1: Fixed distance

The following shows the buffer of a line feature class using a distance of 20, an end type of FLAT, a side type of FULL, and a dissolve type of ALL.

Buffer lines example 1

Because the buffer distance is a constant, all features are buffered to the same width.

Example 2: Distance from field

This example illustrates the buffer of a line feature class using a numeric field with values of 10, 20, and 30 for distance, an end type of FLAT, a side type of FULL, and a dissolve type of ALL.

Buffer lines example 2

Because the buffer distances are dependent on the field values, various buffer widths can be applied in the same operation.

Euclidean and Geodesic buffering

Geodesic buffer

There are two methods for generating buffer offsets: Euclidean (or 2D Cartesian) and Geodesic.

Euclidean buffer

The input geometry is buffered by calculating offsets using a two-dimensional distance formula.

For best results, the buffer operation should be performed in a projected coordinate system that minimizes distortion for that particular input dataset.

Geodesic buffer (point and multipoint only)

The input geometry is buffered by calculating each offset by projecting it on the surface of the earth (ellipsoid).

The geodesic buffer approach yields buffers that are not affected by the distortions that are inherent in a projected coordinate system.

This approach is especially critical when generating buffers for features stored in a geographic coordinate system. This is due to the fact that although the conversion from degrees of latitude is fairly constant throughout the coordinate system, the conversion from degrees of longitude to linear distances varies greatly as you move away from the equator.

For example, at the equator, 1 decimal degree is equivalent to 111.325 kilometers, but as you move north or south from the equator, the lines of longitude come closer and closer together: at 30 degrees of latitude, a degree of longitude measures 96.49 kilometers, but at 60 degrees of latitude, a degree of longitude is only 55.80 kilometers. Eventually all longitudes converge to a point at the poles.

The graphic below shows how the squares described by 1 degree of longitude and 1 degree of latitude vary in shape and size as you move farther and farther from the equator.

LatLong Squares

The geodesic buffer algorithm is used when these three criteria are met:

  • The input feature class contains a point or multipoints.
  • The input feature class has a geographic coordinate system (unprojected).
  • The buffer distance is specified with a linear unit (for example, kilometers or miles).

Example of an analysis with geodesic buffering

The goal is to generate 500 kilometer buffers around a selected set of world cities. In the past, this could be difficult to accomplish. However, now with geodesic buffering, simply select your input point layer (symbolized with black triangles below) in a geographic coordinate system and specify the buffer distance "500 kilometers".

World Cities input to buffer

The resulting buffers appear more and more distorted as you move away from the equator.

World cities buffer

Jakarta is only 6 degrees from the equator, so the buffer generated for it is quite circular.

Jakarta geodesic buffer

Stockholm, on the other hand, is 59 degrees north of the equator. When rendered in a geographic coordinate system, the buffer looks quite distorted, especially in the east–west direction. Using the Measure tool in ArcMap will return a distance of 500 kilometers from the point to the resulting buffer's edge in all directions. This is because the Measure tool also calculates geodesic distances.

Stockholm buffer in gcs

Switching the ArcMap data frame coordinate system to UTM zone 33 (appropriate for Stockholm) shows that, in an appropriate projected coordinate system, the buffer is very much circular in shape.

Copenhagen buffer utm

Alert, in Canadian territory of Nunavut, is the northernmost permanently inhabited place in the world. Its location is represented by a black triangle below. The result of generating a 1,000 kilometer geodesic buffer around that point is represented by the yellow area.

Alert buffer in gcs

When the ArcMap data frame coordinate system is set to North Pole Gnomonic, the buffer around Alert is also circular.

Alert buffer in polar coordinate system

The BUFF_DIST field

Before ArcGIS 9.3, the BUFF_DIST field reflected exactly the value you entered. For example, if your data's spatial reference had feet as the linear unit, and a 50-meter buffer distance was used, the output data's attribute table looked like this:

Pre 9.3 BUFF_DIST field

Beginning with ArcGIS 9.3, the value shown in the BUFF_DIST field is in the units of your input data. Given the same scenario as above, now the 50 meter buffer distance is converted to the input data's units of measure, in this case feet:

9.3 BUFF_DIST field

There are two exceptions to this:

Note: BUFF_DIST value units are always those of the Output coordinate system environment when it is set.

The following table summarizes the possible scenarios when the Output coordinate system environment is not set. Note that Linear includes both metric and non-metric units of measure.

Data coordinate system units

Buffer distance units

Units for distance in BUFF_DIST field

Angular

Angular or linear

No conversion

Linear

Angular

Converted to coordinate system units

Linear

Linear

Converted to coordinate system units

Angular or Linear

Unknown

Assumed to be input coordinate system units

Unknown

Angular or Linear

No conversion

BUFF_DIST unit conversion behavior
Feature Class properties dialog box

Related Topics


4/4/2012