Enable Repair Geometry tool for ArcSDE geodatabases

04-15-2010 02:00 AM
Status: Implemented
Esri Contributor

Currently, the Check and Repair Geometry tools are not enabled for ArcSDE geodatabases, because 'SDE Geodatabases automatically check each geometry's validity when it is uploaded'.
But this is only true when the upload is via ArcSDE. By loading data via a third party tool and then manually register the data in the geodatabase, the geodatabase still can be filled with garbage.

Tags (2)
We've been using ArcSDE since it was just SDE 3.0.  And regardless of what the print says you can still get empty geomtries when editing in a pure ArcMap to ArcSDE environement.
I know that versioning would through a HUGE wrench into the repair gemoetry part of the Idea, but at least let us Check it and then manually fix them!
Not only that but one can also create all of the following as well:
1. Slef intersections
2. incorrect ring ordering
3. incorrect segment orientation

The last two are a bug: NIM074901. I still have an on going support call on the matter so things may change but current thinking is that the first one is caused by user digitising. In my case I believe it comes about from the way ESRI works when you insert points and the fact inserted points cannot be automatically snapped to an existing point when inserted. It also relates to the set tollorance levels. I left the levels to their previous setting when some months ago I imported the data. They are currently set to 0.0001. Apparently at face value the points appear to be snapped but when you check the topology they do not match. So are obviously very close to the 0.0001.

The suggestion was to use the Check Geometry as a warning of poor, although not strictly incorrect, digitising and correct the defect. Of course that isn't allowed on the SDE and as my dataset has an archive, it can't be exported, since no correct export options exists for an archive. I can export parts of the archive but not the whole archive.

I'm using ArcMap 10.0.3 and yet Redlands ended up referred me to the following link:

This just goes to prove that issues exist in this area because that article refers to being able to check geometries and it states software up to 9.0. It also says for ArcGIS 9.1 and later, the Check Geometry tool is disabled for ArcSDE data. It may be a case of ESRI wishing to introduce a feature and deciding another feature will have to be sracped so it can be introduced, rather than finding away of inluding both features.

I keep finding things that can't be done in ArcMap that I'd like to do. It's very good but it could be even better,

I also wanted to add the following note:
"SDE Geodatabases automatically check the validity of each geometry when they are uploaded; therefore the Check Geometry and Repair Geometry tools are not for use with SDE." (http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000034000000)

If the SDE automatically checks the validity of each geomtery when they are uploaded, why is it not checking the validity of each geometry when it is being written to the database after digitising?
I suspect there will always be a number of ways which invalid geometry can be created (crashes, imports, API coding, bugs, etc.), so the point is we need validation tools, and ones that work on an SDE Geodatabase!

Validation tools should report all the attribution associated with errant features and write the information to a file or database table. Using validation tools should be as simple as running Analyze.

Enforcing a geometrically correct database is not just fundamental; it is a prerequisite to GIS 101 (without correct geometry, all geo-processing manipulations are subject to failure).

ESRI, we want to be successful. Give us the enterprise tools we need!

Upgrading a 9.3 database can't happen because I have intersecting geometries in the database. How did they get there? Also if they are found in a featuredataset, the error doesn't tell you which featureclass. Now what? Export out each one and re-import, hoping the error will be fixed this time?
Recently had an ESRI analyst help me out with this. 
Bad geometries appear in ArcSDE!  I found a doozy where an annotation polygon was in three parts with one ring reversed.  At least, you should convert the SDE checkfeatures command into a geoprocessing tool.
We have had to open support case 01613059 about this issue. The problem is with client polygon set created with ArcInfo platform. Later loaded with ArcGIS into SDE. Now they suffer from this problem and getting "self intersecting" geometries inside SDE. The worst thing is that features are uploaded silently without any warning. Some feature shapes became NULL's.
Another problem is if FeatureClass has History enabled, it is not so simple to load to FGDB, repair geometry and load beck to SDE without loosing History.
What about replication...???
As a minimum, there should be a repair tool that works directly with SDE data.


Is there any update on this issue? Is there a way to handle invalid geometry in SDE environment?


This needs to expand to include the Hosted feature layers, and runtime databases as well.