

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface ISpatialReferenceTolerance
Provides access to members that specify the spatial and M tolerances of a spatial reference.
The tolerance values for a spatial reference remain NaN until they are either set explicitly using one of the methods or properties available on this interface or as a result of calling a method which defines the resolution of the spatial reference, including ISpatialReference::SetDomain, ISpatialReference::SetZDomain, ISpatialReference::SetMDomain, ISpatialReference::SetFalseOriginAndUnits, ISpatialReference::SetZFalseOriginAndUnits and ISpatialReference::SetMFalseOriginAndUnits. These methods will set the corresponding tolerance to its minimum value if it is currently undefined (NaN).
It is generally good practice to check the validity of the tolerance after setting it using any of the available methods.
Use the ISpatialReferenceTolerance interface to
define default and userspecified
XYTolerance and ZTolerance
parameters utilized by the topology engine when performing
geometric and relational operations on geometries associated with
this spatial reference. This interface also provides access
to define the
MTolerance used by the geometric and relational operations
associated with this spatial reference.
Method Summary  

double 
getMTolerance()
The tolerance used to determine equality of M values. 
int 
getMToleranceValid()
Returns true if the M tolerance is well defined (not NaN) and >= the minimum M tolerance. 
double 
getXYTolerance()
The xy tolerance used to control point coalescing in the X and Y dimensions. 
int 
getXYToleranceValid()
Returns esriSRToleranceOK if the XY tolerance is well defined (not NaN) and >= the minimum XY tolerance. 
double 
getZTolerance()
The tolerance used to control point coalescing strictly along the Z axis. 
int 
getZToleranceValid()
Returns true if the Z tolerance is well defined (not NaN) and >= the minimum Z tolerance. 
boolean 
isMToleranceEqual(ISpatialReference otherSR)
Returns true if the measure tolerances of the two spatial references are the same. 
boolean 
isXYToleranceEqual(ISpatialReference otherSR)
Returns true if the XY tolerances of the two spatial references are the same. 
boolean 
isZToleranceEqual(ISpatialReference otherSR)
Returns true if the Z tolerances of the two spatial references are the same. 
void 
setDefaultMTolerance()
Sets the default tolerance used to determine equality of M values (2.0 * m resolution). 
void 
setDefaultXYTolerance()
Sets the default cluster tolerance used to control point coalescing in the X and Y dimensions (the equivalent of 1 mm in the current spatial reference units). 
void 
setDefaultZTolerance()
Sets the default value for the Z cluster tolerance used to control point coalescing strictly along the Z axis (the equivalent of 1 mm in the current vertical coordinate system units). 
void 
setMinimumMTolerance()
Sets the minimum tolerance (i.e., pre 9.2) used to determine equality of M values (2.0 * m resolution). 
void 
setMinimumXYTolerance()
Sets the xy cluster tolerance to be 2.0 * resolution. 
void 
setMinimumZTolerance()
Sets the minimum value for the Z cluster tolerance (i.e., pre 9.2) used to control point coalescing strictly along the Z axis (the equivalent of 1 mm in the current vertical coordinate system units). 
void 
setMTolerance(double mTolerance)
The tolerance used to determine equality of M values. 
void 
setXYTolerance(double xYTolerance)
The xy tolerance used to control point coalescing in the X and Y dimensions. 
void 
setZTolerance(double zTolerance)
The tolerance used to control point coalescing strictly along the Z axis. 
Method Detail 

