GPS经纬度换算成XY坐标

   ///<summary>
        
/// GPS经纬度换算成x,y坐标
        
///</summary>
        
///<param name="l">精度</param>
        
///<param name="B">纬度</param>
        
///<param name="xc">X坐标</param>
        
///<param name="yc">Y坐标</param>
        publicstaticvoid MCT84Bl2xy(double l, double B, outdouble xc, outdouble yc)
        {
            
try
            {
= l * Math.PI /180;
                B 
= B * Math.PI /180;

                
double B0 =30* Math.PI /180;

                
double N =0, e =0, a =0, b =0, e2 =0, K =0;
                a 
=6378137;
                b 
=6356752.3142;
                e 
= Math.Sqrt(1- (b / a) * (b / a));
e2 
= Math.Sqrt((a / b) * (a / b) -1);
                
double CosB0 = Math.Cos(B0);
                N 
= (a * a / b) / Math.Sqrt(1+ e2 * e2 * CosB0 * CosB0);
                K 
= N * CosB0;

                
double Pi = Math.PI;
                
double SinB = Math.Sin(B);

                
double tan = Math.Tan(Pi /4+ B /2);
                
double E2 = Math.Pow((1- e * SinB) / (1+ e * SinB), e /2);
                
double xx = tan * E2;

                xc 
= K * Math.Log(xx);
                yc 
= K * l;
                
return;
            }
            
catch (Exception ErrInfo)
            {
            }
            xc 
=-1;
            yc 
=-1;
        }
展开阅读全文

没有更多推荐了,返回首页