I would like to use the 'Eliminate sliver polygons' in QGIS, but only if they have the same attributes.
To be more specific, I have an administrative shapefile that was created with the SEXTANTE tool 'Union', and which contains cities and villages. Some villages are in cities, some others are half-half, and others are out of the cities. Some of the villages have (very small enclaves) in other villages. The output of the union tool has a lot of sliver polygons, which I would like to merge.. but if I do that with QGIS 'Eliminate Sliver polygon', selecting polygons per area, it will dissolve my enclaves into the wrong polygon. So I would like to know if there is a way to give a condition for the merging other than biggest polygon/longest boundary.
Is there a way to merge only if this biggest polygon/longest boundary has the same attributes?
My current idea is to 'identify' my enclaves by:
- calculating each polygon' area before using the union tool
- calculating their area after the union
select polygons that:
a. changed of area
b. are below a certain threshold.
Would there be a faster way to do this?