ナチュログ管理画面 トレッキング・登山 トレッキング・登山 近畿 アウトドア&フィッシングナチュラムアウトドア用品お買い得情報

リトルサウス’S ブログ

超不定期更新、、、

俺のやりかた:eTrexでJNX

   

2016/06/22 公開
2016/06/28 更新

俺のやりかた:eTrexでJNX
※ 写真のPOIの日本語表示「白馬岳/SIROUMADAKE」の日本語部分は別途日本語表示が出来るようにしてないと表示されない

ハンディGPS eTrex30(英語版)を買って以来、これまでKMZ形式の地図を使っていた。

KMZ形式はタイルマップが100枚以下、山域ごとにファイル化しておいて複数を切り替えて使いたいと思っても出来ず、JNX形式のように複数の縮尺の地図を使ってズームレベルを設定できないなどいろいろ制限があって使い勝手がいいとは言えないものだった(しかも表示・移動がとても遅い)。
※ 同じズームレベルでも1枚のタイルマップの大きさを大きくすることで100枚の枚数制限の中で収容エリアを広くすることは出来る

買った当初から JNX 形式の地図が使いたいと思って辿り着いたツール gsijnx, ymapjnx だったが、自分には複雑すぎてやる気になれず放置していた。

それから4年、長い放置期間を経て久しぶりにやる気になって調べてみると、マップ側の仕様が変わってうまく動かないとかツールの配布サイトがなくなってるとか、、、OTL

出来ないとわかるとなんとかならないかと思うものでいろいろ探したところ自分にも出来そうなツールを遂に発見した。






◆ いきなり完成版

赤の左向き矢印からそれよりも拡大側の次の同じ印のひとつ手前のスケールまで同じ地図が表示され、この設定では120m以上拡大の時は120mスケールの地図が表示される。尚、このJNXファイルでは8kmより広域は設定していないので表示されない。

俺のやりかた:eTrexでJNX
※ ハードコピーオリジナルはもっと彩度・明度・コントラストが高いが、実際のeTrex30の見え方に近いよう補正している






◆ はじめに
eTrex30英語版の細工としては本体表示の日本語化、POIの日本語化、JNX形式の地図利用などあるが、やりたいことと必要な仕込みがわかりにくいので整理してみる

必要な仕込み jnx形式マップの利用 ハンディGPSの日本語表示 POIの日本語表示
パッチ済みファームウェアの適用
日本語フォントファイルの設置
etrexの日本語ローカライズファイルの設置

・・言った割には大してややこしくないか。JNX形式の地図を使えるようにするための仕込みはパッチ済みファームウェアの適用のみ。

ちなみに今回の作業環境はWindows10 Pro






◆ パッチ済みファームウェアの仕込み

■ ファームウェアの入手
実機のファームウェアバージョンと同じかそれ以上のバージョンのファームウェアファイル(.gcd )を入手する。

※ 最新のファームウェアはここ↓から入手可能
ttp://whiter.brinkster.net/generated/LatestGarminFirmwares.html

※ 古いのが欲しい場合はここ↓から入手可能
ttp://www.gawisp.com/perry/agree.html

■ パッチ当てツール FirmwarePatcher の入手
※ パッチ当てツールはここ↓から入手出した
ttp://whiter.brinkster.net/FirmwarePatcher.html


■ パッチの適用
パッチ当てツール FirmwarePatcher.exe を起動(保証がなくなる等々の警告ダイアログが出る)。

パッチ適用したいファームウェアを画面へドラッグアンドドロップかBrowse...から指定で即パッチ適用される。
俺のやりかた:eTrexでJNX
実機の現在のファームウェアより新しいバージョンでなければファームウェアが適用されないので、上のハードコピーではファームのリビジョンをあげている(上の場合4.30から0.01上げて4.31にしている)。

