墨卡托投影C++编程
发布网友
发布时间:2022-05-16 06:12
我来回答
共2个回答
热心网友
时间:2023-10-13 08:26
我用的是C语言,希望对你有所帮助,程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
float U,r0,e=0.081813334,a=6378245,x,y,r,u,p,t=3.1415926,g,h,l,x1,y1,N0;
float B,B0=30.0,L,L0=120.0;
for(B=10.0;B<=50.0;B=B+10.0)
for(L=100.0;L<=140.0;L=L+10.0)
{
h=e/2;
g=(1-e*sin(B/180*t))/(1+e*sin(B/180*t));
U=tan(t/4+(B/180*t)/2)*pow(g,h);
l=(L-L0)/180*t;
r=(a*cos(B/180*t))/(sqrt(1-e*e*sin(B/180*t)*sin(B/180*t)));
r0=(a*cos(B0/180*t))/(sqrt(1-e*e*sin(B0/180*t)*sin(B0/180*t)));
y=r0*l;
x=r0*log(U);
u=r0/r;
p=u*u;
x1=0.00001*x;
y1=0.00001*y;
printf("B=%2.0f\nL=%3.0f\nx1=%f\ty1=%f\t u=%f\t p=%f\n\n\n",B,L,x1,y1,u,p);
}
return 0;
}
热心网友
时间:2023-10-13 08:26
OH,MY GOD!这个专业性也太强了吧。