Exemple #1
0
        private string ScaleBarText(double scale, ScaleBarLabelText scaleText)
        {
            switch (scaleText)
            {
            case ScaleBarLabelText.NoText:
                return(string.Empty);

            case ScaleBarLabelText.JustUnits:
                return(_barUnitName);

            default:
                var precision = 0;

                //set the precision. Keep the first 5 (ScalePrecisionDigits) digits.
                if (scale > 0)
                {
                    var magnitude = (int)(Math.Log10(scale));
                    precision = ScalePrecisionDigits - magnitude;
                    if (precision < 0)
                    {
                        precision = 0;
                    }
                    if (magnitude >= 2)
                    {
                        //don't show the precision if the scale is less than than 1:100 (e.g. 1:1000)
                        precision = 0;
                    }
                }
                var format = string.Format("F{0}", precision);

                scale = FormatRealScale(scale);
                return("1:" + scale.ToString(format, System.Globalization.CultureInfo.CurrentCulture));
            }
        }
Exemple #2
0
        private string ScaleBarText(double scale, ScaleBarLabelText scaleText)
        {
            switch (scaleText)
            {
                case ScaleBarLabelText.NoText:
                    return string.Empty;
                case ScaleBarLabelText.JustUnits:
                    return _barUnitName;
                default:
                    var precision = 0;

                    //set the precision. Keep the first 5 (ScalePrecisionDigits) digits. 
                    if (scale > 0)
                    {
                        var magnitude = (int) (Math.Log10(scale));
                        precision = ScalePrecisionDigits - magnitude;
                        if (precision < 0)
                            precision = 0;
                        if (magnitude >= 2)
                            //don't show the precision if the scale is less than than 1:100 (e.g. 1:1000)
                            precision = 0;

                    }
                    var format = string.Format("F{0}", precision);

                    scale = FormatRealScale(scale);
                    return "1:" + scale.ToString(format, System.Globalization.CultureInfo.CurrentCulture);
            }
        }