void setDefaultXYTolerance() throws IOException, AutomationException
SetDefaultXYTolerance establishes the default value for the XY tolerance, taking into account the current units of the spatial reference. Any established tolerance will not be changed automatically if the units of the spatial reference are changed. For a ProjectedCoordinateSystem or an UnknownCoordinateSystem, the default tolerance is 1 mm (expressed in the units of the spatial reference) or 2.0 * XYResolution, whichever is larger. For a GeographicCoordinateSystem, it is the angle subtending 1 mm at the equator, or 2.0 * XYResolution, whichever is larger.
The minimum allowable XYTolerance is 2.0 * XYResolution.
If the value specified by SetDefaultXYTolerance is not greater than or equal to 2.0 * XYResolution, the XYTolerance will be set at 2.0 * XYResolution.
A filebased data source, such as shapefiles, CAD and SDC, that has an UnknownCoordinateSystem and that has an X coordinate data extent that falls between +/400, will use a tolerance in degrees corresponding to 1mm along the equator (8.98315284119522E09 degrees).
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setMinimumXYTolerance() throws IOException, AutomationException
The SetMinimumXYTolerance method sets the tolerance to the value of the spatial reference's grid resolution (or 2.0 * XYResolution). Setting the XYTolerance using this method provides a mechanism to maintain backward compatibility with ArcGIS 9.1 geometric and relational operators. At version 9.1 and before, this is the only tolerance value used by geometric and relational operators.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.double getXYTolerance() throws IOException, AutomationException
The XYTolerance property is the planar cluster tolerance associated with a spatial reference that will be used by geometric and relational operators. It has the same meaning as the cluster tolerance parameter presented in other parts of ArcGIS, including topology and Geoprocessing. The default value is 1mm (scaled to whatever units are associated with the spatial reference) for ProjectedCoordinateSystems and UnknownCoordinateSystems, and the angle corresponding to 1mm along the equator for geographic coordinate systems.
Setting the XYTolerance using this property provides finer control than SetDefaultXYTolerance or SetMinimumXYTolerance.
The minimum allowable XYTolerance is 2.0 * XYResolution. XYTolerance is undefined (NaN) by after creating a spatial reference. Operations on the spatial reference that define its coordinate grid will set the tolerance to its minimum value if its currently NaN. The tolerance is not modified if the grid resolution changes. To ensure that the XYTolerance specified is valid, use XYToleranceValid.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setXYTolerance(double xYTolerance) throws IOException, AutomationException
xYTolerance
 The xYTolerance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setDefaultZTolerance() throws IOException, AutomationException