■ パッチ適用済みファームウェアの反映
パッチ適用済みファームウェアを本体に適用する。マスストレージモードに設定したeTrex30をPCに接続し、Garmin eTrex30のドライブ直下/Garmin/以下にパッチ適用済みファームウェアをコピーする。

俺のやりかた:eTrexでJNX
上のハードコピーではファイル名をGUPDATE.GCDとしているが、拡張子が同じだったら適用されると思う(リビジョンを上げたくないので未確認)。
俺のやりかた:eTrexでJNX
コピーが終わったらPCと切り離し、デバイスの電源を入れると勝手にファームウェアアップデートが行われる。

そしてバージョン確認、、、


Setup > About を見たところ表示されるバージョン自体は変わっていなかった。








◆ JNX形式地図の作成

JNX形式の地図作成に使用したツールはどんなのかというと、、、
  • 複数の地図(地理院地図・Yahoo地図・OpenStreetMap)をソースとして利用可能
  • 範囲指定方法として、緯度経度指定、地理院地図の1次メッシュ指定、2次メッシュ範囲指定の3つの方法で指定が出来て、さらに緯度経度指定では直接入力の他、地図上の任意の点をクリックで緯度経度の代入が可能
  • 画像処理機能は事前に効果を確認して設定値を決定することが可能
  • 取得したタイルマップはDBにキャッシュされ、やり直し時などで再取得不要
・・という、まさにこんなのが欲しかったという感じの ezjnxwin というツールを使用(作者の方に感謝)。


■ ツールの入手
ezjnxwin は作者の方のページ↓で公開されている。
ttp://myslowdays.blogspot.jp/p/gps_15.html

今回は 2016/06 時点の最新 Ver 0.3β を使用した。


■ ツールのインストール
ダウンロードしたファイルを解凍するだけ。


■ JNXマップの作成

とりあえず地図作成

地図レイヤーの数と種類、地図のズームレベル、eTrex30側での表示スケール、画像処理のパラメータなどを設定ファイル ezjnxconf.xml で変更できるようだが、とりあえず初期値のまま地図作成、、、

ezjnxwin.exe を起動する。

起動直後に表示される「初めに」はツールの使用方法などの記載もあるので最初によく読んで理解しておいた方がいいだろう。

地図の作成自体は「マップ作成」タブだけで出来る。

マップ作成タブでの操作は大雑把に言うと地図の範囲を最初に述べた3つの指定方法のいずれかで指定して > 「計算」 > 「地図作成」 のボタンを押すだけ。

ここでは地図範囲を経度緯度で指定することにする。

地図範囲の指定の仕方は「初めに」に詳しい説明があるが、1点補足を、、、

緯度経度指定で南西端・北東端を指定する際に直接入力してもいいが、「マップ」タブの「地理院地図」ボタンで表示される地図で指定した場所を代入してくれる機能がとても便利。座標の代入は、地図上で任意の場所をクリックするとその場所が地図表示エリアの中心に移動し「座標設定」ボタンでその座標が代入されるという操作になるが、座標を代入するのが南西端か北東端かはアプリに判断できないので、「座標設定」ボタン操作前に南西端又は北東端の緯度又は経度のテキストボックスを選択しておく必要がある。

「計算」を押すと、指定した範囲と ezjnxconf.xml の設定から各レイヤーの地図のズームレベル・タイル数などを計算し、結果が表に出力される。

そして「地図作成」

たったこれだけで複数の種類・ズームレベルを使ったJNX形式の地図が作れてしまう。

俺のやりかた:eTrexでJNX
実行例。画面下の画左は元画像、右は画像処理後。プログレスバー左は処理中のレイヤー、右は全体の進捗。X1, Y1, X2, Y2 はズームレベルが一つ上がると倍になっているので各ズームレベルでのタイルの位置ではないだろうか。

処理が終わるとツールと同じフォルダに ezjnxmap.jnx ファイルが出来る。

