parallaxConstants function

({double rhoCosPrime, double rhsSinPhiPrime}) parallaxConstants(
  1. double phi,
  2. double h, {
  3. double er = earthEr,
  4. double fl = earthFl,
})

Parallax constants ρ sin φ′ and ρ cos φ′.

phi geographic latitude (radians), h height above ellipsoid (meters).

Implementation

({double rhsSinPhiPrime, double rhoCosPrime}) parallaxConstants(
    double phi, double h, {double er = earthEr, double fl = earthFl}) {
  final boa = 1 - fl;
  final su = math.sin(math.atan(boa * math.tan(phi)));
  final cu = math.cos(math.atan(boa * math.tan(phi)));
  final sPhi = math.sin(phi), cPhi = math.cos(phi);
  final hoa = h * 1e-3 / er;
  return (
    rhsSinPhiPrime: su * boa + hoa * sPhi,
    rhoCosPrime: cu + hoa * cPhi,
  );
}