Create non-overlapping buffers with attributes for points


Very often we need to buffer some features and get the attributes from the original features. "But this is pretty easy" many people will say - "it is a standard tool in any GIS software" - and they will be correct... Unless the buffers of the features do overlap each other which in many cases is undesirable.
In this article we will offer an approach of creating non-overlapping buffers (one polygon per original feature) that will carry the attributes of the original features.

In this article used only functions available in ET GeoWizards 12.0


Source dataset - the points that we want to buffer. Those might be historical monuments around which we wont to define conservation areas. We would like however each monument to be represented by a polygon and do not want these conservation areas to overlap.
The standard "Buffer" tool of any GIS software (if Dissolve is not used) will give us a polygon per original feature. Each polygon will carry the attributes of the original feature. The problem however is that in many cases the buffer polygons will overlap each other..

STEP 1: If we use the Buffer function with the "Dissolve" option, but no dissolve fields we will get non overlapping buffers, we will not be able to add the original attributes to the buffers because there will be some buffer polygons that have several original features inside.
The question that we have to answer is how to partition the buffers created in this fashion so that each original feature gets its own buffer polygon.

STEP 2: We can use the Build Thiessen Polygons function to separate the space of the original dataset in such a way that a polygon (area of influence) is assigned to each original feature.

In order to make sure that the Thiessen polygons cover the entire extent of the buffered polygons created in STEP 1:

  • use the option for creating Thiessen polygons with the buffered convex hull
  • Use a buffer distance larger than the distance used for buffering.

Now we need to find a way to split the buffers for all points created in STEP 1. with the Thiessen polygons and each original point will have its own buffer polygon.

STEP 4: We can use the Clip function to clip the Thiessen Polygons with the buffers created in STEP 1

Sample Model of the entire process (ArcGIS Desktop and ArcGIS Pro only)