|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geometry.GeographicCoordinateSystem
public class GeographicCoordinateSystem
Creates a geographic coordinate system.
The IClone::IsIdentical method is not implemented.
Constructor Summary | |
---|---|
GeographicCoordinateSystem()
Constructs a GeographicCoordinateSystem using ArcGIS Engine. |
|
GeographicCoordinateSystem(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. GeographicCoordinateSystem theGeographicCoordinateSystem = (GeographicCoordinateSystem) obj; |
Method Summary | |
---|---|
void |
applyPrecision(_WKSPoint[] points,
double[] ms,
double[] zs)
Applies the measure and z value precisions. |
void |
applyPrecision(int cPoints,
_WKSPoint points,
double[] ms,
double[] zs)
Applies the measure and z value precisions. |
void |
applyXYPrecision(_WKSPoint[] points)
Applies the XY precision. |
void |
applyXYPrecision(int cPoints,
_WKSPoint points)
Applies the XY precision. |
void |
assign(IClone src)
Assigns the properties of src to the receiver. |
void |
changed()
Notify this object that some of its parts have changed (parameter values, z unit, etc.). |
void |
constructFromHorizon()
Defines the XY resolution and domain extent of this spatial reference based on the extent of its horizon. |
void |
define(Object name,
Object alias,
Object abbreviation,
Object remarks,
Object useage,
Object datum,
Object primeMeridian,
Object geographicUnit)
Defines the properties for a geographic coordinate system. |
void |
define(String authorityName,
int authorityCode,
String authorityVersion)
Defines the authority-related metadata properties for this spatial reference object. |
void |
defineEx(String name,
String alias,
String abbreviation,
String remarks,
String useage,
IDatum datum,
IPrimeMeridian primeMeridian,
IAngularUnit geographicUnit)
Defines the properties for a geographic coordinate system. |
boolean |
equals(Object o)
Compare this object with another |
IClone |
esri_clone()
Clones the receiver and assigns the result to *clone. |
void |
exportSpatialReferenceToPRJ(String[] str,
int[] cBytesWrote)
Exports the spatial reference to a buffer. |
void |
exportToESRISpatialReference(String[] str,
int[] cBytesWrote)
Exports this spatial reference component to a buffer. |
void |
exportToESRISpatialReference2(String[] str,
int[] cBytesWrote)
Exports this spatial reference component to a buffer. |
String |
getAbbreviation()
The abbreviated name of this spatial reference component. |
String |
getAlias()
The alias of this spatial reference component. |
double |
getAngularConversionFactor(IGeographicCoordinateSystem2 pDstGCS)
A factor to convert angular units from current GCS to destination GCS. |
String |
getAuthorityName()
The name of the defining authority for this object. |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
int |
getCode()
The code identifying this object relative to its authority. |
IAngularUnit |
getCoordinateUnit()
The angular unit of this geographic coordinate system. |
IDatum |
getDatum()
The horizontal datum of this geographic coordinate system. |
void |
getDomain(double[] xMin,
double[] xMax,
double[] yMin,
double[] yMax)
Get the domain extent. |
int |
getESRISpatialReferenceSize()
The number of bytes required to hold the persistant representation of this spatial reference component. |
int |
getFactoryCode()
The factory code of the spatial reference. |
void |
getFalseOriginAndUnits(double[] falseX,
double[] falseY,
double[] xyUnits)
Get the false origin and units. |
void |
getGCSParams(double[] p_180,
double[] pDelta)
Returns the 180 degrees equivalent and horizon delta in proper GCS units. |
void |
getHorizon(_WKSEnvelope[] horizonEnvelope)
Returns a standard horizon polygon, its envelope and whether it is inclusive or exclusive; the horizon polygon may be 0. |
double |
getLeftLongitude(boolean inDegrees)
The least (left) longitude bounding a 360 degree range. |
void |
getMDomain(double[] outMMin,
double[] outMMax)
Get the measure domain extent. |
void |
getMFalseOriginAndUnits(double[] falseM,
double[] mUnits)
Get the measure false origin and units. |
double |
getMResolution()
The M, or measure, resolution of this spatial reference. |
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. |
String |
getName()
The name of this spatial reference component. |
void |
getPrecisionSizeMax(int[] byteCount)
Returns the number of bytes needed to store the false x, false y and xy units of this spatial reference. |
IPrimeMeridian |
getPrimeMeridian()
The prime meridian of this geographic coordinate system. |
int |
getPRJSpatialReferenceSize()
The number of bytes required to hold the persistant representation of the spatial reference. |
String |
getRemarks()
The comment string of this spatial reference component. |
double |
getRightLongitude(boolean inDegrees)
The greatest (right) longitude bounding a 360 degree range. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
String |
getUsage()
The usage notes of this geographic coordinate system. |
String |
getVersion()
The version of this spatial reference object. |
IVerticalCoordinateSystem |
getVerticalCoordinateSystem()
The VCS associated with this spatial reference. |
double |
getXYResolution(boolean bStandardUnits)
The XY resolution (distance in SR units between distinguishable grid points) of this spatial reference. |
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. |
ILinearUnit |
getZCoordinateUnit()
The unit for the Z coordinate. |
void |
getZDomain(double[] outZMin,
double[] outZMax)
Get the Z domain extent. |
void |
getZFalseOriginAndUnits(double[] falseZ,
double[] zUnits)
Get the Z false origin and units. |
double |
getZResolution(boolean bStandardUnits)
The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference. |
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. |
double |
getZToXYFactor()
Conversion factor from Z units to XY units. |
int |
hashCode()
the hashcode for this object |
boolean |
hasMPrecision()
Returns true when m-value precision information has been defined. |
boolean |
hasXYPrecision()
Returns true when (x,y) precision information has been defined. |
boolean |
hasZPrecision()
Returns true when z-value precision information has been defined. |
void |
importFromESRISpatialReference(String str,
int[] cBytesRead)
Defines this spatial reference component from the specified ESRISpatialReference buffer. |
void |
importSpatialReferenceFromPRJ(String str,
int[] cBytesRead)
Defines the spatial reference from the specified ESRISpatialReference buffer. |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
void |
isDirty()
isDirty |
boolean |
isEqual(IClone other)
Indicates if the receiver and other have the same properties. |
boolean |
isEqualLeftLongitude(ISpatialReference other,
boolean compareVCS)
For geographic coordinate systems, this version of IsEqual includes considers their left longitude properties. |
boolean |
isEqualNoVCS(ISpatialReference other)
Compares spatial references without considering any vertical coordinate system that may be associated with the spatial reference. |
boolean |
isHighPrecision()
TRUE if a high precision integer grid is being used to round coordinate values. |
boolean |
isIdentical(IClone other)
Indicates if the receiver and other are the same object. |
boolean |
isMPrecisionEqual(ISpatialReference otherSR)
Returns true if the measure precisions of the two spatial references are the same. |
boolean |
isMToleranceEqual(ISpatialReference otherSR)
Returns true if the measure tolerances of the two spatial references are the same. |
void |
isPrecisionEqual(ISpatialReference otherSR,
boolean[] isPrecisionEqual)
Returns TRUE when the precision information for the two spatial references is the same. |
boolean |
isUsePrecision()
Returns TRUE if the precision information can be used for snapping. |
boolean |
isXYPrecisionEqual(ISpatialReference otherSR)
Returns true if the XY precisions 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 |
isZPrecisionEqual(ISpatialReference otherSR)
Returns true if the Z precisions 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 |
load(IStream pstm)
load |
void |
loadPrecision(IStream pStream)
Initializes this spatial reference's false x, false y and xy units from information in the specified stream. |
void |
projectionHint(IGeometry geometry,
ISpatialReference targetSR,
int[] direction,
ITransformation[] pXForm,
int[] projectionHint)
Projection hint for speeding up projections. |
void |
readExternal(ObjectInput in)
|
void |
save(IStream pstm,
int fClearDirty)
save |
void |
savePrecision(IStream pStream,
int fClearDirty)
Saves this spatial reference's false x, false y and xy units to the specified stream. |
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 |
setDefaultMTolerance()
Sets the default tolerance used to determine equality of M values (2.0 * m resolution). |
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 |
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 |
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 |
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 |
setDomain(double xMin,
double xMax,
double yMin,
double yMax)
Set the xy domain extent. |
void |
setExtentHint(_WKSEnvelope rhs1)
Calculates a 360 degree longitude range from information in the specified envelope and the domain extent of the GCS. |
void |
setFalseOriginAndUnits(double falseX,
double falseY,
double xyUnits)
Set the false origin and units. |
void |
setIsHighPrecision(boolean isHighPrecision)
TRUE if a high precision integer grid is being used to round coordinate values. |
void |
setLeftLongitude(boolean inDegrees,
double leftLongitude)
The least (left) longitude bounding a 360 degree range. |
void |
setMDomain(double inMMin,
double inMMax)
Set the measure domain extent. |
void |
setMFalseOriginAndUnits(double falseM,
double mUnits)
Set the measure false origin and 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 |
setMResolution(double interval)
The M, or measure, resolution of this spatial reference. |
void |
setMTolerance(double mTolerance)
The tolerance used to determine equality of M values. |
void |
setRightLongitude(boolean inDegrees,
double rightLongitude)
The greatest (right) longitude bounding a 360 degree range. |
void |
setUsePrecision(boolean usePrecision)
Returns TRUE if the precision information can be used for snapping. |
void |
setVerticalCoordinateSystemByRef(IVerticalCoordinateSystem vcs)
The VCS associated with 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 |
setXYTolerance(double xYTolerance)
The xy tolerance used to control point coalescing in the X and Y dimensions. |
void |
setZCoordinateUnit(ILinearUnit zunit)
The unit for the Z coordinate. |
void |
setZDomain(double inZMin,
double inZMax)
Set the z domain extent. |
void |
setZFalseOriginAndUnits(double falseZ,
double zUnits)
Set the Z false origin and units. |
void |
setZResolution(boolean bStandardUnits,
double zResolution)
The Z resolution (height/depth distance between distinguishable grid points) of this spatial reference. |
void |
setZTolerance(double zTolerance)
The tolerance used to control point coalescing strictly along the Z axis. |
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public GeographicCoordinateSystem() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic GeographicCoordinateSystem(Object obj) throws IOException
GeographicCoordinateSystem theGeographicCoordinateSystem = (GeographicCoordinateSystem) obj;
obj
to GeographicCoordinateSystem
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String getName() throws IOException, AutomationException
getName
in interface ISpatialReference2GEN
getName
in interface ISpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAlias() throws IOException, AutomationException
getAlias
in interface ISpatialReference2GEN
getAlias
in interface ISpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAbbreviation() throws IOException, AutomationException
getAbbreviation
in interface ISpatialReference2GEN
getAbbreviation
in interface ISpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getRemarks() throws IOException, AutomationException
getRemarks
in interface ISpatialReference2GEN
getRemarks
in interface ISpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFactoryCode() throws IOException, AutomationException
The factory code is an integer identifier that is unique by projection engine object type, such as a projected coordinate system. You can use a factory code in the ISpatialReferenceFactory::CreateProjectedCoordinateSystem method for example. If you create a custom projected coordinate system, the factory code is zero.
getFactoryCode
in interface ISpatialReference2GEN
getFactoryCode
in interface ISpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean hasXYPrecision() throws IOException, AutomationException
hasXYPrecision
in interface ISpatialReference
hasXYPrecision
in interface ISpatialReference2GEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean hasZPrecision() throws IOException, AutomationException
hasZPrecision
in interface ISpatialReference
hasZPrecision
in interface ISpatialReference2GEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean hasMPrecision() throws IOException, AutomationException
hasMPrecision
in interface ISpatialReference
hasMPrecision
in interface ISpatialReference2GEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void isPrecisionEqual(ISpatialReference otherSR, boolean[] isPrecisionEqual) throws IOException, AutomationException
isPrecisionEqual
in interface ISpatialReference
isPrecisionEqual
in interface ISpatialReference2GEN
otherSR
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)isPrecisionEqual
- The isPrecisionEqual (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setFalseOriginAndUnits(double falseX, double falseY, double xyUnits) throws IOException, AutomationException
setFalseOriginAndUnits
in interface ISpatialReference
setFalseOriginAndUnits
in interface ISpatialReference2GEN
falseX
- The falseX (in)falseY
- The falseY (in)xyUnits
- The xyUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setZFalseOriginAndUnits(double falseZ, double zUnits) throws IOException, AutomationException
setZFalseOriginAndUnits
in interface ISpatialReference
setZFalseOriginAndUnits
in interface ISpatialReference2GEN
falseZ
- The falseZ (in)zUnits
- The zUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMFalseOriginAndUnits(double falseM, double mUnits) throws IOException, AutomationException
setMFalseOriginAndUnits
in interface ISpatialReference
setMFalseOriginAndUnits
in interface ISpatialReference2GEN
falseM
- The falseM (in)mUnits
- The mUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getFalseOriginAndUnits(double[] falseX, double[] falseY, double[] xyUnits) throws IOException, AutomationException
getFalseOriginAndUnits
in interface ISpatialReference
getFalseOriginAndUnits
in interface ISpatialReference2GEN
falseX
- The falseX (in/out: use single element array)falseY
- The falseY (in/out: use single element array)xyUnits
- The xyUnits (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getZFalseOriginAndUnits(double[] falseZ, double[] zUnits) throws IOException, AutomationException
getZFalseOriginAndUnits
in interface ISpatialReference
getZFalseOriginAndUnits
in interface ISpatialReference2GEN
falseZ
- The falseZ (in/out: use single element array)zUnits
- The zUnits (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getMFalseOriginAndUnits(double[] falseM, double[] mUnits) throws IOException, AutomationException
getMFalseOriginAndUnits
in interface ISpatialReference
getMFalseOriginAndUnits
in interface ISpatialReference2GEN
falseM
- The falseM (in/out: use single element array)mUnits
- The mUnits (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getDomain(double[] xMin, double[] xMax, double[] yMin, double[] yMax) throws IOException, AutomationException
getDomain
in interface ISpatialReference
getDomain
in interface ISpatialReference2GEN
xMin
- The xMin (in/out: use single element array)xMax
- The xMax (in/out: use single element array)yMin
- The yMin (in/out: use single element array)yMax
- The yMax (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDomain(double xMin, double xMax, double yMin, double yMax) throws IOException, AutomationException
setDomain
in interface ISpatialReference
setDomain
in interface ISpatialReference2GEN
xMin
- The xMin (in)xMax
- The xMax (in)yMin
- The yMin (in)yMax
- The yMax (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getZDomain(double[] outZMin, double[] outZMax) throws IOException, AutomationException
getZDomain
in interface ISpatialReference
getZDomain
in interface ISpatialReference2GEN
outZMin
- The outZMin (in/out: use single element array)outZMax
- The outZMax (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setZDomain(double inZMin, double inZMax) throws IOException, AutomationException
setZDomain
in interface ISpatialReference
setZDomain
in interface ISpatialReference2GEN
inZMin
- The inZMin (in)inZMax
- The inZMax (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getMDomain(double[] outMMin, double[] outMMax) throws IOException, AutomationException
getMDomain
in interface ISpatialReference
getMDomain
in interface ISpatialReference2GEN
outMMin
- The outMMin (in/out: use single element array)outMMax
- The outMMax (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMDomain(double inMMin, double inMMax) throws IOException, AutomationException
setMDomain
in interface ISpatialReference
setMDomain
in interface ISpatialReference2GEN
inMMin
- The inMMin (in)inMMax
- The inMMax (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILinearUnit getZCoordinateUnit() throws IOException, AutomationException
getZCoordinateUnit
in interface ISpatialReference
getZCoordinateUnit
in interface ISpatialReference2GEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setZCoordinateUnit(ILinearUnit zunit) throws IOException, AutomationException
setZCoordinateUnit
in interface ISpatialReference
setZCoordinateUnit
in interface ISpatialReference2GEN
zunit
- A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void changed() throws IOException, AutomationException
changed
in interface ISpatialReference
changed
in interface ISpatialReference2GEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isXYPrecisionEqual(ISpatialReference otherSR) throws IOException, AutomationException
isXYPrecisionEqual
in interface ISpatialReference2
isXYPrecisionEqual
in interface ISpatialReference2GEN
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.public boolean isMPrecisionEqual(ISpatialReference otherSR) throws IOException, AutomationException
isMPrecisionEqual
in interface ISpatialReference2
isMPrecisionEqual
in interface ISpatialReference2GEN
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.public boolean isZPrecisionEqual(ISpatialReference otherSR) throws IOException, AutomationException
isZPrecisionEqual
in interface ISpatialReference2
isZPrecisionEqual
in interface ISpatialReference2GEN
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.public void applyXYPrecision(_WKSPoint[] points) throws IOException, AutomationException
applyXYPrecision
in interface ISpatialReference2GEN
points
- A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void applyPrecision(_WKSPoint[] points, double[] ms, double[] zs) throws IOException, AutomationException
applyPrecision
in interface ISpatialReference2GEN
points
- A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)ms
- The ms (in)zs
- The zs (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getESRISpatialReferenceSize() throws IOException, AutomationException
getESRISpatialReferenceSize
in interface IESRISpatialReference
getESRISpatialReferenceSize
in interface IESRISpatialReferenceGEN
getESRISpatialReferenceSize
in interface IESRISpatialReferenceGEN2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void importFromESRISpatialReference(String str, int[] cBytesRead) throws IOException, AutomationException
importFromESRISpatialReference
in interface IESRISpatialReference
importFromESRISpatialReference
in interface IESRISpatialReferenceGEN
importFromESRISpatialReference
in interface IESRISpatialReferenceGEN2
str
- The str (in)cBytesRead
- The cBytesRead (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void exportToESRISpatialReference(String[] str, int[] cBytesWrote) throws IOException, AutomationException
exportToESRISpatialReference
in interface IESRISpatialReference
exportToESRISpatialReference
in interface IESRISpatialReferenceGEN
str
- The str (out: use single element array)cBytesWrote
- The cBytesWrote (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void exportToESRISpatialReference2(String[] str, int[] cBytesWrote) throws IOException, AutomationException
exportToESRISpatialReference2
in interface IESRISpatialReferenceGEN2
str
- The str (out: use single element array)cBytesWrote
- The cBytesWrote (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getPRJSpatialReferenceSize() throws IOException, AutomationException
getPRJSpatialReferenceSize
in interface IPRJSpatialReference
getPRJSpatialReferenceSize
in interface IPRJSpatialReferenceGEN
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void importSpatialReferenceFromPRJ(String str, int[] cBytesRead) throws IOException, AutomationException
importSpatialReferenceFromPRJ
in interface IPRJSpatialReference
importSpatialReferenceFromPRJ
in interface IPRJSpatialReferenceGEN
str
- The str (in)cBytesRead
- The cBytesRead (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void exportSpatialReferenceToPRJ(String[] str, int[] cBytesWrote) throws IOException, AutomationException
Converts a spatial reference object into a PRJ file. A PRJ file stores the coordinate system information for a coverage, GRID, or TIN.
A sample representation (reformatted for display) is below.
Projection UTM
Zone 10
Datum NAD83
Zunits NO
Units METERS
Spheroid GRS1980
Xshift 0.0000000000
Yshift 0.0000000000
Parameters
If the spatial reference cannot be represented with the workstation PRJ format, E_SPATIALREFERENCE_CANTDEFINESR is returned.
exportSpatialReferenceToPRJ
in interface IPRJSpatialReference
exportSpatialReferenceToPRJ
in interface IPRJSpatialReferenceGEN
str
- The str (out: use single element array)cBytesWrote
- The cBytesWrote (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getUsage() throws IOException, AutomationException
private void GetUsage(IGeographicCoordinateSystem geographicCoordinateSystem)
{
String usage = geographicCoordinateSystem.Usage;
System.Windows.Forms.MessageBox.Show(usage);
}
getUsage
in interface IGeographicCoordinateSystem
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDatum getDatum() throws IOException, AutomationException
Returns the vertical or horizontal datum of the vertical coordinate system as IHVDatum. QI with IVerticalDatum or IDatum. A vertical datum means that the VCS is gravity-related. A (horizontal) datum means that the VCS is ellipsoid/spheroid-based.
getDatum
in interface IGeographicCoordinateSystem
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPrimeMeridian getPrimeMeridian() throws IOException, AutomationException
getPrimeMeridian
in interface IGeographicCoordinateSystem
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IAngularUnit getCoordinateUnit() throws IOException, AutomationException
getCoordinateUnit
in interface IGeographicCoordinateSystem
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getGCSParams(double[] p_180, double[] pDelta) throws IOException, AutomationException
GetGCSParams calculates the edge of the horizon for a geographic coordinate system. For example, if your coordinate system is in decimal degrees, 180 is returned. If the units are in grads, 200 is returned. It also returns a delta, a small offset value, in the correct unit of measure.
getGCSParams
in interface IGeographicCoordinateSystem2
p_180
- The p_180 (out: use single element array)pDelta
- The pDelta (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getHorizon(_WKSEnvelope[] horizonEnvelope) throws IOException, AutomationException
GetHorizon returns an envelope. See also the IProjectedCoordinateSystem2::GetHorizon method.
getHorizon
in interface IGeographicCoordinateSystem2
horizonEnvelope
- A Structure: com.esri.arcgis.system._WKSEnvelope (A com.esri.arcgis.system._WKSEnvelope COM typedef) (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAngularConversionFactor(IGeographicCoordinateSystem2 pDstGCS) throws IOException, AutomationException
getAngularConversionFactor
in interface IGeographicCoordinateSystem2
pDstGCS
- A reference to a com.esri.arcgis.geometry.IGeographicCoordinateSystem2 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getLeftLongitude(boolean inDegrees) throws IOException, AutomationException
getLeftLongitude
in interface IGeographicCoordinateSystem2
inDegrees
- The inDegrees (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setLeftLongitude(boolean inDegrees, double leftLongitude) throws IOException, AutomationException
setLeftLongitude
in interface IGeographicCoordinateSystem2
inDegrees
- The inDegrees (in)leftLongitude
- The leftLongitude (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getRightLongitude(boolean inDegrees) throws IOException, AutomationException
getRightLongitude
in interface IGeographicCoordinateSystem2
inDegrees
- The inDegrees (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRightLongitude(boolean inDegrees, double rightLongitude) throws IOException, AutomationException
setRightLongitude
in interface IGeographicCoordinateSystem2
inDegrees
- The inDegrees (in)rightLongitude
- The rightLongitude (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setExtentHint(_WKSEnvelope rhs1) throws IOException, AutomationException
The ExtentHint, LeftLongitude, and RightLongitude properties are interrelated. Usually, data in a geographic coordinate system has longitude values between -180 and 180 if the unit of measure is degrees. Some datasets are designed to use a minimum longitude value of 0 or -360. The LeftLongitude property controls whether the data is considered as -360 to 0, -180 to 180, or 0 to 360. If two datasets have spatial references with different LeftLongitude values, one needs to be converted to match the other one. You can do this with the GeoNormalize method on IGeometry. ExtentHint is calculated internally by looking at the extent of the data. If the results used to set the LeftLongitude property are incorrect, you can use an envelope to set ExtentHint.
setExtentHint
in interface IGeographicCoordinateSystem2
rhs1
- A Structure: com.esri.arcgis.system._WKSEnvelope (A com.esri.arcgis.system._WKSEnvelope COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void defineEx(String name, String alias, String abbreviation, String remarks, String useage, IDatum datum, IPrimeMeridian primeMeridian, IAngularUnit geographicUnit) throws IOException, AutomationException
defineEx
in interface IGeographicCoordinateSystemEdit
name
- The name (in)alias
- The alias (in)abbreviation
- The abbreviation (in)remarks
- The remarks (in)useage
- The useage (in)datum
- A reference to a com.esri.arcgis.geometry.IDatum (in)primeMeridian
- A reference to a com.esri.arcgis.geometry.IPrimeMeridian (in)geographicUnit
- A reference to a com.esri.arcgis.geometry.IAngularUnit (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void define(Object name, Object alias, Object abbreviation, Object remarks, Object useage, Object datum, Object primeMeridian, Object geographicUnit) throws IOException, AutomationException
Use the Define method of IGeographicCoordinateSystemEdit to set the properties of a geographic coordinate system. A geographic coordinate system is defined (at minimum) by a name, an angular unit of measure, a horizontal datum, and a prime meridian.
define
in interface IGeographicCoordinateSystemEdit
name
- A Variant (in, optional, pass null if not required)alias
- A Variant (in, optional, pass null if not required)abbreviation
- A Variant (in, optional, pass null if not required)remarks
- A Variant (in, optional, pass null if not required)useage
- A Variant (in, optional, pass null if not required)datum
- A Variant (in, optional, pass null if not required)primeMeridian
- A Variant (in, optional, pass null if not required)geographicUnit
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void applyXYPrecision(int cPoints, _WKSPoint points) throws IOException, AutomationException
The ApplyXYPrecision method snaps XY coordinate values to the spatial reference's coordinate grid. Normally, the geodatabase calls this method when appropriate, however you may need to use it when comparing locally generated coordinates against features coming from a geodatabase.
The cPoints value is the number of points to which you wish to apply the XY precision (1/resolution). A WKSPoint is a structure that contains the X and Y values of a coordinate pair.
applyXYPrecision
in interface ISpatialReference2
cPoints
- The cPoints (in)points
- A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void applyPrecision(int cPoints, _WKSPoint points, double[] ms, double[] zs) throws IOException, AutomationException
The ApplyPrecision method snaps measure or z values to the spatial reference grid. Each SpatialReference has an extent and a resolution (1/precision) for the xy, z, and measure values. You can set this information with the SetZDomain, SetMDomain, SetZFalseOriginAndUnits or the SetMFalseOriginAndUnits methods. If you use a Domain method, the resolution (1/precision) is calculated from the given extent. The FalseOriginAndUnits methods sets the lower bound of the extent and explicitly defines the precision (units, or 1/resolution) of the spatial reference.
applyPrecision
in interface ISpatialReference2
cPoints
- The cPoints (in)points
- A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in)ms
- The ms (in)zs
- The zs (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IVerticalCoordinateSystem getVerticalCoordinateSystem() throws IOException, AutomationException
getVerticalCoordinateSystem
in interface ISpatialReference3
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setVerticalCoordinateSystemByRef(IVerticalCoordinateSystem vcs) throws IOException, AutomationException
setVerticalCoordinateSystemByRef
in interface ISpatialReference3
vcs
- A reference to a com.esri.arcgis.geometry.IVerticalCoordinateSystem (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void projectionHint(IGeometry geometry, ISpatialReference targetSR, int[] direction, ITransformation[] pXForm, int[] projectionHint) throws IOException, AutomationException
Each geographic or projected coordinate system has a horizon. The horizon defines the mathematical limits of the coordinate system. As an example, transverse Mercator is limited to longitude values that are within +/-45 degrees of the central meridian. Most projection workflows are local. That is, all geometries of a feature class are within the horizons of the input and output coordinate systems. The process of checking whether a geometry is within, crosses, or is outside a horizon takes time. You can use the projectionhint method to calculate whether the envelope or bounding geometry of a feature class is within the applicable horizons. If it is, you can add a flag to the ProjectEx5 method to omit horizon checking.
You can also have the projectionhint method check for a geographic (datum) transformation. In the SpatialReferenceEnvironment, the GeoTransformationOperationSet stores active transformations. Normally, none are loaded by default, but if you've loaded several transformations previously, you can use projection hint to return the appropriate one and in which direction to apply it for this projection operation.
The projectionhint values are:
esriProjectionHintNoHorizonCheck = 0,
esriProjectionHintCheckPCSHorizon = 1,
esriProjectionHintCheckGCSHorizon = 2,
esriProjectionHintFindGeoTransformation = 4,
esriProjectionHintDefault = 7,
esriProjectionHintExplore = 8,
esriProjectionHintDoNotProject = 16 // useful for isEqualNoName
projectionHint
in interface ISpatialReference3
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)targetSR
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)direction
- A com.esri.arcgis.geometry.esriTransformDirection constant (in/out: use single element array)pXForm
- A reference to a com.esri.arcgis.geometry.ITransformation (in/out: use single element array)projectionHint
- The projectionHint (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getZToXYFactor() throws IOException, AutomationException
getZToXYFactor
in interface ISpatialReference4
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IClone esri_clone() throws IOException, AutomationException
esri_clone
in interface IClone
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void assign(IClone src) throws IOException, AutomationException
assign
in interface IClone
src
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEqual(IClone other) throws IOException, AutomationException
IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.
isEqual
in interface IClone
other
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isIdentical(IClone other) throws IOException, AutomationException
IsIdentical returns true if the receiver and the source reference the same object.
isIdentical
in interface IClone
other
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEqualNoVCS(ISpatialReference other) throws IOException, AutomationException
isEqualNoVCS
in interface ICompareCoordinateSystems
other
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEqualLeftLongitude(ISpatialReference other, boolean compareVCS) throws IOException, AutomationException
isEqualLeftLongitude
in interface ICompareCoordinateSystems
other
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)compareVCS
- The compareVCS (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getClassID(GUID[] pClassID) throws IOException, AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID
in interface IPersist
pClassID
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void isDirty() throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty
in interface IPersistStream
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void load(IStream pstm) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void save(IStream pstm, int fClearDirty) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)fClearDirty
- The fClearDirty (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getSizeMax(_ULARGE_INTEGER[] pcbSize) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax
in interface IPersistStream
pcbSize
- A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getPrecisionSizeMax(int[] byteCount) throws IOException, AutomationException
getPrecisionSizeMax
in interface ISRPersistStream
byteCount
- The byteCount (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void loadPrecision(IStream pStream) throws IOException, AutomationException
loadPrecision
in interface ISRPersistStream
pStream
- A reference to a com.esri.arcgis.system.IStream (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void savePrecision(IStream pStream, int fClearDirty) throws IOException, AutomationException
savePrecision
in interface ISRPersistStream
pStream
- A reference to a com.esri.arcgis.system.IStream (in)fClearDirty
- The fClearDirty (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUsePrecision() throws IOException, AutomationException
isUsePrecision
in interface IControlPrecision
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUsePrecision(boolean usePrecision) throws IOException, AutomationException
setUsePrecision
in interface IControlPrecision
usePrecision
- The usePrecision (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHighPrecision() throws IOException, AutomationException
isHighPrecision
in interface IControlPrecision2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setIsHighPrecision(boolean isHighPrecision) throws IOException, AutomationException
setIsHighPrecision
in interface IControlPrecision2
isHighPrecision
- The isHighPrecision (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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 file-based 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.98315284119522E-09 degrees).
setDefaultXYTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setMinimumXYTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
getXYTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setXYTolerance(double xYTolerance) throws IOException, AutomationException
setXYTolerance
in interface ISpatialReferenceTolerance
xYTolerance
- The xYTolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setDefaultZTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setMinimumZTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getZTolerance() throws IOException, AutomationException
The ZTolerance property controls clustering of the z-values 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
getZTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setZTolerance(double zTolerance) throws IOException, AutomationException
setZTolerance
in interface ISpatialReferenceTolerance
zTolerance
- The zTolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setDefaultMTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setMinimumMTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
getMTolerance
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setMTolerance
in interface ISpatialReferenceTolerance
mTolerance
- The mTolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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).
getXYToleranceValid
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
getZToleranceValid
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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 well-defined (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.
getMToleranceValid
in interface ISpatialReferenceTolerance
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
isXYToleranceEqual
in interface ISpatialReferenceTolerance
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.public 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.
isMToleranceEqual
in interface ISpatialReferenceTolerance
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.public 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.
isZToleranceEqual
in interface ISpatialReferenceTolerance
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.public 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 |
constructFromHorizon
in interface ISpatialReferenceResolution
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setXYResolution(boolean bStandardUnits, double xYResolution) throws IOException, AutomationException
setXYResolution
in interface ISpatialReferenceResolution
bStandardUnits
- The bStandardUnits (in)xYResolution
- The xYResolution (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getXYResolution(boolean bStandardUnits) throws IOException, AutomationException
getXYResolution
in interface ISpatialReferenceResolution
bStandardUnits
- The bStandardUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setDefaultXYResolution
in interface ISpatialReferenceResolution
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setZResolution(boolean bStandardUnits, double zResolution) throws IOException, AutomationException
setZResolution
in interface ISpatialReferenceResolution
bStandardUnits
- The bStandardUnits (in)zResolution
- The zResolution (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getZResolution(boolean bStandardUnits) throws IOException, AutomationException
getZResolution
in interface ISpatialReferenceResolution
bStandardUnits
- The bStandardUnits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setDefaultZResolution
in interface ISpatialReferenceResolution
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMResolution(double interval) throws IOException, AutomationException
setMResolution
in interface ISpatialReferenceResolution
interval
- The interval (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
getMResolution
in interface ISpatialReferenceResolution
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public 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.
setDefaultMResolution
in interface ISpatialReferenceResolution
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAuthorityName() throws IOException, AutomationException
getAuthorityName
in interface ISpatialReferenceAuthority
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getVersion() throws IOException, AutomationException
getVersion
in interface ISpatialReferenceAuthority
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getCode() throws IOException, AutomationException
getCode
in interface ISpatialReferenceAuthority
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void define(String authorityName, int authorityCode, String authorityVersion) throws IOException, AutomationException
define
in interface ISpatialReferenceAuthority
authorityName
- The authorityName (in)authorityCode
- The authorityCode (in)authorityVersion
- The authorityVersion (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |