I'm working with a shapefile of Enumeration Districts (Setores Censitários) of the 2010 Brazilian Census. Enumeration Districts (ED) are smallest areas for which Brazilian Census data is available. The 2010 Census had 318 thousand EDs. Created to facilitate Census logistics, EDs defined as areas containing from 250 to 350 households in urban areas and 150 to 250 in rural areas, so that they can be surveyed by one of Census surveyor. To avoid double counting or ignoring households, EDs must divide the space in a topologically consistent manner, with no overlaps or gaps.
To import the shape vector to GRASS mapset i'm using the v.in.ogr.qgis tool with 0.0001 snap threshold and 0.1 mininum size of area. Just a few cases of overlaps and gaps are fixed and increasing those values didn't solve the problem, so i tried to use de v.clean tools to make these corrections in a controlled manner.
Lower thresholds keeps the topology, but don't solve the gap problems.
The v.clean.rmarea with 10000 threshold solve some of the cases of overlap, but it erases some of the original areas that area very small as well. Lower threshold won't dissolve the overlap areas and greater threshold will dissolving original small areas.
There is anyway to fix these topology problems using GRASS or another tool but without changing the original topology in the process? A more controlled manner to do this validation?
Here is available a small portion of the shapefile that i've been working: https://www.dropbox.com/sh/daodgcww4afr2w1/AABCUiHMnscNJPE3zRmjKfVJa?dl=0