|
|
1.1 root 1: #include "map.h"
2: #include <math.h>
3:
4: static
5: Xmercator(place,x,y)
6: struct place *place;
7: float *x, *y;
8: {
9: if(fabs(place->nlat.l) > 80.*RAD)
10: return(-1);
11: *x = -place->wlon.l;
12: *y = 0.5*log((1+place->nlat.s)/(1-place->nlat.s));
13: return(1);
14: }
15:
16: int (*mercator())()
17: {
18: return(Xmercator);
19: }
20: static float ecc = ECC;
21:
22: static
23: Xspmercator(place,x,y)
24: struct place *place;
25: float *x, *y;
26: {
27: if(Xmercator(place,x,y) < 0)
28: return(-1);
29: *y += 0.5*ecc*log((1-ecc*place->nlat.s)/(1+ecc*place->nlat.s));
30: return(1);
31: }
32:
33: int (*sp_mercator())()
34: {
35: return(Xspmercator);
36: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.