Google maps 谷歌按纬度绘制像素高度图

Google maps 谷歌按纬度绘制像素高度图,google-maps,math,Google Maps,Math,在谷歌地图中,离北极越近,地图越分散,地图的每个像素代表的移动量越小(北极的运动量为0) 我正在寻找一个公式,将像素的宽度(以度为单位)与纬度(即地图上像素表示的真实世界距离)联系起来。我这里有一些缩放级别12(IIRC)的数据点 这样做的原因是我想输入lat/lng对,并根据0,0对它们的确切位置进行排序。虽然我不确定“像素高度”是什么意思,但数据图(如下所示)似乎符合等式 y = a + bx + cx^2 + dx^3 where y = height, x = latitude 带系数

在谷歌地图中,离北极越近,地图越分散,地图的每个像素代表的移动量越小(北极的运动量为0)

我正在寻找一个公式,将像素的宽度(以度为单位)与纬度(即地图上像素表示的真实世界距离)联系起来。我这里有一些缩放级别12(IIRC)的数据点

这样做的原因是我想输入lat/lng对,并根据0,0对它们的确切位置进行排序。虽然我不确定“像素高度”是什么意思,但数据图(如下所示)似乎符合等式

y = a + bx + cx^2 + dx^3 where y = height, x = latitude
带系数

a =  7.0240278979641990E-01
b =  3.7784208874521786E-04
c = -1.2602864112736206E-04
d =  3.8304225582846095E-07
找到方程的一般方法是首先绘制数据,然后假设函数的类型,然后进行回归以找到系数


我可能错了,但你确定这些点是像素高度吗?它们似乎是一个余弦,是像素宽度而不是高度。 经过一点三角运算后,像素高度调整为以下公式:

其中R是地球半径,phi是纬度,h是赤道上像素的高度。 这个公式不适合你的点,这就是为什么我问它是否是宽度

无论如何,如果你想要这么精确,你不能用上一个答案中的近似值,你也应该用纬度来考虑R变量,即使我认为你不会得到精确的结果。 更新: 那么这个公式就是余弦。如果你想取地球的可变半径,公式是:

其中R是地球的半径,d(0)是赤道处的像素宽度。假设地球是一个椭球体,则可使用此公式计算R:


a=6378.1(赤道)和b=6356.8(两极)

你所说的“像素高度”是什么意思?。。。和“用于缩放级别”-哪个缩放级别?像素的高度是由地图像素表示的实际单词距离。像素的高度是由地图像素表示的实际单词距离。我做了你上面做的,但它只给出了一个近似值。我还尝试了一些关于余弦的系数,但这并没有让我走那么远。你绝对是对的,我的意思是每个纬度的像素宽度,我将编辑我的问题以匹配。然后公式接近余弦,检查我更新的答案。
a =  7.0240278979641990E-01
b =  3.7784208874521786E-04
c = -1.2602864112736206E-04
d =  3.8304225582846095E-07