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