2016年10月31日月曜日

2016/10/31 release - tool, replace to any code page for GARMIN .img map (repcpgmap.exe)

2016/10/31 コードページを自由に変換できる なんちゃってツールを作ってみた (repcpgmap.exe)
Unfortunately this text is in Japanese only.
出稼ぎがひと段落したら休日返上しかも終電...
帰宅→ビール→夕飯→風呂→am2時を過ぎる...
久しぶりに自宅警備でネットをパトロールしてると 何にぃぃ---っ! という記事が。
[OpenStreetMap for GARMIN] サイトのblogエントリー [地図が認識されないとき]


Can’t Authenticate Maps ... ロックしてないんだから認証しろよ!
cannot unlock maps ... いや、だからロックしてないんだって!!

詳細はサイト記事を読んでもらうとして簡単に書くとOpenStreetMapのUTF-8版が新しい機種(or F/W)の英語版GARMIN GPSで読めない というもの。早速なんとかしたいが ...という時間、いや睡眠時間さえないのに...
ezjnxwinの記事でもコメントいただいたeizo様による暫定的な回避方法も載っていた。この方法はmkgmapがUTF-8サポートしてなかった際にワタシが [CP932をUTF-8にコードページ設定] して回避した手法の応用だ!で、スグに別に試したい方法も浮かんだがam3時半回ったし、第一OREGON450/300では検証できない...正攻法は地図ロックだが、これを開発しちゃうと別の問題があるし。。。
とりあえず手動でCP932とか別コードページに変換するの面倒臭いので、過去に作製したコードページをUTF-8に変更する uft8gmap.exe を改変して 指定したコードページに自由に変換できる repcpgmap.exe をビルドした。で、眠いので本日はこれにてZzz..

リンクの物置に入ってます。お約束の自己責任で! 
本体ZIP  : (GISGPS/software/repcpgmap.zip) 
MD5hash:2ee4dc502a40c96ada0d9fce4903a19b

repcpgmapとタイプして実行すると使用方法が表示されます。

usage :
 //display only mode
   repcpgmap -t <map source file>

 //replace CodePage mode
   repcpgmap <source CodePage> <destination CodePage> <map file> [ -o <output map file> ]

   <source      CodePage>  ... Code Page BEFORE replacement
                                 can specify '-f' force(don't care) option
   <destination CodePage>  ... Code Page AFTER  replacement
   <map file> ... GARMIN .img

   e.g.
     >repcpgmap -t gmapsupp.img
     >repcpgmap 932 65001 gmapsupp.img
     >repcpgmap 932 65001 gmapsupp.img -o utf8-gmapsupp.img
     >repcpgmap -f  65001 gmapsupp.img
     >repcpgmap -f  931   gmapsupp.img -o sjis-gmapsupp.img
     >repcpgmap 932 65001 s:\dat\gmapsupp.img -o d:\tmp\utf8-gmapsupp.img


good night ♥

2 件のコメント:

  1. 便利ですね。
    Shift-JISの地図の英数字だけでも表示したいと思い、repcpgmapを試用させていただきました。
    2.8Gもあるimgファイルだったのでオーバーフローが出てしまいますが、分割して対応しました。

    返信削除
  2. eizo様♪

    地図の容量には依存しないcordlingしたつもりですがバグですね(^_^;
    OSM用に作製しましたが、Shift-JISで2.8Gというと市販地図ですかね。utf8gmap, repcpgmap はコードページの値だけを置換してるだけですので、文字列もUTF-8に変換すれば表示できると思いますがCRCを再計算して再ロックする必要があるでしょうね。

    返信削除