Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include "map.h"
4
 
5
static struct coord stdpar;
6
static double r0;
7
 
8
static
9
Xbonne(struct place *place, double *x, double *y)
10
{
11
	double r, alpha;
12
	r = r0 - place->nlat.l;
13
	if(r<.001)
14
		if(fabs(stdpar.c)<1e-10)
15
			alpha = place->wlon.l;
16
		else if(fabs(place->nlat.c)==0)
17
			alpha = 0;
18
		else 
19
			alpha = place->wlon.l/(1+
20
				stdpar.c*stdpar.c*stdpar.c/place->nlat.c/3);
21
	else
22
		alpha = place->wlon.l * place->nlat.c / r;
23
	*x = - r*sin(alpha);
24
	*y = - r*cos(alpha);
25
	return(1);
26
}
27
 
28
proj
29
bonne(double par)
30
{
31
	if(fabs(par*RAD) < .01)
32
		return(Xsinusoidal);
33
	deg2rad(par, &stdpar);
34
	r0 = stdpar.c/stdpar.s + stdpar.l;
35
	return(Xbonne);
36
}