『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

墨卡托坐标与经纬度相互转换的方法

墨卡托坐标与经纬度相互转换的方法
最近用到了墨卡托坐标转换经纬度的需求,原理什么的不想多说,需要的可以查看这里:

       最近用到了墨卡托坐标转换经纬度的需求,原理什么的不想多说,需要的可以查看这里:

 

       麦卡托投影法

 

        Web Mercator

 

 

 

         经纬度转Wev墨卡托

 

         版本1

 

dvec3 CMathEngine::lonLat2WebMercator(dvec3  lonLat) 

    dvec3  mercator; 

    double x = lonLat.x *20037508.34/180; 

    double y = log(tan((90+lonLat.y)*PI/360))/(PI/180); 

    y = y *20037508.34/180; 

    mercator.x = x; 

    mercator.y = y; 

    return mercator ; 

}

       版本2

 

(CGPoint )lonLat2Mercator:(CGPoint ) lonLat{

    CGPoint mercator;

    double x = lonLat.x *20037508.34/180;

    double  y = log(tan((90+lonLat.y)*M_PI/360))/(M_PI/180);

    y = y *20037508.34/180; mercator.x = x; mercator.

    y = y; return mercator ;

}

       版本3

 

function lonlat2mercator(lonlat)

{  

    var mercator={x:0,y:0};

    var x = lonlat.x *20037508.34/180; 

    var y = Math.log(Math.tan((90+lonlat.y)*Math.PI/360))/(Math.PI/180);

    y = y *20037508.34/180;

    mercator.x = x;

    mercator.y = y;

    return mercator ;

}

       Web墨卡托转经纬度

 

       版本1

 

dvec3 CMathEngine::WebMercator2lonLat( dvec3   mercator ) 

    dvec3 lonLat; 

    double x = mercator.x/20037508.34*180; 

    double y = mercator.y/20037508.34*180; 

    y= 180/PI*(2*atan(exp(y*PI/180))-PI/2); 

    lonLat.x = x; 

    lonLat.y = y; 

    return lonLat; 

       版本2

 

(CGPoint )Mercator2lonLat:(CGPoint ) mercator

{

    CGPoint lonLat;

    double x = mercator.x/20037508.34*180;

    double y = mercator.y/20037508.34*180;

    y= 180/M_PI*(2*atan(exp(y*M_PI/180))-M_PI/2);

    lonLat.x = x; lonLat.y = y;

    return lonLat;

}

       版本3

 

function mercator2lonlat(mercator){

    var lonlat={x:0,y:0};  

    var x = mercator.x/20037508.34*180;

    var y = mercator.y/20037508.34*180;

    y= 180/Math.PI*(2*Math.atan(Math.exp(y*Math.PI/180))-Math.PI/2);

    lonlat.x = x;   lonlat.y = y;   return lonlat;

}

      京ICP备2025132830号-1 京公网安备 号