From dea2d656c4ca658239cb3d4d300c47b2477eb2ba Mon Sep 17 00:00:00 2001 From: Frank Warmerdam Date: Mon, 21 Oct 2013 20:56:49 +0000 Subject: Change handling of values nearly 90degrees away from the origin (#114) git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2400 4e78687f-474d-0410-85f9-8d5e500ac6b2 --- ChangeLog | 3 +++ nad/testvarious | 11 +++++++++++ nad/tv_out.dist | 4 ++++ src/PJ_omerc.c | 7 +++++-- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa2f2bbc..64e5a0ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2013-10-21 Frank Warmerdam + * src/PJ_omerc.c: Change handling of values nearly 90degrees away from + the origin (#114). + * src/pj_datums.c: Switch to using EPSG:1618 COORD_OP_CODE to transform hermannskogel to WGS84 (same as used to ETRS89) (#207). diff --git a/nad/testvarious b/nad/testvarious index e6b319ad..fa02d145 100755 --- a/nad/testvarious +++ b/nad/testvarious @@ -528,6 +528,17 @@ $EXE -f '%.14f' \ -E >>${OUT} <> ${OUT} +echo "Test omerc sensitivity with locations 90d from origin(#114)" >> ${OUT} +# +$EXE -f '%.14f' \ + +proj=latlong +ellps=WGS84 \ + +to +proj=omerc +ellps=WGS84 +lon_1=62.581150 +lat_1=74.856102 \ + +lon_2=53.942810 +lat_2=74.905884 +units=km +no_rot +no_defs \ + -E >>${OUT} <ArB * log((1. - U)/(1. + U)); temp = cos(P->B * lp.lam); - u = (fabs(temp) < TOL) ? P->AB * lp.lam : - P->ArB * atan2((S * P->cosgam + V * P->singam) , temp); + if(fabs(temp) < TOL) { + u = P->A * lp.lam; + } else { + u = P->ArB * atan2((S * P->cosgam + V * P->singam), temp); + } } else { v = lp.phi > 0 ? P->v_pole_n : P->v_pole_s; u = P->ArB * lp.phi; -- cgit v1.2.3