0

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

first I have two polygons :

polygons

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

intersect

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 :

diff

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

here like this image :

vertex

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 '17 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 '17 at 20:17
  • @PolyGeo some solution with python ? – Mar Jul 18 '17 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 '17 at 20:30
3

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 '17 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. – Michael Stimson Jul 18 '17 at 21:38
  • yes I understand now I think good idea do you have test it that ?work ? – Mar Jul 18 '17 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. – Michael Stimson Jul 18 '17 at 21:50
  • is very hard way to do correct I try it but I fail to do correct – Mar Jul 25 '17 at 13:55

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.