[GIS] Difference Between Polygon Layers

differencesqgis

I'm trying to get the difference between two polygon layers using the QGIS difference function. These are the two files:
Dropbox

When I view the attribute tables of both I can see there are 3 polygons that are different between the two. When I run the difference tool I get an output that has fifteen polygons the same as the original file with 15 polygons. Is there something I'm missing? I want to get a separate shapefile with only the 3 polygons that are the difference between the two.

Best Answer

Ok, it seems that the layer difference tool in QGIS keeps all the rows and computes a new geometry for all of them. As a result there is a new layer with 15 rows and 12 of them has an empty geometry. I do not know how to show the difference of empty and non-empty geometries with QGIS. At least the attribute view does not do it. I saved the result as shapefile and opened it with OpenJUMP which has pink icons for empty geometries in the attribute window.

enter image description here

The tool seems to compute the differences for the geometries correctly but it is not exactly the tool that you want to have for your task. However, you can find your features by selecting all rows which have an area bigger than zero. The text is rather small but there reads "3 feature(s) selected on layer difference".

enter image description here

Related Question