Topology problems when editing in ArcMap |
Problems linked to the coordinate precision Any GIS software needs to use some rounding when representing real world coordinates. The term Coordinate Precision refers to the mathematical exactness of a coordinate and is based on the possible number of significant digits that can be stored for each coordinate. GIS software normally stores coordinates in one of three formats: long integer, single or double precision real numbers. A long integer can store up to 9 significant digits, a single precision real up to 7 and a double precision real up to 13 significant digits. So no matter what format is used for storing the spatial data some rounding occurs when storing coordinates. We will not discuss here the precision used in ArcGIS. The purpose of this page is to highlight the problems that might occur during some editing task linked in most cases to the coordinate precision. Lets assume that long integers are used for storing numbers. Depending on the rounding formula the numbers will be stored similarly to the examples below 123456.7891 will be stored as 123456.789 123456.7899 will be stored as 123456.789 Therefore all the possible coordinates can be represented as a very fine grid. If a point is derived from a spatial operation and the coordinates calculated somewhere in between the grid points, the point is moved slightly and snapped to the grid. |
The original (black) line in the image is described by its
From and Two points. All the points from the line can be derived using the
equation
y = Ax + B Once calculated however the coordinates must be rounded in order to be stored as long integers and therefore are snapped to the coordinate grid. As a result we do not have a straight line anymore, but a polyline (red) with three straight segments each having its own equation. |
The
movement is so small that it will not affect the accuracy of the spatial data,
but it can cause problems in the relationships between the neighboring features
if the tools used for editing do not take into account the spatial relations
between the edited feature and its neighbors.
Example: Inserting new vertices in an existing polygon |
Unlike in the coverage data structure each polygon stored in Shapefiles or in Geodatabases has its own boundary. If we have two adjacent polygons their common boundary is stored twice (separately for each polygon). | |
If we insert vertices in one of the polygons, the new coordinates will be calculated, rounded and snapped to the coordinate grid, then stored in the dataset. | |
As a result the common boundary of the two polygons will not be common anymore. Extremely small gaps and/or overlaps will be introduced in the dataset. These topological problems initially are so small that cannot be seen even if zoomed with the maximum allowed zoom factor in ArcMap (which is quite limited), but they exist and the more editing is performed the larger they get. |
If you have ArcEditor or ArcInfo license the problems can be rectified by
building topology and validating it, but there is little that the ArcView
users can do about these problems.
ArcMap tools that might produce incorrect topology - Modify Feature ==> Insert vertex to a polygon (See the example above) -Cut Polygon Features task |
Two polygons to be cut are selected |
After the standard ArcMap Cut Polygon features task |
There is no vertex introduced in the neighboring polygon that was not cut. |
When zoomed to the indicated location - Overlaps are introduced by the task performed |
- Editor ==> Clip Tool
The larger polygon to be clipped with the highlighted one | New vertices are introduced in the clipped polygon | No new vertices are inserted in the clip polygon | Zooming to the indicated location shows that overlap has been created |
ET GeoTools offers editing tools that will perform similar actions, but will preserve the correct topological relations between adjacent polygon features |
For any comments and enquiries contact: webmaster@ian-ko.com |