政府机关年度工作总结:哪里能够找到高斯投影反算公式?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:28:53
计算过程尽量简便的~~

这是一个高斯反算的算法,你可以参考以下,这个程序是针对克拉索夫斯基椭球的,转成其他的椭球体的坐标,只需要换一下参数就可以了。
#define PI 3.1415926535
main()
{
float P;
float x,y,z;
float a,b,bf,Bf,B,l1,l2,L,L0;
float b2,b3,b4,b5;
float N,i,j,k;
int B1,B2,L1,L2;float B3,L3;
P=(180.0/PI)*3600.0;
printf("please enter x,y:\n");
scanf("%f,%f",&x,&y);
y-=500000;
a=x*P/6367558.4969;
b=(a*PI/180.0)/3600.0;
i=cos(b)*cos(b);
bf=a+(50221746+(293622+(2350+22*i)*i)*i)*sin(b)*cos(b)*P*(1E-10);
Bf=(bf*PI/180.0)/3600.0;
j=cos(Bf)*cos(Bf);
N=6399698.902-(21562.267-(108.973-0.612*j)*j)*j;
b2=(0.5+0.003369*j)*sin(Bf)*cos(Bf);
b3=0.333333-(0.166667-0.001123*j)*j;
b4=0.25+(0.16161+0.00562*j)*j;
b5=0.2-(0.1667-0.0088*j)*j;
z=(y/N)/cos(Bf);
k=z*z;
printf("Please enter L0:\n");
scanf("%f",&L0);
B=bf-(1-(b4-0.12*k)*k)*k*b2*P;
B=B/3600.0;
B1=(int)B;
B2=(int)((B-B1)*60);
B3=((B-B1)*60-(int)((B-B1)*60))*60.;
l1=(1-(b3-b5*k)*k)*z*P;
L=(l1/3600)+L0;
L1=(int)L;
L2=(int)((L-L1)*60);
L3=((L-L1)*60-(int)((L-L1)*60))*60.;
}
}

“高斯投影反算公式”....这里可以看看:
http://www.gisforum.net/bbs/dispbbs.asp?BoardID=44&ID=55396

这是一个高斯反算的算法,你可以参考以下,这个程序是针对克拉索夫斯基椭球的,转成其他的椭球体的坐标,只需要换一下参数就可以了。

请参阅有关大地控制测量方面的书

vod2.tongji.edu.cn