diff options
| author | Frank Warmerdam <warmerdam@pobox.com> | 1999-03-18 16:34:52 +0000 |
|---|---|---|
| committer | Frank Warmerdam <warmerdam@pobox.com> | 1999-03-18 16:34:52 +0000 |
| commit | 565a4bd035b9d4a83955808efef20f1d8dfa24cf (patch) | |
| tree | 75785fc897708023f1ccdaf40079afcbaaf0fd3a /src/pj_phi2.c | |
| download | PROJ-565a4bd035b9d4a83955808efef20f1d8dfa24cf.tar.gz PROJ-565a4bd035b9d4a83955808efef20f1d8dfa24cf.zip | |
New
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@776 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/pj_phi2.c')
| -rw-r--r-- | src/pj_phi2.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/pj_phi2.c b/src/pj_phi2.c new file mode 100644 index 00000000..dbb79d4d --- /dev/null +++ b/src/pj_phi2.c @@ -0,0 +1,28 @@ +/* determine latitude angle phi-2 */ +#ifndef lint +static const char SCCSID[]="@(#)pj_phi2.c 4.3 93/06/12 GIE REL"; +#endif +#include <projects.h> + +#define HALFPI 1.5707963267948966 +#define TOL 1.0e-10 +#define N_ITER 15 + + double +pj_phi2(double ts, double e) { + double eccnth, Phi, con, dphi; + int i; + + eccnth = .5 * e; + Phi = HALFPI - 2. * atan (ts); + i = N_ITER; + do { + con = e * sin (Phi); + dphi = HALFPI - 2. * atan (ts * pow((1. - con) / + (1. + con), eccnth)) - Phi; + Phi += dphi; + } while ( fabs(dphi) > TOL && --i); + if (i <= 0) + pj_errno = -18; + return Phi; +} |
