1*59cc4ca5SDavid du Colombier #include <u.h> 2*59cc4ca5SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier #include "map.h" 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier static double a; 63e12c5d1SDavid du Colombier 73e12c5d1SDavid du Colombier static int Xnewyorker(struct place * place,double * x,double * y)8219b2ee8SDavid du ColombierXnewyorker(struct place *place, double *x, double *y) 93e12c5d1SDavid du Colombier { 10219b2ee8SDavid du Colombier double r = PI/2 - place->nlat.l; 11219b2ee8SDavid du Colombier double s; 123e12c5d1SDavid du Colombier if(r<.001) /* cheat to plot center */ 133e12c5d1SDavid du Colombier s = 0; 143e12c5d1SDavid du Colombier else if(r<a) 153e12c5d1SDavid du Colombier return -1; 163e12c5d1SDavid du Colombier else 173e12c5d1SDavid du Colombier s = log(r/a); 183e12c5d1SDavid du Colombier *x = -s * place->wlon.s; 193e12c5d1SDavid du Colombier *y = -s * place->wlon.c; 203e12c5d1SDavid du Colombier return(1); 213e12c5d1SDavid du Colombier } 223e12c5d1SDavid du Colombier 233e12c5d1SDavid du Colombier proj newyorker(double a0)24219b2ee8SDavid du Colombiernewyorker(double a0) 253e12c5d1SDavid du Colombier { 263e12c5d1SDavid du Colombier a = a0*RAD; 273e12c5d1SDavid du Colombier return(Xnewyorker); 283e12c5d1SDavid du Colombier } 29