2018-10-07

【マイF30dM忘備録】iDrive NBT(ID3) へのマイマップ@Google Mapsインポート via USBメモリ の方法

ちゃっかり最新版にしてみた、ナビの地図データ。
これまで2012年バージョンだったのですが、こんな田舎と言えどもさすがに地図にない店や遠出の際に困ることがちょくちょくありまして。
よくあるあの方法で2018年版の地図データにしてみたわけですが、地図データがアップデートされたのみでなく、地図の配色のコントラストがいい塩梅で見やすくなるなどもされており、至極快適なわけでして。

そうなると、さらなる快適化をしたくなるのが人間ってものです(?)
で、このメモリ地点の登録が、Google Mapsからのエクスポートで出来るとか出来ないとかいう情報を得たので、真似させて頂きました。
というわけで、自分用にこちらで防備させてもらいます。
(参考:数名の先輩方の整備手帳@みんカラ)


まずは、適当なUSBメモリを用意します。
1GBもあれば十分ですが、私は音楽データのインポートも兼ねて8GBのUSBを使っています。
しっかし安くなったもんですね~。
128GBくらいがこれくらいの価格に下がってきたりする時代も、あっという間に来るんでしょうね。


というわけで、そんなUSBメモリをコンソール内のUSBコネクタにセットしまして。
iDriveコントローラーの〔MENUボタン〕やナビゲーションの画面などから、『メモリ地点』を選択します。
メモリ地点には、最低限1個のデータが入っている必要があります。
まあベタに、自宅とか入れておけばいいですかね。


続いて、その『メモリ地点』の画面上で、iDriveコントローラーの〔OPTIONボタン〕を押すとこの画面になります。
ここで、『全てのメモリ地点をエクスポート』を選択して実行すると、セットしたUSBにメモリ地点が転送されます。


一瞬で終わり、この画面になります。
そしたらUSBを抜いて、PCへGOです。


PCにUSBを挿すと、その中に【navpoints】というテキストドキュメント(txt形式)のデータがあります。
そのプロパティから、『読み取り専用』を解除してやります。
とりあえず、こちらのUSBデータはここで止めておきます。


続いて、Google Mapsからデータをエクスポートします。
とは言ってもGoogle Mapsそのものではなく、その中にあるマイマップという機能を使います。

まず、Google Mapsから『マイプレイス』へ行き、その中の『マイマップ』をクリックします。

エクスポートしたいマイマップを選択して、マイマップの画面に移ります。
その左側のメニューの上側に … を縦にしたようなマークがあるので、それをクリックします。
そこで出てきたメニューから『KML / KMZにエクスポート』というものを選択します。


そこで出てきた『.KMLファイルにエクスポートします(アイコンをフルサポートするには.KMZファイルを使用してください)。』にチェックを入れてから、ダウンロードします。

ダウンロードしたファイルの拡張子を《.xls》に変更します。
これを、Excelかそれみたいなソフト(私はWPSオフィスのSpreadsheets)を使って開きます。
エラーメッセージ的なそれは、無視してかまいません。


Google MapsのマイマップをExcel等で開いたら、USBデータ内の【navpoints】もテキストエディタで開きます。
テキストエディタは、UTF-8形式に対応しているソフトがいいとのことだったので、使い勝手が良さそうなEmEditorにしてみました。

当初、ExcelのVBAで自動化しようかなと思ったのですが、どうあれ手作業が残る部分があるため、それならもう頑張ってコピペした方が早いという結論に至り。
こんな感じで、並べて作業します。
まず、【navpoints】内にあるスクリプトを必要数分コピペします。
そこに対して必要箇所を書き換えていく、いわばコーディングですね。

で、そのやり方ですが。
表示名は、Excelのns1:name3列から【navpoints】のFNとNにコピペしてやります。
読み仮名(並び順に関連)は、【navpoints】のSORT-STRINGに手入力します。
GPS情報は、Excelのns1:coordinates列から【navpoints】のGEOとX-GUIDEにコピペしますが、【navpoints】の側が経度;緯度の順になっている点に注意が必要です。

つまるところ、iDriveにインポートするスクリプトはこうなるわけです。

BEGIN:VCARD
VERSION:3.0
FN;CHARSET=UTF-8:表示名
N;CHARSET=UTF-8:;表示名
SORT-STRING;CHARSET=UTF-8:読み仮名(半角カナ)
GEO:経度;緯度
X-DATUM:WGS84
X-GUIDE:経度;緯度
X-ICON:red-flag
X-SOUND:none;all;500
X-SHOW:icon
X-ORIGIN:16406;1111;1077067775
END:VCARD

この太字+黄マーカー箇所を変更してやれば、それでいいというわけですね。

ですのでVBA自体は単純なものでできそうなんですが、いかんせん読み仮名がGoogle Mapsからダウンロードしたデータにはなく、それを取り出そうとしても元々ないようで結局手入力となること不可避なため、それならコピペの方が早いなという結論になりました。
昨日30件ほどやりましたが、慣れれば10~15分程度で終わりそうな感じですしね。

ちなみに緯度経度には10進数と60進数がありますが、Google MapsもiDriveのデータもどちらも10進数ですので、変換不要でした。


あとは、編集し終えた【navpoints】をトップディレクトリ(ルートディレクトリ)に収めたUSBメモリをコンソール内のUSBコネクタにセットして、インポートするだけ。
データ容量が少ないので、数十件程度なら一瞬で終わります。
あとはまあ、登録した地点をクイックリストに入れるなりして、使い勝手よく活用すればいいかなと。


iDrive自体は全体としてよくできていますが、このメモリ地点の登録の名称をiDriveコントローラーで編集するアレはかなり入力しづらいんですよね。。
いつだったか、そんな感じでやってみて1件入力するのに10分以上かかったことがあり、それっきり使っていなかった昨日だったわけですが。

それがこの方法で、たくさんの箇所をいっぺんに効率よくできるのは朗報です。
この方法があれば、活用頻度の高い機能になりそうかなと。


といったわけで、自分用忘備録でしたが。
最後に、諸先輩方への謝辞を述べて終わりたいと思います。
ありがとうございました。

んでは!





0 件のコメント :

コメントを投稿