I performed an object-based image analysis using ENVI EX, and each of the classified features were exported as a shapefile. I transferred those shapefiles into ArcMap 10, and tried to intersect them with other shapefiles of the same area that were acquired from GeoBase.

When I try to run the intersect tool, I get an error message stating that the topology of the shapefiles extracted from ENVI EX is invalid. I tried to turn on the topology tool to repair the topology of those shapefiles, but the buttons are greyed out, and I can't seem to click on them. The topology tool does not work for any of the shapefiles that I have.

Any solutions? How can I fix the topology and run the intersect?


2 Answers 2


I encountered similar issues as well with polygons. Maybe you have a similar problem.

Error Message by ESRI: "Invalid Topology (Incomplete Void Poly)"

Actual Error: "Invalid Geometry"

Fix: Run "Repair Geometry" (changes data in-place, be careful, there is no undo)

What happens is that the error reported is not using the ESRI terminology of Topology/Geometry and confuses everyone. In my case, while the error was talking about topologies, there were no topologies defined (topology as in an ESRI topology). But when I checked the geometry (using the "Check Geometry" tool) I found out that my geometry (as in an ESRI geometry) there were errors.


Just in case ArcMap doesn't work, you might want to try GRASS' v.clean tool. You can install GRASS with QGIS. After installing:

Cleaning of topology of a SHAPE file using the GRASS Toolbox

  1. Load the SHAPE file into QGIS
  2. Use existing GRASS mapset (or create a new one) with matching projection settings
  3. Now you have to transfer the SHAPE file from QGIS to GRASS using Toolbox -> File management -> Import into GRASS -> Import vector into GRASS -> Import vector into GRASS from QGIS view (v.in.ogr.qgis). Some topological problems may be reported depending on the quality of your SHAPE file.
  4. These topological problems we can fix now in GRASS via toolbox using the topology tools: Vector -> Develop map -> Toolset for cleaning topology of vector map -> v.clean.break. Define a threshold in map units (for example 0.5 [m] or likewise). Analyse the printed report, probably the threshold needs to be adjusted or a different topology cleanup tool to be used. Click then on view output to show the result as map.
  5. Export the cleaned map to SHAPE format: File management -> Export from GRASS -> Export vector from GRASS -> v.out.ogr

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.