aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-10-13 12:58:53 +0200
committerGitHub <noreply@github.com>2019-10-13 12:58:53 +0200
commit3804eac112da0ec5972f355644376556022e4d8f (patch)
tree13241edccee9f06713a0517aed91fd3f8843332a /src
parent2d25faba62c698362597a3537a3fe5c3fc7e781a (diff)
parent5620ad90e4f697d00e3b4310dc5315fd577fbb85 (diff)
downloadPROJ-3804eac112da0ec5972f355644376556022e4d8f.tar.gz
PROJ-3804eac112da0ec5972f355644376556022e4d8f.zip
Merge pull request #1653 from rouault/doc_ob_tran
ob_tran doc: fix/clarify semantics of o_lat_p/o_lon_p
Diffstat (limited to 'src')
-rw-r--r--src/projections/ob_tran.cpp4
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);
}