Create Buffers (GeoAnalytics Desktop)

Summary

Creates buffers around input features to a specified distance.

Usage

  • The Method parameter specifies how buffers will be constructed. The two basic methods for constructing buffers are Euclidean and geodesic.

    • Euclidean buffers measure distance in a two-dimensional Cartesian plane in which 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 in a projected coordinate system when analyzing distances around features that are concentrated in a relatively small area (such as one UTM zone). Euclidean buffers are referred to as planar buffers.
    • Geodesic buffers 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). Consider creating geodesic buffers in the following circumstances:
      • The input features are dispersed (they cover multiple UTM zones, large regions, or the entire globe).
      • The spatial reference (map projection) of the input features distorts distances 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 specifies how buffers will be created.

    • The planar method automatically identifies the 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, geodesic buffers will be created.
    • Geodesic is the default. The geodesic method creates a shape-preserving geodesic buffer regardless of the input coordinate system. The shape-preserving geodesic buffer densifies the input features before creating the output geodesic buffers. This creates buffers that more closely represent the shape of the input features. If you are concerned about the shape of the buffers and how closely their shape matches the original input features, this option is recommended, particularly when the input data is in a geographic coordinate system. 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.

  • When using the planar method, you can improve the accuracy of buffers created with projected inputs using a projection that minimizes distance distortion, such as an Equidistant Conic or Azimuthal Equidistant projection that is geographically appropriate for the input.

  • 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 polygon's boundaries by the distance specified.

    Note:

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

  • The size of the buffer can be entered using one of the following three options:

    • Distance—Uses a constant value (all buffers will be the same size)
    • Field—Uses values from a field (different features can have buffers of different size)
    • Expression—Applies an expression to each feature (different features can have different values based on expression)

      Learn more about applying buffer expressions

  • By default, the Create Buffers tool creates overlapping buffers when the buffer areas meet. When the input features are areas, the input area is included in the buffer. You can use the dissolve and multipart parameters to control how overlapping buffers are treated. The three available dissolve options are as follows:

    • None—Buffers will overlap where buffer areas meet. This is the default.
    • All—All of the features will be dissolved. The multipart parameter specifies whether all features will be dissolved into one feature (multipart is true) or only overlapping features will be dissolved (multipart is false).
    • Fields—Features will be dissolved based on field values. You can select one or many fields, and like values will be dissolved together. The multipart parameter specifies whether all matching field features will be dissolved into one feature (multipart is true) or only overlapping matching field features will be dissolved (multipart is false).

  • If a field from the Input Layer parameter is used to obtain buffer distances, the field's value 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 Layer parameter spatial reference (unless the input layer 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 value is invalid or not recognized, the linear unit of the input features' spatial reference will be used by default.

  • When you dissolve using All or Fields, you can calculate statistics. The statistics will only be applied to the dissolving of all features or field values, they will not be applied geographically (using the multipart parameter). How these options work using the six features shown in the following image is described in the table below. The color denotes the field values (blue or orange) that are used for the field dissolve.

    Input points used for buffer dissolve examples

    Dissolve optionMultipart is false (default)Multipart is true
    None
    Buffer option without a dissolve applied

    Six features are created when no dissolve is applied to buffered features. This is the default. This is the same as the standard analysis tool's Overlap option.

    Multipart cannot be true when the dissolve option is None.

    All
    All features dissolved with multipart false

    Three features are created when all values are dissolved and multipart is false. Only overlapping features are dissolved. This is the same as the standard analysis tool's Dissolve option.

    All features dissolved with multipart true

    One feature is created when all values are dissolved and multipart is true. When you select this option, the result will always be one feature.

    Fields
    Features with like values dissolved with multipart false

    Four features are created when the dissolve is applied based on the field (here, the field is the color of input points). Only overlapping features with the same value of the specified fields are dissolved.

    Features with like values dissolved with multipart true

    Two features are created when the dissolve is applied based on the field (here, the field is the color of input points) and multiparts are allowed. Features with the same field value will always be a single feature.

  • You can use a buffer type of expression to create an equation from numeric fields and mathematical operators. See Arcade expressions in the GeoAnalytics Desktop toolbox for more information. It is assumed that numeric values in a buffer expression are in meters unless otherwise specified.

  • Similar analysis can also be completed using the following:

    • The AllSource geoprocessing tool Buffer in the Analysis toolbox.
    • The AllSource geoprocessing tool Create Buffers in the Feature Analysis toolbox.

  • The output dataset 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 an output coordinate system is set, the BUFF_DIST units will be in that coordinate system. If the field already exists in the output, a number will be appended to the end of the field name to make it unique (for example, BUFF_DIST1).

  • You can improve performance of the Create Buffers tool by doing one or more of the following:

    • Set the extent environment so that you only analyze data of interest.
    • Use a planar buffer.
    • Don't dissolve the buffer results.
    • Use data that is local to where the analysis is being run.

  • This geoprocessing tool is powered by Spark. Analysis is completed on your desktop machine using multiple cores in parallel. See Considerations for GeoAnalytics Desktop tools to learn more about running analysis.

  • When running GeoAnalytics Desktop tools, the analysis is completed on your desktop machine. For optimal performance, data should be available on your desktop. If you are using a hosted feature layer, it is recommended that you use ArcGIS GeoAnalytics Server. If your data isn't local, it will take longer to run a tool. To use your ArcGIS GeoAnalytics Server to perform analysis, see GeoAnalytics Tools.

