msaLonT2 static method

double msaLonT2(
  1. double w
)

Implementation

static double msaLonT2(double w) {
  double t, v = 7771.37714500204;
  t = (w + 1.08472) / v;
  double l, t2 = t * t;
  t -= (-0.00003309 * t2 +
          0.10976 * math.cos(0.784758 + 8328.6914246 * t + 0.000152292 * t2) +
          0.02224 * math.cos(0.18740 + 7214.0628654 * t - 0.00021848 * t2) -
          0.03342 * math.cos(4.669257 + 628.307585 * t)) /
      v;
  t2 = t * t;
  l = mLon(t, 20) -
      (4.8950632 +
          628.3319653318 * t +
          0.000005297 * t2 +
          0.0334166 * math.cos(4.669257 + 628.307585 * t) +
          0.0002061 * math.cos(2.67823 + 628.307585 * t) * t +
          0.000349 * math.cos(4.6261 + 1256.61517 * t) -
          20.5 / SECOND_PER_RAD);
  v = 7771.38 -
      914 * math.sin(0.7848 + 8328.691425 * t + 0.0001523 * t2) -
      179 * math.sin(2.543 + 15542.7543 * t) -
      160 * math.sin(0.1874 + 7214.0629 * t);
  t += (w - l) / v;
  return t;
}