求教,墨卡托坐标转回百度坐标时,偏移量过大?
如题!现在有个需求需要用到百度的坐标,但是我们截取到的坐标是百度经过转换后的的墨卡托坐标,如:12951506.11,4825572.78。但是用了下面这个转换后发现误差很大
public static void main(String[] args) {
double x = 12951506.11 / 20037508.34 * 180;
double y = 4825572.78 / 20037508.34 * 180;
y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
System.out.println(y+","+x);
}
准确的应该为116.403963,39.915119 (百度坐标拾取系统),但是上面的程序跑出来的是39.72163273993965,116.34535892599907,直接把天安门偏移到大兴去了。至于12951506.11,4825572.78是截取的百度返回的参数里的。
现在不明白的是,是上面的程序不正确还是,百度在把自己的坐标转换为墨卡托时又加了偏移量,有没有相关的大神指点下!!