求教,墨卡托坐标转回百度坐标时,偏移量过大?

敲代码的胖子 2017-06-26 03:51:20
如题!现在有个需求需要用到百度的坐标,但是我们截取到的坐标是百度经过转换后的的墨卡托坐标,如: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是截取的百度返回的参数里的。

现在不明白的是,是上面的程序不正确还是,百度在把自己的坐标转换为墨卡托时又加了偏移量,有没有相关的大神指点下!!
...全文
135 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