diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-05-29 12:37:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-29 12:37:48 +0200 |
| commit | e9a5addacb4e44b9c1128d4726de4e29e09b40e6 (patch) | |
| tree | 6629ced871dd78af9ad539485e6fafc5e219400b /src/projections/wink2.cpp | |
| parent | 9ff543c4ffd86152bc58d0a0164b2ce9ebbb8bec (diff) | |
| parent | 48b3bd9afe0ffccf06b2c8dceef1b636834ba876 (diff) | |
| download | PROJ-e9a5addacb4e44b9c1128d4726de4e29e09b40e6.tar.gz PROJ-e9a5addacb4e44b9c1128d4726de4e29e09b40e6.zip | |
Merge pull request #2243 from rouault/inverse_wink2
Implement wink2 inverse by generic inversion of forward method
Diffstat (limited to 'src/projections/wink2.cpp')
| -rw-r--r-- | src/projections/wink2.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/projections/wink2.cpp b/src/projections/wink2.cpp index 7fd08649..d457f842 100644 --- a/src/projections/wink2.cpp +++ b/src/projections/wink2.cpp @@ -6,7 +6,7 @@ #include "proj.h" #include "proj_internal.h" -PROJ_HEAD(wink2, "Winkel II") "\n\tPCyl, Sph, no inv\n\tlat_1="; +PROJ_HEAD(wink2, "Winkel II") "\n\tPCyl, Sph\n\tlat_1="; namespace { // anonymous namespace struct pj_opaque { @@ -41,6 +41,16 @@ static PJ_XY wink2_s_forward (PJ_LP lp, PJ *P) { /* Spheroidal, forwar return xy; } +static PJ_LP wink2_s_inverse(PJ_XY xy, PJ *P) +{ + PJ_LP lpInit; + + lpInit.phi = xy.y; + lpInit.lam = xy.x; + + return pj_generic_inverse_2d(xy, P, lpInit); +} + PJ *PROJECTION(wink2) { struct pj_opaque *Q = static_cast<struct pj_opaque*>(pj_calloc (1, sizeof (struct pj_opaque))); @@ -50,8 +60,8 @@ PJ *PROJECTION(wink2) { static_cast<struct pj_opaque*>(P->opaque)->cosphi1 = cos(pj_param(P->ctx, P->params, "rlat_1").f); P->es = 0.; - P->inv = nullptr; P->fwd = wink2_s_forward; + P->inv = wink2_s_inverse; return P; } |
