我正在尝试从 TileMill (zoom/x/y) 生成的地图文件名中导出纬度/经度。
使用来自我正在使用的http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames的信息(PHP 实现)
$n = pow(2, $zoom);
$lon_deg = $x / $n * 360.0 - 180.0;
$lat_deg = rad2deg(atan(sinh(pi() * (1 - 2 * $y / $n))));
echo $lat_deg.','.$lon_deg;
从名为 zxy.png 的 maptile 计算。
计算返回的值与瓦片覆盖的区域无关。
一个示例是 7-36-70(牙买加),它返回值 16.875,61.6063963714(位于阿拉伯海)。
谁能发现哪里出了问题?