51#define AGA (A*9.7803267715)
52#define BGB (B*9.8321863685)
54 double cosphi = ::cos(position.getLatitudeRad());
55 double cos2phi = cosphi*cosphi;
56 double sinphi = ::sin(position.getLatitudeRad());
57 double sin2phi = sinphi*sinphi;
58 double g0 = (
AGA * cos2phi +
BGB * sin2phi) / sqrt(
A*
A*cos2phi+
B*
B*sin2phi );
60 static const double k1 = 3.15704e-7;
61 static const double k2 = 2.10269e-9;
62 static const double k3 = 7.37452e-14;
64 double h = position.getElevationM();
66 return g0*(1-(k1-k2*sin2phi)*h+k3*h*h);