1000以上のルートを、ユーザごとの地図に投影する方法(4) - 複数のタイル画像をまたがる線画


前回から1回飛んでしまいましたが、今度はGoogle Map用の
タイル画像を準備する方法です。
前提として、GPSのログファイルはGPX形式で保存されているものとします。

タイル画像の作成手順概要

タイル画像作成の手順は

  1. GPXファイルを読み込み、経度・緯度情報を得る。
  2. USNaviguide_Google_Tilesを利用して、2地点のタイル画像を特定する。
  3. 該当するタイル画像がなければ新規作成、あれば読み込み。
    • 2地点がタイルをまたがらない場合、線を引く。
    • 2地点がタイルをまたがる場合、タイル間の境界を求めて、タイルごとに線を引く。
  4. 上記を全データに対して繰り返す。

という感じになります。

タイル画像の生成スクリプト


プログラムが長くなってしまったので、ソースを張る代わりに
プログラムそのものを置きました。


mkmap.zip - タイル画像作成スクリプトPerl
track.gpx - GPXファイルのサンプル
※実行前にmapdirという名前のディレクトリを作っておいてください。

その他実行に必要な機能・ライブラリ


なお、上記スクリプトを実行するには以下のライブラリも必要です。
■USNaviguide_Google_Tiles
http://www.usnaviguide.com/google-tiles.htm

動作確認


mkmap.plを実行すると、mapdirというフォルダに画像が作成されます。
実際に地図に組み込むと、想定した位置にタイル画像を表示できることが
確認できました。
★サンプル地図表示★