2014-09-02 50 views
3

我做了大量的搜索,发现一些有用的资源,但仍然有关于计算的问题。计算谷歌地图瓦片边界坐标

我想计算特定瓦片的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 

在此先感谢

回答

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)为此特定瓦片的坐标。