| static struct coord stdp0, stdp1; |
| Xlambert(struct place *place, double *x, double *y) |
| if(place->nlat.l < -80.*RAD) |
| if(place->nlat.l > 89.*RAD) |
| r = stdp0.c*exp(0.5*k*log( |
| (1+stdp0.s)*(1-place->nlat.s)/((1-stdp0.s)*(1+place->nlat.s)))); |
| *x = - r*sin(k * place->wlon.l); |
| *y = - r*cos(k * place->wlon.l); |
| lambert(double par0, double par1) |
| if(fabs(par0)>fabs(par1)){ |
| return(perspective(-1.)); |
| if(fabs(par0)>89.5||fabs(par1)>89.5) |
| k = 2*log(stdp1.c/stdp0.c)/log( |
| (1+stdp0.s)*(1-stdp1.s)/((1-stdp0.s)*(1+stdp1.s))); |