diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-10-03 14:05:44 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-10-03 14:05:44 +0200 |
| commit | 5620ad90e4f697d00e3b4310dc5315fd577fbb85 (patch) | |
| tree | 98000abbdd20031b8bcb5ab034277f3d9f19cbc5 /src/projections/ob_tran.cpp | |
| parent | 5cd917f6c63cc9d55ad9de8c6fdd07709be9ae37 (diff) | |
| download | PROJ-5620ad90e4f697d00e3b4310dc5315fd577fbb85.tar.gz PROJ-5620ad90e4f697d00e3b4310dc5315fd577fbb85.zip | |
ob_tran.cpp: add comment to link maths with Snyder's formulas
Diffstat (limited to 'src/projections/ob_tran.cpp')
| -rw-r--r-- | src/projections/ob_tran.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/projections/ob_tran.cpp b/src/projections/ob_tran.cpp index 4ae8dbe7..badc6dd8 100644 --- a/src/projections/ob_tran.cpp +++ b/src/projections/ob_tran.cpp @@ -31,8 +31,10 @@ static PJ_XY o_forward(PJ_LP lp, PJ *P) { /* spheroid */ coslam = cos(lp.lam); sinphi = sin(lp.phi); cosphi = cos(lp.phi); + /* Formula (5-8b) of Snyder's "Map projections: a working manual" */ lp.lam = adjlon(aatan2(cosphi * sin(lp.lam), Q->sphip * cosphi * coslam + Q->cphip * sinphi) + Q->lamp); + /* Formula (5-7) */ lp.phi = aasin(P->ctx,Q->sphip * sinphi - Q->cphip * cosphi * coslam); return Q->link->fwd(lp, Q->link); @@ -62,7 +64,9 @@ static PJ_LP o_inverse(PJ_XY xy, PJ *P) { /* spheroid */ coslam = cos(lp.lam -= Q->lamp); sinphi = sin(lp.phi); cosphi = cos(lp.phi); + /* Formula (5-9) */ lp.phi = aasin(P->ctx,Q->sphip * sinphi + Q->cphip * cosphi * coslam); + /* Formula (5-10b) */ lp.lam = aatan2(cosphi * sin(lp.lam), Q->sphip * cosphi * coslam - Q->cphip * sinphi); } |
