I try to use a simple intersect in QGIS 2.18.10 and I get Unexpectedly results.

first I have two polygons :


second I use SAGA intersect algorithm and I get this layer:


Until now all good(not really good).

now I think new intersect layer is correct because that created from polygon 1 and polygon 2.

but if I use to difference algorithm to see if my new layer is correct then I take topology difference error at intersection line from two polygons

like this :


that is because at intersection area of two polygons don't have common vertex.

here like this image :


that create topology errors.

How can I fix that or create new intersect without this error using QGIS?

  • @PolyGeo I have update thank you,do you have any idea about this ?
    – Mar
    Jul 18, 2017 at 19:58
  • I have not had QGIS installed for quite some time and am only ever been a very occasional user of it.
    – PolyGeo
    Jul 18, 2017 at 20:17
  • @PolyGeo some solution with python ?
    – Mar
    Jul 18, 2017 at 20:20
  • 2
    You are free to ask about Python as another question or change this one from QGIS to Python before it gets any QGIS answers. Either way, if you ask about Python you need to include some code.
    – PolyGeo
    Jul 18, 2017 at 20:30

1 Answer 1


It's not really a topology error, what you're seeing is very common. The boundary does not match exactly because, as you have discovered, there isn't common vertices between the features; the vertices on the intersect will appear to be displaced because of floating point precision as there's only a finite number of decimal places you can store no matter how wide the number format (float, double, decimal etc.) which means that the only way a boundary or line can match is when the end vertices of the segment exactly match.

You can insert vertices in the source polygons at their intersection by using a Union operation between the layers and then extracting/dissolving.

  • how to do that first union and after dissolve ?that fix my errors ?
    – Mar
    Jul 18, 2017 at 21:21
  • 1
    Read the links, all the detailed instructions are there. Union will integrate both polygon feature classes, adding a vertex at the intersection points then select, extract and dissolve the union feature class by attributes which, if you do it right, should give you your original polygons with vertices at the intersection points. Jul 18, 2017 at 21:38
  • yes I understand now I think good idea do you have test it that ?work ?
    – Mar
    Jul 18, 2017 at 21:41
  • 1
    I have not tested it exactly but can say with certainty, based of my knowledge and experience of the individual operations, that the process will proceed as stated. You must only know how to select your original polygons from the union and what fields to dissolve by, I can't tell you this because I don't know your data. Jul 18, 2017 at 21:50
  • is very hard way to do correct I try it but I fail to do correct
    – Mar
    Jul 25, 2017 at 13:55

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.