Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Interesting behaviour:

Two line segments in a dataset have almost, but not quite, identical endpoints. The difference between them is less than the XYTolerance for the data set.

Reading the coordinates into arcpy, they come out as different to one another.

But if I zoom in and in and in, far beyond the XYTolerance, ArcMap still displays them as identical - no gap appears between the lines.

Is this to be expected? Does arc make any guarantees on precision of data drawn on screen, or data passed to arcpy? What will happen if the points are separated by the XYTolerance exactly?

Update: I tried to test the boundary case, but the plot thickens. The following script creates a feature class that displays correctly in ArcMap despite having features smaller than the cluster tolerance. Still I have other data that doesn't display correctly under the same circumstances.

import arcpy

out_polyline_feature_class = arcpy.GetParameterAsText(0)

# t is tolerance
t=0.001

ic = arcpy.InsertCursor(out_polyline_feature_class)

edges = [ [ (0,0), (0,t/2) ],
          [ (0,0), (t,0) ],
          [ (0,0), (-t,-t) ],
          [ (0,0), (-2*t,0) ]
        ]

line = arcpy.Array()
pnt = arcpy.Point()
for edge in edges:
    line.removeAll()
    for point in edge:
        pnt.X, pnt.Y = point
        line.add(pnt)

    row = ic.newRow()

    row.shape = line
    ic.insertRow(row)
    del row

del ic
share|improve this question

1 Answer 1

The ArcGIS 10.0 Help indicates coordinates closer than the XYtolerance are considered identical. The feature coordinates are not identical but are considered identical. Your finding that the features displayed as identical sounds correct. I have not tested the special case where the distance is equal to the XYtolerance. Also, the XYresolution setting (significant digits) may effect the interpretation of the minimum distance.

share|improve this answer
    
Sounds plausible, but see my update - I managed to create features smaller than XYTolerance and they weren't displayed as identical –  Sideshow Bob Oct 17 '12 at 15:15
    
I think the XYtolerance or cluster tolerance is used more for Geoprocessing such as clip, intersect, etc. You could create topology rules to test "identical" features below and beyond the xytolerence. I'm unsure if the "View" of the data follows all geoprocessing rules. –  klewis Oct 17 '12 at 16:01

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.