スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

グーグルマップ(Google Maps) の座標間変換式について(2)



前の記事「Google Maps の座標間変換式について(1)」では座標系間の変換式を求めた。ここではこれらの変換式が有効であることを、Google Static Maps APIを使って確かめる。


3.変換式の有効性確認

では実際に Google Static Maps APIで試してみる。下図は等間隔の緯度にマーカーを表示した場合(下記URL)である。
ただし、Google Maps の座標間変換式について(1)で述べたように緯度$\pm 85.05112878$~$\pm 90$がGoogle Mapsでの表示可能限界なので、これらの地点にもマーカーを表示している。

http://maps.google.com/maps/api/staticmap?center=0,0&zoom=0&size=300x500&maptype=loadmap&format=jpg&sensor=false&markers=label:F|-90,-180&markers=label:A|-60,-120&markers=label:B|-30,-60&markers=label:C|0,0&markers=label:D|30,60&markers=label:E|60,120&markers=label:G|90,180&markers=label:N|85,180&markers=label:S|-85,-179&path=color:red|weight:1|fillcolor:0x0000ff|-10,150|-10,170|10,170|10,150&path=color:black|weight:0|fillcolor:0x0000ff|50,150|50,170|70,170|70,150


世界測地系→画像座標系への変換図式


マーカーA~Eはそれぞれ緯度-60, -30, 0, 30, 60の地点、マーカーN, Sは緯度$\pm 85.05112878$の地点、マーカーF, Gは緯度$\pm 90$の地点(北極点・南極点)である。
緯度$\pm 85.05112878$に相当するマーカーN, Sが画像の上端・下端に表示されており、実際にこの緯度が表示可能領域の上下限であることがわかる。
一方、マーカーFとGは緯度の表示可能範囲を超えているため地図の外に表示されている。

紫色の四角は、緯度・経度が20x20の領域である。北極・南極に近づくほど緯度方向に紫の領域が伸ばされていることがわかる。
これはメルカトル図法の特徴であり、Google Mapsもこの図法を採用している。

この現象は、世界測地系の緯度$y$から画像座標の縦方向変位$Y$への変換式(2)からも確認できる。下図はその変換式(2)のグラフである。

gmap-latDy.png

オレンジの線は、ある緯度の地点(横軸)にマーカーを表示した場合、そのマーカーは画像の中心から何ピクセル離れているか(変位)を示している。ただし、この線は地図の中心の緯度が0(赤道)、ズームレベルが0を仮定した場合の結果である。
例えば、赤道付近にマーカーを10度間隔(緯度0度と10度)に2つ表示した場合、画像上の両マーカーの位置は約10ピクセルしか離れていない。しかし、北極近くにマーカーを10度間隔(緯度70度と80度)で表示した場合、画像上では約30ピクセルも離れていることがこのグラフから読み取れる。
なお、緑の線は、地図の中心の緯度が35度(東京)の場合である。

上とは逆に、画像座標の縦方向変位$Y$から世界測地系の緯度$y$への変換式(5)のグラフが下図である。

gmap-Dylat.png

オレンジの線は、画像の中心からマーカーまでのピクセル数(変位、横軸)がわかると、そのマーカーの緯度(縦軸)が計算できることを示している。ただし、この線は、地図の中心の緯度が0(赤道)、ズームレベルが0の場合である。
例えば、画像の中心(赤道上)から上に32ピクセル離れた地点にマーカーを表示した場合、そのマーカーの緯度は約40度であることが読み取れる。
なお、緑の線は、地図の中心の緯度が35度(東京)の場合である。


上の変換式(5)を応用して、Google Static Maps API(下記URL)で等間隔にマーカーを表示してみる。下図はマーカーS, A~G, Nを等間隔(32ピクセルごと)に表示した結果である。

http://maps.google.com/maps/api/staticmap?center=0,0&zoom=0&size=300x350&maptype=loadmap&format=jpg&sensor=false&markers=label:A|-79.17133464,-135&markers=label:B|-66.51326044,-90&markers=label:C|-40.97989807,-45&markers=label:D|0,0&markers=label:E|40.97989807,45&markers=label:F|66.51326044,90&markers=label:G|79.17133464,135&markers=label:N|85.05112878,180&markers=label:S|-85.05112878,-179&path=color:red|weight:1|fillcolor:0x0000ff|-13.9234039,150|-13.9234039,170|13.9234039,170|13.9234039,150&path=color:black|weight:0|fillcolor:0x0000ff|52.48278022,150|52.48278022,170|66.51326044,170|66.51326044,150


画像座標系→世界測地系への変換図式


変換式(5)を用いれば、サイズが等しい領域(紫色の四角)を画像上に描くことができる。


次の記事では、これまでに示した変換式とは異なる変換式を実装しているadjust.js(Bratliff作成)について検討する。
スポンサーサイト

テーマ : インターネットサービス
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

hosohashi

Author:hosohashi
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。