English

FAQ: Why does the Check Geometry tool sometimes find errors in ArcSDE feature classes?

Question

Why does the Check Geometry tool sometimes find errors in ArcSDE feature classes?

Answer

All feature geometries in ArcSDE must pass a series of validation rules before they are stored in the RDBMS. These rules ensure that they meet the fundamental definitions of their spatial geometry type. However, the Check Geometry command in ArcToolbox will sometimes report back with "short segments" and "self intersections" for line and polygon features in ArcSDE. What do these errors mean, if by definition geometries stored in ArcSDE are spatially valid?

Short segments and self overlaps occur when vertices within a geometry are considered coincident. Though ArcSDE's shape validation rules ensure that no two vertices within a geometry are stored with the exact same coordinates, the Check Geometry command looks for topological coincidence rather than exact coincidence. The distance within which coordinates are considered to be topologically coincident is based on a cluster tolerance factor, which in turn is based on the precision of the feature class's spatial reference. This cluster tolerance is the same as the default value defined for a topology in a feature dataset of the same precision, which is approximately:

2/precision (map units)

For example, for a dataset with a precision of 1000 and map units of meters, the default cluster tolerance is approximately 0.002 meters.

It's important to keep in mind that while the errors reported by the Check Geometry command do not indicate violations of ArcSDE's shape validation rules, they should not be ignored since they indicate conditions in which topological operations based on the same cluster tolerance may not give the expected results. Therefore if the Check Geometry command finds short segments or self intersections in ArcSDE data, this indicates that the source data was imported at too low a precision.

The Repair Geometry command can be used to fix these errors. However, this command is not intended for use on data in ArcSDE and is only enabled for data in personal geodatabases and shapefiles. The Repair Geometry command fixes short segments and self-intersections by snapping topologically coincident vertices together. This a valid method for repairing errors in source data for ArcSDE, since these errors are generally due to issues with the data collection technologies or methodologies. In fact, it is recommended that errors found by the Check Geometry command be repaired in the source data before it is imported into ArcSDE. If however, the Check Geometry finds additional errors in the data after it is imported into ArcSDE, this indicates that the data was imported at too low a precision. The correct way to resolve these errors is to re-import the data at a higher precision.

For more information about precision, and how to choose an appropriate value for your data, refer to the ArcGIS Desktop Help and browse from the Contents tab to: Building a Geodatabase > Creating New Items in a Geodatabase > Setting an appropriate Geodatabase Spatial Domain.

For more information about ArcSDE's shape validation rules, use the following link to the ArcSDE Developer Help and browse from the Contents tab to: Getting Started > Geometry > Introducing Geometry > Shape Validation.

Note:
For ArcGIS 9.1 and later, the Check Geometry tool is disabled for ArcSDE data.

Related Information