後はこれをeTrex30の/Garmin/BirdsEye/ ディレクトリにコピーして完了。eTrex30を起動してSetup Map > Select Map で作成した地図を Enable にすれば表示される。
※ 地図ファイルはMicroSDに /Garmin/BirdsEye/ ディレクトリを作ってそこに置いても認識されるようだ

※ 同じJNX形式の地図でもMAPIDが違うとeTrex30の Select Map で別物として個別に有効無効を切り替えられるようだが、ezjnxwin で作成される地図はeTrex30にデモで入っている Demo.JNX と同じようで一括りに表示される。Demo.JNX がどんなエリアが入ってるのかは知らないが、気になるようならリネーム(もちろん拡張子側)すれば認識されないようなのでそれでいいだろうう、、、


参考 : Ver 03.β デフォルトの ezjnxmap.jnx で作成される地図
eTrex30のズームレベル 地図の種類 地図のズームレベル
20km~
5km-12km Yahoo地図(Normal) 10
1.2km-3km Yahoo地図(TopoGraphic) 12
500m-800m Yahoo地図(TopoGraphic) 14
300m 地理院地図 15
~200m 地理院地図 16




2016/06/28 修正
2016/06/26リリース ver0.4test バージョンではezjnxconf.xml のLevelScaleの記述が変更され、表示させたいレベルを直感的に指定できるようになっていた、、、


eTrex30のズームレベルで表示される地図

出来たJNX形式の地図をeTrex30に入れるとKMZ形式に比べて随分早くなった地図表示やズームレベルで地図の種類が変わっていくのが新鮮で嬉しかったが、地図が切り替わるズームレベルを変更したいと思うところが出てきた。


そして↓ここで JNX のことを勉強
ttp://whiter.brinkster.net/en/JNX.shtml


JNX レベルと表示される最低スケール値には決まりがあって、例えばズームレベル120m の時に地図表示させるには地図のスケールが139(HEX)以上ないと表示されないようだ。

JNXレベルと表示される最低スケール値

GPSユニットのズームレベル Lower visible JNX scale value(DEC) Lower visible JNX scale value(HEX)
800km 2,083,334 0x1FCA06
500km 1,302,084 0x13DE44
300km 781,250 0xBEBC2
200km 520,834 0x7F282
120km 312,500 0x4C4B4
80km 208,334 0x32DCE
50km 130,209 0x1FCA1
30km 78,125 0x1312D
20km 52,084 0xCB74
12km 31,250 0x7A12
8km 20,834 0x5162
5km 13,021 0x32DD
3km 7,813 0x1E85
2km 5,209 0x1459
1.2km 3,125 0xC35
800m 2,084 0x824
500m 1,303 0x517
300m 782 0x30E
200m 521 0x209
120m 313 0x139
80m 209 0xD1
50m 131 0x83
30m 79 0x4F
20m 52 0x34
12m 32 0x20
8m 21 0x15
5m 14 0xE


一方、以下は DigitalGlobe 社が提供するデータのズームレベルとスケール値の一覧で、これと同じデータが ezjnxconf.xml の LevelScale タグに記述されている。

DigitalGlobe 社によるズームレベルとスケール値

Zoom Lebel Scale Value
(DEC)
Scale Value
(HEX)
0 156543033+ 0x954A839
1 78271516+ 0x4AA541C
2 39135758 0x2552A0E
3 19567879 0x12A9507
4 9783939+ 0x954A83
5 4891969+ 0x4AA541
6 2445984+ 0x2552A0
7 1222992 0x12A950
8 611496 0x954A8
9 305748 0x4AA54
10 152874 0x2552A
11 76437 0x12A95
12 38218+ 0x954A
13 19109 0x4AA5
14 9554+ 0x2552
15 4777 0x12A9
16 2388+ 0x954
17 1194 0x4AA
18 597 0x255
19 298+ 0x12A
20 149 0x95
21 74+ 0x4A


上の2つの正しい関係性は自分にはわからないが、ezjnxwin の中では ezjnxconf.xml の Scale の Value 値と「JNXレベルと表示される最低スケール値」の表の関係に合っていることはわかった。

