aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-09-16 10:20:14 +0200
committerGitHub <noreply@github.com>2021-09-16 10:20:14 +0200
commit1cedab9d8d48302c61a2ae1f3c139332560f9b73 (patch)
tree21307d889df01c298ba7ee15aa35ff0cf9e67906
parente6e4d5aa20cfc64b1b41eb6dd6d4516e0ea4807e (diff)
parentc9b506005129cbd4106a332d33cc9b926291d2b9 (diff)
downloadPROJ-1cedab9d8d48302c61a2ae1f3c139332560f9b73.tar.gz
PROJ-1cedab9d8d48302c61a2ae1f3c139332560f9b73.zip
Merge pull request #2855 from rouault/ortho_e_followup
Inverse ortho ellipsoidal oblique: address a few remarks...
-rw-r--r--src/projections/ortho.cpp6
-rw-r--r--test/gie/builtins.gie9
2 files changed, 12 insertions, 3 deletions
diff --git a/src/projections/ortho.cpp b/src/projections/ortho.cpp
index c334f398..9dae0980 100644
--- a/src/projections/ortho.cpp
+++ b/src/projections/ortho.cpp
@@ -263,13 +263,13 @@ static PJ_LP ortho_e_inverse (PJ_XY xy, PJ *P) { /* Ellipsoidal, inver
lp.phi += dphi;
if( lp.phi > M_PI_2)
{
- lp.phi = M_PI_2 - (M_PI_2 - lp.phi);
- lp.lam = adjlon(lp.lam + 180);
+ lp.phi = M_PI_2 - (lp.phi - M_PI_2);
+ lp.lam = adjlon(lp.lam + M_PI);
}
else if( lp.phi < -M_PI_2)
{
lp.phi = -M_PI_2 + (-M_PI_2 - lp.phi);
- lp.lam = adjlon(lp.lam + 180);
+ lp.lam = adjlon(lp.lam + M_PI);
}
lp.lam += dlam;
if( fabs(dphi) < 1e-12 && fabs(dlam) < 1e-12 )
diff --git a/test/gie/builtins.gie b/test/gie/builtins.gie
index 569ca812..73a751c3 100644
--- a/test/gie/builtins.gie
+++ b/test/gie/builtins.gie
@@ -4603,6 +4603,15 @@ accept 120.0 84.0
expect 663929.0678 5118338.2423
roundtrip 1
+tolerance 0.1 mm
+accept -132.1803037588 60.171013757
+expect -1335097.4621 6158336.7476
+roundtrip 1
+
+tolerance 0.1 mm
+accept 171.66658585876 55.670679094
+expect 1874756.6327 6061693.5075
+roundtrip 1
-------------------------------------------------------------------------------
# Equatorial