/// <summary>
        /// Updates the constants.
        /// </summary>
        protected override void UpdateConstants()
        {
            base.UpdateConstants();

            k_0  = ScaleFactor;
            a    = EllipsoidType.A();
            e2   = EllipsoidType.E2();
            e4   = e2 * e2;
            e6   = e4 * e2;
            ep2  = EllipsoidType.Ep2();
            e_1  = (1 - Math.Sqrt(1 - e2)) / (1 + Math.Sqrt(1 - e2));
            e2_1 = e_1 * e_1;
            e3_1 = e2_1 * e_1;
            e4_1 = e3_1 * e_1;

            lambda_0 = MathUtil.Radians(CentralMeridian);
            phi_0    = MathUtil.Radians(LatitudeOrigin);

            M_0 = a * ((1 - e2 / 4 - 3 * e4 / 64 - 5 * e6 / 256 /* - ... */) * phi_0 - (3 * e2 / 8 + 3 * e4 / 32 + 45 * e6 / 1024 /* + ... */) * Math.Sin(2 * phi_0) + (15 * e4 / 256 + 45 * e6 / 1024 /* + ... */) * Math.Sin(4 * phi_0) - (35 * e6 / 3072 /* + ... */) * Math.Sin(6 * phi_0) /* + ... */);
        }