|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ISpatialReferenceResolution
Provides access to members that control the resolution of a spatial reference.
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).
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 |
---|
void constructFromHorizon() throws IOException, AutomationException
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 |
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setXYResolution(boolean bStandardUnits, double xYResolution) throws IOException, AutomationException
bStandardUnits
- The bStandardUnits (in)xYResolution
- The xYResolution (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getXYResolution(boolean bStandardUnits) throws IOException, AutomationException
bStandardUnits
- The bStandardUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDefaultXYResolution() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setZResolution(boolean bStandardUnits, double zResolution) throws IOException, AutomationException
bStandardUnits
- The bStandardUnits (in)zResolution
- The zResolution (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getZResolution(boolean bStandardUnits) throws IOException, AutomationException
bStandardUnits
- The bStandardUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDefaultZResolution() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setMResolution(double interval) throws IOException, AutomationException
interval
- The interval (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getMResolution() throws IOException, AutomationException
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.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDefaultMResolution() throws IOException, AutomationException
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.
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 |