3

I am dealing with a .shp with a number of points in it. The distances between points range from ~300m to 5km.

I wish to create a 1 km buffer around each point with as little overlap as possible. Each buffer should have an ID. Where 1km buffers overlap with each other, I would like to give that buffer a different ID.

So lets say I have 50 points, and I create a 1 km buffer around every point. Owing to the short distances between my points in the Shapefile, overlapping between buffers are inevitable. Where there is overlap, I would like to give one of those buffers a particular ID. I would like to replicate this throughout my entire dataset until there are no buffers of the same ID overlapping.

I am sure this is possible in QGIS with a combination of the vector manipulation tools, I am just struggling on the best approach. Any advice would be greatly appreciated.

edit: 2.0.1 Dufour

My problem is exhibited on the left image. The resolution is on the right image. Not how the ID of the buffer has changed to prevent overlapping of the same ID

  • Im not sure to understand what you are trying to achieve. Do you want to find the maximum buffer radius without overlapping? – Below the Radar Dec 19 '13 at 14:08
  • No, each buffer MUST be at 1km. I want a 1 km buffer around each point in my shapefile. Where the buffers overlap, I would like to give them different IDs so that no buffer overlaps with another buffer of the same ID. Apologies, I have been recycling this in my head for some time so I may have failed to express myself clearly. I will knock up and upload some pictures that should hopefully better explain my problem! – Rob Lodge Dec 19 '13 at 14:11
  • 1
    Why dont you locate points that are closer than 1km, extract them from your dataset, and do buffer on those that left? – Below the Radar Dec 19 '13 at 14:13
  • If I do that then I will have the same problem with my extracted dataset. I will still have points within 1km of each other. I could extract one half of the points and create a buffer around the existing points, and then replicate this with my extracted dataset. This would work although I'm aiming to find something a little more streamlined! – Rob Lodge Dec 19 '13 at 14:33
  • Maybe you will need to build a python script that loop over each buffer, if it instersect, test if the intersected buffer ID = ID2, if not, assign ID2 to the buffer, else, assign ID1 – Below the Radar Dec 19 '13 at 14:40
1

I would Intersect the buffers, turning the overlap into polygons.
Apply a Spatial Join from the original Points to assign the original ID, clear the ID's that don't have a match.
Join the two layers on the ID to compare Area. The buffers that overlapped have buffer.area > intersect.area.

  • Intersect seems like the quickest way to me. – Dan C Dec 19 '13 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.