Parameters

LabelExplanationData Type
Input Layer

The point, polyline, or polygon features that will be buffered.

Feature Layer
Output Feature Class

The new feature class of buffered results.

Feature Class
Method

Specifies the method that will be used to create the buffers.

  • Geodesic Buffers will be created using a shape-preserving geodesic buffer method regardless of the input coordinate system. This is the default.
  • Planar If the input features are in a projected coordinate system, Euclidean buffers will be created. If the input features are in a geographic coordinate system, geodesic buffers will be created. The Output Coordinate System environment setting can be used to specify a coordinate system.
String
Buffer Type
(Optional)

Specifies how the buffer distance will be defined.

  • DistanceThe same linear distance will be applied to all features.
  • FieldA numeric or string field will be selected to represent the buffer distance.
  • ExpressionAn expression will be built using fields, constants, and mathematical operations to represent the buffer distance.
String
Buffer Field
(Optional)

The field that contains the buffer distance for each feature. If a field value is a number, it is assumed that the distance is in the linear unit of the Input Layer value spatial reference, unless the Input Layer value 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 features' spatial reference will be used by default.

Field
Buffer Distance
(Optional)

The distance around the input features that will be buffered.

Linear Unit
Buffer Expression
(Optional)

An equation using fields and mathematical operators that will be applied as a buffer to each feature. Fields must be numeric, and the expression can include [+ - * / ] operators and multiple fields. Calculated values will be applied in meters unless otherwise specified. For example, apply a buffer that multiples a numeric field named distance in kilometers by 2 and adds 15 meters.

Use an Arcade expression such as as_kilometers($feature["distance"]) * 2 + as_meters(15).

If the layer is added to the map, the Fields and Helpers filters can be used to build an expression.

Calculator Expression
Dissolve Option
(Optional)

Specifies the dissolve option that will be used to remove buffer overlap.

  • NoneAn individual buffer for each feature will be maintained regardless of overlap. This is the default.
  • AllAll buffers will be dissolved together into a single feature, removing any overlap.
  • ListAny buffers sharing attribute values in the listed fields (carried over from the input features) will be dissolved.
String
Dissolve Fields
(Optional)

A list of one or more fields from the input features on which output buffers will be dissolved. Any buffers sharing attribute values in the listed fields will be dissolved. This parameter is only required when Dissolve Option is List.

Field
Summary Fields
(Optional)

Specifies statistics that will be applied to numeric and string fields. If left empty, only count will be calculated. These statistics are only applied when Dissolve Option is List or All.

  • Count—The number of nonnull values. It can be used on numeric fields or strings. The count of [null, 0, 2] is 2.
  • Sum—The sum of numeric values in a field. The sum of [null, null, 3] is 3.
  • Mean—The mean of numeric values. The mean of [0, 2, null] is 1.
  • Min—The minimum value of a numeric field. The minimum of [0, 2, null] is 0.
  • Max—The maximum value of a numeric field. The maximum value of [0, 2, null] is 2.
  • Standard Deviation—The standard deviation of a numeric field. The standard deviation of [1] is null. The standard deviation of [null, 1,1,1] is null.
  • Variance—The variance of a numeric field in a track. The variance of [1] is null. The variance of [null, 1, 1, 1] is null.
  • Range—The range of a numeric field. This is calculated as the minimum value subtracted from the maximum value. The range of [0, null, 1] is 1. The range of [null, 4] is 0.
  • Any—A sample string from a field of type string.

Value Table
Multipart
(Optional)

Specifies whether multipart features will be created.

  • Checked—Output multipart features will be created where appropriate.
  • Unchecked—Multipart features will not be created; individual features will be created for each part instead. This is the default.
