Error: Unclosed rings leads to Drawing Errors and loss of functionality

01-13-2014 10:58 AM
New Contributor

I have a polygon shapefile that was originially created in eCognition.  This is a large file (>47,000 polygons) that was intended for land cover classification.  Because the area I am working with didn't classify well automatically, I am using ArcMap 10.1 to manually classify the polygons.  This sounds like a ton of work to do by hand, but about 80% of the image is forest, so it's not too bad.  I have been using the Editing toolbar to enter the land cover class into the attribute table for selected polygons.

Last week, when I added the shapefile to ArcMap, I got an ArcMap Drawing Error (One or more layers failed to draw: Land_cover: There was a problem drawing the shapefile. Drawing aborted.).  I used the Check Geometry tool and discovered that a polygon had "unclosed rings".  I used the Repair Geometry tool in an attempt to fix, but that did not appear to correct the error.  ArcMap will draw all of the polygons up until the one with unclosed rings, then it stops.  I tried deleting the "broken" polygon, but no luck.  I can even open the attribute table and see ALL of the polygons listed, but functionally I can't do anything with the polygons after the one that has an error.

I zoomed in on the polygon with the error and it almost looks like there is a blank space the size of a 1x1 meter pixel that may have interrupted drawing?  I have seen before on my maps where blank pixel-sized gaps will appear in the middle of a polygon.

Does anyone have any experience with something like this?  Any suggestions as to how to fix the shapefile?

Kyle Aldinger
Tags (2)
0 Kudos
2 Replies
Occasional Contributor
If you're still working on this you may want to export all "good" polygons to a new feature class in a filegeodatabase, and then recreate the "broken" polygon. Hopefully there is only one bad one. In my experience shapefiles are more apt to corrupting.
Another solution is to create a topology and go through the error correction steps with the Topology toolbar.
0 Kudos
Regular Contributor II
If the source was a raster to polygons then there are often problems with the shape, size and closing of the polygons because they were really edges. Does your data have the jaggies? It could be that the precision of the coordinates has resulted in a lack of snapping.
RepairGeometry will fix small problems, but if you still have a universal polygon you still have a problem.
Snapping vertexes is hard to do well, but you can try
Perhaps you have an enclosing polygon that we used to call the "Universal Polygon" that is everything that is not forest. This might have a million vertices and be self intersecting or drawn in the wrong direction. You will have to find the offending polygon and delete it before you can clean up.

Look for the largest polygon and check the vertexcount. populate a field eg count = shape.pointCount in expression calculator.
Dice is a tool to split oversize polygons.

Having a very large polygon with lots of 'donut holes' will cause problems. Split the larger polygons so that they do not enclose other polygons. shape.partCount will expose those.

Even though repair geometry should fix problems, try finding polygons with very small areas and delete those manually. Just sort the table by area. If the area is zero or null you should delete them immediately.
0 Kudos