The SetDefaultZTolerance method establishes the default value for the ZTolerance. Any established tolerance will not automatically be changed by changing the units of the spatial reference. The default value is 1mm (scaled to whatever units are associated with the spatial reference's vertical coordinate system).
The minimum allowable ZTolerance is 2.0 * ZResolution.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setMinimumZTolerance() throws IOException, AutomationException
The SetMinimumZTolerance method sets the ZTolerance to 2.0 * z resolution. Setting the ZTolerance using this method provides a mechanism to maintain backward compatibility with ArcGIS 9.1 geometric and relational operators. At 9.1 and before, this is the only tolerance value used by the geometric and relational operators.
The ZResolution should be defined before calling SetMinimumZTolerance.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.double getZTolerance() throws IOException, AutomationException
The ZTolerance property controls clustering of the zvalues of coordinates. It currently is used only in the context of the topology validation operation. It is expressed in the spatial reference's vertical coordinate system units. Setting the ZTolerance using this property provides finer control than SetDefaultZTolerance or SetMinimumZTolerance.
The minimum allowable ZTolerance is 2 * ZResolution (defined by ISpatialReferenceResolution::ZResolution). To ensure that the ZTolerance specified is valid, use ZToleranceValid after setting the ZTolerance using this property.
The ZTolerance is undefined (NaN) by default. Methods that define the z coordinate grid will set the z tolerance to the minimum value if it isn't currently defined
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setZTolerance(double zTolerance) throws IOException, AutomationException
zTolerance
 The zTolerance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setDefaultMTolerance() throws IOException, AutomationException
The SetDefaultMTolerance method establishes the default value for the M tolerance. The default value is 0.001 units.
The minimum allowable MTolerance is 2.0 * MResolution.
If the value specified by SetDefaultMTolerance is not greater than or equal to 2.0 * MResolution, the MTolerance will be set at 2.0 * MResolution.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setMinimumMTolerance() throws IOException, AutomationException
The SetMinimumMTolerance method sets the tolerance to the value of the spatial reference's grid resolution (or 2.0 * M resolution). Setting the MTolerance using this method provides a mechanism to maintain backward compatibility with ArcGIS 9.1 geometric and relational operators. At 9.1 and before, this is the only tolerance value used by measure or linear referencing aware operations in the geometry system.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.double getMTolerance() throws IOException, AutomationException
The MTolerance method establishes or retrieves the value for the MTolerance of the spatial reference. Setting the MTolerance using this property provides finer control than SetDefaultMTolerance or SetMinimumMTolerance.
The minimum allowable MTolerance is 2.0 * MResolution. To ensure that the MTolerance specified is valid, use MToleranceValid after setting the MTolerance using this property.
The MTolerance is undefined (NaN) by default.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setMTolerance(double mTolerance) throws IOException, AutomationException
The MTolerance method establishes or retrieves the value for the MTolerance of the spatial reference. Setting the MTolerance using this property provides finer control than SetDefaultMTolerance or SetMinimumMTolerance.
The minimum allowable MTolerance is 2.0 * MResolution. To ensure that the MTolerance specified is valid, use MToleranceValid after setting the MTolerance using this property.
The MTolerance is undefined (NaN) by default.
mTolerance
 The mTolerance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.int getXYToleranceValid() throws IOException, AutomationException
The xy grid resolution of a spatial reference can be altered independantly of the XYTolerance. Use this method to ensure that the current XYTolerance is defined and not less than the minimum legal value (2.0 * XYResolution).
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.int getZToleranceValid() throws IOException, AutomationException
ZToleranceValid determines if the current ZTolerance associated with the spatial reference is valid. A ZTolerance is considered valid when it is well defined (not NaN) and the Z tolerance is greater than or equal to the minimum ZTolerance. The minimum allowable ZTolerance is 2.0 * ZResolution.
To ensure that the ZTolerance specified is valid, call ZToleranceValid after calling ISpatialReferenceTolerance::ZTolerance.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.int getMToleranceValid() throws IOException, AutomationException
The MToleranceValid property determines if the current M tolerance associated with the spatial reference is valid. A M Tolerance is considered valid when it is welldefined (not NaN) and the M tolerance is greater than or equal to the minimum M tolerance. The minimum allowable MTolerance is 2.0 * MResolution.
To ensure that the MTolerance specified is valid, call MToleranceValid after calling ISpatialReferenceTolerance::MTolerance.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.boolean isXYToleranceEqual(ISpatialReference otherSR) throws IOException, AutomationException
IsXYToleranceEqual will return True if both Spatial Reference XYTolerances are undefined (NaN) or if they are both defined and numerically equal.
Note that the IClone::IsEqual method on spatial references does not consider coordinate grid or tolerance properties. It only looks at the coordinate system part (i.e. projection information) part of the spatial reference.
otherSR
 A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.boolean isMToleranceEqual(ISpatialReference otherSR) throws IOException, AutomationException
IsMToleranceEqual will return True if both Spatial Reference MTolerances are undefined (NaN) or if they are both defined and numerically equal.
Note that the IClone::IsEqual method on spatial references does not consider coordinate grid or tolerance properties. It only looks at the coordinate system part (i.e. projection information) of the spatial reference.
otherSR
 A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.boolean isZToleranceEqual(ISpatialReference otherSR) throws IOException, AutomationException
IsZToleranceEqual will return True if both Spatial Reference Z Tolerances are undefined (NaN)or if they are both defined and numerically equal.
Note that the IClone::IsEqual method on spatial references does not consider coordinate grid or tolerance properties. It only looks at the coordinate system part (i.e. projection information) part of the spatial reference.
otherSR
 A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 