I can set a "X,Y tolerance" or use default when I create a new feature class.

I can set a "X,Y tolerance" or use default when I create a new feature dataset.

I can set a "Cluster tolerance" or use default when I create a new topology within a dataset.

What are the differences, and what is affected if there are different settings (for example, I have a topology with a .0034 cluster tolerance in a dataset set to .00328 X,Y tolerance with feature classes of .00328 X,Y Tolerance settings).

  • A Spatial Reference has an XY Tolerance too. This is sometimes important when creating an Arcpy geometry object.
    – klewis
    Sep 8 '14 at 19:34

Each feature dataset has a XY tolerance that is defined during its creation, and cannot be changed. The tolerance of a topology can be changed IF the geodatabase is not registered as versioned.

When you create a topology, you can work with more than one layer. So you have a set of feature classes with (potentially) different XY tolerances. In order to determine the common rule for coincident points, you therefore need to set one XY (=cluster) tolerance value for your topology. The default value for the tolerance in a topology is 10*tolerance of dataset. And the default value of XY tolerance in a dataset is 1 millimeter.

e.g. A has a tolerance of 1 and B has a tolerance of 10, so the coordinate point (6,6) can be stored in A, but if you try to store it in B it will be rounded to (10,10). If you select 1 as a cluster tolerance for topology, those points will not overlap; If you select 10, they will.

EDIT: more details can be found here, but, in short, you should relate the value of your tolerance to the value of the precision of measure.

  • Thank you. From your example, if i have a larger tolerance, then my features will more likely be coincident. Which is not necessarily a good choice if features are actually really close. What is the best way to see these changes? If I change to a high tolerance, how can I see which features are now coincident than when I had a smaller tolerance? Sep 8 '14 at 21:37
  • you can change your tolerance, validate your topology and see the changes for some rules 'like "must not have dangle".
    – radouxju
    Sep 9 '14 at 11:31

Source: ESRI

The terms XY Tolerance and Cluster Tolerance are synonymous. You will see the usage of Cluster Tolerance in topology, python script, and ArcGIS prior to the 9.2 Release

The XY tolerance refers to the minimum distance between coordinates before they are considered equal.

Calculate Default XY Tolerance (Data Management)

  • So what effects are there when the xy tolerance for a feature class is different from the xy tolerance of a feature dataset it is in? Or if the cluster tolerance in a topology is larger than the xy tolerance for the feature classes? Will the tolerance be taken from the topology cluster tolerance because it is more generalized or the smaller feature xy tolerances etc.? Sep 8 '14 at 19:24
  • Feature datasets exist to standardize the coordinate reference among participating feature classes. There should not be a difference between the tolerances of feature class and feature dataset.
    – Vince
    Sep 8 '14 at 19:43
  • "should not" would be in a perfect world. my answer below takes care of part of my question. Yes it does standardize. But my new question is which one. If I have a feature class with a smaller tolerance (shorter average distance) than another feature class with a higher tolerance (longer average difference), would the smaller tolerance feature class be generalized to the larger tolerance feature class in a topology. Do I need to set the topology xy tolerance to the smaller tolerance? And how would that affect the feature class with a larger tolerance? Sep 8 '14 at 20:19

"There is a range allowed for the cluster tolerance value, this range is derived from the precision of the spatial reference of the feature dataset in which the topology is contained. If the value entered is larger than the maximum cluster tolerance, the maximum value will be used instead. If the value entered is smaller than the minimum, the minimum value will be used."


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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