gvsig-3d / 1.10 / trunk / libraries / libjni-proj4 / src / PJ_putp5.c @ 72
History | View | Annotate | Download (823 Bytes)
1 | 5 | jzarzoso | #ifndef lint
|
---|---|---|---|
2 | static const char SCCSID[]="@(#)PJ_putp5.c 4.1 94/02/15 GIE REL"; |
||
3 | #endif
|
||
4 | #define PROJ_PARMS__ \
|
||
5 | double A, B;
|
||
6 | #define PJ_LIB__
|
||
7 | # include <projects.h> |
||
8 | PROJ_HEAD(putp5, "Putnins P5") "\n\tPCyl., Sph."; |
||
9 | PROJ_HEAD(putp5p, "Putnins P5'") "\n\tPCyl., Sph."; |
||
10 | #define C 1.01346 |
||
11 | #define D 1.2158542 |
||
12 | FORWARD(s_forward); /* spheroid */
|
||
13 | xy.x = C * lp.lam * (P->A - P->B * sqrt(1. + D * lp.phi * lp.phi));
|
||
14 | xy.y = C * lp.phi; |
||
15 | return (xy);
|
||
16 | } |
||
17 | INVERSE(s_inverse); /* spheroid */
|
||
18 | lp.phi = xy.y / C; |
||
19 | lp.lam = xy.x / (C * (P->A - P->B * sqrt(1. + D * lp.phi * lp.phi)));
|
||
20 | return (lp);
|
||
21 | } |
||
22 | FREEUP; if (P) pj_dalloc(P); }
|
||
23 | static PJ *
|
||
24 | setup(PJ *P) { |
||
25 | P->es = 0.; P->inv = s_inverse; P->fwd = s_forward;
|
||
26 | return P;
|
||
27 | } |
||
28 | ENTRY0(putp5) P->A = 2.; P->B = 1.; ENDENTRY(setup(P)) |
||
29 | ENTRY0(putp5p) P->A = 1.5; P->B = 0.5; ENDENTRY(setup(P)) |