com.esri.arcgis.geometry
Interface ISpatialReferenceResolution

All Superinterfaces:
Serializable
All Known Implementing Classes:
GeographicCoordinateSystem, ProjectedCoordinateSystem, UnknownCoordinateSystem

public interface ISpatialReferenceResolution
extends Serializable

Provides access to members that control the resolution of a spatial reference.

Remarks

The ISpatialReferenceResolution interface is used to define default and custom grid origins, extents and resolutions for the XY, Z and M coordinate grids associated with a spatial reference. The terms resolution and precision are synonymous within the context of the spatial reference system and the former refers to the inverse of the scale factor. Methods on this interface can define coordinate grid resolutions and extent based on a known spatial reference horizon, or alter extents and resolutions in a controlled way (for example, enlarge the extent about its current center by specifying a larger (coarser) target resolution).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void constructFromHorizon()
          Defines the XY resolution and domain extent of this spatial reference based on the extent of its horizon.
 double getMResolution()
          The M, or measure, resolution of this spatial reference.
 double getXYResolution(boolean bStandardUnits)
          The XY resolution (distance in SR units between distinguishable grid points) of this spatial reference.
 double getZResolution(boolean bStandardUnits)
          The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference.
 void setDefaultMResolution()
          Sets the m coordinate grid resolution to 1 mm for a low precision spatial reference or 1/10 mm for a high precision spatial reference.
 void setDefaultXYResolution()
          defaults: PCS(hi): 1/10 mm; PCS(lo): 1 mm; GCS(hi): 1/10,000 arc-second; GCS(lo): 1/500 arc-second; UCS(hi): 1/10 mm (assumed); UCS(lo): 1 mm (assumed).
 void setDefaultZResolution()
          Sets the z coordinate grid resolution to 1 mm for a low precision spatial reference or 1/10 mm for a high precision spatial reference.
 void setMResolution(double interval)
          The M, or measure, resolution of this spatial reference.
 void setXYResolution(boolean bStandardUnits, double xYResolution)
          The XY resolution (distance in SR units between distinguishable grid points) of this spatial reference.
 void setZResolution(boolean bStandardUnits, double zResolution)
          The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference.
 

Method Detail

constructFromHorizon

void constructFromHorizon()
                          throws IOException,
                                 AutomationException
Defines the XY resolution and domain extent of this spatial reference based on the extent of its horizon. Low precision SRs will have minimum resolution of 1/10mm in current units.

Remarks

ConstructFromHorizon defines a domain extent and resolution sufficient to cover the horizon of a given coordinate system for high precision spatial references. For low-precision spatial references the domain extent is centered on the horizon center. It does not define an extent for the Z- or M-domains; for these use methods available on ISpatialReference.

Projected Coordinate Systems

For a high precision ProjectedCoordinateSystem (PCS), ConstructFromHorizon defines the domain extent to be a square completely covering, and slightly larger than, the horizon extent of the PCS (which is an arbitrary rectangle). The scale factor (1/precision) is chosen to fit this domain.

For a low precision PCS, the center of the domain extent is aligned with the center of the horizon extent and expanded to achieve a target resolution of 1mm.

The example below lists high and low precision extents for WGS 1984 UTM Zone 11N.

Name Low Precision ProjectedCoordinateSystem High Precision ProjectedCoordinateSystem
MinX -573,741.824 -5,120,900.0
MinY -1,073,741.824 -9,998,100.0
MaxX 1,573,741.823 14,875,300.0
MaxY 1,073,741.823 9,998,100.0
Resolution 0.001 2.2 x 10^-9

Geographic Coordinate Systems

For a high precision GeographicCoordinateSystem (GCS), ConstructFromHorizon produces the square domain (-400, -400, 400, 400) (expressed in the units of the SR).

For a low precision GCS the upper right hand corner is adjusted to achieve a default resolution of 1/500 of an arc-second.

Name Low Precision GeographicCoordinateSystem High Precision GeographicCoordinateSystem
MinX -400 -400
MinY -400 -400
MaxX 793.046469444444 400
MaxY 793.046469444444 400
Resolution 5.55555555555556E-07 (1/500 arc-second) 8.8 x 10^-14

Unknown Coordinate Systems

For an UnknownCoordinateSystem (UCS), the "horizon" is defined to be a square that produces a resolution of 1 millimeter for a low precision UCS or 1/10 mm for a high precision UCS.

The example below lists high and low precision extents for an UnknownCoordinateSystem.

