Js /Java经纬度墨卡托转换

一、Js方法
墨卡托转经度

function getMercatorLon(x){
  return x/20037508.34*180;
}

墨卡托转纬度

function getMercatorLat(y){
  y = y/20037508.34*180;
  return 180/Math.PI*(2*Math.atan(Math.exp(y*Math.PI/180))-Math.PI/2);
}

经度转墨卡托

function getMercatorLon(x){
  return x * 20037508.34 / 180;
}

纬度转墨卡托

function getMercatorLat(y){
  y = Math.log(Math.tan((90 + y) * Math.PI / 360)) / (Math.PI / 180);;
  return y* 20037508.34 / 180;
}

二、Java方法

/**
     * 经度转墨卡托
     * @param x 经度
     * @return 墨卡托经度
     */
    public static double getMercatorLon(double x) {
        try {
            double mx = x * 20037508.34 / 180;
            return mx;
        }
        catch (BaseException e) {
            throw new BaseException(e, LOG);
        }
    }
/**
     * 纬度转墨卡托
     * @param y 纬度
     * @return 墨卡托纬度
     */
    public static double getMercatorLat(double y) {
        try {
            double my = Math.log(Math.tan((90 + y) * Math.PI / 360)) / (Math.PI / 180);
            my = my * 20037508.34 / 180;
            return my;
        }
        catch (BaseException e) {
            throw new BaseException(e, LOG);
        }
    }

/**
     * 墨卡转托经度
     * @param x 墨卡托经度
     * @return 经度
     */
    public static double getLonMercator(double x) {
        try {
            // double mx = x * 20037508.34 / 180;
            double mx = x / 20037508.34 * 180;
            return mx;
        }
        catch (BaseException e) {
            throw new BaseException(e, LOG);
        }
    }

/**
     * 墨卡托转纬度
     * @param y 墨卡托纬度
     * @return 纬度
     */
    public static double getLatMercator(double y) {
        try {
            double my = y / 20037508.34 * 180;
            my = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
            // double my = Math.log(Math.tan((90 + y) * Math.PI / 360)) / (Math.PI / 180);
            // my = my * 20037508.34 / 180;
            return my;
        }
        catch (BaseException e) {
            throw new BaseException(e, LOG);
        }
    }

你可能感兴趣的:(Js /Java经纬度墨卡托转换)