« 黙らせる力 | トップページ | 派閥の問題と捉えたがっているのは »

2023年12月20日 (水)

楽ナビの登録地点を編集するツール

題記の件、インテルMacで動作するプログラム(群)を作りました。
残念ながら、ビッグエンディアンのCPUを積んだMacでは、プログラムの修正なしでは動きません。代わりに、インテル系CPUのUNIX系OSならばおそらく変更なしで使えると思います。(未確認)
あと、立派なGUIのツールを期待されると困るので先に言っておきますが、このツールでできるのは、楽ナビがSDカードに書き出した登録地点の情報をCSVファイルに変換して表計算ソフトで編集しやすくすることと、編集後のCSVファイルを逆変換して楽ナビで読めるファイルを吐き出すところまでです。
表計算ソフトで編集するには、各項目の説明も参照してください。

以下、アーカイブに含まれている説明書の内容を掲載します。

* * *

説明書
この説明書は、以下のプログラム群(C言語ソース、シェルスクリプト)の目的、使い方などを説明します。
・pointrec.h
・divide.c
・makecsv.c
・modrecord.c
・modheader.c
・d052csv
・csv2d05

◯このプログラム(群)の目的
パイオニアのカーナビ「楽ナビ AVIC-RZ711」の機能である「登録地点」をパソコンの表計算ソフトで編集できるように変換/逆変換します。
このプログラムが直接に担当するのは、楽ナビがSDカードに保存した登録地点の情報ファイル(POINTREC.D05)の内容をCSVファイルに書き出すことと、あなたが編集したCSVファイルから新しいPOINTREC.D05を作り出すことです。SDカードに登録地点を書き出し/読み込みするナビ上の操作や、CSVファイルを編集する表計算ソフトの使い方などは自分で調べてください。
なお、MS-Windows系のパソコンではパイオニアが用意している純正の編集ツール(Navi Studio)を使えば、SDカード上の登録地点を直接編集できます。

◯使用環境
このプログラム(群)は、インテルCPUを積んだMacで動作確認しています。
おそらく、インテルCPUを積んだUNIX系OSのマシンでは変更なしで使えるでしょう。
また、ビッグエンディアンのCPUを積んだパソコンでは、short型やint型のバイトオーダーを考慮してプログラムを書き直す必要があります。
また楽ナビの仕様で、CSVファイル内の漢字コードはShift-JISでなければならず、それらを編集したり変換できるテキストエディタや表計算ソフトが要ります。

◯使う前の準備
⚪︎コンパイル
簡単なのでMakefileは用意していません。
同梱のファイルを全て作業用ディレクトリに置いて、つぎのコマンドライン操作をしてください。
$> gcc divide.c -o divide
$> gcc makecsv.c -o makecsv
$> gcc modrecord.c -o modrecord
$> gcc modheader.c -o modheader

⚪︎登録地点の情報ファイルを用意
楽ナビに登録されている「登録地点」をSDカードに書き出して、作業用ディレクトリに持ってくる必要があります。SDカードへの書き出し操作は、お手持ちのナビの取扱説明書を調べてください。
いくつかのディレクトリ/ファイルがSDカードに書き込まれますが、必要なのはPOINTREC.D05だけなので、探し出して作業用ディレクトリに置いてください。
また、この後、改変したPOINTREC.D05を楽ナビに読み込ませた際に予想外の状態になる可能性もあるので、楽ナビから書き出したSDカードのバックアップをとっておくことをお勧めします。

◯使い方
(1) CSVファイルへ変換
上記で準備した作業用ディレクトリで、次のようにコマンドを打ってください。
$> source d052csv POINTREC.D05 work.csv
この操作で作業用ディレクトリにwork.csvファイルが作成されます。
また、 0000~nnnn の数字4桁の名前のファイルが多数作られますが、後で必要になるのでそのまま作業用ディレクトリに置いておいてください。逆に、同名のファイルが既にあった場合は作業の邪魔になるかもしれないので、(1)の操作の前に消しておいてください。

