void fac(LP lp, ref FACTORS fac) { double sinphi = Math.Sin(lp.phi); double cosphi = Math.Cos(lp.phi); fac.code |= Factors.IS_ANAL_HK; fac.h = 1.0; fac.k = n * (c - (ellips?Proj.pj_mlfn(lp.phi, sinphi, cosphi, en):lp.phi)) / Proj.pj_msfn(sinphi, cosphi, es); }
void fac(LP lp, ref FACTORS fac) { double rho = 0.0; if (Math.Abs(Math.Abs(lp.phi) - Proj.HALFPI) < EPS10) { if ((lp.phi * n) <= 0.0) { return; } rho = 0.0; } else { rho = c * (ellips?Math.Pow(Proj.pj_tsfn(lp.phi, Math.Sin(lp.phi), e), n):Math.Pow(Math.Tan(Proj.FORTPI + 0.5 * lp.phi), -n)); } fac.code |= Factors.IS_ANAL_HK + Factors.IS_ANAL_CONV; fac.k = fac.h = k0 * n * rho / Proj.pj_msfn(Math.Sin(lp.phi), Math.Cos(lp.phi), es); fac.conv = -n * lp.lam; }