I'm working with QGIS 3.16 Hannover under MacOS 10.13 environment. I've got two polygon shapefile layers: one for natural areas and one for regions. I need to divide all natural areas, using the boundaries of the regions, without loosing any part. For example, in the following image, polygon A represents a natural area in shapefile Natural_Areas and polygons B and C represent the boundaries of two regions in shapefile Regions

enter image description here

I want to obtain a layer containing polygons 1, 2 and 3. I've tried with the clipping tool, but it returns a single polygon corresponding to polygons 2 and 3 joined (or, more precisely, not cut).

  • 3
    Have you tried using Union on A & B then clipping the output by polygon A?
    – ferus89
    Mar 5, 2021 at 10:48
  • 3
    Try Vector overlay - Union from the processing toolbox.
    – user30184
    Mar 5, 2021 at 10:50
  • I found the choice of inputs unintuitive. For the union processing algorithm, Your polygon layer with B and C is the Input Layer, and A is the overlay. You then need to clip the result by A. This will still leave region 1 to be found by Difference between the two layers.
    – Llaves
    Mar 5, 2021 at 17:06
  • Given how easy it is to create and then get rid of (temporary) layers produced by the processing tools in QGIS, you could use Polygons to lines on Regions and then Split with Lines on Natural Areas.
    – John
    Mar 5, 2021 at 17:30
  • @ferus89 Your suggestion is THE answer. Please, write it in the answer section to validate it.
    – jpinilla
    Mar 5, 2021 at 17:54

1 Answer 1


You can perform a union of polygons A and B

You can then clip the union output using polygon A, returning the desired geometry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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