I have two layers each of which have hundreds of polygons. I want to create a new layer, which is reflective of the features which the two layers don't share.

I've been using the QGIS difference and the symmetrical difference tools, and even though the map displays right, the feature count is totally off.

For example, the first layer has 3,000 features and the second has 1,000. The new layer should have 2,000. And, again, even though it displays just fine with the difference tool, the feature count is like 2999 on the new layer. I don't get what's happening. I need the feature count to be accurate because I need the CSV file.

  • Are any of your polygons multipart?
    – jcarlson
    Commented Feb 24, 2018 at 0:33
  • Welcome to gis.stackexchange! Please edit the title of your question to include enough information for future visitors to be able to find this thread when looking for the same problem.
    – underdark
    Commented Feb 24, 2018 at 20:17

1 Answer 1


There are several ways to do this, but one method you can do entirely via GP tools/python is to add the following tools to a script/model:

  1. Use Make Feature Layer to create layers from your feature classes.

  2. Use Select Layer By Location, choose the ARE_IDENTICAL_TO Relationship type, and invert the spatial relationship (will select all features in your input FC that are not identical to the other layer).

  3. Use Copy Features to create a FC from your selection.

Edit: This answer is how to do this in ArcGIS, while the question was edited after this response to specify QGIS.

  • Going to try this!
    – Niki
    Commented Feb 24, 2018 at 15:52
  • Isn't this answer for ArcGIS and not QGIS (which was asked)? :)
    – Joseph
    Commented Feb 26, 2018 at 10:41
  • 1
    @Joseph This question was recently edited to add the QGIS in the title and body. The original simply referenced geoprocessing tools. I answered the original question.
    – ORA-55378
    Commented Feb 26, 2018 at 20:20

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.