美文网首页
墨卡托坐标系与经纬度坐标系互相转换

墨卡托坐标系与经纬度坐标系互相转换

作者: 朱凤丽 | 来源:发表于2020-05-11 21:52 被阅读0次

1.墨卡托转经纬度

PI:3.1415926535897932384626;
mercatorTolonlat(mercator){
    let lonlat={lon:0,lat:0};
    
    let x = mercator.x/20037508.34*180;
    let y = mercator.y/20037508.34*180;
    
    y= 180/Math.PI*(2*Math.atan(Math.exp(y*Math.PI/180))-Math.PI/2);
    
    lonlat.lon = x;
    lonlat.lat = y;

    return lonlat;
};

2.经纬度转墨卡托

lonlatToMercator(lonlat){
    var mercator = {};
    
    let x = lonLat.lon * 20037508.34 / 180;
    let y = Math.log(Math.tan((90 + lonLat.lat) * Math.PI / 360)) / (Math.PI / 180);
    
    y = y * 20037508.34 / 180;
    
    mercator.x = x;
    mercator.y = y;
    
    return mercator;
}

案例

// 1.墨卡托转经纬度
var mercator = {
    x:12607101.238338,
    y:2648567.8723786
}
var lonlat = mercatorTolonlat(mercator);
console.log(lonlat);
/*
    {
        lon:113.25151732418,
        lat:23.136776742416
    }
*/

// 2.经纬度转墨卡托
var lonlat = {
    lon:113.25151732418,
    lat:23.136776742416
}
var mercator = lonlatToMercator(lonlat);
console.log(mercator);
/*
    {
        x:12607101.238338396,
        y:2648567.872378624
    }
*/

相关文章

网友评论

      本文标题:墨卡托坐标系与经纬度坐标系互相转换

      本文链接:https://www.haomeiwen.com/subject/ictmnhtx.html