オフラインでもGoogle mapsを使えるフリーソフト「gpsVP」に国土地理院の地形図を表示させる方法。 かなり面倒ですけど、一応できました、というご報告。 この通りやれば多分大丈夫、というマニュアル風に書いておきます。 詳しい説明などは別の機会にでも。
なお、実際にやってみる場合はご自分の責任でお願いいたします(お約束)。
一応ダウンロードサイトをリンクしておきます。Windwos用 と Windows mobile用(!)があります。
設定ファイルを作ります。
gpsVP.exe があるフォルダに、"MapConfigs" という名前のフォルダを作り、その中に "GSImap.ini" とか好きな名前(.iniは必須)で 次のような設定ファイルを置きます。URLは空ですので念のため。
[Tiled MAP] gpsVPVersionMin=0.4.18 Filename=x=%X&y=%Y&zoom=%ZOOM_17.png URL=
このほか、キャッシュのフォルダを指定、ダウンロードをenableにするとか、Google map が見られるよう、 忘れないで設定しておいてください。
Google maps に合わせるには、切り出す境界となる緯度・経度が決まってきます。それを調べるためのページを作りました。
要するに、上記ページの地図上の縦横線で切り出す必要があるわけです。 「レベル」については、切り出す地図の縮尺との関係もあり、いろいろオプションはあります。 が、ここでは、『「ウォッちず12500」を「gpsVPのレベル13」で切り出す』ということで話を進めます。 (なお、本家GoogleとgpsVPの「レベル」は1つずれますのでご注意)。
「カシミール3D」の「マップカッタープラグイン」でやります。
カシミールの編集メニューから「緯度経度で範囲指定」をします。このとき、緯度経度を小数点表示にします。 #ボタンで変更できます。 数値は、2. に示した専用ページからコピー(IEならボタンで小数点以下をコピー)して持ってきます。
選択した範囲は、『ウォッちず12500』で全体を必ず一度表示させてください。 そうしないと、一度も表示されていない部分はダウンロードされず、一部空白になった画像ができます。
切り出しは全体1枚のスント形式にします。GarmapCE形式を選んでこの段階で画像分割しようとしたのですが、 どうも微妙に位置がずれたりして、うまくいきませんでした。 あとのオプションは「16ビットのBMP」(8だと広い水面の色が出ない)、マップカッター専用パレットの使用、 などを使っています。環境にもよると思うので、いろいろ試すと良いと思います。
切り出された画像ファイルにつける名前はとても重要です。 たとえば、タイル座標が x=3610 y=1612 の場合、 ファイル名は 3610-1612.bmp とします。 座標xとyの間は、必ずハイフンで区切ってください(6. で使うツールの都合)。
なお、カシミールの地図スクロール操作には慣れないと注意が必要です。 選択領域を動かしてしまったり、大きく動かしてもとに戻せなかったりします。 表示倍率は1/2にしておくと良いです。
カシミールで切り出した画像の大きさは「ウォッちず12500」を「gpsVPのレベル13」の場合で、3150×2750 ピクセル程度になります(正方形ではありません) この.bmpファイルを変形させ、1024×1024、2048×2048、4096×4096 の3枚の正方形のpngファイルを作ります。
大きさを区別できるよう、それぞれ T3610-1612.png、S3610-1612.png、L3610-1612.png のように名前をつけます (文字は頭に付けてください)。 この3段階程度でちょうど良い感じです。必要なければ2段階でもどれか1つだけでももちろんOKです。
作業には何を使ってもかまいませんが、画質劣化には注意が必要です。今回は下記「藤」を使用。
お好みで、png画像をレタッチ。私は別のソフトで、縮小したpng画像のコントラストを上げています。
それぞれの画像を256×256ピクセルの画像「タイル」に分割します (1024×1024 の画像は4×4=16枚、2048×2048 は 8×8=64枚、4096×4096 は 16×16=256枚 に分割)。 それぞれ、gpsVPのレベルで15、16、17(Googleだと14、15、16)になります。
この作業には「分割結合」を使います。分割された画像に連番が付き、ファイル名と同名のフォルダの中に入ります。 連番の付き方などが重要なので、次項 6. のツールを使うときは、このソフトの 使用がほぼ必須です。
画像ファイルの名前から、タイル座標を計算して、画像ファイルの名前に埋め込み、 x座標が同じタイルをそれぞれのフォルダに集める作業です。
エクセルと併用するリネームソフトなどを使っても可能ですが、間違いやすく手間も大変なので、専用ツールを作りました。 Windows専用です。 デスクトップなどにこのexeファイルを置き、そのアイコンの上に画像が(16, 64 または256)入ったフォルダをドロップしてください。 処理が終わると、ドロップしたフォルダの中に、"x=・・・" というフォルダが複数ができて、その中にリネームされたファイルが入っているはずです。
終わったら、元のフォルダの名前をそれぞれ Level=15、Level=16、Level=17と変更しておきます。
例:16枚画像が入ったフォルダ "T3610-1612" は "Level=15" にする。座標の数字は入れない。
先に作った.iniファイルの名前(例:"GSImap")のフォルダがgpsVPのキャッシュのある場所にできているはずなので、 6. でできた3つのフォルダをコピーして終了です(やれやれ)。 これでメニューから、Maps - Raster maps - Raster map type の中の "GSImap" を選べば地形図が出るはずです(場所とレベルにご注意)。
なお、フォルダの構造はGoogle maps がキャッシュされるgmapフォルダなどと全く同じです。 ですので、レベル15から17以外のタイルをgmapフォルダなどからそのままコピーしてくれば、 Raster map type を変更しなくても、地形図と連続してそのまま表示させられます。
各ソフト作者様には本当に感謝しています。ありがとうございます。 また、多数のページ等を参考にさせていただきましたが、ご紹介は別の機会にと思います。 なにかありましたらご連絡ください。