我正在寻找一个解释,为什么有两个不同的墨卡托公式在这些网站上讨论。
我认为这是正确的墨卡托投影算法:
http://en.wikipedia.org/wiki/Mercator_projection
y = ln|sec(lat) + tan(lat)| 然而,这个站点指的是完全不同的东西:http://wiki.openstreetmap.org/wiki/Mercator
#include <math.h>
double lat2y(double a) { return 180/M_PI * log(tan(M_PI/4+a*(M_PI/180)/2)); }有什么想法吗?
发布于 2012-02-05 03:57:05
这两个公式是相等的。
cos(x)

= cos(x/2) + sin(x/2)^2 / cos(x/2) - sin(x/2) / cos(x/2) + sin(x/2) =
=1+ 2*cos(x/2)*sin(x/2) / cos^2(x/2) - sin^2(x/2) =
=sin 1+(X)/ cos(x)

后一个公式对于数值计算更方便,因为它只涉及三角函数的一次计算。
https://stackoverflow.com/questions/9143914
复制相似问题