[GIS] How to correct topology area boundary errors (slivers/gaps) on arcs in arcgis / arcsde

arcgis-10.1arcgis-desktopsliverssql servertopology

I use arcgis 10.1 (arcinfo licence) with arcsde to connect to a SQL Server database. The initial dataset has around 100k polygons (used for land registration, having a resolution that is around 1cm and using an MTM projection). Many geoprocessing operations were made on the dataset to build several related layers (copy / paste / split / merge / join, etc.). Note: I never did any polygon simplification/generalization that would change the shape or amount of vertices in the polygon layers.

At the end of these operations I made a topology (1mm tolerance) between my initial dataset (rank #1) and the final dataset (rank #5) using the "Area Boundary must be covered by boundary of" rule to see if I landed back on my feet. I expected errors only on the polygons that I had modified. However, I got many (several thousand) errors on parts that I had not modified. The symptoms are always the same: they always affect polygon arcs. The width of the sliver/gaps is always between 0,01mm and 10mm. Vertices between my layers are always identical (looking at 1:1 zoom with X,Y coordinates) but the path between vertices is changed for some unknown reason. I have enclosed a few pictures to show the problem (the zoom pictures are at 1:1 zoom). Any idea about what could have happened and how to correct this? The main constraint is that the initial layer must remain unchanged (for legal reasons).

I have tried to change the tolerance of the topology to 1cm – it does solve 50% of my problem, but at the expense of the initial layer being slightly modified (I made an intersection between the original layer and my "initial" layer and they revealed many small changes).

I have also tried the automated "snap" tool using "Edges" and "Vertex" options, but almost nothing was changed (probably because the vertices are already in the right place. Only the arcs between vertices have problems).

sliver_gap_1
sliver_gap_1_zoom
sliver_gap_2
sliver_gap_2_zoom

Best Answer

The Integrate tool will fix small gaps in the data, but be very very very careful when using this tool on SDE data it will overwrite the existing features in the dataset with no undo.

To use this tool properly:

  • Backup your SDE data: either as XML workspace document, Geodatabase feature class (file or personal - use copy/paste), Shapefile or your current SDE backup.
  • Try it on a copy of the data first: Copy the data into a file geodatabase and run the Integrate tool with as small a tolerance you can, then test the results to see if the errors are fixed.
  • Check some of the finer areas for collapse, if there are collapsing polygons decrease your cluster tolerance and try again on a fresh copy.
  • Run it on the SDE data: Hint, use the results tab in ArcCatalog, double click on the test that produced satisfactory results and then change the data. This will ensure that exactly the same parameters that have been proven to work will be applied in SDE.

The integrate tool can save days of work but when used reclessly it can make weeks of work from days of work to fix... always have a backup when using this tool; I have learned the hard way what happens if the cluster tolerance is too large - in most cases it's quicker to delete the data and start again than to try to fix overzealous clustering.

Related Question