以下図面について、本発明の一実施の形態を詳述する。以下、図1~図13を用いて第1の実施の形態を説明し、図14~図20を用いて第2の実施の形態を説明する。
(1)第1の実施の形態
図1において、1は全体として第1の実施の形態によるナビゲーションシステムを示す。ナビゲーションシステム1は、ナビゲーション処理を実行中に地図データを更新する。ナビゲーションシステム1は、地図データの更新を行う際のナビゲーション装置10の状態に応じて地図更新処理を切り替えることで、地図データの更新中における地図の描画性能を向上するものである。
図1は、ナビゲーションシステム1に係る構成の一例を示す図である。ナビゲーションシステム1は、ナビゲーション装置10および地図配信サーバ20を備える。ナビゲーション装置10および地図配信サーバ20は、通信網30を介して通信可能に接続されている。
ナビゲーション装置10は、例えば、自動車などの車両に搭載されるカーナビゲーション装置であり、地図配信サーバ20から配信される最新の地図データを用いて、目的地までの走行経路を算出し、所定の範囲の地図、特に自車両の周辺の地図を描画して表示部130に表示する。本実施の形態では、ナビゲーション装置10が自動車に搭載されるケースを例に挙げて説明する。
なお、図1では、ナビゲーション装置10は、1台しか示されていないが、複数台であってもよく、地図配信サーバ20は、複数のナビゲーション装置10と接続可能である。ただし、地図配信サーバ20は、何れのナビゲーション装置10に対しても同様に処理を行うので、本実施の形態では、1台のナビゲーション装置10が接続されている場合を例に挙げて説明する。
ナビゲーション装置10は、制御部110、記憶部120、表示部130、操作部140、センサ部150、および通信部160を備える。
制御部110は、ナビゲーションに係る一連の処理を実行する。記憶部120は、地図データ121と、バージョンDB122および更新データDB123を含んで構成される更新データ124とを記憶する。表示部130は、ナビゲーション画面(例えば、地図画面)を表示してユーザに提示する。操作部140は、ユーザによる目的地等の入力を受け付ける。センサ部150は、ナビゲーション装置10の位置等を取得する。通信部160は、地図配信サーバ20と通信を行う。
より具体的には、制御部110は、図示は省略するCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)を備え、CPUがROMに格納されたプログラムをRAMに展開して実行することによりナビゲーション装置10の機能を実現する。記憶部120は、例えば、不揮発性で書き換え可能な記憶デバイスであり、フラッシュメモリ、ハードディスク等である。表示部130は、例えば、液晶ディスプレイである。操作部140は、例えば、複数のボタンである。ただし、表示部130と操作部140がタッチパネルとして一体に構成されてもよい。
なお、ナビゲーション装置10の機能(地図更新部111、地図読込部112、地図描画部113、経路計算部114等)は、専用のハードウェアとして実現する構成としてもよいし、制御部110が実行するソフトウェアモジュールとして実現する構成としてもよい。また、ナビゲーション装置10の機能の一部は、ナビゲーション装置10と通信可能な他のコンピュータにより実現されてもよい。
ここで、ナビゲーション装置10の機能として、制御部110は、地図更新部111と、地図読込部112と、地図描画部113および経路計算部114を含んで構成され、ユーザを案内するナビゲーション処理全般を行うナビゲーション部115とを実現する。地図更新部111は、地図配信サーバ20から配信データ181を取得して更新データ124を更新する。地図読込部112は、記憶部120から地図データ121および更新データ124を読込み、地図描画部113および経路計算部114に提供する。地図描画部113は、ナビゲーション部115の1つの処理として自車両の位置(自車両位置)の周辺の地図等を描画する。経路計算部114は、ナビゲーション部115の1つの処理として自車両位置から目的地までの経路を計算する。
地図配信サーバ20は、制御部170、記憶部180、および通信部190を備える。制御部170は、地図データを配信する一連の処理を行う。記憶部180は、配信データ181を記憶している。通信部190は、ナビゲーション装置10と通信を行う。
制御部170は、例えばコンピュータであり、図示は省略するCPU、ROM、およびRAMを備え、CPUがROMに格納されたプログラムをRAMに展開して実行することにより後述する機能を実現する。なお、地図配信サーバ20の機能(例えば、地図配信部171)は、専用のハードウェアとして実現する構成としてもよいし、制御部170が実行するソフトウェアモジュールとして実現する構成としてもよい。また、地図配信サーバ20の機能の一部は、地図配信サーバ20と通信可能な他のコンピュータにより実現されてもよい。記憶部180は、例えば、不揮発性で書き換え可能な記憶デバイスであり、フラッシュメモリ、ハードディスク等である。
地図配信サーバ20の機能として、制御部170は、配信データ181をナビゲーション装置10に配信する地図配信部171を実現する。
なお、地図配信サーバ20は、物理マシンに限られるものではなく、例えば、仮想マシンであってもよい。
図2は、ナビゲーション装置10に格納されている地図データ121の一例を示す図である。
ここで、一般的に、カーナビ用の地図データは、小さな矩形で区切られた複数の区画(以降、パーセルと称する。)で構成されている。また、複数の階層を持ち、上位階層の1個のパーセルは、下位階層の複数のパーセルに対応している。このような構成にして、例えば、上位階層には高速道路のみを収録し、下位階層には細街路等まで含めた全道路を収録することにより、縮尺に応じた地図表示、経路計算の高速化を可能にしている。
地図データ121は、パーセルID210、背景データ220、道路データ230、および形状データ240を含んで構成されている。パーセルID210は、各パーセルを一意に識別するID(identification)である。背景データ220は、地図画面に描画する建物、公園の形状などを格納するデータである。道路データ230は、道路の種別(高速道路、細街路等)、各道路リンクを通過する際のコスト等を格納するデータである。形状データ240は、地図画面に描画する道路の形状などを格納するデータである。
本実施の形態では、地図データ121が、レベル1の階層250とレベル2の階層260との2つの階層で構成され、レベル2の階層260の1個のパーセルは、レベル1の階層250の16個のパーセルに対応しているケースを例に挙げて説明する。また、本実施の形態では、表示部130に表示される地図画面の領域を示す表示領域270に係るパーセルに応じて地図更新処理が変更されるように構成されている。
地図描画部113は、表示領域270に係る各パーセルの全てのデータ280(例えば、レベル1のパーセル「P1-16」の背景データ220、道路データ230、および形状データ240)を参照して各パーセルの表示用の表示地図290(例えば、レベル1の階層250のパーセル「P1-16」の表示地図)を作成し、表示部130に表示する。
なお、図2では、レベル1の階層250とレベル2の階層260とに、表示領域270を示しているが、表示部130に表示されるのは、基本的には、レベル1の階層250の地図とレベル2の階層260の地図との何れか一方である。ただし、レベル1の階層250の地図とレベル2の階層260の地図とが、例えば表示部130の画面の上下に分かれて、同時に表示される構成であってもよい。
図3は、ナビゲーション装置10に格納されている更新データ124の一例を示す図である。更新データ124は、バージョンDB122および更新データDB123を含んで構成される。
バージョンDB122は、各パーセルのバージョンを格納するデータベースである。バージョンDB122には、パーセルID301とバージョン302との情報が対応付けて格納される。
更新データDB123は、地図配信サーバ20から取得した配信データ181を格納するデータベースである。更新データDB123は、パーセルID311、背景データ312、道路データ313、および形状データ314を含んで構成されている。なお、背景データ312、道路データ313、および形状データ314は、図2で説明した地図データ121の背景データ220、道路データ230、および形状データ240と同様であるので、その説明を省略する。
図4は、地図配信サーバ20に格納されている配信データ181の一例を示す図である。配信データ181は、地図データのレベル2の階層260の1個のパーセル単位で作成されている。配信データ181は、レベル2の階層260の1個のパーセルのデータと、当該パーセルに対応するレベル1の階層250の16個のパーセルのデータとを格納している。
配信データ181は、パーセルID401、背景データ402、道路データ403、および形状データ404を含んで構成される。背景データ402、道路データ403、および形状データ404は、図2で説明した地図データ121の背景データ220、道路データ230、および形状データ240と同様であるので、その説明を省略する。
以下、ナビゲーションシステム1の動作の流れを説明する。
図5は、ナビゲーション装置10が目的地までの経路を計算する際に、各パーセルを処理(例えば、更新)していく様子を例示する図(パーセル更新態様500の一例を示す図)である。
パーセル更新態様510,520,530,540は、レベル2の階層260の複数のパーセルを示している。パーセル更新態様510,520,530,540において、模様を付したパーセルは、未処理のパーセル(未更新のパーセル)を意味し、模様を付していないパーセルは、処理済みのパーセル(更新済みのパーセル)を意味する。
また、自宅511は、ユーザが設定した自宅の位置を示すものである。初期状態では、何れのパーセルも未更新である(パーセル更新態様510)。次に、ナビゲーションシステム1は、ナビゲーション装置10が起動すると、自宅511周辺の25枚のパーセル521を更新する(パーセル更新態様520)。次に、ナビゲーションシステム1は、ユーザが目的地531を設定すると、目的地531が存在するパーセル532を更新する(パーセル更新態様530)。次に、ナビゲーションシステム1は、目的地531までの経路541が決まると、経路541沿いの複数のパーセル542を更新する(パーセル更新態様540)。
このように、ナビゲーションシステム1は、ナビゲーション処理が参照するパーセルを常に最新のデータ(最新のバージョンのパーセル)に更新する。
なお、自車両が更新済みのパーセル(例えば、パーセル543)から進行方向の未更新のパーセル(例えば、パーセル544)に近づいた場合、経路を外れて自車両が走行しても、リルートできるように、自車両の進行方向の未更新のパーセル(例えば、パーセル544)を最新にするように構成してもよい。
図6は、図5に示すように地図(更新データ124)が最新に処理される際の、ナビゲーション装置10の表示部130に表示される画面を例示する図(表示部130の表示態様の一例を示す図)である。
画面610は、自宅周辺の地図が初期設定されている様子(初期状態)を示す。画面620は、図5のパーセル更新態様520のように、自宅周辺のパーセルが処理されることにより、自宅周辺の最新の地図が表示される様子を示している。
画面630は、ユーザが目的地の名称等を入力した際に表示される、目的地候補の一覧が表示されている様子である。画面630では、右側に目的地候補の一覧、左側に目的地周辺(目的地が含まれる複数のパーセル)の地図が表示されている。目的地周辺の地図については、目的地を選択した直後は処理が終わっていないために古い地図が表示されるが、目的地周辺の処理が完了次第、最新の地図が表示される。
画面640は、目的地が決まり、目的地周辺の最新の地図が表示された後の様子を示している。画面650は、目的地までの経路が決まり、ナビゲーションを開始した直後の様子を示している。画面660は、目的地周辺に到着したときの様子を示している。
このように、ナビゲーション装置10は、ナビゲーション処理と並行して経路沿いのパーセルを処理し、目的地周辺に到達するまで常に最新のデータで案内を行う。
図7は、図6の画面620に係る動作を行う際の、ナビゲーションシステム1の動作を示すシーケンス(動作シーケンス)の一例を示す図である。
地図更新部111は、ナビゲーション装置10の起動後に、地図配信部171に対して、新しい地図データ(新地図データ)の有無を問い合わせる(ステップS701)。
次に、地図配信部171は、地図更新部111に、新しい地図データの有無を識別可能な情報(例えば、ベースバージョン)を応答する(ステップS702)。なお、ベースバージョンとは、地図データ121および更新データ124全体のバージョンを示すものである。
新地図データがない場合(ナビゲーション装置10が有するベースバージョンと、地図配信サーバ20が有するベースバージョンとが一致する場合)、ナビゲーション装置10は、特に何もせず、通常のナビゲーション処理を行う。新地図データがある場合(ナビゲーション装置10が有するベースバージョンと、地図配信サーバ20が有するベースバージョンとが一致しない場合)、地図更新部111は、地図配信部171に対して、自宅周辺の最新の地図データを要求する(ステップS703)。
次に、地図配信部171は、地図更新部111に対して、自宅周辺の最新の地図データ(配信データ181)を配信する(ステップS704)。
次に、地図更新部111は、地図データ更新処理を行う(ステップS705)。地図データ更新処理では、受信した自宅周辺の最新の地図データ(配信データ181)で、更新データ124が更新される。なお、地図データ更新処理については、図10等を用いて後述する。
次に、地図更新部111は、地図データ121および更新データ124のベースバージョンをアップする(ステップS706)。
図8は、図6の画面630および画面640に係る動作を行う際の、ナビゲーションシステム1の動作シーケンスの一例を示す図である。
地図描画部113は、ユーザが目的地の名称等を入力した際、地図読込部112に対して、目的地周辺の地図データを要求する(ステップS801)。例えば、レベル1の階層250の16個のパーセルの中心付近に目的地がある場合、目的地周辺の地図データには、当該16個のパーセルの地図データと、当該16個のパーセルと対応付けられているレベル2の階層260の1個のパーセルの地図データとが含まれる。
次に、地図読込部112は、バージョンDB122から、要求された目的地周辺の地図データのパーセルのバージョンを取得する(ステップS802)。
次に、地図読込部112は、取得したバージョンとベースバージョンとを比較し、ベースバージョンの方が大きい場合(即ち、要求された目的地周辺のパーセルが未更新である場合)、ステップS803からステップS809までの処理を実行する。
なお、地図読込部112は、ステップS802では、レベル1の階層250のバージョンを取得すると、比較に時間を要してしまうので、レベル2の階層260のバージョンを取得することが好適である。このように、上位の階層のバージョンで比較することで、要求された地図データが最新であるか否かを確認する処理を迅速に終わらせることができるようになる。
地図読込部112は、まず、地図データ121または更新データ124から旧地図データを読込む(ステップS803)。
次に、地図読込部112は、読込んだ旧地図データを地図描画部113に応答する(ステップS804)。地図描画部113により、表示部130に目的地周辺の地図データ(旧地図データ)が表示される。
次に、地図読込部112は、地図更新部111に対して、目的地周辺の地図データの更新を要求する(ステップS805)。
次に、地図更新部111は、地図配信部171に対して、目的地周辺の地図データを要求する(ステップS806)。
次に、地図配信部171は、地図更新部111に対して、目的地周辺の地図データ(配信データ181)を配信する(ステップS807)。
次に、地図更新部111は、地図データ更新処理を行う(ステップS808)。地図データ更新処理では、受信した目的地周辺の最新の地図データ(配信データ181)で、更新データ124が更新される。なお、地図データ更新処理については、図10等を用いて後述する。
次に、地図更新部111は、地図読込部112に対して、目的地周辺の地図データの更新が完了したことを通知(更新完了通知)する(ステップS809)。なお、更新完了通知は、後述するように適宜のタイミングで行われる。
ステップS802で取得したパーセルのバージョンがベースバージョン以上である場合(即ち、要求されたパーセルが更新済みである場合)、または、ステップS809において地図更新部111からの更新完了通知を受信した際、地図読込部112は、更新データDB123の更新データ124を読込む(ステップS810)。
次に、地図読込部112は、読込んだ更新データ124を地図描画部113に応答する(ステップS811)。なお、地図描画部113は、表示に必要な地図データを受け取ると、表示部130に目的地周辺の地図を表示する。
以上のように、表示部130に目的地周辺の地図(最新の地図)が表示される。
図9は、図6の画面650および画面660に係る動作を行う際の、ナビゲーションシステム1の動作シーケンスの一例を示す図である。
経路計算部114は、ユーザが目的地までの経路計算を要求した際、経路計算処理を開始する(ステップS901)。経路計算処理は、一般的な最短経路計算アルゴリズム等により実現可能である。
経路計算部114は、地図読込部112に対して、経路計算に必要な地図データを要求する(ステップS902)。例えば、経路計算に必要な地図データには、レベル2の階層260の複数のパーセルの地図データと、当該複数のパーセルの各々と対応付けられているレベル1の階層250の16個のパーセルの地図データとが含まれる。
次に、地図読込部112は、バージョンDB122から、要求された地図データのパーセルのバージョンを取得する(ステップS903)。
次に、地図読込部112は、取得したバージョンと、ベースバージョンとを比較し、ベースバージョンの方が大きい場合(即ち、要求されたパーセルが未更新である場合)、ステップS904からステップS908までの処理を実行する。なお、上述したように、地図読込部112は、レベル2の階層260のバージョンを取得して比較することが好適である。
地図読込部112は、まず、地図更新部111に対して、経路計算に必要な地図データの更新を要求する(ステップS904)。
次に、地図更新部111は、地図配信部171に対して、経路計算に必要な地図データを要求する(ステップS905)。
次に、地図配信部171は、地図更新部111に対して、経路計算に必要な地図データ(配信データ181)を配信する(ステップS906)。
次に、地図更新部111は、地図データ更新処理を行う(ステップS907)。地図データ更新処理では、受信した最新の地図データ(配信データ181)で、更新データ124が更新される。なお、地図データ更新処理については、図10等を用いて後述する。
次に、地図更新部111は、地図読込部112に対して、経路計算に必要な地図データの更新が完了したことを通知(更新完了通知)する(ステップS908)。
ステップS903で取得したバージョンがベースバージョン以上である場合(即ち、要求されたパーセルが更新済みである場合)、またはステップS908において地図更新部111から更新の完了を通知された際、地図読込部112は、更新データDB123から更新データ124を読込む(ステップS909)。
次に、地図読込部112は、読込んだ更新データ124を経路計算部114に応答する(ステップS910)。
経路計算部114は、地図読込部112から渡された更新データ124を用いて経路計算を再開する(ステップS911)。
以降、ナビゲーションシステム1は、目的地までの最短経路が計算されるまで、ステップS901からステップS911までの処理を繰り返す。これにより、最新の地図データによる経路が表示される。
なお、図9に示した動作では、経路計算を実行する上で必要な範囲の地図データ(パーセル)を順次更新していく(即ち、経路計算に必要なデータの更新が完了しないと最短経路が決定しない)が、本発明はこのような方法に限るものではない。例えば、経路計算に必要な道路データは、ナビゲーション装置10の起動時に全国分を一括で更新することとした上で、目的地までの経路計算を実行した後に、図9と同様の手順で経路沿いの背景データおよび形状データを更新していく処理としてもよい。このようにすることで、最新の地図データによる最短経路を決定してユーザに提示してから、順次経路沿いの地図データを更新していくことが可能になる。
図10は、図7のステップS705、図8のステップS808、および図9のステップS907における、地図データ更新処理に係るフローチャートの一例を示す図である。
地図更新部111は、まず、更新を要求されたパーセルの中心座標と、表示部130に表示している地図(例えば、表示領域270)の中心座標との距離Lを計算する(ステップS1001)。
次に、地図更新部111は、距離Lと閾値Mとを比較する(ステップS1002)。ここで閾値Mは、更新を要求されたパーセルが表示部130に表示中であるかどうかを判定するための値である。地図更新部111は、距離Lが閾値Mより大きいと判定した場合(即ち、更新を要求されたパーセルが表示部130に表示されていない場合)、ステップS1003に処理を移し、距離Lが閾値M以下であると判定した場合(即ち、更新を要求されたパーセルが表示部130に表示されている場合)、ステップS1004に処理を移す。
ステップS1003では、地図更新部111は、地図更新処理Aを実行し、地図データ更新処理を終了する。なお、地図更新処理Aについては、図11を用いて後述する。
ステップS1004では、地図更新部111は、地図更新処理Bを実行し、地図データ更新処理を終了する。なお、地図更新処理Bについては、図12を用いて後述する。
図11は、図10のステップS1003で実行される、地図更新処理Aに係るフローチャートの一例を示す図である。
地図更新部111は、まず、地図配信部171から受信した配信データ181に含まれるパーセル(例えば、レベル2の階層260の1個のパーセル、およびレベル1の階層250の16個のパーセル)を参照して、更新データDB123を一括して更新する(ステップS1101)。
この一括して更新する処理は、例えば、図11に記載したSQL文1110により実行可能である。ここで、TableAは、図3に示す更新データDB123に対応し、TableBは、図4に示す配信データ181に対応する。当該SQL文1110の意味は、1行目は、配信データ181に含まれるパーセルIDに対応する行を更新データDB123から全て削除し、2行目は、配信データ181に含まれる全ての行を、更新データDB123に挿入するものである。なお、更新の方法は、削除して追加する方法に限られるものではなく、上書きする方法(例えば、UPDATE文)を採用してもよい。
次に、地図更新部111は、バージョンDB122に格納されているパーセルのバージョンを更新する(ステップS1102)。
次に、地図更新部111は、更新データDB123の更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)し(ステップS1103)、地図更新処理Aを終了する。
図12は、図10のステップS1004で実行される、地図更新処理Bに係るフローチャートの一例を示す図である。
地図更新部111は、まず、変数Iに「1」をセットする(ステップS1201)。
次に、地図更新部111は、配信データ181に含まれるレベル1の階層250のパーセル16個のうち、表示部130に表示されている地図(表示領域270)の中心座標に最も近い未処理のパーセルを処理対象のパーセル(レベル1パーセル)として選び、処理対象のパーセルについて更新データDB123を更新する(ステップS1202)。
次に、地図更新部111は、ステップS1201で更新したレベル1の階層250のパーセル(処理対象のパーセル)について、バージョンDB122に格納されているバージョンを更新する(ステップS1203)。
次に、地図更新部111は、処理対象のパーセルの更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)する(ステップS1204)。
次に、地図更新部111は、変数Iに「1」を加算する(ステップS1205)。
次に、地図更新部111は、変数Iが「16」より大きい値であるかを判定する(ステップS1206)。地図更新部111は、変数Iが「16」以下であると判定した場合、ステップS1202に処理を戻し、処理を繰り返し、変数Iが「16」より大きいと判定した場合、ステップS1207に処理を移す。
地図更新部111は、配信データ181に含まれるレベル2の階層260のパーセル1個(レベル2パーセル)について、更新データDB123を更新する(ステップS1207)。
次に、地図更新部111は、ステップS1206で更新したレベル2の階層260のパーセルについて、バージョンDB122に格納されているバージョンを更新する(ステップS1208)。
次に、地図更新部111は、レベル2の階層260のパーセルの更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)し(ステップS1209)、地図更新処理Bを終了する。
このように、通常は、経路計算などのバックグラウンドでは地図更新処理Aが実行され、目的地周辺を表示するとき等のフォアグランドでは地図更新処理Bが実行されるので、最新の地図データを高速に表示することが可能となる。
図13は、図11に示した地図更新処理A、および図12に示した地図更新処理Bに関して、地図更新部111と地図読込部112とが更新データDB123を参照するタイミングを説明するための動作シーケンスの一例を示す図である。
動作シーケンス図1310は、地図更新処理Aに関する動作シーケンス図であり、直ぐには表示に用いない1セットのパーセル(レベル2の階層260の1個のパーセル、およびレベル1の階層250の16個のパーセル)の更新を行うときの動作シーケンスの例を示す。地図更新処理Aでは、地図読込部112が地図更新部111に対して1セットのパーセルの地図更新要求を行った後、1セットのパーセルを更新する時間は、時間T(AW)である。なお、仮に、更新データDB123から必要な1つのパーセルのデータを読込む場合、1つのパーセルの読込みが終わるまでの時間は、時間T(AR)となる。
動作シーケンス図1320は、地図更新処理Bに関する動作シーケンス図であり、直ぐに表示に用いる1セットのパーセルの更新を行うときの動作シーケンスの例を示す。地図更新処理Bでは、地図読込部112が地図更新部111に対して1セットのパーセルの地図更新要求を行った後、更新データDB123から表示に必要な1つのパーセルのデータの読込みが終わるまでの時間は、時間T(BR)となる。なお、1セットのパーセルの更新が終わる時間は、時間T(BW)となる。
ここで、ナビゲーションシステム1において、地図更新処理Aだけを採用した場合、1セットのパーセルの更新を完了する時間は、時間T(AW)となり、更新の完了までに複数回の更新を行ったり読込みを行ったりする時間T(BW)よりも短くなる。よって、直ぐには表示に用いないパーセルの更新には、好適である。しかしながら、更新後の地図データが直ぐに表示に用いられる場合は、読み終わるまでの時間が時間T(AR)となり、表示に用いられる1つのパーセルを更新して読込む時間T(BR)よりも長くなる。他方、地図更新処理Bだけを採用した場合、地図更新処理Aの場合とは、逆の結果になってしまう。
この点、本実施の形態では、直ぐには表示に用いないパーセルの更新を行う場合、地図更新処理Aを行い、直ぐに表示に用いるパーセルの更新を行う場合、地図更新処理Bを行うように構成している。かかる構成によれば、バックグラウンドの処理とフォアグランドの処理との何れの処理も迅速に行うことができる。
本実施の形態によれば、ナビゲーションの性能への影響を抑えつつ、地図データを更新することができる。
(2)第2の実施の形態
図14~図20を用いて、本実施の形態のナビゲーションシステム2を説明する。第1の実施の形態と同様の構成については、同一の符号を用いて、その説明を適宜省略する。
本実施の形態は、第1の実施の形態と同様にナビゲーション処理を実行中に地図データを更新するナビゲーションシステム2において、地図更新部111と地図読込部112とが同時に同一のデータベースにアクセスすることになる時間を削減し、地図データの更新中における地図の描画性能を向上するものである。
本実施の形態のナビゲーションシステム2は、第1の実施の形態のナビゲーションシステム1と基本的に同様であるが、ナビゲーション装置10の記憶部120に格納する更新データの構成と、地図配信サーバ20の記憶部180に格納する配信データの構成と、ナビゲーション装置10の地図更新部111における処理と、ナビゲーション装置10の地図読込部112における処理とが、以降で述べるように第1の実施の形態と異なる。
図14は、ナビゲーションシステム2に係る構成の一例を示す図である。
ナビゲーション装置10の記憶部120には、バージョンDB122と、背景DB1401、道路DB1402、および形状DB1403を含んで構成される更新データ1404とが記憶される。なお、更新データ1404については、図15を用いて後述する。地図配信サーバ20の記憶部180には、配信データ1411が記憶される。なお、配信データ1411については、図16を用いて後述する。
図15は、更新データ1404の一例を示す図である。更新データ1404は、バージョンDB122、背景DB1401、道路DB1402、および形状DB1403を含んで構成される。
背景DB1401は、地図配信サーバ20から取得した配信データ1411の背景データを格納するデータベースである。背景DB1401は、パーセルID1501と背景データ1502とを含んで構成されている。
道路DB1402は、地図配信サーバ20から取得した配信データ1411の道路データを格納するデータベースである。道路DB1402は、パーセルID1511と、道路データ1512とを含んで構成されている。
形状DB1403は、地図配信サーバ20から取得した配信データ1411の形状データを格納するデータベースである。形状DB1403は、パーセルID1521と、形状データ1522とを含んで構成されている。
なお、背景データ1502、道路データ1512、および形状データ1522は、図2で説明した地図データ121の背景データ220、道路データ230、および形状データ240と同様であるので、その説明を省略する。
図16は、配信データ1411の一例を示す図である。第1の実施の形態と同様に、配信データ1411は、地図データのレベル2の階層260の1個のパーセル単位で作成されている。配信データ1411は、レベル2の階層260の1個のパーセルのデータと、当該パーセルに対応するレベル1の階層250の16個のパーセルのデータとを格納している。
配信データ1411は、パーセルID1601および背景データ1602を含んで構成されるデータベースと、パーセルID1603および道路データ1604を含んで構成されるデータベースと、パーセルID1605および形状データ1606を含んで構成されるデータベースとに分割されて作成される。
ナビゲーションシステム2の動作については、ナビゲーション装置10が目的地までの経路を計算する際に各パーセルを更新していく様子(図5)と、ナビゲーション装置10の表示部130に表示される画面(図6)と、地図更新システムの動作シーケンス(図7、図8、および図9)と、地図データ更新処理のフローチャート(図10)は、第1の実施の形態と同様である。
図17は、ナビゲーションシステム2で行われる地図データ更新処理における地図更新処理A(ステップS1003)に係るフローチャートの一例を示す図である。
ナビゲーションシステム2の地図更新処理Aでは、地図更新部111は、まず、地図配信部171から受信した背景データに含まれるパーセル(例えば、レベル2の階層260の1個のパーセル、およびレベル1の階層260の16個のパーセル)を参照して、背景DB1401を一括して更新する(ステップS1701)。一括して更新する処理は、第1の実施の形態と同様に図11に記載したSQL文1110により実行可能である。ここで、TableAは、図15に示す背景DB1401を、TableBは、図16に示す配信データ1411における背景データを格納しているデータベースに対応する。
同様に、地図更新部111は、地図配信部171から受信した道路データに含まれるパーセル(例えば、レベル2の階層260の1個のパーセル、およびレベル1の階層250の16個のパーセル)を参照して、道路DB1402を一括して更新する(ステップS1702)。
同様に、地図更新部111は、地図配信部171から受信した形状データに含まれるパーセル(例えば、レベル2の階層260の1個のパーセル、およびレベル1の階層250の16個のパーセル)を参照して、形状DB1403を一括して更新する(ステップS1703)。
次に、地図更新部111は、バージョンDB122に格納されているパーセルのバージョンを更新する(ステップS1704)。
次に、地図更新部111は、背景DB1401、道路DB1402、および形状DB1403の更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)し(ステップS1705)、地図更新処理Aを終了する。
図18は、ナビゲーションシステム2で行われる地図データ更新処理における地図更新処理B(ステップS1004)に係るフローチャートの一例を示す図である。
ナビゲーションシステム2の地図更新処理Bでは、地図更新部111は、まず、変数Iに「1」をセットする(ステップS1801)。
次に、地図更新部111は、配信データ1411に含まれる背景データからレベル1の階層250のパーセル16個のうち表示部130に表示されている地図(表示領域270)の中心座標に最も近い未処理のパーセルを処理対象のパーセル(レベル1パーセル)として選び、処理対象のパーセルについて背景DB1401を更新する(ステップS1802)。この際、地図更新部111は、例えば、更新の前に、背景DB1401を更新しているか否かを識別可能な背景DB更新フラグをオンにセットし、更新の後に背景DB更新フラグをオフにセットし、背景DB1401の更新中であるか否かを判定可能にする。
同様に、地図更新部111は、処理対象のパーセルについて道路DB1402を更新する(ステップS1803)。この際、地図更新部111は、例えば、更新の前に、道路DB1402を更新しているか否かを識別可能な道路DB更新フラグをオンにセットし、更新の後に道路DB更新フラグをオフにセットし、道路DB1402の更新中であるか否かを判定可能にする。
同様に、地図更新部111は、処理対象のパーセルについて形状DB1403を更新する(ステップS1804)。この際、地図更新部111は、例えば、更新の前に、形状DB1403を更新しているか否かを識別可能な形状DB更新フラグをオンにセットし、更新の後に形状DB更新フラグをオフにセットし、形状DB1403の更新中であるか否かを判定可能にする。
次に、地図更新部111は、ステップS1802~ステップS1804で更新したレベル1の階層250のパーセル(処理対象のパーセル)について、バージョンDB122に格納されているバージョンを更新する(ステップS1805)。
次に、地図更新部111は、処理対象のパーセルの更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)する(ステップS1806)。
次に、地図更新部111は、変数Iに「1」を加算する(ステップS1807)。
次に、地図更新部111は、変数Iが「16」より大きい値であるか否かを判定する(ステップS1808)。地図更新部111は、変数Iが「16」より大きい値でないと判定した場合、ステップS1802に処理を戻し、処理を繰り返し、変数Iが「16」より大きい値であると判定した場合、ステップS1809に処理を移す。
地図更新部111は、背景データのレベル2の階層260のパーセル1個(レベル2パーセル)について、背景DB1401を更新する(ステップS1809)。この際、地図更新部111は、例えば、更新の前に、背景DB更新フラグをオンにセットし、更新の後に背景DB更新フラグをオフにセット、背景DB1401の更新中であるか否かを判定可能にする。
同様に、地図更新部111は、道路データのレベル2の階層260のパーセル1個について、道路DB1402を更新する(ステップS1810)。この際、地図更新部111は、例えば、更新の前に、道路DB更新フラグをオンにセットし、更新の後に道路DB更新フラグをオフにセットし、道路DB1402の更新中であるか否かを判定可能にする。
同様に、地図更新部111は、形状データのレベル2の階層260のパーセル1個について、形状DB1403を更新する(ステップS1811)。この際、地図更新部111は、例えば、更新の前に、形状DB更新フラグをオンにセットし、更新の後に形状DB更新フラグをオフにセット、形状DB1403の更新中であるか否かを判定可能にする。
次に、地図更新部111は、ステップS1809~ステップS1811で更新したレベル2の階層260のパーセル(レベル2パーセル)について、バージョンDB122に格納されているバージョンを更新する(ステップS1812)。
次に、地図更新部111は、レベル2パーセルの更新が完了したことを示す更新完了情報を地図読込部112に通知(更新完了通知)し(ステップS1813)、地図更新処理Bを終了する。
図19は、地図読込部112が実行する読込処理に係るフローチャートの一例を示す図である。
地図読込部112は、まず、地図更新部111が背景DB1401を更新中であるか否か(例えば、背景DBフラグがオンであるか否か)を判定する(ステップS1901)。地図読込部112は、背景DB1401を更新中であると判定した場合、ステップS1902に処理を移し、背景DB1401を更新中でないと判定した場合、ステップS1905に処理を移す。
ステップS1902では、地図読込部112は、要求されたパーセルの形状データを形状DB1403から読込む。
続いて、地図読込部112は、要求されたパーセルの道路データを道路DB1402から読込む(ステップS1903)。
続いて、地図読込部112は、要求されたパーセルの背景データを背景DB1401から読込み(ステップS1904)、読込処理を終了する。
ステップS1905では、地図読込部112は、地図更新部111が道路DB1402を更新中であるか否か(例えば、道路DBフラグがオンであるか否か)を判定する。地図読込部112は、道路DB1402を更新中ではないと判定した場合、ステップS1906に処理を移し、道路DB1402を更新中であると判定した場合、ステップS1909に処理を移す。
ステップS1906では、地図読込部112は、要求されたパーセルの道路データを道路DB1402から読込む。
続いて、地図読込部112は、要求されたパーセルの背景データを背景DB1401から読込む(ステップS1907)。
続いて、地図読込部112は、要求されたパーセルの形状データを形状DB1403から読込み(ステップS1908)、読込処理を終了する。
ステップS1909では、地図読込部112は、要求されたパーセルの背景データを背景DB1401から読込む。
続いて、地図読込部112は、要求されたパーセルの形状データを形状DB1403から読込む(ステップS1910)。
続いて、地図読込部112は、要求されたパーセルの道路データを道路DB1402から読込み(ステップS1911)、読込処理を終了する。
なお、読込みの順序は、上述の内容に限られるものではない。例えば、背景DB1401が更新中である場合は、背景DB1401の読込みが後に行われる構成を適宜に採用できる。例えば、道路DB1402の読込みを行ってから、形状DB1403の読込みを行い、最後に背景DB1401の読込みを行うようにしてもよい。また、例えば、道路DB1402が更新中である場合は、道路DB1402の読込みが後に行われる構成を適宜に採用できる。例えば、形状DB1403の読込みを行ってから、背景DB1401の読込みを行い、最後に道路DB1402の読込みを行うようにしてもよい。また、例えば、形状DB1403が更新中である場合は、形状DB1403の読込みが後に行われる構成を適宜に採用できる。例えば、背景DB1401の読込みを行ってから、道路DB1402の読込みを行い、最後に形状DB1403の読込みを行うようにしてもよい。
上述した処理によれば、更新中でないデータベースの地図データから読込まれるので、更新中のデータベースがロックされて地図データを読込みできない時間を削減でき、地図の更新中におけるナビゲーション性能を向上できる。
図20は、図17に示した地図更新処理A、図18に示した地図更新処理B、および図19に示した読込処理に関して、地図更新部111と地図読込部112とが更新データ1404を参照するタイミングを説明するための動作シーケンスの一例を示す図である。
図20では、地図更新部111が地図更新処理Bにおいて、パーセル「P1-16」、「P1-12」、「P1-15」、「P1-11」、・・・の順に更新を行う場合に、パーセル「P1-16」の更新が完了し、更新完了情報が地図読込部112に通知されたケースを例に挙げて説明する。
かかるケースでは、地図更新部111は、パーセル「P1-12」の背景DB1401の更新を行う(ステップS1802)。この際、地図読込部112は、パーセル「P1-16」の更新完了情報の通知を受信したので、パーセル「P1-16」の読込処理を開始し、背景DB1401が更新中であるので、形状DB1403の読込みを行い(ステップS1902)、続けて、道路DB1402の読込み(ステップS1903)、最後に、背景DB1401の読込みを行う(ステップS1904)。なお、地図更新部111は、パーセル「P1-12」の背景DB1401の更新を完了し、形状DB1403の読込みが完了している場合、パーセル「P1-12」の道路DB1402の更新を行い(ステップS1803)、続けて、パーセル「P1-12」の形状DB1403の更新を行う(ステップS1804)。
このように、地図更新部111が背景DB1401を更新しているときは、地図読込部112は、背景DB1401とは異なる道路DB1402または形状DB1403からパーセル「P1-16」の地図データを読込み、背景DB1401のパーセル「P1-16」の地図データを読込むことにより、パーセル「P1-16」の地図データを読込む時間Tを短縮することができる。
本実施の形態によれば、地図更新部111と地図読込部112とが同時に同一のデータベースにアクセスすることになる時間を削減し、最新の地図データを高速に表示することが可能になる。
(3)他の実施の形態
なお上述の実施の形態においては、本発明を自動車等の車両に搭載されるナビゲーションシステム1に適用するようにした場合について述べたが、本発明はこれに限らず、ロボット、ドローンなどの移動体、スマートフォン、タブレット端末等の移動可能な媒体などに搭載されてもよく、この他種々のナビゲーションシステム、ナビゲーション装置、ナビゲーション方法など、広く適用することができる。
また上述の実施の形態においては、ナビゲーション装置10が起動時されると、ステップS701の処理を行う場合について述べたが、本発明はこれに限らず、ナビゲーション装置10が起動時されると、地図データ121または更新データ124の旧地図データの地図を表示してから、ステップS701の処理を行うようにしてもよい。
また上述の実施の形態においては、図12では、レベル1の階層250を表示している場合について述べたが、本発明はこれに限らず、レベル2の階層260を表示している場合、ステップS1207~ステップS1209の処理を行ってから、ステップS1201~ステップS1206の処理を行うようにしてもよい。
また上述の実施の形態においては、図12および図18では、レベル1の階層250のパーセル16個のうち表示部130に表示されている地図(表示領域270)の中心座標に最も近い未処理のパーセルから1つずつ更新する場合について述べたが、本発明はこれに限らず、レベル1の階層250のパーセル16個のうち表示対象の一または複数のパーセルを一括で更新した後に、残りのパーセルを一括で更新するようにしてもよい。
また上述の実施の形態においては、地図データ121と、更新データ124,1404とを分けて記憶する場合について述べたが、本発明はこれに限らず、地図データ121と、更新データ124,1404とを一体とした地図データ(例えば、データベース)として記憶するようにしてもよい。この場合、地図データ121を更新データ124,1404で更新(なお、削除して追加するものであってもよいし、上書きするものであってもよい。)する構成であってもよいし、地図データ121に更新データ124,1404を識別可能に追加する構成であってもよいし、その他の構成であってもよい。
また上述の実施の形態においては、説明の便宜上、XXテーブル、XXデータベースを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報などと表現してもよい。
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
以上の通り、ナビゲーション装置(例えば、ナビゲーション装置10)は、地図を構成する区画ごとに地図情報(例えば、更新データ124,1404)を記憶する記憶部(例えば、記憶部120)と、上記記憶部に記憶されている地図情報を更新する地図更新部(例えば、制御部110、地図更新部111)と、上記記憶部に記憶されている地図情報を読込む地図読込部(例えば、制御部110、地図読込部112)と、上記地図読込部により読込まれた地図情報に基づいてナビゲーションを行うナビゲーション部(例えば、制御部110、ナビゲーション部115)と、を備え、上記地図更新部は、上記記憶部に記憶されている複数の区画(例えば、1セットのパーセル、レベル2の階層260のパーセル「P2-1」、およびレベル1の階層250のパーセル「P1-1」~「P1-16」)の地図情報を更新する場合、上記ナビゲーション部により行われるナビゲーションの状態(ナビゲーションの開始時、目的地の設定時、経路計算時、複数の区画が表示対象の区画であるか否か、複数の区画が表示されるレベルの階層、ユーザのスクロース操作など)に応じて、上記複数の区画のうち一度に更新する区画の数を変更することを特徴とする。
上記構成によれば、一度に更新する区画の数を変更することで、一度の更新に要する時間を調整できるので、例えば、表示に必要な場合は更新時間が短くなるように更新する区画の数を減らすことで、表示に要する時間への影響を抑えることができる。
上記ナビゲーション部は、上記地図読込部により読込まれた地図情報に基づいて、表示部に地図を表示するナビゲーションを行い、上記地図更新部は、上記ナビゲーション部により表示される対象の区画(例えば、表示領域270に係る区画)に基づいて、上記複数の区画のうち一度に更新する区画の数を変更することが望ましい。
上記構成によれば、フォアグラウンドに係る区画とバックグラウンドに係る区画とで、一度に更新する区画の数を変更できるので、例えば、フォアグラウンドに係る区画の地図情報を更新してから、バックグラウンドに係る区画の地図情報を更新することで、地図を更新しているときのナビゲーションの性能を向上することができる。
上記地図更新部は、上記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画(例えば、レベル1の階層250が表示されているときは表示領域270に係るパーセルは、パーセル「P1-11」、「P1-12」、「P1-15」、「P1-16」、・・・、レベル2の階層260が表示されているときは表示領域270に係るパーセルは、パーセル「P2-1」、「P2-2」、「P2-5」、「P2-6」)が上記複数の区画に含まれていないと判定した場合(なお、判定方法としては、更新地点と表示地点の距離Lと閾値Mとを比較する方法であってもよいし、表示領域270と複数の区画との重なりを判定する方法であってもよいし、その他の方法であってよい。)、上記複数の区画の地図情報を一括で更新する第1の更新処理(例えば、図11または図17に示す地図更新処理A)を行い、上記所定の区画が上記複数の区画に含まれていると判定した場合、上記複数の区画の地図情報を区画ごとに更新する第2の更新処理(例えば、図12または図18に示す地図更新処理B)を行うことが望ましい。
上記構成によれば、例えば、バックグラウンドに係る区画の地図情報を一度に更新することで、更新に係る時間を短縮し、フォアグラウンドに係る区画の地図情報から更新することで、表示に係る時間を短縮できるので、ナビゲーションの性能を向上することができる。
上記地図更新部は、上記第2の更新処理では、上記複数の区画のうち上記表示領域の中心に近い区画の地図情報から更新を行うと共に、地図情報を更新するごとに更新が完了したことを示す更新完了情報を上記地図読込部に通知し、上記地図読込部は、上記地図更新部から更新完了情報を受信すると、更新された区画の地図情報を読込むことが望ましい。
上記構成によれば、表示領域に係る区画の地図情報から更新されるので、例えば、表示に係る時間を短縮できるようになる。また、表示領域に近くの区画の地図情報から更新されるので、ユーザによりスクロール操作が行われる場合でも、例えば、スクロール後に必要になる区画の地図情報を迅速に表示することができるようになる。
上記複数の区画は、詳細な地図を表示するための第1の階層(例えば、レベル1の階層250)に属する複数の第1の区画(例えば、パーセル「P1-1」~「P1-16」)と、上記第1の階層よりも広域な地図を表示するための第2の階層(例えば、レベル2の階層260)に属する上記複数の第1の区画に対応する1つの第2の区画(パーセル「P2-1」)とにより構成され、上記地図更新部は、上記第2の更新処理では、上記所定の区画が上記第1の階層に属する区画である場合、上記複数の第1の区画の地図情報を更新してから上記1つの第2の区画の地図情報を更新することが望ましい。
上記構成によれば、上記構成によれば、表示領域に係る第1の区画の地図情報から更新されるので、例えば、表示に係る時間を短縮できるようになる。
上記地図更新部は、上記表示領域の中心座標と上記1つの第2の区画の中心座標との距離と、閾値とを比較し、上記所定の区画が上記複数の区画に含まれているか否かを判定することが望ましい。
上記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を上記地図更新部に要求し、上記地図更新部は、上記地図読込部からの要求に基づいて、地図配信サーバから上記目的地の区画を含む複数の区画の地図情報を取得し、取得した地図情報を用いて上記第2の更新処理を行い、上記第2の更新処理では、上記目的地の区画の地図情報の更新を行い、更新が完了したことを示す更新完了情報を上記地図読込部に通知し、上記地図読込部は、上記地図更新部から更新完了情報を受信すると、上記目的地の区画の地図情報を読込み、読込んだ地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から地図情報を受信すると、上記地図情報を上記表示部に表示することが望ましい。
目的地が入力された場合、目的地の地図を更新して表示する必要がある。この点、上記構成によれば、表示に必要な目的地の区画の地図情報が優先的に更新されるので、目的地の地図を迅速に表示することができる。
上記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を上記地図更新部に要求する前に、上記記憶部から上記目的地の区画の地図情報である未更新地図情報を読込み、読込んだ未更新地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から未更新地図情報を受信すると、上記未更新地図情報を上記表示部に表示し、上記地図読込部から上記地図配信サーバで記憶される上記目的地の区画の地図情報である更新地図情報を受信すると、上記表示部に表示している上記未更新地図情報を上記更新地図情報に切り替えることが望ましい。
上記構成によれば、目的地の最新の地図を表示するまでの間は、旧地図を表示することができる。
上記ナビゲーション部は、現在地から目的地までの経路を計算する際、上記地図読込部に経路の計算に用いる区画の地図情報を要求し、上記地図読込部は、上記地図読込部からの要求に基づいて、上記経路の計算に用いる区画の地図情報を上記地図更新部に要求し、上記地図更新部は、上記地図読込部からの要求に基づいて、地図配信サーバから上記経路の計算に用いる区画の地図情報を取得し、取得した地図情報を用いて上記第1の更新処理を行い、上記地図読込部は、上記地図更新部により更新された上記経路の計算に用いる区画の地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から上記地図情報を受信すると、上記地図情報に基づいて上記経路の計算を行うことが望ましい。
上記構成によれば、現在地から目的地までの経路の計算に用いる区画は、表示しない区画であるので、一括で更新することにより、例えば、更新に係る時間を短縮でき、経路の計算に係る時間を低減することができる。
上記記憶部に記憶される各区画の地図情報は、複数のデータベース(例えば、背景DB1401、道路DB1402、形状DB1403)に分割されて格納され、上記地図読込部は、上記地図更新部により更新された更新済みの区画の地図情報を読込む際、上記複数のデータベースのうちの一のデータベースに格納される区画の地図情報が更新されているとき、上記一のデータベースとは異なる上記複数のデータベースのうちの他のデータベースに格納される上記更新済みの区画の地図情報を読込むことが望ましい。
上記構成では、例えば、一のデータベースの読込み(リード)と更新(ライト)との衝突を回避することで、ナビゲーションの性能を向上させることができる。
上記地図読込部は、上記一のデータベースに格納される上記更新済みの区画の地図情報を最後に読込むことが望ましい。
上記構成によれば、例えば、一のデータベースの更新に要する時間が残りのデータベースの読込みに要する時間よりも長い場合、一のデータベースの読込みの待ち時間を最大限に短くすることができる。
上記地図更新部は、上記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画が上記複数の区画に含まれていないと判定した場合、上記複数の区画の地図情報をデータベースごとに一括で更新する第1の更新処理を行い、上記所定の区画が上記複数の区画に含まれていると判定した場合、上記複数の区画の地図情報をデータベースごと、かつ、区画ごとに更新する第2の更新処理を行うことが望ましい。
上記構成によれば、例えば、バックグラウンドに係る区画の地図情報をデータベースごとに一度に更新することで、更新に係る時間を短縮しつつ、フォアグラウンドに係る区画の地図情報をデータベースのごとに更新し、更新していないデータベースから更新済みの区画の読込みを行うことで、表示に係る時間を更に短縮できるので、ナビゲーションの性能を更に向上することができる。
上記構成によれば、地図情報を適切に更新することができる。