コンテンツにスキップ

タイルの座標系

Mapray ではタイルを指定するとき \(Z/X/Y\) 座標を指定します。

ここで、 \(Z\) はズームレベルを表し、 \(Z > 0\) となる整数です。 \(X\) はそのズームレベル上のタイルの水平方向の位置を、 \(Y\) は垂直方向の位置を表し、 \(0 \leq X, Y \leq 2^Z - 1\) となる整数です。

\(Z/X/Y\) 座標は、北緯および南緯約85.0511度以上を除外した正方形のメルカトル世界地図上で定義されます。 \(Z\) 座標が \(z\) のタイルは、この正方形地図を縦横均等に \(2^z\) 分割した領域に対応します。

\(X\) 座標は一番左側のタイルが \(0\) で、一番右側のタイルが \(2^z - 1\) になります。 一方、\(Y\) 座標は一番上側のタイルが \(0\) で、一番下側のタイルが \(2^z - 1\) になります。

数式で表すと、経度 \(\lambda\) と緯度 \(\phi\)\(Z/X/Y\) 座標との関係は次のようになります。 ここで、 \(gd\) はグーデルマン関数、 \(c_1\) および \(c_2\) は任意の整数を表します。

\[ \begin{align} \theta &= 180^\circ (2^{1-Z} X - 1) + 360^\circ c_1 \\ \phi &= gd(180^\circ (1 - 2^{1-Z} Y)) + 360^\circ c_2 \end{align} \]