ArcGIS applications are built with the assumption that the feature’s geometry follows certain specifications. When the processing algorithms encounter data that does not follow the specifications, the software can perform poorly, generate errors, crash, or the operation may succeed without an apparent problem but generate incorrect results.
Repair Geometry Geoprocessing tool
The Repair Geometry tool inspects each feature in a feature class for problems with its geometry. Upon discovery of a problem, a fix will be applied, and a one-line description will identify the feature, as well as the geometry problem that was fixed.
After applying a fix, the tool will re-evaluate the resulting geometry and if another problem is discovered, the relevant fix will be performed for that problem as well.
Origins of bad geometry
Enterprise geodatabases automatically check the validity of each geometry when they are uploaded; therefore, the Check Geometry and Repair Geometry tools have not been available for feature classes in an Enterprise geodatabase. Geometry errors can however occur for features in an enterprise geodatabase as DBMS systems provide native geometry field types that can be uploaded and modified through manual SQL expressions or from other software packages. These systems can create geometries that are invalid for ArcGIS.
Support for feature classes stored in an enterprise geodatabase
At ArcGIS Pro 2.7, the check geometry and repair geometry geoprocessing tools now support feature classes stored in an enterprise geodatabase. For feature classes stored in an enterprise geodatabase, the following spatial types are supported:
- Microsoft SQL Server Geometry and Geography
- PostgreSQL PostGIS Geometry and Geography
- Oracle SDO Geometry
The tools do not support Esri Spatial Types. Features created using Esri Spatial types are created with ArcGIS Software and hence won’t have any geometry errors.
Below is the list of geometry problems that may occur from data stored in an enterprise geodatabase and the corresponding fix that will be performed by the tool:
- NEEDS_REORDERING—The shape will be reordered and duplicate points removed.
- SE_INVALID_ENTITY_TYPE—Not repairable (feature must be deleted).
- SE_SHAPE_INTEGRITY_ERROR—Not always repairable.
- SE_INVALID_SHAPE_OBJECT—Not always repairable.
- SE_COORD_OUT_OF_BOUNDS—Not repairable.
- SE_POLY_SHELLS_OVERLAP—Overlapping shells are merged.
- SE_TOO_FEW_POINTS—Not repairable.
- SE_INVALID_PART_SEPARATOR—Not always repairable.
- SE_INVALID_POLYGON_CLOSURE—Unclosed shells will be discarded (the resulting polygon may be left empty).
- SE_INVALID_OUTER_SHELL—An attempt to repair the feature’s outer shells will be made; shells may be discarded in the process.
- SE_ZERO_AREA_POLYGON—Converted to empty shape.
- SE_POLYGON_HAS_VERTICAL_LINE—The vertical line is removed (the shape may be converted to 2D).
- SE_OUTER_SHELLS_OVERLAP—Overlapping parts are merged.
- SE_SELF_INTERSECTING—Intersection points are added as needed.
Created by: Sam P