summaryrefslogtreecommitdiff
path: root/src/3rdparty/proj/PJ_denoy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/proj/PJ_denoy.c')
-rw-r--r--src/3rdparty/proj/PJ_denoy.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/3rdparty/proj/PJ_denoy.c b/src/3rdparty/proj/PJ_denoy.c
new file mode 100644
index 00000000..8b800318
--- /dev/null
+++ b/src/3rdparty/proj/PJ_denoy.c
@@ -0,0 +1,18 @@
+#define PJ_LIB__
+#include <projects.h>
+PROJ_HEAD(denoy, "Denoyer Semi-Elliptical") "\n\tPCyl., no inv., Sph.";
+#define C0 0.95
+#define C1 -.08333333333333333333
+#define C3 .00166666666666666666
+#define D1 0.9
+#define D5 0.03
+FORWARD(s_forward); /* spheroid */
+ xy.y = lp.phi;
+ xy.x = lp.lam;
+ lp.lam = fabs(lp.lam);
+ xy.x *= cos((C0 + lp.lam * (C1 + lp.lam * lp.lam * C3)) *
+ (lp.phi * (D1 + D5 * lp.phi * lp.phi * lp.phi * lp.phi)));
+ return (xy);
+}
+FREEUP; if (P) pj_dalloc(P); }
+ENTRY0(denoy) P->es = 0.; P->fwd = s_forward; ENDENTRY(P)