タイルの座標系¶
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}
\]