Solved

Polygon Buffer Avoiding Overlaps


Badge +1

I have polygons (closed polylines) that I want to buffer a fixed distance, removing any overlaps. Each Polygon has a unique ID and they need to remain individuals.

Below and attached are starting polygons

startAnd shown in red is what we want to achieve.

EndI've tried an array of Buffer/AreaOnAreaOverlays/Dissolvers, but I cant quite get what's needed and keep ending up with holes and artifacts.

Any ideas?

I've attached the road strings i'm buffering towards, incase that is useful

icon

Best answer by geomancer 28 June 2022, 09:45

View original

5 replies

Userlevel 3
Badge +33

The polygons within a building block are not touching, you may want to remedy that first.

Not_touching

Badge +1

The polygons within a building block are not touching, you may want to remedy that first.

Not_touching

Ok, thanks,

I've attached another versions with touching boundaries.

What were you thinking the workflow might look like with overlapping boundaries?

Userlevel 3
Badge +33

Thanks for the improved sample data. This seems to work on the data you provided.

Most of the work was in the corners where several polygons meet. The hole provided a nice extra challenge.

Mind that you may need to change the distance values in Bufferer, LineExtender and NeighborFinder.

Polygon_Buffer_Avoiding_Overlaps

Badge +1

Thanks for the improved sample data. This seems to work on the data you provided.

Most of the work was in the corners where several polygons meet. The hole provided a nice extra challenge.

Mind that you may need to change the distance values in Bufferer, LineExtender and NeighborFinder.

Polygon_Buffer_Avoiding_Overlaps

Thanks for your workflow, this is really great!

Userlevel 3
Badge +33

Thanks for the improved sample data. This seems to work on the data you provided.

Most of the work was in the corners where several polygons meet. The hole provided a nice extra challenge.

Mind that you may need to change the distance values in Bufferer, LineExtender and NeighborFinder.

Polygon_Buffer_Avoiding_Overlaps

You are welcome, it was a nice challenge

Reply