パスワードを忘れた? アカウント作成
499167 journal

Yak!の日記: なぜにカーナビ地図更新が難しかったのか

日記 by Yak!

1ヶ月前ぐらいにトヨタがカーナビ用地図差分配信技術を開発というタレコミがあったわけだが、案の定「今までなかったの?」という意見が主流だった。今更、そちらに書き込んでも意味がないので、中の人ではないが日記上で説明してみる。

まず最初に認識して欲しいのはカーナビというのは非力な環境だったという点である。このため地図データはナビアプリが処理しやすいように前処理がされている。ID や名前でデータをひもづけするのは検索する処理が重いので、対象データのアドレスを直接書き込んでしまうというのが一例である。当然のことながら一部データサイズが変更されると至る所で修正が必要になってしまう。各データの独立性が低いのである。

また、全国1枚の地図では描画や経路計算がおっつかないため、階層構造として地図データを持っている。市販の道路地図でも何段階か拡大した地図があるのと同じである。さて、ここで道路が更新されたとしよう。どのくらいの道路が更新されたかにもよるが複数の階層の地図を更新しなくてはならなくなる。階層間の整合性もとらなくてはならないし、先の低い独立性によってさらに色々なところを更新する必要が出てくる。データの冗長性が状況を悪化させているのである。

イメージとしては、ソースコードの修正は簡単だけどコンパイルされた結果のバイナリの修正はそう簡単じゃないというのと似ている。実際、カーナビ用に地図データを編集する行程はコンパイルと呼ばれていたりする(あるいはオーサリング)。

結局のところ、ナビアプリが高速に動作できるようにするために作られた地図フォーマットであって更新を考慮したフォーマットではなかった、ということにつきる。では、フォーマットを作り直せばいいじゃないかということになるのだが、カーナビも車載機器の端くれ、品質に対して非常に厳しいため、そう簡単にアプリを作り直すというわけにはいかない(特に純正ナビ)。

では、これらの問題をどう解決したか、という肝心の点についてはコメントできないのだが、難しさの一端だけでも分かってもらえればありがたいところである。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...