This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Decimal Degree Angle Radian Example Snippet (ArcObjects .NET 10.4 SDK) |
Display sample values in Decimal Degree, Angle and Radian formats.
/// <summary> /// Display sample values in Decimal Degree, Angle and Radian formats. /// </summary> /// <remarks></remarks> public void DecimalDegreeAngleRadianExample() { // Create an AngleFormat object and set AngleFormat options through the IAngleFormat interface ESRI.ArcGIS.esriSystem.IAngleFormat angleFormat=new ESRI.ArcGIS.esriSystem.AngleFormatClass(); angleFormat.AngleInDegrees=true; //Input values are in degrees angleFormat.DisplayDegrees=true; //Display formatted numbers in degrees // Set NumericFormat options through the INumericFormat interface. This step is not necessary // unless you want to change the INumericFormat default properties. Comment this block of // code out to see how it changes the format! ESRI.ArcGIS.esriSystem.INumericFormat numericFormat=(ESRI.ArcGIS.esriSystem.INumericFormat)angleFormat; numericFormat.AlignmentOption=ESRI.ArcGIS.esriSystem.esriNumericAlignmentEnum.esriAlignRight; numericFormat.RoundingOption=ESRI.ArcGIS.esriSystem.esriRoundingOptionEnum.esriRoundNumberOfDecimals; numericFormat.AlignmentWidth=16; numericFormat.RoundingValue=5; numericFormat.ShowPlusSign=true; numericFormat.UseSeparator=false; numericFormat.ZeroPad=false; // The ValueToString & StringToValue methods are in the INumberFormat interface. ESRI.ArcGIS.esriSystem.INumberFormat numberFormat=(ESRI.ArcGIS.esriSystem.INumberFormat)angleFormat; //= pNumericFormat could be used here as well // Format some angular numbers in degree format System.Double double_DecimalDegree=0; System.String string_ValueToString=null; System.Double double_StringToValue=0; for (double_DecimalDegree=-180; double_DecimalDegree <= 180; double_DecimalDegree += 90) { string_ValueToString=numberFormat.ValueToString(double_DecimalDegree); double_StringToValue=numberFormat.StringToValue(string_ValueToString); System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString() + ")='" + string_ValueToString + "'" + System.Environment.NewLine + "StringToValue('" + string_ValueToString + "')=" + double_StringToValue.ToString(), "AngleFormat - Degree Format"); } // Display radian values. A degree-to-radian conversion takes place in the ValueToString //method, and a radian-to-degree conversion takes place in the StringToValue method. angleFormat.DisplayDegrees=false; for (double_DecimalDegree=-180; double_DecimalDegree <= 180; double_DecimalDegree += 90) { string_ValueToString=numberFormat.ValueToString(double_DecimalDegree); double_StringToValue=numberFormat.StringToValue(string_ValueToString); System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString() + ")='" + string_ValueToString + "'" + System.Environment.NewLine + "StringToValue('" + string_ValueToString + "')=" + double_StringToValue.ToString(), "AngleFormat - Radian Format"); } }
''' <summary> ''' Display sample values in Decimal Degree, Angle and Radian formats. ''' </summary> ''' <remarks></remarks> Public Sub DecimalDegreeAngleRadianExample() ' Create an AngleFormat object and set AngleFormat options through the IAngleFormat interface Dim angleFormat As ESRI.ArcGIS.esriSystem.IAngleFormat=New ESRI.ArcGIS.esriSystem.AngleFormatClass angleFormat.AngleInDegrees=True 'Input values are in degrees angleFormat.DisplayDegrees=True 'Display formatted numbers in degrees ' Set NumericFormat options through the INumericFormat interface. This step is not necessary ' unless you want to change the INumericFormat default properties. Comment this block of ' code out to see how it changes the format! Dim numericFormat As ESRI.ArcGIS.esriSystem.INumericFormat=CType(angleFormat, ESRI.ArcGIS.esriSystem.INumericFormat) numericFormat.AlignmentOption=ESRI.ArcGIS.esriSystem.esriNumericAlignmentEnum.esriAlignRight numericFormat.RoundingOption=ESRI.ArcGIS.esriSystem.esriRoundingOptionEnum.esriRoundNumberOfDecimals numericFormat.AlignmentWidth=16 numericFormat.RoundingValue=5 numericFormat.ShowPlusSign=True numericFormat.UseSeparator=False numericFormat.ZeroPad=False ' The ValueToString & StringToValue methods are in the INumberFormat interface. Dim numberFormat As ESRI.ArcGIS.esriSystem.INumberFormat=CType(angleFormat, ESRI.ArcGIS.esriSystem.INumberFormat) '= pNumericFormat could be used here as well ' Format some angular numbers in degree format Dim double_DecimalDegree As System.Double Dim string_ValueToString As System.String Dim double_StringToValue As System.Double For double_DecimalDegree=-180 To 180 Step 90 string_ValueToString=numberFormat.ValueToString(double_DecimalDegree) double_StringToValue=numberFormat.StringToValue(string_ValueToString) System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString + ")='" + string_ValueToString + "'" + System.Environment.NewLine + _ "StringToValue('" + string_ValueToString + "')=" + double_StringToValue.ToString, _ "AngleFormat - Degree Format") Next ' Display radian values. A degree-to-radian conversion takes place in the ValueToString ' method, and a radian-to-degree conversion takes place in the StringToValue method. angleFormat.DisplayDegrees=False For double_DecimalDegree=-180 To 180 Step 90 string_ValueToString=numberFormat.ValueToString(double_DecimalDegree) double_StringToValue=numberFormat.StringToValue(string_ValueToString) System.Windows.Forms.MessageBox.Show("ValueToString(" + double_DecimalDegree.ToString + ")='" + string_ValueToString & "'" + System.Environment.NewLine + _ "StringToValue('" + string_ValueToString + "')=" + double_StringToValue.ToString, _ "AngleFormat - Radian Format") Next End Sub