请教数学问题.比较麻烦.帮忙解决的给分.
//根据经纬度计算出XY ,m_par 是一个结构,其值都已经有了,E_1值也有了
void proc55(double lo, double la, double *x, double *y)
{
// 计算经线弧长
double s,a=1.0050517739,b=0.00506237764;
double c=0.0000106245,d=0.00000002081;
s=m_par.lr*(1-E_1)*(a*la-b*sin(2*la)/2+c*sin(4*la)/4-d*sin(6*la)/6);
// 计算投影系数
double n;
n = m_par.lr/sqrt(1-E_1*pow(sin(la),2));
double it;
it =E_2*pow(cos(la),2);
double t;
t=tan(la);
double lo0;
lo0 = lo-m_par.longitude_pole;
*x=s+(pow(lo0,2)*n*sin(la)*cos(la)/2)*(1+pow(lo0*cos(la),2)*(5-pow(t,2)+9*it+4*pow(it,2))/12+pow(lo0*cos(la),4)*(61+58*pow(t,2)+pow(t,4))/360);
*y=lo0*n*cos(la)*(1+pow(lo0*cos(la),2)*(1-pow(t,2)+it)/6+pow(lo0*cos(la),4)*(5-18*pow(t,2)+pow(t,4)+14*it-58*it*pow(t,2))/120);
}
现在根据以上方法,修改//根据XY计算出经纬度
void fproc55(double x, double y, double *lo, double *la)
{
............................
}
[解决办法]
UP
[解决办法]
要开方了,解不唯一。
有多种可能。
过程比较复杂。