百度墨卡托投影坐标转WGS84

来源:互联网 发布:chipseq数据分析 编辑:程序博客网 时间:2024/05/22 00:31

百度墨卡托投影是百度独有的算法,类似于web墨卡托投影,但还是有一定的差别。因为利用百度墨卡托投影转wgs84属于违法,所以这里只介绍一种粗略的转换方法,误差可能约有2-3米。


想要在两种坐标间进行转换,需要先了解墨卡托坐标的原理。

一. 墨卡托投影

是正轴等角圆柱投影。由荷兰地图学家墨卡托(G.Mercator)于1569年创立。假想一个与地轴方向一致的圆柱切或割于地球,按等角条件,将经纬网投影到圆柱面上,将圆柱面展为平面后,即得本投影。墨卡托投影在切圆柱投影与割圆柱投影中,最早也是最常用的是切圆柱投影。

二. Web墨卡托投影

由此便可根据原理求得百度坐标。


  • Excel法:
    该法可能由于经纬度数值过大,没有求算成功,这里贴上代码,感兴趣的小伙伴可以求算一下。

lon:=lon1/6378137

lat=2*atan(exp(lat1))-pi()/2

lon1\lat1为原经纬度;
lon\lat为转化后的经纬度;

  • R语言法:

lon = lon1/6378137

lat = 2*atan(exp(lat1))-pi/2

  • MATALB法:

lon = lon1/6378137

lat = 2*atan(exp(lat1))-pi/2


转化后的坐标为百度坐标,需要再进行转化。

具体转化可根据这个网站在线坐标转换工具。

转化完成后可在这个网站测试是否正确摩卡托坐标转经纬度坐标。


涉及的r语言及MATLAB基础操作:

反三角函数:asin(),生成弧度值,即rad;asind(),生成角度值;

将弧度转化为角度:rad2deg;将角度转化成弧度制:deg2rad

指数、对数:
log(x,base=exp(1));log(x,base=~);log10(x);log2(x);exp(x);

阅读全文
2 0