[GIS] Intersect between polygonal shapefiles error

intersectionpolygonqgis

I'm encountering a problem when I try to intersect two different shapefiles. They are all new shapefiles I created to descibe the land cover and the land use of a city. The problem occurs when I intersect them to create a new single shapefile in which the original areas are divided and have information of both land uses, that I have to use for the CORINE legend.

When I use the intersect tool, it create a new shapefile but left out some areas that were in both files and must have an intersection. I tried to obtain the missing shapes from a difference between this new intersect shapefile and one of the orginals, but even in this way qgis only recognized some polygons and rejected the others. If I repeat this procedure I can improve the output, but I'm not able to include some areas.

The file have the same kind of geographical reference and the same dimension. I also don't understand why the output changes if I use one shapefile first or the other when I tell it which file to intersect. The intersection should be the same?

The images of the files are posted below: the first two are the input shapefiles and the last is the output. It's clear that there are some missing areas, like the big wooded area lower right.

enter image description here

enter image description here

enter image description here

After running a geometry validator:

validator dialog

new result

Best Answer

Are there bad geometries involved? This sounds like a problem ESRI has when invalid geometries are used.. selef intersecting, incorrect ring orientation make it hard for the tool to work. In ESRI I use 'repair geometry', there may be something similar in QGIS to clean up bad data before intersect.

Here's a link to someone who has fixed geometries in QGIS http://faunaliagis.wordpress.com/2013/08/14/bad-bad-polygon-fixing-invalid-geometries-with-quantum-gis/ having not done it myself I can't comment on the effectiveness of their methods.

I looked at the images presented in the comments but, sadly, I am unable to decipher any of the meaning due to language differences.

Related Question