(2) CSVファイルの編集
上記で作られたwork.csvを表計算ソフトで編集して、結果をCSVファイルとして書き出してください。ここでは書き出したCSVファイルをwork2.csvとします。
表計算ソフトがShift-JISを受け付けないなどの不都合があるときは、CSVファイルをテキストエディタなどで編集/変換してください。
CSVファイル内の各項の意味や内容を知るには以下のURLを参照ください。
 http://akakabu.way-nifty.com/blog/2023/11/post-219848.html
その他、CSVファイルの編集で注意すべき点を列挙します。
・上記URLで説明がない”Origin”項は、CSVファイルからD05ファイルを生成する際の処理で利用する物なので、いじらないでおくのが吉です。
・表計算ソフト上で行を挿入したり削除して、登録地点を増やしたり減らしたりできます。行を増やした場合、空欄を残しておかないでください。”TEL"の項に入れるものがない場合は、"-"(ハイフン)を入れておくと良いでしょう。
・”Origin”項が空欄になった場合、前後の行からコピーしてきても良いです。ただし、登録地点の”自宅”とそれ以外の地点では互換がないので、相互にコピーしてくることはしないでください。
・表計算ソフト上で行を削除して登録地点を減らしても、ナビの中に残っていれば、この後、新しい登録地点を読み込ませてもナビの中の登録地点は消えません。ナビの読み込み動作は上書きではなく、マージだからです。登録地点を消したければ、ナビ上の操作で個別に削除するか、面倒なら全登録地点を削除しても良いです。全削除した後で登録地点を読み込ませれば、編集後の内容で登録されます。
・"CREATE","MODIFY","ACCESS"項はタイムスタンプであり、"YY/MM/DD HH:MM:SS”の形式でCSVファイルに書き出されます。表計算ソフトによってはこの形式では日付と認識しないかもしれないので、その場合は、makecsv.c ファイルの中を書き換えるのか、別の方法で形式を変換してください。
・表計算ソフトによってはCSVファイルを読込んだ時点で”CREATE", “MODIFY", “ACCESS" 項を日付ではなく単なる文字列として認識している場合があります。内容を編集しないならそのままでも構いませんが、日付と認識されれば場合によって便利なことがあります。(例えば、行ごとに日付をインクリメントする編集ができるとか) そうするための操作は表計算ソフト側の取説を探してください。
・”CREATE", "MODIFY", “ACCESS" 項は楽ナビの動作に影響を与えます。例えば、登録地点をリスト表示した時の表示順は“ACCESS" 項の新しい順であり、ナビの中の登録地点を編集後の情報で上書きしたければ、”MODIFY" 項をナビの中の登録地点よりも新しくしなければなりません。また、ナビの中の登録地点とSDカードの中の登録地点の同一性の判定には”CREATE"項の内容が一緒かどうかが関係しているようです。
・表計算ソフトによってはタイムスタンプを"YY/MM/DD HH:MM:SS”の形式で書き出せないかもしれません。その場合は modrecord.c の中を書き換えるか、別の方法で形式を変換してください。
・"YOMI"の項には半角カナまたは全角カナを使ってください。
・”RecordID”はCSVファイルの中で各行がユニークになるようにつけてください。
・CSVファイルの編集後、書き出すときは文字コードがShift JISになるようにしてください。

(3) CSVファイルから変換
上記で作られたwork2.csv ファイルが作業用ディレクトリにあることを確認して、次のようにコマンドを打ってください。
 $> source csv2d05 work2.csv POINTREC2.D05
この操作で作業用ディレクトリにPOINTREC2.D05ファイルが作成されます。
また、 X0000~Xnnnn のX+数字4桁の名前のファイルが多数作られますが、これは作業用に作られたファイルであり、必要ないので削除してかまいません。逆に、同名のファイルが既にあった場合は作業の邪魔になるかもしれないので、(3)の操作の前に消しておいてください。

(4)SDカードへの書き込み
上記で作られたPOINTREC2.D05 を POINTREC.D05に改名し、楽ナビから書き出したSDカード内のPOINTREC.D05を上書きして、楽ナビに読み込ませます。

◯結び
上記により、「楽ナビ AVIC-RZ711」の登録地点をパソコン上の表計算ソフトで編集できました。

ダウンロード - edit_pointrec.zip

 

« 黙らせる力 | トップページ | 派閥の問題と捉えたがっているのは »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 黙らせる力 | トップページ | 派閥の問題と捉えたがっているのは »