2016.12.13 (火)
ezjnxwin

 今まではカシミール3Dのマップカッタープラグインで山行に必要な範囲の地図をkmzファイルに切り出して端末に入れていた。kmzファイルは一枚の画像データなのでどれだけズームインしてもズームアウトしても同じ画像を縮尺・拡大した画像が表示される。1/25,000図を1枚表示しておけば山行中にそれほど困る事は無いが、少しズームすると画質に無理が出る(ズームインすると画像が粗い、ズームアウトすると文字が見えない)のでなんとかならないかと思っていた。
 それをなんとかするのがGarmin端末で使用可能なjnxファイルだ。jnxファイルは端末側の縮尺によって表示する地図を5段階まで変更出来る。しかし自作のjnxファイルは読めないように端末側でロックがかかっていたり、そもそもjnxファイル作成の敷居が高くて手軽に試せなかった。
 調べてみると最近はjnxファイルをお手軽に作成出来るツールを作ってくれた方がいて、更にファームウェアのアンロック手順もわかりやすくまとめてくれた方もいるので僕もやってみることにした。


 できました。愛する羊蹄の地図を何度も出力して思考錯誤の末完成した"僕の考えた最強のezjnxconf.xml"を作ったので紹介したい。何度も羊蹄山の地図を出力するものだから羊蹄の2次メッシュの番号を覚えちまったぜ。6440-16, 6440-26だ。縮尺を変えても地図を動かしてもkmlとは比較にならないくらいキビキビ表示される。GPSMAP64Sよ、君はどこにそんな力を隠し持っていたのだ。

            <Layer Zoom="11" Scale="11" WebID="3">
                <Color Operate="True" Contrast="0" Gamma="0.5" Bright="+5"/>
                <Compression Quality="50"/>
            </Layer>
            <Layer Zoom="12" Scale="13" WebID="3">
                <Color Operate="True" Contrast="0" Gamma="0.5" Bright="+5"/>
                <Compression Quality="50"/>
            </Layer>
            <Layer Zoom="14" Scale="15" WebID="3">
                <Color Operate="True" Contrast="0" Gamma="0.5" Bright="+5"/>
                <Compression Quality="50"/>
            </Layer>
            <Layer Zoom="15" Scale="17" WebID="1">
                <Color Operate="True" Contrast="+0" Gamma="0.3" Bright="0"/>
                <Compression Quality="90"/>
            </Layer>
            <Layer Zoom="16" Scale="19" WebID="1">
                <Color Operate="True"  Contrast="+0" Gamma="0.3" Bright="0"/>
                <Compression Quality="90"/>
            </Layer>

 Layerタグは「端末側のスケール(ズーム度合い)が○○m以下のときにどの縮尺の地図を表示するか」を表す。Layerで定義していないスケールでは上のスケールの地図が表示される。120mスケールより小さい画面を表示する事はほとんど無いので120m以下はすべてZoom Level16で十分。200m~300mはZoom Level15を使う。500mのZoom Leavel14までくると地形図としては使えないが山行中に見る事はあまりないので問題ない。ぶっちゃけ120m, 200m, 300mが正しく表示されていれば後はオマケである。この感覚はGPSMAP64の話で、液晶サイズの異なるetrexやoregonではまた違ってくるだろう。他の端末をお使いの皆さんもぜひ思考錯誤して自分好みのjnxファイルを作りだしてください。
 GPSMAP64Sの解像度は160*240だった。対してetrex30は176*220, etrexと全然変わらなかった。最新のetrex30xは240*320とかなりの高解像度だ。いいなこれ。


 羊蹄は等高線がギュッと詰まっているので次はそんなに詰まっていない白金の丸山を見てみよう。
 Zoom Levelの上限が16だとjnxファイルサイズが小さくて済む。一番よく使うZoom Level15, 16はクオリティ高めに設定し、後はオマケなので50で十分。WebID3の"Yahoo地図(ボールド)"は文字が大きくてとても見やすい。この設定でjnxファイルを出力すると1次メッシュ単位で出力したjnxファイルのサイズが1GB前後となる。microSDを入れれば容量はガバガバあるので北海道全域(15個ほど)くらいなら32GBのmicroSDに余裕で納まる。試しに1次メッシュ単位でjnxファイルを作り本体に入れてみたところ問題無くサクサク表示出来た。素晴らしい。1次メッシュ単位で北海道のjnxファイルをゴリゴリ作成してmicroSDカードに突っ込んだ。北海道全域で16GBほど。GPSMAP64Sは最大32GBまでのmicroSDカードを認識する。64GB以上は認識しなかった。北海道のjnxファイルは基本入れっぱなしで、本州遠征のたびに行き先のjnxファイルを入れていく運用でいこう。16GB分のjnxファイルを入れたmicroSDを挿しても起動時間と動作には全く影響は無い。
 場所によっては「1次メッシュの領域のほとんどが海」みたいなところもあるが、そういう場所も1次メッシュで切り出して問題無い。海は地形図が用意されていないので広範囲で切り出してもファイルサイズが膨れ上がったりしない。その場合は地図を作成する前にezjnxwinのオプションで404エラーを無視するようチェックを入れておくこと。

