计算谷歌地图瓦片边界坐标

时间:2014-09-02 13:34:53

标签: google-maps mercator

我进行了大量搜索,发现了一些有用的资源,但仍然存在计算问题。

我想计算特定图块的NE和SW坐标。

这是我的方式:

Zoom = 11
x = 1188 
y = 767

number of tile = 2 ^ 11 (equals 2048)
angle1 = 360 / 2048
longitude = (1188 * angle1) - 180

它的工作正确。

但是纬度部分不是:

angle2 = 170.1022575596 / (2048/2)
latitude = ((2048 / 2) - 767) * angle2

提前致谢

1 个答案:

答案 0 :(得分:0)

您正在寻找的解决方案是:

z = 11
x = 1188 
y = 767

pi = 3.14159

alon1 = (x /2^z)*360.0 - 180.0
alon2 = ((x+1) /2^z)*360.0 - 180.0

an   = pi-2*pi*y/2^z
alat1 = 180.0/pi*atan(0.5*(exp(an)-exp(-an)))
an   = pi-2*pi*(y+1)/2^z
alat2 = 180.0/pi*atan(0.5*(exp(an)-exp(-an)))

你得到NW(alon1,alat1)& SE(alon2,alat2)坐标为此特定图块。