Name Low Precision UnknownCoordinateSystem High Precision UnknownCoordinateSystem
MinX -1,073,741.8245 -450,359,962,737.05
MinY -1,073,741.8245 -450,359,962,737.05
MaxX 1,073,741.8225 450,359,962,737.049
MaxY 1,073,741.8225 450,359,962,737.049
Resolution 0.001 0.0001

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setXYResolution

void setXYResolution(boolean bStandardUnits,
                     double xYResolution)
                     throws IOException,
                            AutomationException
The XY resolution (distance in SR units between distinguishable grid points) of this spatial reference. Reported in meters for PCS/UCS and degrees for GCS when bStandardUnits is true or in current units of SR when it is false.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
bStandardUnits - The bStandardUnits (in)
xYResolution - The xYResolution (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getXYResolution

double getXYResolution(boolean bStandardUnits)
                       throws IOException,
                              AutomationException
The XY resolution (distance in SR units between distinguishable grid points) of this spatial reference. Reported in meters for PCS/UCS and degrees for GCS when bStandardUnits is true or in current units of SR when it is false.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
bStandardUnits - The bStandardUnits (in)
Returns:
The xYResolution
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultXYResolution

void setDefaultXYResolution()
                            throws IOException,
                                   AutomationException
defaults: PCS(hi): 1/10 mm; PCS(lo): 1 mm; GCS(hi): 1/10,000 arc-second; GCS(lo): 1/500 arc-second; UCS(hi): 1/10 mm (assumed); UCS(lo): 1 mm (assumed).

Remarks

SetDefaultXYResolution recalculates the maximum x and y coordinates for the domain of the spatial reference in order to achieve a target resolution of 1 millimeter for low precision ProjectedCoordinateSystems or 1/10 millimeter for high precision. For high precision GeographicCoordinateSystems, the target resolution is 1/10,000 of an arc-second and the low precision target resolution is 1/500 of an arc-second. For UnknownCoordinateSystems, the high precision target resolution is 1/10 millimeter and the low precision target resolution is 1 millimeter. Resolutions are listed here in metric units but are converted to the units of the spatial reference by these methods.

Use the ISpatialReferenceResolution::XYResolution(False) property to specify the target resolution in units defined by the spatial reference.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setZResolution

void setZResolution(boolean bStandardUnits,
                    double zResolution)
                    throws IOException,
                           AutomationException
The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference. Reported in meters when bStandardUnits is true or in current units of SR when it is false.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
bStandardUnits - The bStandardUnits (in)
zResolution - The zResolution (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getZResolution

double getZResolution(boolean bStandardUnits)
                      throws IOException,
                             AutomationException
The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference. Reported in meters when bStandardUnits is true or in current units of SR when it is false.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
bStandardUnits - The bStandardUnits (in)
Returns:
The zResolution
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultZResolution

void setDefaultZResolution()
                           throws IOException,
                                  AutomationException
Sets the z coordinate grid resolution to 1 mm for a low precision spatial reference or 1/10 mm for a high precision spatial reference.

Remarks

This method behaves analogously to the SetDefaultXYResolution method, but operates on the linear z coordinate grid. For a high-precision spatial reference the default ZResolution is 0.0001 meters (expressed in the units defined by the VCS if applicable); for a low-precision spatial reference the default ZResolution is 0.001 units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMResolution

void setMResolution(double interval)
                    throws IOException,
                           AutomationException
The M, or measure, resolution of this spatial reference.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMResolution

double getMResolution()
                      throws IOException,
                             AutomationException
The M, or measure, resolution of this spatial reference.

Remarks

MResolution resizes the existing grid about its center to accommodate the new resolution specified. This property provides finer control for specifying the resolution than does ISpatialReferenceResolution::SetDefaultMResolution. The default MResolution is defined as 0.001 units for high and low precision spatial references.

The default value for MResolution is NaN for a new spatial reference. If the MResolution is not well-defined (MResolution is NaN), calls to ISpatialReference::SetMDomain or ISpatialReference::SetMFalseOriginAndUnits will set the MResolution to the minimum allowable value (2.0/mUnits). If the MResolution was already defined, these methods will not alter the MResolution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The interval
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultMResolution

void setDefaultMResolution()
                           throws IOException,
                                  AutomationException
Sets the m coordinate grid resolution to 1 mm for a low precision spatial reference or 1/10 mm for a high precision spatial reference.

Remarks

This method behaves analogously to the SetDefaultXYResolution method, but operates on the linear m coordinate grid. For a high-precision spatial reference the default MResolution is 0.0001 units; for a low-precision spatial reference the default MResolution is 0.001 units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.