0

TileMill (ズーム/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 という名前のマップタイルから計算します。

計算から返される値は、タイルがカバーする領域とは関係ありません。

たとえば、7-36-70 (ジャマイカ) は、16.875,61.6063963714 (アラビア海の場所) の値を返します。

誰が何が間違っているかを見つけることができますか?

4

1 に答える 1