参考にしたページはこちら。感謝致します。
■ezjnxwin作者のページ(徒然なるままに)
■JNXロック解除の方法とezjnxconf.xmlのTips(グッジョブな日々)

-------------------------------------------------------------------

付録:GPSMAP64Sが起動してもすぐに落ちる時の対処法。
 jnxファイルを端末に転送してPCから外し電源を入れるとGARMINロゴが出た後にシャットダウンするようになった。再びPCにUSB接続しても電源が入るがロゴが出て終了。原因はわからない。jnxファイルが破損していたのか、転送中に破損したのか。ファームを書き換えてサポートされていないデータを扱うのは一定のリスクがある。
 Page+Enterを押しながら電源を入れ、シャットダウンする前にマスターリセットを試みるとマスターリセットは成功した(画面の配色がリセットされていた)。それでも症状は直らなかった。マスターリセットは設定を初期化するだけでカスタムマップやログ、jnxファイルは残る。これはマスターリセットとは言わんだろう。万事休すか。GPSMAP64Sが高価な文鎮化した。出費を覚悟したが以下の方法で復活した。

1. 上キーを押しながらUSBケーブルを挿しPCと接続する。
2. updater.exeから一番古いファームウェアを流し込む。
3. PCに接続し、問題がありそうなファイルを削除する。
 やる事はこれだけ。その後再びPathced 4.50でファームウェアを更新して無事jnxが読めるようになった。

■過去のファームウェア(gawisp.com)
 まず過去のファームウェアを探してくる。GARMIN公式には置いていないので探した。GPSMAP64シリーズの最古のファームウェアは2.20だ。

■updater.exe(台湾GARMIN公式)
 updater.exeが含まれている適当なファームウェアを入手。解凍してupdater.exeだけ使う。updater.exeなら何でも良いというわけではなく、古いupdater.exeだとGPSMAP64Sのファームをドラッグ&ドロップしてもエラーが出たりUSBによるデータ転送に対応していない。updater.exeは新しい方がよい。

■gcd-rgn変換ツール(turboccc)
 USB経由でファームウェアを転送する場合はファームウェアのgcdファイルをrgnファイルに変換する必要がある。変換ツールを起動してgcdファイルを開き、何も設定を変えずにrgnで保存ボタンを押せばOK

■手順
 まずPCでエクスプローラーを開き、updater.exeのアイコンにrgnファイルをドラッグ&ドロップする。updater.exeが立ちあがり出力先を選ぶ画面になる。
 いよいよオペを開始する。端末の上キーを押したままUSBケーブルを挿しPCと接続する。端末に電源が入るが、普通に電源ボタン長押しで起動したときより起動が遅い。そのスキにマウスを操作してupdater.exeの出力先にUSBを選択するとGPSMAP64Sが検出される。迅速にStartボタンを押すと端末の画面に「LOADER」と表示される。ここで端末の上キーを離してOK. あとはファームウェアが最古の2.20に更新される。更新が完了したら勝手に再起動しマスストレージとしPCが認識するので、危険なjnxファイルを削除する。削除後はPatched4.50でファームウェアを更新する。
 実は2.20に戻す前にこの手順でPathcedから公式の4.50に戻したがそれでも直らなかったので試しに一番古い2.20に戻したらうまくいった。GPSが起動しない、USBでも接続できなくなったときの最後の手段として自己責任でお試しください。