Boolean

arcpy.geoanalytics.CreateBuffers(input_layer, out_feature_class, method, {buffer_type}, {buffer_field}, {buffer_distance}, {buffer_expression}, {dissolve_option}, {dissolve_fields}, {summary_fields}, {multipart})
NameExplanationData Type
input_layer

The point, polyline, or polygon features that will be buffered.

Feature Layer
out_feature_class

The new feature class of buffered results.

Feature Class
method

Specifies the method that will be used to create the buffers.

  • GEODESIC Buffers will be created using a shape-preserving geodesic buffer method regardless of the input coordinate system. This is the default.
  • PLANAR If the input features are in a projected coordinate system, Euclidean buffers will be created. If the input features are in a geographic coordinate system, geodesic buffers will be created. The Output Coordinate System environment setting can be used to specify a coordinate system.
String
buffer_type
(Optional)

Specifies how the buffer distance will be defined.

  • DISTANCEThe same linear distance will be applied to all features.
  • FIELDA numeric or string field will be selected to represent the buffer distance.
  • EXPRESSIONAn expression will be built using fields, constants, and mathematical operations to represent the buffer distance.
String
buffer_field
(Optional)

The field that contains the buffer distance for each feature. If a field value is a number, it is assumed that the distance is in the linear unit of the input_layer value spatial reference, unless the input_layer value 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 features' spatial reference will be used by default.

Field
buffer_distance
(Optional)

The distance around the input features that will be buffered.

Linear Unit
buffer_expression
(Optional)

An equation using fields and mathematical operators that will be applied as a buffer to each feature. Fields must be numeric, and the expression can include [+ - * / ] operators and multiple fields. Calculated values will be applied in meters unless otherwise specified. For example, apply a buffer that multiples a numeric field named distance in kilometers by 2 and adds 15 meters.

Use an Arcade expression such as as_kilometers($feature["distance"]) * 2 + as_meters(15).

Calculator Expression
dissolve_option
(Optional)

Specifies the dissolve option that will be used to remove buffer overlap.

  • NONEAn individual buffer for each feature will be maintained regardless of overlap. This is the default.
  • ALLAll buffers will be dissolved together into a single feature, removing any overlap.
  • LISTAny buffers sharing attribute values in the listed fields (carried over from the input features) will be dissolved.
String
dissolve_fields
[dissolve_fields,...]
(Optional)

A list of one or more fields from the input features on which output buffers will be dissolved. Any buffers sharing attribute values in the listed fields will be dissolved. This parameter is only required when dissolve_option is LIST.

Field
summary_fields
[summary_fields,...]
(Optional)

Specifies statistics that will be applied to numeric and string fields. If left empty, only count will be calculated. These statistics are only applied when dissolve_option is LIST or ALL.

  • COUNT—The number of nonnull values. It can be used on numeric fields or strings. The count of [null, 0, 2] is 2.
  • SUM—The sum of numeric values in a field. The sum of [null, null, 3] is 3.
  • MEAN—The mean of numeric values. The mean of [0,2, null] is 1.
  • MIN—The minimum value of a numeric field. The minimum of [0, 2, null] is 0.
  • MAX—The maximum value of a numeric field. The maximum value of [0, 2, null] is 2.
  • STDDEV—The standard deviation of a numeric field. The standard deviation of [1] is null. The standard deviation of [null, 1,1,1] is null.
  • VAR—The variance of a numeric field in a track. The variance of [1] is null. The variance of [null, 1,1,1] is null.
  • RANGE—The range of a numeric field. This is calculated as the minimum value subtracted from the maximum value. The range of [0, null, 1] is 1. The range of [null, 4] is 0.
  • ANY—A sample string from a field of type string.

Value Table
multipart
(Optional)

Specifies whether multipart features will be created.

  • MULTI_PARTOutput multipart features will be created where appropriate.
  • SINGLE_PARTMultipart features will not be created; individual features will be created for each part instead. This is the default.
Boolean

Code sample

CreateBuffers example (Python window)

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

#-------------------------------------------------------------------------------
# Name: CreateBuffers.py
# Description: Buffer damaged building by 300 meters

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/DamageSurvey.gdb"

# Set local variables
inFeatures = "DamageAssessment"
out = "DangerousAreas"

# Run Create Buffers
arcpy.gapro.CreateBuffers(inFeatures, out, "GEODESIC", "DISTANCE", 
                          None, "300 Meters", None, "ALL", None, None, 
                          "SINGLE_PART")