This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Convert Spatial Reference From Low To High Precision Snippet (ArcObjects .NET 10.4 SDK) |
Converts an existing low precision spatial reference and returns a new high precision spatial reference.
///<summary>Converts an existing low precision spatial reference and returns a new high precision spatial reference.</summary> /// ///<param name="lowSpatialReference">An ISpatialReference interface that is the low spatial reference to be converted.</param> ///<param name="xyDoubler">A System.Int32 that is the amount of doubling (2^x) based on the input resolution; -1 produces a value close to the default resolution. Example: -1</param> ///<param name="mDoubler">A System.Int32 that determines doubling of m-resolution based on input m-resolution; the default is 0. Example: 0</param> ///<param name="zDoubler">A System.Int32 that determines doubling of z-resolution based on input z-resolution; default is 0. Example: 0</param> /// ///<returns>An ISpatialReference interface that is the new high precision spatial reference.</returns> /// ///<remarks></remarks> public ESRI.ArcGIS.Geometry.ISpatialReference ConvertSpatialReferenceFromLowToHighPrecision(ESRI.ArcGIS.Geometry.ISpatialReference lowSpatialReference, System.Int32 xyDoubler, System.Int32 mDoubler, System.Int32 zDoubler) { ESRI.ArcGIS.Geometry.IControlPrecision2 controlPrecision2=lowSpatialReference as ESRI.ArcGIS.Geometry.IControlPrecision2; // Dynamic Cast if (!controlPrecision2.IsHighPrecision) { ESRI.ArcGIS.Geometry.ISpatialReferenceFactory3 spatialReferenceFactory3=new ESRI.ArcGIS.Geometry.SpatialReferenceEnvironmentClass(); ESRI.ArcGIS.Geometry.ISpatialReference highSpatialReference=spatialReferenceFactory3.ConstructHighPrecisionSpatialReference(lowSpatialReference, xyDoubler, zDoubler, mDoubler); return highSpatialReference; } return null; }
'''<summary>Converts an existing low precision spatial reference and returns a new high precision spatial reference.</summary> ''' '''<param name="lowSpatialReference">An ISpatialReference interface that is the low spatial reference to be converted.</param> '''<param name="xyDoubler">A System.Int32 that is the amount of doubling (2^x) based on the input resolution; -1 produces a value close to the default resolution. Example: -1</param> '''<param name="mDoubler">A System.Int32 that determines doubling of m-resolution based on input m-resolution; the default is 0. Example: 0</param> '''<param name="zDoubler">A System.Int32 that determines doubling of z-resolution based on input z-resolution; default is 0. Example: 0</param> ''' '''<returns>An ISpatialReference interface that is the new high precision spatial reference.</returns> ''' '''<remarks></remarks> Public Function ConvertSpatialReferenceFromLowToHighPrecision(ByVal lowSpatialReference As ESRI.ArcGIS.Geometry.ISpatialReference, ByVal xyDoubler As System.Int32, ByVal mDoubler As System.Int32, ByVal zDoubler As System.Int32) As ESRI.ArcGIS.Geometry.ISpatialReference Dim controlPrecision2 As ESRI.ArcGIS.Geometry.IControlPrecision2=CType(lowSpatialReference, ESRI.ArcGIS.Geometry.IControlPrecision2) ' Explicit Cast If Not controlPrecision2.IsHighPrecision Then Dim spatialReferenceFactory3 As ESRI.ArcGIS.Geometry.ISpatialReferenceFactory3=New ESRI.ArcGIS.Geometry.SpatialReferenceEnvironmentClass Dim highSpatialReference As ESRI.ArcGIS.Geometry.ISpatialReference=spatialReferenceFactory3.ConstructHighPrecisionSpatialReference(lowSpatialReference, xyDoubler, zDoubler, mDoubler) Return highSpatialReference End If Return Nothing End Function