メルカトル図法

Takami Torao
  • このエントリーをはてなブックマークに追加

定義と性質

メルカトル図法 (Mercator projection) またはメルカトル投影は円筒投影法を用いて球体表面の 2 次元座標を \(x\),\(y\) 座標の平面に投影する方法。ここでは地球上の地理の投影について述べている。

メルカトル図法は赤道から極に近づくにつれ距離の歪みが大きくなり極において無限大となる。

投影の計算方法

地球を半径 \(R\) の球体とし、緯度 \(\phi \in (-90, 90)\)[度]、経度 \(\lambda \in (-180, 180)\)[度] の位置をメルカトル図法で \((x,y)\) 座標上へ変換する。現実のスクリーンへの投影はここで求める \((x,y)\) を等倍変換する。

\(x\) 座標は経度 \(\lambda\) の等比として表すことができる。 \[ \begin{eqnarray} x & = & 2\pi R \times \frac{\lambda + 180}{360}, \ \ \ 0 \leq x \leq 2\pi R \label{lng2x} \\ \lambda & = & \frac{360}{2\pi R} x - 180 \end{eqnarray} \]

緯度の \(y\) 座標へのメルカトル座標変換は \(\tan\) で投影したあとに対数を取り半径 \(R\) を掛けることで得られる。 \[ \begin{eqnarray} y & = & R \log \left\{ \tan \left( \frac{\frac{\pi}{180}(90 + \phi)}{2} \right) \right\} \label{lat2y} \\ \phi & = & \frac{180}{\pi} \times 2 \tan^{-1} e^{\frac{y}{R}} - 90 \end{eqnarray} \] 式 (\(\ref{lat2y}\)) より \(-\infty \leq y \leq +\infty\) の値域をとり赤道 \(\phi=0\) において \(y=0\) となる。また変形して以下のように表すこともできる。実数演算においては近似精度の劣る tan() より sin(), cos() を使用したほうが良いだろう。 \[ \begin{align*} y & = \frac{R}{2} \, \log \left( \frac{1 + \sin \frac{\pi}{180}\phi}{1 - \sin \frac{\pi}{180}\phi} \right) \\ & = R \log \left( \frac{1 + \sin \frac{\pi}{180}\phi}{\cos \frac{\pi}{180}\phi} \right) \\ & = R \log \left( \frac{1}{\cos \frac{\pi}{180}\phi} + \tan \frac{\pi}{180}\phi \right) \end{align*} \]

極地の切り捨て

メルカトル図法の \(y\) 座標は極に近づくにつれて発散することから現実で利用する地図ではどこかで打ち切る必要がある。

メルカトル図法による地図の縦横比を緯度/経度の比に合わせて 1:2 とした場合、\(y_{\rm max} = \frac{1}{2}x_{\rm max} = \pi R\) より \(\phi_{\rm max} = 85.05\) が導出される。北緯/南緯 85 度以上は極から約 556km の範囲でそれぞれ北極海と南極大陸上にある。一般的にこの地域は重要な地勢ではないことから、メルカトル図法の地図の多くは緯度 85 度を表示限界としている。

領域分割

緯度 85.05 度線を \(y\) 方向の限界とするメルカトル図法において、\(x\), \(y\) それぞれを \(n\) 等分する方法について考える。

経度方向の区画番号 \(i \in \{0, 1, \ldots, n-1\}\) は \(x\) を \(2\pi R\) で割って正規化し \(n\) を掛けることで得られる。この区画番号 \(i\) は経度 -180 度から東方向に向かって増加する。 \[ \begin{equation} i = \left\lfloor n \times \frac{x}{2\pi R} \right\rfloor = \left\lfloor \frac{\lambda + 180}{360} n \right\rfloor \end{equation} \] 区画 \(i\) が与えられたとき経度 \(\lambda\) は以下の範囲をとる。 \[ \begin{equation} \frac{360}{n} i - 180 \leq \lambda \lt \frac{360}{n}(i+1) - 180 \label{div_lambda} \end{equation} \] .

次に緯度方向の区画番号 \(j \in \{0, 1, \ldots, n-1\}\) であるが、まずスケールを合わせるため \(x\) の正規化と合わせて \(y\) を \(2\pi R\) で割る (\(x\) 方向の幅 1 に対して北緯 85 度~南緯 85 度間の高さは \(\frac{1}{2}\) となる)。北から南方向に \(j\) を増加させるためこれを \(\frac{1}{2}\) から減算して \(n\) を掛ける。 \[ \begin{equation} j = \left\lfloor n \times \left( \frac{1}{2} - \frac{y}{2\pi R} \right) \right\rfloor = \left\lfloor \frac{n}{2} \left\{ 1 - \frac{1}{\pi} \log \left( \tan \frac{\pi}{360} (90 + \phi) \right) \right\} \right\rfloor \end{equation} \]

区画 \(j\) が与えられたとき緯度 \(\phi\) は以下の範囲ととる。 \[ \begin{equation} - 90 + \frac{360}{\pi} \tan^{-1} e^{\pi (1 - \frac{2(j+1)}{n})} \lt \phi \leq - 90 + \frac{360}{\pi} \tan^{-1} e^{\pi (1 - \frac{2j}{n})} \label{div_phi} \end{equation} \]

以下は式 (\(\ref{div_lambda}\)), (\(\ref{div_phi}\)) を用いて \(n\) 分割した緯度 \(\phi\)、経度 \(\lambda\) をメルカトル図法の地図上にプロットしている。\(y\) 方向にも等間隔で配置されていることが分かる。また右のグラフは \(y\) 方向の区画 \(j\) に対して緯度 \(\phi\) の取り得る範囲を示している。

参考文献

  1. メルカトル図法
  2. 等角航路