自分は地理院地図のズームレベル16 の地図を ~120m で表示したかったが、デフォルト状態の Scale 19 はValue が 0x12A なので 120m のズームレベルで必要なスケール値 0x139 に足りず ~80m までしか表示されない。


こんなやり方が正しいのかわからないが

ezjnxconf.xml の LevelScale タグのところを
<Scale Zoom="19" Value="12A" />
<Scale Zoom="19" Value="139" />
として、Map タグのところで
<Layer Zoom="16" Scale="19" WebID="1">

として地図作成したら期待したとおりズームレベル16 の地図が ~120m で表示出来るようになった。

他にも同様のやりかたでズームレベルで表示される地図を変更したが、念のため POI から地図表示させズームレベルを変更しても位置ずれはないように思う。


ちなみに Scale Value はマップタイル1枚 256px x 256px の 1px が何mmに該当するか・・というものらしく、赤道上の円周を 256 で割ったものがズームレベル 0 の値(地球全体)で、その半分がレベル1、そのまた半分がレベル2・・なのだそうだ。




メッシュ指定の範囲設定

ezjnxwin の「マップ作成」タブで地図範囲をメッシュ指定する際に入れる値の話。

普通知ってて当たり前?自分は最初何を指定していいのかわからなかったが、わかればメッシュ単位で地図作成するのも管理上無駄がなくていいように思う。


値は国土地理院の↓基盤地図情報ダウンロードサービスで確認出来る。
ttp://fgd.gsi.go.jp/download/menu.php

上記ページで「基盤地図情報基本項目」クリック > 「地図から選択」で表示される地図を拡大していってこの枠の区切りで表示されるのが1次メッシュ。

俺のやりかた:eTrexでJNX


もっと拡大していって↓エリアが分割されたこの状態が2次メッシュ。

俺のやりかた:eTrexでJNX

見えにくいので部分的に拡大。

白地図だと自分がほしいエリアがよくわからないが、画面左下のボタンから地図の種類を変更して普通の地図を表示できる。

俺のやりかた:eTrexでJNX

俺のやりかた:eTrexでJNX

こうじゃないと自分は必要な地図のエリアを見つけられない、、、



ちなみに2次メッシュ単位で地図作成した自分のeTrex30の地図選択画面はこんな感じ
(表示されていないが100個近くJNX形式のマップファイルを入れている)。

俺のやりかた:eTrexでJNX





以上、一気に快適な地図環境になった。


グッバイ KMZ 、もう2度と使うことはないだろう





関連記事
俺のやりかた・・シリーズ:eTrexで日本語POI





同じカテゴリー(俺のやり方)の記事画像
俺のやりかた:eTrexのボタンが・・・ ある時ぃ! ない時ぃ!(その後)
俺のやりかた:eTrexのボタンが・・・ ある時ぃ! ない時ぃ!
俺のやりかた:eTrexで日本語POI
俺のやりかた:一眼レフと山歩き(Captureを縦に付けたい)
俺のやりかた:丸鍋で炊飯
俺のやりかた:richwellの張り方(詳細編)
同じカテゴリー(俺のやり方)の記事
 俺のやりかた:eTrexのボタンが・・・ ある時ぃ! ない時ぃ!(その後) (2020-05-16 15:55)
 俺のやりかた:eTrexのボタンが・・・ ある時ぃ! ない時ぃ! (2019-08-18 00:03)
 俺のやりかた:eTrexで日本語POI (2016-07-03 09:57)
 俺のやりかた:一眼レフと山歩き(Captureを縦に付けたい) (2015-09-25 23:06)
 俺のやりかた:丸鍋で炊飯 (2014-08-04 01:04)
 俺のやりかた:richwellの張り方(詳細編) (2009-09-26 14:55)



上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。


削除
俺のやりかた:eTrexでJNX
    コメント(0)