Problem: Overlay functions result in data shift


When two features classes in a personal geodatabase (PGDB) are unioned using the geoprocessing UNION Tool the result is a new feature class in the same personal geodatabase with features that are slightly shifted from the positions of original features.


There are 2 possible reasons:

1. The input feature classes are not contained in a feature dataset.

2. The feature classes have different precision values.

Feature coordinates are snapped to an invisible, underlaying grid that is calculated internally based on the feature class X/Y domain and precision values. The grid for a feature class with precision of 10 will be different than the grid for a second feature class that has a precision of 100.

The overlay function calculates a new precision value for the output feature class based on the extents (X/Y Domain) and other factors from all input feature classes. This results in a different location for the underlaying grid and features that are slightly shifted.

Solution or Workaround

Place all input feature classes into a feature dataset and direct the output feature class into the same feature dataset.
X/Y Domain and Precision values are stored at the feature dataset level. Feature coordinates of all feature classes that are stored within a feature dataset will be snapped to the same positions.