墨卡托与经纬度互转

2024-05-21  本文已影响0人  zhuyx0304
export function mercatorTolonlat(xx, yy) {
  let lonlat = {};

  let x = (xx / 20037508.34) * 180;
  let y = (yy / 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;
}

export function lonlatToMercator(lon, lat) {
  var mercator = {};

  let x = (lon * 20037508.34) / 180;
  let y = Math.log(Math.tan(((90 + lat) * Math.PI) / 360)) / (Math.PI / 180);

  y = (y * 20037508.34) / 180;

  mercator.x = x;
  mercator.y = y;

  return mercator;
}
上一篇 下一篇

猜你喜欢

热点阅读