示例#1
0
        /// <summary>
        /// Creates a new <see cref="Distance"/> instance with the same value as current instance, converted into the specified <see cref="unit"/> unit.
        /// </summary>
        /// <param name="unit">The <see cref="GeoDistanceUnit"/> to convert the distance value to.</param>
        /// <returns></returns>
        public Distance Convert(GeoDistanceUnit unit)
        {
            Distance result;

            if (unit == this.UnitOfLength)
            {
                result = this;
            }
            else
            {
                result = new Distance(this.Value * this.UnitOfLength.ConversionFactor / unit.ConversionFactor, unit);
            }

            return(result);
        }
示例#2
0
        static GeoDistanceUnit()
        {
            unitConversionMapFromMeters.Add(Units.Millimeter, 0.001);
            unitConversionMapFromMeters.Add(Units.Centimeter, 0.01);
            unitConversionMapFromMeters.Add(Units.Decimeter, 0.1);
            unitConversionMapFromMeters.Add(Units.Foot, 0.3048);
            unitConversionMapFromMeters.Add(Units.Yard, 0.9144);
            unitConversionMapFromMeters.Add(Units.Meter, 1);
            unitConversionMapFromMeters.Add(Units.Kilometer, 1000);
            unitConversionMapFromMeters.Add(Units.Mile, 1609.344);
            unitConversionMapFromMeters.Add(Units.NauticalMile, 1852);

            Meter     = new GeoDistanceUnit(Units.Meter, unitConversionMapFromMeters[Units.Meter]);
            Foot      = new GeoDistanceUnit(Units.Foot, unitConversionMapFromMeters[Units.Foot]);
            Kilometer = new GeoDistanceUnit(Units.Kilometer, unitConversionMapFromMeters[Units.Kilometer]);
            Mile      = new GeoDistanceUnit(Units.Mile, unitConversionMapFromMeters[Units.Mile]);
        }
示例#3
0
 /// <summary>
 /// Creates a new instance of <see cref="Distance"/> type.
 /// </summary>
 /// <param name="value">The value in the units specified through the <see cref="unit"/> parameter.</param>
 /// <param name="unit">The unit the <see cref="value"/> is specified in.</param>
 public Distance(double value, GeoDistanceUnit unit)
 {
     this.value        = value;
     this.unitOfLength = unit;
 }