MPT.BINにmptutilを使う

トヨタ純正カーナビメモリ地点情報データのユーティリティ(mptutil)が公開された!
というわけで、さっそくダウンロードして使ってみる。(papara様に感謝!)

トヨタ純正カーナビメモリ地点情報データのユーティリティ(mptutil)

http://plaza.rakuten.co.jp/ahopapara/diary/200804190000/

今回は以下のデータを使ってみる。(NU_KE様に感謝!)

オービスパック0610版(06.10.29更新)

http://homepage1.nifty.com/~nuke/orbis/

なおデータ中に、tex=大'道54.8KP という箇所があったので、tex=大分道54.8KPに修正した。

実行手順

既存のMPT.BINをmptdecでcsvにデコード

> mptdec MPT.BIN mpt.csv

mpt.csvオービスデータを追加

> ruby pot.rb ovis0610.pot >> mpt.csv

mpt.csvをバイナリファイルにエンコード

> mptenc mpt.csv mpt.new

出来たmpt.newをSDの所定のフォルダにMPT.BINとしてコピーして使う。
が、うちのカーナビの読み込み上限が400件なのを忘れてた…。
とりあえず、400件まではちゃんと読み込めた。mptutilすごい。

pot.rb

上記で用いたpot.rbの中身

ARGF.each{|s|
  _,t,x,y,d = s.tr("'",",").split(/\/...=/)
  puts "#P,,0,1,#{y},#{x},0x85,#{(d.to_f/11.25).round%32},0xff,#{t},,,"
}