diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-09-16 10:20:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-16 10:20:14 +0200 |
| commit | 1cedab9d8d48302c61a2ae1f3c139332560f9b73 (patch) | |
| tree | 21307d889df01c298ba7ee15aa35ff0cf9e67906 | |
| parent | e6e4d5aa20cfc64b1b41eb6dd6d4516e0ea4807e (diff) | |
| parent | c9b506005129cbd4106a332d33cc9b926291d2b9 (diff) | |
| download | PROJ-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.cpp | 6 | ||||
| -rw-r--r-- | test/gie/builtins.gie | 9 |
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 |
