// Return the authalic latitude of latitude alpha (if inverse=0) or // return the approximate latitude of authalic latitude alpha (if inverse=1). // P contains the relavent ellipsoid parameters. protected static double auth_lat(PJ_healpix P, double alpha, bool inverse) { if (!inverse) { // Authalic latitude. double q = Proj.pj_qsfn(Math.Sin(alpha), P.e, 1.0 - P.es); double qp = P.qp; double ratio = q / qp; if (Math.Abs(ratio) > 1) { ratio = pj_sign(ratio); // Rounding error. } return(Math.Asin(ratio)); } // Approximation to inverse authalic latitude. return(Proj.pj_authlat(alpha, P.apa)); }
// Return the authalic latitude of latitude alpha (if inverse=0) or // return the approximate latitude of authalic latitude alpha (if inverse=1). // P contains the relavent ellipsoid parameters. protected static double auth_lat(PJ_healpix P, double alpha, bool inverse) { if(!inverse) { // Authalic latitude. double q=Proj.pj_qsfn(Math.Sin(alpha), P.e, 1.0-P.es); double qp=P.qp; double ratio=q/qp; if(Math.Abs(ratio)>1) ratio=pj_sign(ratio); // Rounding error. return Math.Asin(ratio); } // Approximation to inverse authalic latitude. return Proj.pj_authlat(alpha, P.apa); }