PJ_gall.c 555 Bytes
#define PJ_LIB__
#include	<projects.h>
PROJ_HEAD(gall, "Gall (Gall Stereographic)") "\n\tCyl, Sph";
#define YF	1.70710678118654752440
#define XF	0.70710678118654752440
#define RYF	0.58578643762690495119
#define RXF	1.41421356237309504880
FORWARD(s_forward); /* spheroid */
	xy.x = XF * lp.lam;
	xy.y = YF * tan(.5 * lp.phi);
	return (xy);
}
INVERSE(s_inverse); /* spheroid */
	lp.lam = RXF * xy.x;
	lp.phi = 2. * atan(xy.y * RYF);
	return (lp);
}
FREEUP; if (P) pj_dalloc(P); }
ENTRY0(gall) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P)