aboutsummaryrefslogtreecommitdiff
path: root/src/projections/lcc.cpp
diff options
context:
space:
mode:
authorCharles Karney <charles@karney.com>2020-11-01 06:53:02 -0500
committerGitHub <noreply@github.com>2020-11-01 06:53:02 -0500
commitcccd65e50d1143a1119afedae97cec5a6b9397e9 (patch)
tree4e5af1fb8faab2c049d065a2d6d1e5e473321196 /src/projections/lcc.cpp
parentb7bf499b8449a61cdc24dcdaa0bf035f57af1b3c (diff)
parent692fc26b6d494aeaa85658314bc020a5cd6da7a1 (diff)
downloadPROJ-cccd65e50d1143a1119afedae97cec5a6b9397e9.tar.gz
PROJ-cccd65e50d1143a1119afedae97cec5a6b9397e9.zip
Merge pull request #2397 from cffk/merc-update
Update Mercator projection, more accurate, faster
Diffstat (limited to 'src/projections/lcc.cpp')
-rw-r--r--src/projections/lcc.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/projections/lcc.cpp b/src/projections/lcc.cpp
index 91ffc511..46378ce4 100644
--- a/src/projections/lcc.cpp
+++ b/src/projections/lcc.cpp
@@ -106,10 +106,10 @@ PJ *PROJECTION(lcc) {
double ml1, m1;
m1 = pj_msfn(sinphi, cosphi, P->es);
- ml1 = pj_tsfn(Q->phi1, sinphi, P->e);
- if( ml1 == 0 ) {
+ if( fabs(Q->phi1) == M_HALFPI ) {
return pj_default_destructor(P, PJD_ERR_LAT_1_OR_2_ZERO_OR_90);
}
+ ml1 = pj_tsfn(Q->phi1, sinphi, P->e);
if (secant) { /* secant cone */
sinphi = sin(Q->phi2);
Q->n = log(m1 / pj_msfn(sinphi, cos(Q->phi2), P->es));
@@ -117,10 +117,10 @@ PJ *PROJECTION(lcc) {
// Not quite, but es is very close to 1...
return pj_default_destructor(P, PJD_ERR_INVALID_ECCENTRICITY);
}
- const double ml2 = pj_tsfn(Q->phi2, sinphi, P->e);
- if( ml2 == 0 ) {
- return pj_default_destructor(P, PJD_ERR_LAT_1_OR_2_ZERO_OR_90);
+ if( fabs(Q->phi2) == M_HALFPI ) {
+ return pj_default_destructor(P, PJD_ERR_LAT_1_OR_2_ZERO_OR_90);
}
+ const double ml2 = pj_tsfn(Q->phi2, sinphi, P->e);
const double denom = log(ml1 / ml2);
if( denom == 0 ) {
// Not quite, but es is very close to 1...