aboutsummaryrefslogtreecommitdiff
path: root/src/projections/lask.cpp
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2018-12-26 10:53:01 +0100
committerGitHub <noreply@github.com>2018-12-26 10:53:01 +0100
commit81ec8c0b58d66333fccd3703dab62a11132a0331 (patch)
tree41b4675d169f849516649700ab4f50d4cffa4c02 /src/projections/lask.cpp
parent355d681ed88019e97742344bd642c2fd97e700a1 (diff)
parent80dad6ef2bed4a83008db06986dc168918d48476 (diff)
downloadPROJ-81ec8c0b58d66333fccd3703dab62a11132a0331.tar.gz
PROJ-81ec8c0b58d66333fccd3703dab62a11132a0331.zip
Merge pull request #1203 from rouault/cpp_conversion
Conversion of most C files to C++
Diffstat (limited to 'src/projections/lask.cpp')
-rw-r--r--src/projections/lask.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/projections/lask.cpp b/src/projections/lask.cpp
new file mode 100644
index 00000000..46f23edb
--- /dev/null
+++ b/src/projections/lask.cpp
@@ -0,0 +1,39 @@
+#define PJ_LIB__
+#include "projects.h"
+
+PROJ_HEAD(lask, "Laskowski") "\n\tMisc Sph, no inv";
+
+#define a10 0.975534
+#define a12 -0.119161
+#define a32 -0.0143059
+#define a14 -0.0547009
+#define b01 1.00384
+#define b21 0.0802894
+#define b03 0.0998909
+#define b41 0.000199025
+#define b23 -0.0285500
+#define b05 -0.0491032
+
+
+static XY s_forward (LP lp, PJ *P) { /* Spheroidal, forward */
+ XY xy = {0.0,0.0};
+ double l2, p2;
+ (void) P;
+
+ l2 = lp.lam * lp.lam;
+ p2 = lp.phi * lp.phi;
+ xy.x = lp.lam * (a10 + p2 * (a12 + l2 * a32 + p2 * a14));
+ xy.y = lp.phi * (b01 + l2 * (b21 + p2 * b23 + l2 * b41) +
+ p2 * (b03 + p2 * b05));
+ return xy;
+}
+
+
+PJ *PROJECTION(lask) {
+
+ P->fwd = s_forward;
+ P->es = 0.;
+
+ return P;
+}
+