谷歌地图像素高度按纬度

时间:2011-12-27 14:09:48

标签: google-maps math

在谷歌地图中,​​越接近极点,地图获得的地图越多,地图的每个像素表示移动越少(在北极地区为0)(

我正在寻找一个公式来将像素的宽度与刻度连接(即地图上由像素表示的真实世界距离)。我在这里有一些数据点用于缩放级别12(IIRC)

Lat Width
0   0.703107352
4.214943141 0.701522096
11.86735091 0.688949038
21.28937436 0.656590105
30.14512718 0.60989762
35.46066995 0.574739011
39.90973623 0.541457085
41.5085773  0.528679228
44.08758503 0.507194173
47.04018214 0.481321842
48.45835188 0.468430215
51.17934298 0.442887842
63.23362741 0.318394373
72.81607372 0.208953319
80.05804956 0.122131316
90  0

这样做的原因是我想输入lat / lng对并精确排序它们相对于0,0

的位置

2 个答案:

答案 0 :(得分:1)

我可能错了,但你确定这些点是像素高度吗?它们似乎是一个余弦,它的像素宽度不是高度。 在稍微三角测量之后,像素高度调整为公式:

Pixel height

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

无论如何,如果你想要如此精确以至于你不能在前面的答案中使用近似值,那么你也应该考虑R变量和纬度,即便如此,我认为你不会得到确切的结果。

<强>更新: 然后公式将是余弦。如果你想取地球的可变半径,公式将为:

Pixel width

其中R是地球的半径,d(0)是赤道的像素宽度。您可以将此公式用于R,假设eearth为椭圆体:

Earth radius

a = 6378.1(赤道),b = 6356.8(极点)

答案 1 :(得分: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

找到方程的一般方法是首先绘制数据,然后假设函数的类型,然后进行回归以找到系数。

data plot