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

An important feature of the Buffer tool is the Method parameter which determines how buffers are constructed. There are two basic methods for constructing buffers, Euclidean and geodesic.

  • Euclidean buffers measure distance in a two-dimensional Cartesian plane, where straight-line or Euclidean distances are calculated between two points on a flat surface (the Cartesian plane). Euclidean buffers are the more common type of buffer, and work well when analyzing distances around features in a projected coordinate system which are concentrated in a relatively small area (such as one UTM zone).

    In a projected coordinate system, there are areas in the projection where distances, areas, and the shape of features are distorted; this is a fact of using projected coordinate systems. For example, if using a State Plane or UTM projected coordinate system, features are more accurate near the origin of the projection (the center of the state, or the UTM zone), but become more distorted when moving away from the origin. Similarly, if a World projected coordinate system is used, distortion is often minimal in one area, but significant in another (for the Mercator World projection, distortion is minimal near the equator but significant near the poles). For a dataset that has features in both low and high distortion areas, Euclidean buffers will be more accurate in the low distortion areas and less accurate in the high distortion areas.

  • Geodesic buffers are those that account for the actual shape of the earth (an ellipsoid, or more properly, a geoid). Distances are calculated between two points on a curved surface (the geoid) as opposed to two points on a flat surface (the Cartesian plane). You should always consider creating geodesic buffers when
    • your input features are dispersed (cover multiple UTM zones, large regions, or even the whole globe), or
    • the spatial reference (map projection) of your input features distorts distances in order to preserve other properties such as area.
    Geodesic buffers may appear unusual on a flat map, but when displayed on a globe, these buffers will look correct.

The Method parameter determines how buffers are created.

  • Planar is the default option. This option will automatically determine which method to use based on the coordinate system of the Input Features.
    • If the input features have a projected coordinate system, Euclidean buffers will be created.
    • If the input features have a geographic coordinate system and you specify a Buffer Distance in linear units (meters, feet, and so forth, as opposed to angular units such as degrees), geodesic buffers will be created.
    • This option produces the same result as the Buffer Tool prior to ArcGIS 10.3.
  • Geodesic creates a shape-preserving geodesic buffer regardless of the input coordinate system. The shape-preserving geodesic buffer does not assume the lines connecting vertices are geodesic curves. It instead buffers the features in the spatial reference of the input feature class in order to create buffers that more closely represent the input features shape. If you are concerned about the shape of your buffers and how closely their shape matches the original input features it is recommended you investigate using this option, particularly when your input data is in a geographic coordinate system. In some cases this may take more time than the geodesic buffer created using the Planar option, but the result is a buffer that more accurately matches the shape of the input feature.

Geodesic buffer example

The goal of this example is to compare 1,000 kilometer geodesic and Euclidean buffers of a number of select world cities. Geodesic buffers were generated by buffering a point feature class with a geographic coordinate system, and Euclidean buffers were generated by buffering a point feature class with a projected coordinate system (in both the projected and unprojected datasets the points represent the same cities).

When working with a dataset in one of the common projected coordinate systems for the whole world, such as Mercator, projection distortion may be minimal near the equator, but significant near the poles. This means that for a Mercator projected dataset, distance measurements and buffer offsets should be quite accurate near the equator and less accurate away from the equator.

Geodesic and Euclidean buffers

The graphic on the left shows the input point locations. The equator and prime meridian are shown for reference. Both graphics are displayed in the Mercator (World) projection.

In the graphic on the right, the points near to the equator have geodesic and Euclidean buffers that are coincident. For points near to the equator, the Mercator projection does a good job of producing accurate distance measurements. However, the buffers of points far from the equator show considerably more distance distortion, as their Euclidean buffers are much smaller than the geodesic buffers; this occurs with the Mercator projection because at the poles areas are stretched (land masses close to the poles, such as Greenland and Antarctica have enormous areas in comparison with the land masses close to the equator). All 1,000 kilometer Euclidean buffers are the same size since the Euclidean buffer routine assumes that map distances are the same everywhere in the projection (1,000 kilometers in Brazil is the same as 1,000 kilometers in central Russia); this is not true since away from the equator the projection's distances become more and more distorted. With any type of analysis of distance on a global scale geodesic buffers should be used as they will be accurate in all areas while Euclidean buffers will not be accurate in high distortion areas.

