[GIS] Invalid geometry message when using Difference tool

geometrygeoprocessingqgisqgis-2vector

I am using the Vector \ Geoprocessing \ Difference tool to get the resulting area when taking a) current ground disturbance away from b) historic total ground disturbance to give c) what has been cleaned up over the years. I have a maximum of 41,000 nodes in the larger file (b).

I've run the geometry validity checker and noted 4 duplicates. All else seems ok. However when I run the tool I get an invalid geometry error message and only get about 70% of the polygons I expect to get. The OGR log says for these says "Pointer 'hLayer' or 'hFeat', is NULL in 'OGR_L_CreateFeature'. I've done this in MapInfo with these polys with no issues (the files have been brought as .TAB's).

Are there any other tools / checkers to use? I would assume the Check Geometry Validity would pick up problems or is this limited?

I note a bug #9152 was logged last year for a similiar issue. How do I find out where this is at / status and what I can do about it? Thanks.

Best Answer

A FOSS solution is available. GRASS has a repair geometry tool.

Dirk is correct though if you have Arc then repair geometry.

v.clean is the GRASS approach.