1000以上のルートを、ユーザごとの地図に投影する方法(4) - 複数のタイル画像をまたがる線画
前回から1回飛んでしまいましたが、今度はGoogle Map用の
タイル画像を準備する方法です。
前提として、GPSのログファイルはGPX形式で保存されているものとします。
タイル画像の作成手順概要
タイル画像作成の手順は
- GPXファイルを読み込み、経度・緯度情報を得る。
- USNaviguide_Google_Tilesを利用して、2地点のタイル画像を特定する。
- 該当するタイル画像がなければ新規作成、あれば読み込み。
- 2地点がタイルをまたがらない場合、線を引く。
- 2地点がタイルをまたがる場合、タイル間の境界を求めて、タイルごとに線を引く。
- 上記を全データに対して繰り返す。
という感じになります。
タイル画像の生成スクリプト
プログラムが長くなってしまったので、ソースを張る代わりに
プログラムそのものを置きました。
mkmap.zip - タイル画像作成スクリプト(Perl)
track.gpx - GPXファイルのサンプル
※実行前にmapdirという名前のディレクトリを作っておいてください。
その他実行に必要な機能・ライブラリ
なお、上記スクリプトを実行するには以下のライブラリも必要です。
■USNaviguide_Google_Tiles
http://www.usnaviguide.com/google-tiles.htm
動作確認
mkmap.plを実行すると、mapdirというフォルダに画像が作成されます。
実際に地図に組み込むと、想定した位置にタイル画像を表示できることが
確認できました。
★サンプル地図表示★