If I understand correctly, your problem is that the layer you are buffering has multiple polygons and the buffer around polygon 1 might intersect polygon2, so if you buffer the layer, then difference the layer from the buffer, you lose these overlaps. What you want is to difference buffer 1 with polygon 1, buffer 2 with polygon 2, etc.

I am not aware of a way to do that from the GUI, but it's only a couple of line in PyQgis. You need to loop over the features of the buffer layer, differencing the corresponding polygon from the original layer. In my quick test, the FID is preserved across the two layers. The feature order appears to be the same, but it would be prudent to sort the two lists of features first to be sure of the same order. Then it's just a matter of looping over the features and calling the difference method on the two geometries and adding the result to your new layer.

If nobody comes up with a better method or code and you don't know how to write Python, I'll probably have a bit of time later today to bang this out.
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to