• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
似水无痕
博客园    首页    新随笔    联系   管理    订阅  订阅

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
= 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;
        }

posted @ 2013-08-21 13:48  杨——  阅读(29922)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3