スケール固定ではありますが

β版として、某所から地図をスケール固定で自動DLし、qpeGPS用の位置設定ファイルmaps.txtを生成するスクリプトこちらに公開します。使用方法は以下の通りです。

  1. Perlを当該マシンにインストールする。改行コードの対策は行っているので、おそらくWinでもLinuxでもZaurusでも大丈夫だと思います。とりあえずWin32版ActivePerl5.8で動作確認しています。可能ならコンパイラでexe化したいところですね。
  2. マップをダウンロードしたいディレクトリにmapget.plスクリプトを置き、コンソール上(DOSプロンプト)から「perl mapget.pl」で実行します(まんまですね)。今後コマンドライン実行にも対応できると良いかも。
  3. Input Center latitudeでDLしたい領域の中心となる緯度を、longitudeで経度を入力してください。記述法は度、分、秒ではなく、小数の度のみ(小数点以下4桁まで)である必要があります。計算が面倒なのでこうなってます。すみません_| ̄|○
  4. Input latitude rangeで南北方向、longitude rangeで東西方向の切り出したい領域の大きさをkmで入力します。もしかしたらまだ大雑把な大きさになっているかもしれませんが、勘弁してください。
  5. Input initial map countでDLする地図番号の初期値を入力してください。2度目以降のDLを行うときに、重複を避けるときに使えます。
  6. 連続でどんどんDLされていきます。場合によって途中でタイムアウトすることがありますが、回線状況なのかサーバが重いのかは不明です。
  7. DLが終了したら、DLされたgifファイルを、名前はそのままでpngファイルに変換してください。フリーのドラッグ&ドロップツール等で充分可能です。
  8. こうしてできたpngファイル群とmaps.txtをZaurusにコピーし、コピー先のディレクトリをqpeGPSにmapディレクトリとして指定すれば、インストールは完了です。

手順は多い様に見えますが、地図サイトを実際に開きつつ、中心点を探して切り抜くためのパラメータを取得すれば、すぐにDLが可能です。例えば1/8000の場合、16km^2で27×27=729枚の画像になります。あまり広い範囲になるとすごい量になるので気をつけてください。


画像サイズは600×500固定で、サーバに違うパラメータを渡しても無駄なようです。このサイズの場合、qpeGPSではVGA表示時に地図の空白になる領域が生まれて、画面が若干乱れます。QVGAではフルスクリーン表示にしても大丈夫です。その他、まだβの段階なので、もし使用された方がいらっしゃれば問題点をフィードバックしてもらえると助かります。