Note:

Displaying geodesic and Euclidean buffers on a globe will reveal that the geodesic buffers truly are more accurate.

Euclidean and geodesic buffers in ArcGlobe

These are the same 1,000 kilometers Euclidean and geodesic buffers that were created for the example above. When displayed on a globe, each of the Euclidean buffers is a different size despite the fact that the same buffer distance was used for each (note the buffer in Alaska appears considerably smaller than the buffer in Brazil). This is a result of the buffers being created with the false assumption that all of the map distances were the same from one location to another. Contrarily, each of the geodesic buffers is a correct uniform size when displayed on the globe; these geodesic buffers are correct because they were not influenced by distortion from a projected coordinate system.

Additional information about geodesic buffering

The vertices of input polyline and polygon features are assumed to be connected with geodesic lines (a geodesic line is the shortest path between two points on an ellipsoid). If the intended path between vertices is not meant to follow a geodesic, you first need to explicitly densify the inputs. Geometries can be densified using the Densify tool. You can also select the GEODESIC method to get buffers that more closely match the shape of the input features (see below).

Shape-preserving geodesic buffers

When buffering lines or polygons, the Geodesic method produces geodesic buffers by buffering the feature in the spatial reference of the input feature class so as to ensure the buffers follow the intended geodesic shape of the input features.

After using the Geodesic method you may find very little difference in the output buffers. This is because the shape preserving geodesic method can be seen most obviously in cases where the input features do not have an appropriate vertex density for the buffer creation process to maintain their shape (typically very coarse, inaccurate features). Therefore, it is very important to know your input data prior to deciding to use the Geodesic method.

For example, below is a very coarse feature with very few vertices (vertices are only at the bends in the line) covering a large portion of the globe:

Input Feature

If we buffer this line by 500km using the Planar method we get this output buffer feature (pink):

Input Feature with buffer done using the

This may have been unexpected, but as mentioned earlier the Planar method (when creating geodesic buffers) assumes that the vertices of the input polyline feature are connected with geodesic lines, as seen in purple below:

Input Feature shown with assumed geodesic lines between vertices

So, looking at the input features (blue), the resultant geodesic lines (purple) and the geodesic buffer (pink) together for this case, the output now makes sense:

Showing the geodesic lines were buffered when PLANAR method was chosen

This is probably not what you want.

The Geodesic method does not assume that the lines connecting vertices are connected by geodesic curves. The resulting geodesic buffer using the Geodesic method is shown below in green:

Shape preserved using GEODESIC method

You now have a geodesic buffer that more closely maintains the shape of the input feature.

The BUFF_DIST field

The values in the BUFF_DIST field of the output feature class is in the linear unit of the Input Features' coordinate system. For example, if a 50 meter buffer distance is specified in the tool, but the input dataset has a coordinate system that uses feet as the linear unit, 50 meters will be converted to feet in the output BUFF_DIST field. There are two exceptions to this:

  • If the Input Features have a geographic coordinate system and the buffer distance is specified in a linear unit, such as kilometers or miles, the values in the BUFF_DIST field will be in meters.
  • If the spatial reference of the Input Features is Unknown, no conversion is applied, so the value in the BUFF_DIST field is exactly the value entered.

The following table summarizes scenarios when BUFF_DIST unit conversion is and is not performed.

Input Features Coordinate SystemBuffer Distance UnitsUnit Conversion

Geographic

Angular or linear

Converted to meters

Projected

Angular

Converted to input coordinate system unit

Projected

Linear

Converted to input coordinate system unit

Geographic or Projected

Unknown

Assumed to be input coordinate system unit

Unknown

Angular or Linear

No conversion

BUFF_DIST unit conversion (PLANAR method)

Input Features Coordinate SystemBuffer Distance UnitsUnit Conversion

Geographic

Angular or linear

Converted to meters

Projected

Angular

Converted to meters

Projected

Linear

Converted to meters

Geographic or Projected

Unknown

Assumed to be input coordinate system unit

Unknown

Angular or Linear

No conversion

BUFF_DIST unit conversion (GEODESIC method)

Spatial reference properties

Note:

BUFF_DIST value units are always those of the Output Coordinate System environment when it is set.

Related topics