初回では、グーグルマップの独自の平面座標(世界座標と呼んでいます)は、ズームレベル=0のときの256×256ピクセルの1枚の画像がもとになっていることを説明致しました。
この世界座標では、緯度は
の範囲までしかカバーされません。つまり、この数字がグーグルマップの最北端、最南端です。
今回は、この85.0511287798066という値を実際に手計算で導きます。
地球上の任意の点は、(緯度,経度)で表されています。
3次元空間上の点を2つの変数で特定できるのは、楕円体が設定されているからです。
さらに、座標系を統一することで位置を一意に表すことができます。
グーグルマップでは、WGS-84の座標系と楕円体を用いています。
(緯度,経度)で表された楕円体上の位置を、何らかの方法で平面上の点(x,y)にうつす必要があります。
そこで用いられるのが、メルカトル図法と呼ばれる地図投影法です。
メルカトルや投影という言葉を聞くと、「地球の中心に電球があって、そこから写し出される・・・」とイメージされる方が多いと思います。しかし、このイメージはこの後の考察を阻害しますので、忘れてください。
地図投影法は単なる、関数と考えてください。
すなわち、ある領域の値を数式を使って他の領域にうつすだけです。
(経度lng,緯度lat)から平面上の(x,y)への関数
そして、その逆も成立しなければなりません。
このように、(経度,緯度)と(x,y)が完全に1対1で対応する必要があります。
地球上の位置を緯度経度の2変数で表しているために、この対応を成立させることができます。
もしも、地球は3次元だからといって地球上の位置を3変数で表すとけっして1対1に対応できません。
この関数は、一般に以下の数式で表されます。
ここでは、(lng,lat)はラジアンとします。
今回は、(x,y)の原点が左上隅であり、+xは右方向、+yは下方向であり、範囲は
となりますので、グーグルマップでは以下のように書き換えることができます。
そして、その逆は、
ここで、最北端の境界(y=0)に相当する緯度latを求めると、
同様に最南端の境界(y=256)に相当する緯度latを求めると、
このように、グーグルマップの緯度の範囲を手計算で導くことができました。
なお、ここではあえて、関数電卓で得られる桁数までを記しています。
また、最後にひとつ明確にしたいのが、緯度経度の2変数だけでは幾何学的な意味を正当に表現できないということです。つまり、実際の幾何学的な表現とは3次元空間上のベクトルだけであり、座標系と楕円体があってはじめて緯度経度はその意味合いを持ちます。
そのため、今回の緯度経度から平面xyへの対応は、一般的な2次元ベクトル空間どうしの間の写像と同じに考えてしまうと、かなりおかしなことになってしまいます。
次回は、このメルカトル図法の式を実際に手計算で導いて見たいと思います。
参考文献:
Snyder, John P. (1987). Map Projections – A Working Manual. U.S. Geological Survey Professional Paper 1395. United States Government Printing Office, Washington, D.C.
この文献はこちらから全文をみることができます。