(57)【要約】【課題】情報処理装置の進行する方位を迅速に検出できるとともに、電子コンパスの外部干渉による影響を低減できるコンピュータプログラムを提供する。【解決手段】複数の異なる時刻において、各時刻における情報処理装置１の現在位置を検出するステップと、検出された各時刻における情報処理装置の現在位置を示す位置データを記憶するステップと、記憶されている位置データに基づいて、情報処理装置が進行している第２の方位を算出するステップと、第２の方位を反映させて、地図データに基づく地図画像をディスプレイに表示させるとともに、地図画像上に情報処理装置の現在位置を表示させるステップと、所定の表示切替条件が満たされたか否かの判定を行うステップとが実現され、判定ステップによって表示切替条件が満たされたと判定された場合には、第２の方位が反映されてディスプレイ上に表示されている地図画像を、第１の方位を反映させた表示に切替る。【選択図】図２
2011169631.tif 000002
【特許請求の範囲】
【請求項１】
第１の方位を検出する電子コンパスと、ディスプレイと、前記ディスプレイに地図画像を表示するための地図データが記憶される地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、
前記情報処理装置に実行されると、
複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、
前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、
前記位置データ手段に記憶されている位置データに基づいて、前記情報処理装置が進行している第２の方位を算出するステップと、
前記第２方位算出ステップが算出した第２の方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記情報処理装置の現在位置を表示させる表示制御ステップと、
所定の表示切替条件が満たされたか否かの判定を行うステップと、が実現され、
前記判定ステップによって前記表示切替条件が満たされたと判定された場合には、前記表示制御ステップは、前記第２の方位が反映されて前記ディスプレイ上に表示されている地図画像を、前記第１の方位を反映させた表示に切替ることを特徴とするコンピュータプログラム。
【請求項２】
前記位置データ記憶手段に記憶されている位置データに基づいて、前記情報処理装置の移動速度を算出するステップがさらに実現され、
前記表示切替条件は、前記情報処理装置の移動速度が閾値以下であるか否かであって、
前記判定ステップによって、前記移動速度が閾値以下であると判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替る、請求項１に記載のコンピュータプログラム。
【請求項３】
前記表示切替条件は、前記情報処理装置の現在位置が高速道路上にないか否かであって、
前記判定ステップによって、前記現在位置が高速道路上にないと判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替る、請求項１に記載のコンピュータプログラム。
【請求項４】
前記条件は、所定時間以内に、前記情報処理装置の前記第２の方位が閾値以上変化したか否かであって、
前記判定ステップによって、所定時間以内に、前記情報処理装置の前記第２の方位が閾値以上変化したと判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替る、請求項１に記載のコンピュータプログラム。
【請求項５】
前記情報処理装置の出発地から目的地までのルートを検索するステップと、
前記ルート検索ステップによって検索されたルート内において、所定角度以上ルートが曲がる屈曲ポイントを抽出するステップと、がさらに実現され、
前記表示切替条件は、移動する情報処理装置の現在位置が屈曲ポイント周辺であるか否かであって、
前記判定ステップによって、前記情報処理装置の現在位置が前記抽出ステップによって抽出された屈曲ポイント周辺であると判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替る、請求項１に記載のコンピュータプログラム。
【請求項６】
第１の方位を検出する電子コンパスと、ディスプレイと、前記ディスプレイに地図画像を表示するための地図データが記憶された地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、
前記情報処理装置に実行されると、
複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、
前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、
前記位置データ手段に記憶されている位置データに基づいて、前記情報処理装置が進行している第２の方位を算出するステップと、
前記第２方位算出ステップが算出した第２の方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記情報処理装置の現在位置を表示させるステップと、
前記位置検出ステップが、第１の時刻より後、所定時間以上継続して現在位置を検出できないとき、第１の時刻よりも前の位置データ及び移動速度に基づいて前記情報処理装置の現在位置を予測するステップと、
第１の時刻以前に電子コンパスが検出した第１の方位と第１の時刻より後に電子コンパスが検出した第１の方位との変化量が所定量以下であるか否かを判定するステップと、が実現され、
前記判定ステップによって、前記第１の時刻以前に前記電子コンパスが検出した第１の方位と前記第１の時刻以降に前記電子コンパスが検出した第１の方位との変化量が所定量以下であると判定された場合には、前記表示制御ステップは、前記予測ステップにより予測された前記情報処理装置の現在位置を前記ディスプレイの地図画像上に表示させることを特徴とするコンピュータプログラム
【請求項７】
第１の方位を検出する電子コンパスと、ディスプレイと、当該ディスプレイに地図画像を表示するための地図データが記憶される地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、
前記情報処理装置に実行されると、
複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、
前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、
リンクマッチングを行うステップと、
前記リンクマッチングステップが第１の時刻の現在位置をマッチングさせた第１のリンクと、前記リンクマッチングステップが、第１の時刻より後の第２の時刻の現在位置をマッチングさせた第２のリンクとが連続していないとき、第１の時刻と第２の時刻との間に前記電子コンパスが検出した方位に基づいて、第２のリンクに対するマッチングの正否を判定するステップと、
前記正否判定ステップの判定結果に基づいて、前記リンクマッチングステップによるリンクマッチングの結果を修正するステップと、
前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記リンクマッチングステップ及びリンクマッチング修正ステップによる処理結果に基づいて、前記地図画像上に前記情報処理装置の現在位置を表示させるステップと、が実現されることを特徴とするコンピュータプログラム。
【請求項８】
第１の方位を検出する電子コンパスと、ディスプレイと、前記ディスプレイに地図画像を表示するための地図データが記憶される地図データ記憶手段と、を備えた情報処理装置に地図を表示させる方法であって、
複数の異なる時刻において、各時刻における前記地図表示装置の位置を検出するステップと、
前記位置検出ステップによって検出された各時刻における前記地図表示装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、
前記位置データ手段に記憶されている位置データに基づいて、前記地図表示装置が進行している第２の方位を算出するステップと、
前記第２方位算出ステップが算出した第２の方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記地図表示装置の現在位置を表示させるステップと、
所定の表示切替条件が満たされたか否かの判定を行うステップと、が実行され、
前記判定ステップによって前記表示切替条件が満たされたと判定された場合には、前記表示制御ステップは、前記第２の方位が反映されて前記ディスプレイ上に表示されている地図画像を、前記第１の方位を反映させた表示に切替ることを特徴とする方法。
【請求項９】
地図表示装置であって、
ディスプレイと、
第１の方位を検出する電子コンパスと、
前記ディスプレイに地図画像を表示するための地図データが記憶される手段と、
複数の異なる時刻において、各時刻における前記地図表示装置の現在位置を検出する位置検出手段と、
前記検出手段によって検出された各時刻における前記地図表示装置の現在位置を示す位置データを記憶する記憶手段と、
前記記憶手段に記憶されている位置データに基づいて、前記地図表示装置が進行している第２の方位を算出する第２方位算出手段と、
前記第２方位算出手段が算出した第２方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記地図表示装置の現在位置を表示させる表示制御手段と、
所定の表示切替条件が満たされたか否かの判定を行う判定手段と、を備え、
前記判定手段によって前記表示切替条件が満たされたと判定された場合には、前記表示制御手段は、前記第２の方位が反映されて前記ディスプレイ上に表示されている地図画像を、前記第１の方位を反映させた表示に切替ることを特徴とする地図表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、特に汎用性のある可搬型情報処理装置で実行される地図データを処理するためのコンピュータプログラム、方法及び地図表示装置に関する。
【背景技術】
【０００２】
従来、地図表示装置として、例えば、カーナビゲーション装置やＰＮＤ(Personal/Portable Navigation Device)等が知られている。
【０００３】
カーナビゲーション装置やＰＮＤのような専用の地図表示装置では、ＧＰＳ(Global
Positioning System)等によって位置を検出するだけでなく、加速度センサによる加速度、ジャイロコンパスによる車両の回転角度等を検出している。これにより、車両の現在位置を道路上に一致させるリンクマッチング、車両の進行方向が上になるように地図を表示させるヘディングアップ表示等、できる限り正確な車両位置を地図上に表示するとともに、車両が進行する方位を迅速に地図上に反映させていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
他方、近年では、携帯電話機に代表される汎用型の情報処理装置であっても、地図データを処理するためのコンピュータプログラムを実現できる機種がある。これらの機種は、ＧＰＳ機能に代表されるような位置検出機能を有する。しかし、これらの情報処理装置は、上述したような専用の地図表示装置ではないため、加速度センサ及びジャイロコンパス等の自律センサを全く搭載していない簡易なものも多い。このような汎用型の情報処理装置では、情報処理装置が進行する方位の検出をも位置情報に基づいて行わなければならなかった。従ってこの場合、検出した複数の位置と、各位置を検出した時刻とから進行する方位を算出していた。このため、正しい方位を地図上に反映するのに非常に時間がかかるという問題が生じた。
【０００５】
上記の問題について、正しい方位を迅速に検出するために、汎用型の情報処理装置で実現される地図データを処理するためのコンピュータプログラムにおいて、電子コンパスが検出する方位を適用させようと、発明者は試みた。携帯電話機等の汎用型の情報処理装置には、すでに電子コンパスが搭載されている機種もある。このため、地図表示プログラムに電子コンパスで検出される方位を適用するのは非常に簡易だからである。電子コンパスとは、半導体を用いた地磁気センサ（方位センサ）を内蔵した装置であって、地球が生じている南北の地磁気信号を検出して、地磁気信号から電子コンパスの向き（方位）を算出する機能を有するものである。電子コンパスには、Ｘ，Ｙの２軸から方位を検出するものと、Ｘ、Ｙ、Ｚの３軸から方位を検出するものとがある。
【０００６】
しかし、電子コンパスは、外部干渉を受けやすく非常に不安定である。特に、鉄橋や大型のトラックなどの障害物の傍では、電子コンパスによって検出される方位の精度は非常に悪い。従って、ＧＰＳ受信信号による位置と電子コンパスによる方位とを単に併用したのでは、情報処理装置が障害物の傍を通る度に、ディスプレイ上の地図の方位が激しく変化する等の不具合が起こるという課題が生じた。
【０００７】
本発明は、情報処理装置の進行する方位を迅速に検出できるとともに、電子コンパスの外部干渉による影響を低減できるコンピュータプログラム、方法及び地図表示装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一つの実施態様に従うコンピュータプログラムは、第１の方位を検出する電子コンパスと、ディスプレイと、前記ディスプレイに地図画像を表示するための地図データが記憶される地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、前記情報処理装置に実行されると、複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、前記位置データ手段に記憶されている位置データに基づいて、前記情報処理装置が進行している第２の方位を算出するステップと、前記第２方位算出ステップが算出した第２の方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記情報処理装置の現在位置を表示させる表示制御ステップと、所定の表示切替条件が満たされたか否かの判定を行うステップと、が実現され、前記判定ステップによって前記表示切替条件が満たされたと判定された場合には、前記表示制御ステップは、前記第２の方位が反映されて前記ディスプレイ上に表示されている地図画像を、前記第１の方位を反映させた表示に切替ることを特徴とする。
【０００９】
好適な実施態様では、前記位置データ記憶手段に記憶されている位置データに基づいて、前記情報処理装置の移動速度を算出するステップがさらに実現され、前記表示切替条件は、前記情報処理装置の移動速度が閾値以下であるか否かであって、前記判定ステップによって、前記移動速度が閾値以下であると判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替てもよい。
【００１０】
好適な実施態様では、前記表示切替条件は、前記情報処理装置の現在位置が高速道路上にないか否かであって、前記判定ステップによって、前記現在位置が高速道路上にないと判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替てもよい。
【００１１】
好適な実施態様では、前記条件は、所定時間以内に、前記情報処理装置の前記第２の方位が閾値以上変化したか否かであって、前記判定ステップによって、所定時間以内に、前記情報処理装置の前記第２の方位が閾値以上変化したと判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替てもよい。
【００１２】
好適な実施態様では、前記情報処理装置の出発地から目的地までのルートを検索するステップと、前記ルート検索ステップによって検索されたルート内において、所定角度以上ルートが曲がる屈曲ポイントを抽出するステップと、がさらに実現され、前記表示切替条件は、移動する情報処理装置の現在位置が屈曲ポイント周辺であるか否かであって、前記判定ステップによって、前記情報処理装置の現在位置が前記抽出ステップによって抽出された屈曲ポイント周辺であると判定された場合には、前記表示制御ステップは、前記ディスプレイ上に、前記第２の方位に基づいてヘディングアップ表示されている地図画像を、前記第１の方位に基づくヘディングアップ表示に切替てもよい。
【００１３】
本発明の別の実施態様に従うコンピュータプログラムは、第１の方位を検出する電子コンパスと、ディスプレイと、前記ディスプレイに地図画像を表示するための地図データが記憶された地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、前記情報処理装置に実行されると、複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、前記位置データ手段に記憶されている位置データに基づいて、前記情報処理装置が進行している第２の方位を算出するステップと、前記第２方位算出ステップが算出した第２の方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記情報処理装置の現在位置を表示させるステップと、前記位置検出ステップが、第１の時刻より後、所定時間以上継続して現在位置を検出できないとき、第１の時刻よりも前の位置データ及び移動速度に基づいて前記情報処理装置の現在位置を予測するステップと、第１の時刻以前に電子コンパスが検出した第１の方位と第１の時刻より後に電子コンパスが検出した第１の方位との変化量が所定量以下であるか否かを判定するステップと、が実現され、前記判定ステップによって、前記第１の時刻以前に前記電子コンパスが検出した第１の方位と前記第１の時刻以降に前記電子コンパスが検出した第１の方位との変化量が所定量以下であると判定された場合には、前記表示制御ステップは、前記予測ステップにより予測された前記情報処理装置の現在位置を前記ディスプレイの地図画像上に表示させることを特徴とする。
【００１４】
本発明のさらに別の実施態様に従うコンピュータプログラムは、第１の方位を検出する電子コンパスと、ディスプレイと、当該ディスプレイに地図画像を表示するための地図データが記憶される地図データ記憶手段と、を備えた情報処理装置で実行される地図データを処理するためのコンピュータプログラムであって、前記情報処理装置に実行されると、複数の異なる時刻において、各時刻における前記情報処理装置の現在位置を検出するステップと、前記位置検出ステップによって検出された各時刻における前記情報処理装置の現在位置を示す位置データを位置データ記憶手段に記憶するステップと、リンクマッチングを行うステップと、前記リンクマッチングステップが第１の時刻の現在位置をマッチングさせた第１のリンクと、前記リンクマッチングステップが、第１の時刻より後の第２の時刻の現在位置をマッチングさせた第２のリンクとが連続していないとき、第１の時刻と第２の時刻との間に前記電子コンパスが検出した方位に基づいて、第２のリンクに対するマッチングの正否を判定するステップと、前記正否判定ステップの判定結果に基づいて、前記リンクマッチングステップによるリンクマッチングの結果を修正するステップと、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記リンクマッチングステップ及びリンクマッチング修正ステップによる処理結果に基づいて、前記地図画像上に前記情報処理装置の現在位置を表示させるステップと、が実現されることを特徴とする。
【００１５】
本発明の一の実施態様に従う地図表示装置は、ディスプレイと、第１の方位を検出する電子コンパスと、前記ディスプレイに地図画像を表示するための地図データが記憶される手段と、複数の異なる時刻において、各時刻における前記地図表示装置の現在位置を検出する位置検出手段と、前記検出手段によって検出された各時刻における前記地図表示装置の現在位置を示す位置データを記憶する記憶手段と、前記記憶手段に記憶されている位置データに基づいて、前記地図表示装置が進行している第２の方位を算出する第２方位算出手段と、前記第２方位算出手段が算出した第２方位を反映させて、前記地図データに基づく地図画像をディスプレイに表示させるとともに、前記地図画像上に前記地図表示装置の現在位置を表示させる表示制御手段と、所定の表示切替条件が満たされたか否かの判定を行う判定手段と、を備え、前記判定手段によって前記表示切替条件が満たされたと判定された場合には、前記表示制御手段は、前記第２の方位が反映されて前記ディスプレイ上に表示されている地図画像を、前記第１の方位を反映させた表示に切替ることを特徴とする。
【図面の簡単な説明】
【００１６】
【図１】本発明の好適な実施形態に係るコンピュータプログラムがインストールされた地図表示装置の概念図である。
【図２】図１の地図表示装置の構成図である。
【図３】図２の位置ＤＢ内のデータ構造の一例を示す図である。
【図４】図２の第１方位ＤＢ内のデータ構造の一例を示す図である。
【図５】第一の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【図６】第二の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【図７】第三の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【図８】第四の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【図９】位置予測機能を説明する説明図である。
【図１０】第五の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【図１１】リンクマッチング及びリンクマッチング修正機能を説明する説明図である。
【図１２】図２のマッチング記憶部内のデータ構造の一例を示す図である。
【図１３】第六の表示切替条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施形態に係る携帯電話機に実現される地図表示装置について説明する。本実施形態に係る地図表示装置１は、携帯電話機に、所定のコンピュータプログラムをインストールすることにより実現される。地図表示装置１を実現するには、携帯電話機に限らず他の汎用性のある情報処理装置を用いてもよい。本実施形態にあっては、携帯電話機には、カーナビゲーションプログラムがインストールされる。しかしながら、インストールされるプログラムは、例えば歩行者用のナビゲーションプログラム等でもよいし、ナビゲーションプログラムではなく、単に現在位置を検出し地図上に表示するプログラムであってもよい。
【００１８】
図１は、本実施形態に係る地図表示装置１の概念図である。例えば、地図表示装置１は、ＧＰＳ衛星２からのＧＰＳ信号を受信する受信機６を備えてもよい。地図表示装置１は、例えば、車両３のインストルメントパネル上に専用のフォルダを設けることで車両３に着脱自在に固定されてもよい。また例えば、地図表示装置１は、ユーザ（例えば助手席の人）が手で持っていてもよい。
【００１９】
図２は、地図表示装置１の構成図である。
【００２０】
地図表示装置１は、地図データ処理部４、ディスプレイ５、受信機６、電子コンパス７、入力部８及び地図情報データベース（以下、地図情報ＤＢという）９を備える。地図データ処理部４は、携帯電話機の図示しないプロセッサ及びメモリを用いて所定のプログラムを実行することにより実現される。
【００２１】
受信機６は、複数のＧＰＳ衛星２からＧＰＳ信号を受信する。受信機６は、受信したＧＰＳ信号を地図データ処理部４の演算処理部１１へ通知する。
【００２２】
電子コンパス７は方位を検出する。例えば図１において、電子コンパス７は、地図表示装置１の上側がどちらの方位を向いているかを検出するようにしてもよい。以下、電子コンパス７が検出する方位を第１方位という。例えば、電子コンパス７は、検出した第１方位を後述する地図データ処理部４の判定部１５に通知する。電子コンパスはまた、検出した第１方位を検出時刻とともに、後述する地図データ処理部４の第１方位データベース（以下、第１方位ＤＢという）２０に記憶する。
【００２３】
ディスプレイ５は、地図表示装置１が備える周知のディスプレイ５であって、ディスプレイ５上のアイコン等を指等で操作できるタッチパネルのような形態も含む。ディスプレイ５には、後述する表示制御部１３によって、地図画像及び地図表示装置１の現在位置等が表示される。
【００２４】
入力部８には、ユーザによって、目的地やスタート地点が入力される。入力部８への入力は、地図表示装置１のボタンによる操作や、タッチパネル形態のディスプレイ５からの操作によって行われる。入力部８から入力された情報は、後述する地図データ処理部４のルート検索部１６へ送信される。
【００２５】
地図情報ＤＢ９には、ディスプレイ５上に地図画像を表示するための地図データが記憶される。地図情報ＤＢ９には、例えば、ネットワークを通じて取得された地図データが一時的に記憶されてもよいし、また例えば、日本道路地図のように所定地域の地図データが常に格納されていてもよい。
【００２６】
地図データ処理部４は、取得部１０、演算処理部１１、位置データベース（以下、位置ＤＢという）１２、表示制御部１３、条件記憶部１４及び判定部１５を備える。地図データ処理部４はまた、ルート検索部１６、抽出部１７、位置予測部１８、マッチング処理部１９、第１方位ＤＢ２０、移動角度算出部２１、監視部２２及びマッチング記憶部２３を備えてもよい。地図データ処理部４内の各構成要素を以下に説明する。
【００２７】
取得部１０は、ディスプレイ５に地図画像を表示するために、現在位置周辺の地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。取得部１０は、現在位置周辺の地図データを地図情報ＤＢ９から取得するため、現在時刻３１の位置データ３２（図３参照）を位置ＤＢ１２から取得してもよい。この場合、例えば、取得部１０は現在位置を中心とした周辺地図データを取得してもよい。また、現在位置周辺の地図画像がディスプレイ５に表示されている場合等は、取得部１０は、表示されている画像の地図データと、現在位置を中心とした周辺地図データとの差分のみを取得してもよい。
【００２８】
図３は、位置ＤＢ１２内のデータ構造の一例である位置データテーブル３０を示した図である。位置データテーブル３０は、そのデータ構造として、時刻３１と、その時刻の地図表示装置１の位置データ３２としての緯度データ３２ａ及び経度データ３２ｂと、地図表示装置１の移動速度３３と、地図表示装置１の第２方位３４とを有する。詳細は後述する。
【００２９】
演算処理部１１は、複数の異なる時刻において、各時刻における地図表示装置１の現在位置を検出する。例えば、演算処理部１１は、受信機６から通知されたＧＰＳ信号から、地図表示装置１の現在位置を検出してもよい。現在位置は、例えば、ＧＰＳ信号から算出した地図表示装置１の現時点の緯度データ３２ａ・経度データ３２ｂを含む位置データ３２である。
演算処理部１１はまた、各時刻における地図表示装置１の現在位置を示す位置データ３２を位置ＤＢ１２に記憶する。例えば、演算処理部１１は、検出した位置データ３２を、その位置データ３２を検出した時刻３１とともに位置ＤＢ１２に記憶してもよい。
【００３０】
演算処理部１１は、位置ＤＢ１２に記憶されている位置データ３２に基づいて、地図表示装置１の移動速度３３を算出する。演算処理部１１は、位置ＤＢ１２を参照し、複数の位置データ３２と、それら位置データ３２の各検出時刻３１とから、地図表示装置１の移動速度３３を算出してもよい。例えば、演算処理部１１は、ある時刻の位置データ３２及びその検出時刻３１と、それ以前に検出された一つ以上の位置データ３２及びその検出時刻３１と、に基づいて移動速度３３を算出する。また例えば、演算処理部１１は、算出した移動速度３３を位置ＤＢ１２に記憶する。図３にあっては、演算処理部１１は、検出時刻３１が「１７：００：００」のときの位置データ３２と、検出時刻３１が「１７：００：０２」のときの位置データ３２とからこの間の移動速度３３を算出し、算出された移動速度３３「３０ｋｍ／ｈ」を、時刻３１が「１７：００：０２」のときの移動速度３３として記憶している。
【００３１】
演算処理部１１は、位置ＤＢ１２に記憶されている位置データ３２に基づいて、地図表示装置１が進行している方位を算出する。演算処理部１１は、位置ＤＢ１２を参照し、複数の位置データ３２と、それら位置データ３２の各検出時刻３１とから、地図表示装置１の進行した方位を算出してもよい。以降、演算処理部１１によって算出される方位を、第２方位３４と呼ぶ。例えば、演算処理部１１は、ある時刻の位置データ３２及びその検出時刻３１と、それ以前に検出された一つ以上の位置データ３２及びその検出時刻３１とに基づいて第２方位３４を算出する。第２方位３４は、例えば北を基準（０度）として全方位３６０度で算出してもよい。また例えば、演算処理部１１は、算出した地図表示装置１の第２方位３４を位置ＤＢ１２に記憶する。図３にあっては、演算処理部１１は、検出時刻３１が「１７：００：００」のときの位置データ３２と、検出時刻３１が「１７：００：０２」のときの位置データ３２とから第２方位３４を算出し、算出された第２方位「１８０°」を、時刻３１が「１７：００：０２」のときの第２方位３４として記憶している。
【００３２】
第１方位ＤＢ２０には、電子コンパス７から通知された第１方位が、第１方位の検出時刻とともに記憶される。図４は、第１方位ＤＢ２０のデータ構造の一例としての第１方位テーブル４０である。第１方位テーブル４０は、そのデータ構造として、電子コンパス７が検出した第１方位４４と、第１方位が検出された時刻４１とを有する。第２方位４４は、例えば北を基準（０度）として全方位３６０度で算出してもよい。
【００３３】
表示制御部１３は、演算処理部１１が算出した第２方位に反映させて、地図データに基づく地図画像をディスプレイ５に表示させるとともに、地図画像上に地図表示装置１の現在位置を表示させる。例えば、表示制御部１３は、取得部１０から受信した地図データに基づき、ディスプレイ５に地図画像を表示する。さらに例えば、表示制御部１３は、位置ＤＢ１２から現在時刻３１における位置データ３２を取得し、地図表示装置１の現在位置を、地図画像に順次表示する。これにより、地図表示装置１の移動の軌跡が地図画像上に表示されようにしてもよい。なお、表示制御部１３が地図画像を表示するために取得する現在位置の位置データは、演算処理部１１から通知された最新の時刻における位置データであってもよい。
表示制御部１３は、また、演算処理部１１で算出された第２方位３４を地図画像に反映させる。第２方位３４の地図画像への反映は、例えば、第２方位３４に基づくヘディングアップ表示によって行われる。
【００３４】
表示制御部１３はまた、後述する判定部１５の判定結果に基づき、第２方位が反映されてディスプレイ５上に表示されている地図画像を、電子コンパスが検出した第１方位を反映させた表示に切替る。例えば、表示制御部１３は、判定部１５から、所定の切替表示条件を満たしているという判定結果が通知された場合には、第１方位ＤＢ２０から現在若しくは最新の第１方位４４を取得し、これに基づいたヘディングアップ表示に切替る。
【００３５】
条件記憶部１４には、表示切替条件が記憶される。表示切替条件は、例えば、判定部１５が判定する際の条件である。表示切替条件は、移動速度に基づいた条件や移動方向の変化に基づく条件であってもよい。例えば、表示切替条件は、「移動速度が閾値以下であるか否か」、「現在位置が高速道路上であるか否か」、「所定時間以内に、地図表示装置１の進行する方位が閾値以上変化したか否か」、「現在位置が屈曲ポイント周辺あるであるか否か」等のように設定してもよい。条件記憶部１４に記憶される条件は予め登録しておいてもよいし、使用の都度登録してもよい。また、登録してある条件の中から、ユーザが使用の際に適宜選択してもよい。
【００３６】
判定部１５は、表示切替条件が満たされたか否かの判定を行う。例えば、判定部１５は、条件記憶部１４内の一または複数の条件が満たされたか否かの判定を行う。このとき、判定部１５は、表示切替条件に応じて、必要なデータ等を取得してもよい。例えば、「移動速度が閾値以下であるか否か」という条件を満たしたか否かの判定を行う場合には、判定部１５は、位置ＤＢ１２内の位置データテーブル３０を参照し、現在の移動速度３３を取得する。そして、判定部１５は、現在の移動速度３３が、閾値として設定されている時速（または分速や秒速）以下か否かを判定する。判定部１５は、判定結果を表示制御部１３に通知する。
【００３７】
判定部１５によって、表示切替条件が満たされたと判定された場合には、表示制御部１３は、演算処理部１１が算出した第２方位３４が反映されてディスプレイ５上に表示されている地図画像を、電子コンパス７が検出した第１方位を反映した表示に切替る。例えば、判定部１５から「条件が満たされた」との通知をうけた場合には、表示制御部１３は、第２方位３４に基づいたヘディングアップ表示されている地図画像を、第１方位に基づくヘディングアップ表示に切替るようにしてもよい。
【００３８】
次に、本実施形態に係る地図表示装置１の動作を説明する。
【００３９】
本実施形態においては、カーナビゲーションプログラムを実行することにより、ディスプレイ５上に現在位置周辺の地図を表示する地図表示機能、ディスプレイ５に表示された地図上に現在位置を表示する現在位置表示機能、検出された現在位置のずれを補正するリンクマッチング機能、出発地点から目的地までのルートを検索するルート検索機能、検索したルートに添ってナビゲーションを行うナビゲーション機能等の主要機能が地図表示装置１で実現される。これに加えて、カーナビゲーションプログラムを実行することによって、ヘディングアップ機能、位置予測機能、リンクマッチング修正機能等の種々の機能を地図表示装置１で実現するようにしてもよい。
【００４０】
以下には、本実施形態に係る地図表示装置１の動作を、ヘディングアップ機能、位置予測機能、リンクマッチング修正機能という種々の機能ごとに説明する。
【００４１】
まず、ヘディングアップ機能を備えた地図表示装置１について以下に説明する。以下の説明では、判定部１５が判定する表示切替条件毎に、各々の動作を図５〜図８のフローチャートを参照して説明する。
【００４２】
一般に、車両３の移動速度は、交差点の付近等、方向転換をなう前には所定値以下に低下するものと想定される。図５は、この想定のもと、表示切替条件として、「地図表示装置１の速度が閾値以下に低下するか否か」という条件が設定された場合の地図表示装置１の動作を示すフローチャートである。なお、本例では、閾値は時速５ｋｍ／ｈとするが、閾値はどのように設定してもよい。
【００４３】
図５のフローチャートは、地図表示装置１が起動してから終了するまでの間、所定間隔で行われる。
【００４４】
取得部１０は、現在位置の周辺地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。表示制御部１３は、取得部１０から受信した地図データに基づき地図画像をディスプレイ５に表示する（ステップＳ１０１）。
【００４５】
表示制御部１３は、位置ＤＢ１２を参照し、現在（最新）の位置データ３２に基づきディスプレイ５の地図画像上に現在位置を表示する（ステップＳ１０２）。
【００４６】
判定部１５は、位置ＤＢ１２から現在（最新）の移動速度３３を取得する（ステップＳ１０３）。
【００４７】
判定部１５は、条件記憶部１４内の切替表示条件を抽出する。ここでは、例えば、「速度が時速５ｋｍ／ｈ以下である」という条件が抽出される。そして、判定部１５は、ステップＳ１０３で位置ＤＢ１２から取得した現在（最新）の移動速度３３が、時速５ｋｍ／ｈ以下であるか否かを判定する（ステップＳ１０４）。
【００４８】
現在（最新）の移動速度３３が時速５ｋｍ／ｈ以下であった場合、すなわち条件が満たされた場合には（ステップＳ１０４：Ｙｅｓ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００４９】
通知を受けた表示制御部１３は、第１方位ＤＢ２０から現在（最新）時刻４１の第１方位４４を取得して、これに基づいてヘディングアップを行う。（ステップＳ１０５）。
【００５０】
一方、現在（最新）の移動速度３３が時速５ｋｍ／ｈより速い場合、すなわち条件が満たされなかった場合には（ステップＳ１０４：Ｎｏ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００５１】
通知を受けた表示制御部１３は、位置ＤＢ１２内の現在（最新）の第２方位３４を取得して、これに基づいてヘディングアップを行う（ステップＳ１０６）。
上記動作が行われることにより、地図表示装置１は、その移動速度３３が所定値（本例では５ｋｍ／ｈ）以下の場合のみ、電子コンパス７で検出された第１方位４４の適用によるヘディングアップ表示をおこなうことができる。地図表示装置１の移動速度３３が所定値以下のときには、上述したように交差点に進入したときである等、地図表示装置１が方向転換する可能性も高い。このため、迅速、かつ、外部干渉の多い電子コンパスによる第１方位を効率よく適用して、ヘディングアップ表示することが可能となる。
【００５２】
次に、ヘディングアップ機能を備えた地図表示装置１について、「地図表示装置１の現在位置が高速道路上にないか否か」という表示切替条件が設定された場合を説明する。なお、上記の構成要素について、その機能が追加される場合は以下に追記する。
【００５３】
判定部１５は、地図情報ＤＢ９から現在位置周辺の地図データを取得するとともに、取得した地図データに基づいて、地図上の道路が高速道路であるか一般道路等の高速道路以外の道路であるかを識別する。また判定部１５は、位置データ３２に基づいた現在位置が高速道路上にあるか否かを判定する。
【００５４】
図６は、表示切替条件として、「地図表示装置１の現在位置が高速道路上にないか否か」という条件が設定された場合の地図表示装置１の動作を示すフローチャートである。
【００５５】
図６のフローチャートは、地図表示装置１が起動してから終了するまでの間、所定間隔で行われる。
【００５６】
取得部１０は、現在位置の周辺地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。表示制御部１３は、取得部１０から受信した地図データに基づき地図画像をディスプレイ５に表示する（ステップＳ２０１）
【００５７】
表示制御部１３は、位置ＤＢ１２を参照し、現在（最新）の位置データ３２に基づきディスプレイ５の地図画像上に現在位置を表示する（ステップＳ２０２）。
【００５８】
判定部１５は、例えば、地図情報ＤＢ９から現在位置周辺の地図データを取得する（ステップＳ２０３）。
【００５９】
また、判定部１５は、位置ＤＢ１２から現在（最新）の位置データ３２を取得する（ステップＳ２０４）
【００６０】
さらに、判定部１５は、条件記憶部１４内の切替表示条件を抽出する。切替表示条件は、前述したように「地図表示装置１の現在位置が高速道路上にないか否か」である。そして、判定部１５は、ステップＳ２０４で取得した地図データと、ステップＳ２０４で取得した現在（最新）の位置データ３２とを比較し、現在位置が高速道路上にないか否かを判定する（ステップＳ２０５）。
【００６１】
現在位置が高速道路上にない場合、すなわち条件が満たされた場合には（ステップＳ２０５：Ｙｅｓ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００６２】
通知を受けた表示制御部１３は、第１方位ＤＢ２０から現在（最新）時刻４１の第１方位４４を取得して、これに基づいてヘディングアップを行う。（ステップＳ２０６）。
【００６３】
一方、現在位置が高速道路上にある場合、すなわち条件が満たされなかった場合には（ステップＳ２０５：Ｎｏ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００６４】
通知を受けた表示制御部１３は、位置ＤＢ１２内の現在の第２方位３４を取得して、これに基づいてヘディングアップを行う（ステップＳ２０７）。
上記動作が行われることにより、地図表示装置１は、その現在位置が高速道路以外の場合（一般道路上にある場合等）のみ、電子コンパス７で検出された第１方位４４の適用によるヘディングアップ表示をおこなうことができる。地図表示装置１は、高速道路を走行しているときよりも、それ以外の一般道路等を走行しているときのほうが方向転換する可能性が高い。このため、迅速、かつ、外部干渉の多い電子コンパスによる第１方位を効率よく適用して、ヘディングアップ表示することが可能となる。
【００６５】
次に、ヘディングアップ機能を備えた地図表示装置１について、「所定時間以内に、地図表示装置１の移動角度が閾値以上変化したか否か」という表示切替条件が設定された場合を説明する。なお、上記した構成要素について、その機能が追加される場合は以下に追記する。
【００６６】
移動角度算出部２１は、第１方位ＤＢ２０を参照し、複数の第１方位４４に基づいて地図表示装置１の移動角度を算出する。移動角度算出部２１は、例えば、第１ＤＢ２０内の直近の２つの第１方位４４に基づき、地図表示装置１の角度の差を算出してもよいし、直近から遡った複数個の第１方位と、それ以前の複数個の第１方位とを対比し、地図表示装置１の移動角度を検出してもよい。移動角度算出部２１は、例えば、算出した地図表示装置１の移動角度を判定部１５に通知する。
【００６７】
図７は、表示切替条件として、「所定時間以内に、地図表示装置１の移動角度が閾値以上変化したか否か」という条件が設定された場合の地図表示装置１の動作を示す例である。なお、本例では、所定時間を３秒、閾値を４５度とするが、時間及び閾値はどのように設定してもよい。
【００６８】
図７のフローチャートは、地図表示装置１が起動してから終了するまでの間、所定間隔で行われる。
【００６９】
取得部１０は、現在位置の周辺地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。表示制御部１３は、取得部１０から受信した地図データに基づき地図画像をディスプレイ５に表示する（ステップＳ３０１）。
【００７０】
表示制御部１３は、位置ＤＢ１２を参照し、現在（最新）の位置データ３２に基づきディスプレイ５の地図画像に現在位置を表示する（ステップＳ３０２）。
【００７１】
移動角度算出部２１は、例えば、第１方位ＤＢ２０を参照し、現在（最新）時刻４１の第１方位４４を取得するとともに、現在時刻４１との差が３秒以内の、１又は複数の時刻の第１方位４４を取得する。そして、移動角度算出部２１は、現在時刻４１の第１方位４４を基準として、他の第１方位４４がどれだけ変化したかを移動角度として算出する（ステップＳ３０３）。移動角度算出部２１は、算出した移動角度を判定部１５に通知する。
【００７２】
判定部１５は、条件記憶部１４内の切替表示条件を抽出する。切替表示条件は、前述したように「３秒以内に、地図表示装置１の移動角度が４５度以上変化したか否か」である。そして、判定部１５は、移動角度算出部２１から通知された角度が４５度以上か否かを判定する（ステップＳ３０４）。
【００７３】
移動角度が４５度以上変化した場合、すなわち条件が満たされた場合には（ステップＳ３０４：Ｙｅｓ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００７４】
通知を受けた表示制御部１３は、第１方位ＤＢ２０から現在（最新）時刻４１の第１方位４４を取得して、これに基づいてヘディングアップを行う。（ステップＳ３０５）。
【００７５】
一方、移動角度が４５度以上変化していない場合、すなわち条件が満たされなかった場合には（ステップＳ３０４：Ｎｏ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００７６】
通知を受けた表示制御部１３は、位置ＤＢ１２内の現在（最新）の第２方位３４を取得して、これに基づいてヘディングアップを行う（ステップＳ３０６）。
上記動作が行われることにより、地図表示装置１は、所定時間以内の移動角度が閾値以上変化した場合のみ、電子コンパス７で検出された第１方位４４の適用によるヘディングアップ表示をおこなうことができる。地図表示装置１の所定時間以内の移動角度が閾値以上変化したときというのは、交差点に進入した場合等、地図表示装置１が方向転換する可能性も高い。これにより、迅速、かつ、外部干渉の多い電子コンパスによる第１方位を効率よく適用して、ヘディングアップ表示することが可能となる。
【００７７】
次に、ヘディングアップ機能を備えた地図表示装置１について、「現在位置が抽出部１７によって抽出された屈曲ポイント周辺であるか否か」という表示切替条件が設定された場合を説明する。なお、上記した構成要素について、その機能が追加される場合は以下に追記する。
【００７８】
ルート検索部１６は、地図表示装置１の出発地から目的地までのルートを検索する。出発地は、例えば現在位置であってもよいし、また例えばユーザ設定したスタート地点であってもよい。ルート検索部１６は、検索したルートを表示制御部１３及び抽出部１７へ通知する。
【００７９】
表示制御部１３は、ルート検索部１６からルートが通知されたときには、通知のあったルートを、ディスプレイ５上の地図画像に反映する。
【００８０】
抽出部１７は、ルート検索部１６が通知したルートを受信する。抽出部１７は、受信したルート内において、所定角度以上ルートが曲がる屈曲ポイントの位置データを抽出する。抽出部１７は、例えば、ルート検索部１６によって検索されたスタート地点（または現在地）から目的地までのルート内において屈曲ポイントがあった場合に、それら屈曲ポイントを抽出する。屈曲ポイントは、交差点、湾曲した道等、ルートが所定角度以上屈曲するポイントである。例えば、屈曲ポイントは、直進を０度としたとき、地図データ中でノードを介して連続するリンク同士の角度が、所定以上である場合のノードのことであってもよい。屈曲ポイントの角度は、予め設定しておいてもよい。抽出された屈曲ポイントの位置データは、判定部１５へ通知される。
【００８１】
判定部１５は、表示切替条件を満たすか否かを判定する。表示切替条件は「現在位置が抽出部１７によって抽出された屈曲ポイント周辺であるか否か」である。表示切替条件を満たした場合には、判定部１５は、その旨を表示制御部１３に通知する。通知を受けた表示制御部１３は、第２進行方位が反映されてディスプレイ５上に表示されている地図画像を、電子コンパスが検出した方位を反映させた表示に切替る。
【００８２】
図８は、表示切替条件として、「現在位置が抽出部１７によって抽出された屈曲ポイント周辺であるか否か」という条件が設定された場合の地図表示装置１の動作を示す例である。
【００８３】
ルート検索部１６は、例えば、ユーザが入力部に入力した目的地と、現在位置の位置データ３２とに基づき、現在位置から目的地までのルートを検索する。ルート検索部１６は、検索したルートを、表示制御部１３及び抽出部１７へ通知する。表示制御部１３は、ルート検索部１６から通知を受けたルートを、地図画像とともに表示する（ステップＳ４０１）。
【００８４】
抽出部１７は、ルート検索部１６からルートを受信する。抽出部１７は、受信したルート内の屈曲ポイントの位置データを抽出し、判定部１５へ通知する（ステップＳ４０２）。
【００８５】
取得部１０は、現在位置の周辺地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。表示制御部１３は、取得部１０から受信した地図データに基づき、現在位置周辺の地図画像をディスプレイに表示する（ステップＳ４０３）。
【００８６】
表示制御部１３は、位置ＤＢ１２から現在位置の位置データ３２を取得し、ディスプレイ５の地図画像に表示する（ステップＳ４０４）。
【００８７】
判定部１５は、ステップＳ４０４で取得した位置データ３２に基づく現在位置が、ステップＳ４０２で判定部１５に通知された位置データに基づく屈曲ポイント周辺か否かを判定する（ステップＳ４０５）。
【００８８】
現在位置が屈曲ポイント周辺である場合、すなわち条件が満たされた場合には（ステップＳ４０５：Ｙｅｓ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００８９】
通知を受けた表示制御部１３は、第１進行方位ＤＢ２０から現在（最新）時刻４１の第１方位４４を取得して、これに基づいてヘディングアップを行う。（ステップＳ４０６）。
【００９０】
一方、現在位置が屈曲ポイント周辺でない場合、すなわち条件が満たされなかった場合には（ステップＳ４０５：Ｎｏ）、判定部１５はその判定結果を表示制御部１３へ通知する。
【００９１】
通知を受けた表示制御部１３は、位置ＤＢ１２内の現在の第２方位３４を取得して、これに基づいてヘディングアップを行う（ステップＳ４０７）。
【００９２】
ステップＳ４０６又はステップＳ４０７においてヘディングアップを行った後、判定部１５は、目的地に到着したか否かの判定を行う（ステップＳ４０８）。目的地に到着した場合には（ステップＳ４０８：Ｙｅｓ）終了する。一方、未だ目的地に到着していない場合には、ステップＳ４０３に戻る。
上記動作が行われることにより、地図表示装置１は、現在位置が予め検索されたルート内の屈曲ポイント周辺にあるときのみ、電子コンパス７で検出された第１方位４４の適用によるヘディングアップ表示をおこなうことができる。屈曲ポイントでは、地図表示装置１が方向転換する可能性が極めて高い。これにより、迅速、かつ、外部干渉の多い電子コンパスによる第１方位を効率よく適用して、ヘディングアップ表示することが可能となる。
【００９３】
上述したヘディングアップ機能を有する地図表示装置１にあっては、通常は、演算処理部１１が算出した第２方位を反映させてディスプレイ５に表示される地図画像に、所定の表示切替条件が満たされた場合のみ、電子コンパス７が検出した第１方位を反映する。これにより、所定の表示切替条件が満たされたときは、方位の反映を迅速に行えるとともに、電子コンパスの外部干渉による影響を低減することができる。
【００９４】
次に、位置予測機能を備えた地図表示装置１について以下に説明する。
【００９５】
位置予測機能は、地図表示装置１の現在位置が一定時間検出できない場合に実現される機能である。この機能は、例えば図９に示すように、地図表示装置１がトンネル内を移動通過中であって、トンネルにより、ＧＰＳ衛星２からＧＰＳ信号を受信できない場合に実現される。図示例では、実線で示された位置データｐ１は検出されているが、トンネル内の破線で示された位置データｐ２は検出されていない。このような場合、図示例のように進行方向が一定であれば、地図表示装置１は位置データｐ２で示すような軌跡をたどるはずである。従って、現在位置が一定時間検出されない場合、検出されていた時の位置データ３２及び移動速度３３から予測される予測位置データを算出し、第１方位４４に基づく移動角度が所定値以内であるならば、予測位置データを地図画像に表示する。
【００９６】
位置表示機能を備えた地図表示装置１について、「第１の時刻より後、継続して現在位置を検出できない場合に、第１の時刻以前に電子コンパスが検出した第１方位と、第１の時刻より後に電子コンパスが検出した第１方位との変化量が所定量以下であるか否か」という表示切替条件が設定された場合を説明する。なお、上記した構成要素について、その機能が追加される場合は以下に追記する。
【００９７】
監視部２２は、位置ＤＢ１２内の位置データテーブル３０を監視する。監視部２２は、位置データテーブル３０が所定時間更新されないときは、その旨を更新された最後の時刻３１とともに判定部１５に通知する。
【００９８】
判定部１５は、条件記憶部１４内の切替表示条件を抽出する。ここでは、「第１の時刻より後、継続して現在位置を検出できない場合に、第１の時刻以前に電子コンパスが検出した第１方位と、第１の時刻より後に電子コンパスが検出した第１方位との変化量が所定量以下であるか否か」という切替表示条件が抽出される。
【００９９】
判定部１５は、監視部２２から位置データテーブル３０が所定時間更新されない旨の通知及び最後に更新された時刻３１を受け取ると、必要なデータを取得し、上記判定を行う。例えば、判定部１５は、監視部２２からの通知を受け取った後、第１方位ＤＢ２０を参照して、現在（最新）の第１方位と、位置データテーブル３０が最後に更新された時刻３１より以前であって、かつ、当該時刻３１に最も近い時刻における第１方位（以下、最終時刻第１方位という）とを取得し、この２点間の第１方位の変化量を算出する。なお、変化量は、現在の第１方位と、最終時刻第１方位との２点間から算出しなくてもよく、これらの間の複数点間の第１方位から算出してもよい。
【０１００】
判定部１５は、算出された変化量が所定量以下であるか否かの判定を行う。
【０１０１】
位置予測部１８は、演算処理部１１が、第１の時刻より後、継続して現在位置を検出できないとき、第１の時刻以前の位置データ３２及び移動速度３３に基づいて、地図表示装置１の現在位置を予測する。位置予測部１８は、判定部１５からの通知を受信する。監視部２２からの通知を受信した位置予測部１８は、位置ＤＢ１２内の位置データテーブル３０の各データに基づき、現在位置として予測される予測位置を算出する。位置予測部１８は、例えば、位置データテーブル３０の、直近の時刻３１（最後の更新時刻及びそれ近辺の時刻）の一又は複数の位置データ３２と移動速度３３とから、地図表示装置１の予測位置を算出する。位置予測部１８は、算出した予測位置を取得部１０及び表示制御部１３に通知する。
【０１０２】
図１０は、「第１の時刻より後、継続して現在位置を検出できない場合に、第１の時刻以前に電子コンパスが検出した第１方位と、第１の時刻より後に電子コンパスが検出した第１方位との変化量が所定量以下であるか否か」という表示切替条件が設定された場合の地図表示装置１の動作を示す例である。なお、本例では、継続して現在位置を検出できない時間を５秒、変化量が３０度として詳細に説明すが、それらの値はどのように設定してもよい。
【０１０３】
監視部２２は、位置ＤＢ１２内を監視し、位置データテーブル３０が５秒以上更新されていないときは、その旨を位置データテーブル３０の最終の更新時刻３１とともに判定部１５に通知する。判定部１５は、監視部２２からの通知を受け取る（ステップＳ１２１）。
【０１０４】
監視部２２からの通知を受け取った判定部１５は、例えば第１方位ＤＢ２０内を参照して、現在（最新）の第１方位４４と、最終時刻第１方位４４とを取得する。この際、判定部１５は、これら２点の第１方位４４とともに、この間の時刻における一部又は全部の第１方位４４を取得してもよい。そして、判定部１５は、これら第１方位４４を移動角度算出部２１に送信する。
【０１０５】
移動角度算出部２１は、受信した複数の第１方位４４から地図表示装置１の移動角度を算出し、判定部１５へ返す（ステップＳ１２２）。
【０１０６】
判定部１５は、移動角度算出部２１から通知された移動角度が３０度以上か否かの判定を行う（ステップＳ１２３）。
【０１０７】
移動角度が３０度より大きい場合は（ステップＳ１２３：Ｎｏ）、処理を終了する。一方、移動角度が３０度以下の場合には（ステップＳ１２３：Ｙｅｓ）、判定部１５は、判定結果を位置予測部１８に通知する。
【０１０８】
通知を受けた位置予測部１８は、位置ＤＢ１２内を参照し、位置データテーブル３０の各データ３１、３２、３３に基づき、現在位置として予測される予測位置データを算出する（ステップＳ１２４）。位置予測部１８は、算出した予測位置データを取得部１０及び表示制御部１３に通知する。
【０１０９】
取得部１０は、受信した予測位置データに基づく予測位置周辺の地図データを地図情報ＤＢ９から取得し、表示制御部１３に送信する。表示制御部１３は、取得部１０から受信した地図データに基づき地図画像をディスプレイ５に表示する（ステップＳ１２５）。
【０１１０】
表示制御部１３は、地図画像上に予測位置データに基づく予測位置を表示する（ステップＳ１２６）。
【０１１１】
位置予測機能を備えた地図表示装置１にあっては、例えばＧＰＳ信号を受信できず、継続して現在位置を検出できない場合であっても、既に検出された位置データ及び移動速度とともに、電子コンパスによって検出される方位を使用することで、現在位置を予測して表示することができる。
【０１１２】
次に、リンクマッチング修正機能を備えた地図表示装置１について以下に説明する。図１１は、リンクマッチング及びリンクマッチング修正機能を説明するための説明図である。
【０１１３】
ここでまず、リンクマッチングについて説明する。リンクマッチングは、道路を、ノードと、ノードを介して接続されたリンクとで表す地図データにおいて、位置データ３２に基づく現在位置が道路からはずれた場合に、その誤差を補正する機能である。図示例にあっては、ノードｎ１には、これを介してリンクＡ１、Ａ２及びＣ１が接続されている。また、ノードｎ２には、これを介してリンクＣ１、Ｂ１及びＢ２が接続されている。「○」のポイントは、前述の演算処理部１１が検出した実測位置である。これを進行方向なども勘案して、道路上の最適なポイントへ補正する。補正後の補正位置は図１１に「●」で示される。検出された実測位置ａ及びｂは、最も近いリンクＡ２上に補正される。
【０１１４】
次に、リンクマッチング修正機能について説明する。リンクマッチング修正機能は、リンクマッチングされた補正位置が正しいか否かを判定し、正しくない場合には修正を行う機能である。図示例において、演算処理部１１が検出した実測位置ｃは、リンクＢ１が最も近い。このため、実測位置ｃはリンクＢ１にリンクマッチングされるはずである。しかしながら、リンクＡ２及びリンクＢ１間には、ｎ１及びｎ２の２つのノードがあり、リンクＡ２とＢ１とは連続していない。従って、地図表示装置１は、リンクＡ２から、ノードｎ１、リンクＣ１及びノードｎ２を介してリンクＢ１上に移動したのではなく、ノードｎ１のみを介してリンクＡ１を移動した可能性も考えられる。このような場合、検出された位置ｃについて、その補正位置をリンクＢ１上に表示する前に、補正位置が正しいか否かを電子コンパスによって検出された第１方位に基づいて判断し、最適な補正位置を推定する。
【０１１５】
リンクマッチング修正機能を備えた地図表示装置１について、「マッチング処理部１９が第１の時刻の現在位置をマッチングさせた第１のリンクと、マッチング処理部１９が、第１の時刻より後の第２の時刻の現在位置をマッチングさせた第２のリンクとが連続していないか否か」という表示切替条件が設定された場合を以下に説明する。なお、上記した構成要素について、その機能が追加される場合は以下に追記する。
【０１１６】
マッチング処理部１９は、リンクマッチングを行う。マッチング処理部１９は、例えば、位置ＤＢ１２を参照し、現在位置の位置データ３２を、最も近いリンク上に補正する。マッチング処理部１９はまた、位置ＤＢ１２から取得した現在位置（以下、実測位置という）の位置データ３２と、実測位置の位置データ３２が検出された時刻３１とを、補正した現在位置（以下、補正位置という）の位置データと、補正位置が存在するリンクとに対応づけて、マッチング記憶部２３に記憶する。
【０１１７】
図１２は、マッチング記憶部２３内の構造の一例であるマッチングデータテーブル５０を示す図である。マッチングデータテーブル５０は、そのデータ構造として、時刻５１と、現在位置の位置データ５２である緯度データ５２ａ及び経度データ５２ｂと、補正位置の位置データ５３である緯度データ５３ａ及び経度データ５３ｂと、補正位置が存在するリンク５４とを有する。
【０１１８】
判定部１５は、条件記憶部１４内の切替表示条件を抽出する。ここでは、例えば「マッチング処理部１９が第１の時刻の現在位置をマッチングさせた第１のリンクと、マッチング処理部１９が第１の時刻より後の第２の時刻の現在位置をマッチングさせた第２のリンクとが連続していないか否か」という切替表示条件が抽出される。この切替表示条件は、換言すれば、「第１の時刻の補正位置が存在する第１のリンクと、第１の時刻より後の第２の時刻の補正位置が存在する第２のリンクとが連続していないか否か」である。判定部１５は、マッチング記憶部２３を参照し、第２の時刻である現在（最新）時刻５１の補正位置の位置データ５３が存在する第２のリンク５４と、第１の時刻である現在（最新）時刻の１つ前の時刻５１の補正位置の位置データ５３が存在する第１のリンク５４と、が連続するか否かを判定する。
【０１１９】
さらに判定部１５は、第１のリンク５４と、第２のリンク５４とが連続していないとき、第１の時刻５１と第２の時刻５１との間に電子コンパス７が検出した方位に基づいて、第２のリンク５４に対するマッチングの正否（すなわち、補正位置が正しいか否か）を判定する。例えば、判定部１５は、第１のリンク５４と第２のリンク５４とが連続していないと判定した場合に、第１方位ＤＢ２０を参照し、現在（最新）の時刻３１とその１つ前の時刻３１の間の第１方位４４の変化を算出し、現在位置が第２のリンク５４に存在するか否かを判定する。これは例えば、判定部１５が算出した現在（最新）の時刻３１とその１つ前の時刻３１の間の第１方位４４の変化が所定の角度以上か否かで判定される。判定部１５は、位置ＤＢ２０を参照し、この間における第１方位４４の変化が所定角度以上であるか否かを判定する。そして、判定部１５は、第１方位４４の変化が所定角度以上であると判断した場合に、現在位置が第２のリンク５４上に存在すると判定し、第１方位４４の変化が所定角度より小さかった場合に、現在位置が第２のリンク上に存在しないと判定する。判定部１５は、現在位置が第２のリンク５４に存在するか否かの判定結果を、を表示制御部１３に通知する。
【０１２０】
表示制御部１３は、判定部１５から判定結果の通知を受信する。判定結果が「現在位置が第２のリンク５４に存在する」であった場合には、表示制御部１３は、マッチング記憶部２３を参照し、補正位置の位置データ５３を抽出する。そして、表示制御部１３は、取得部１０から受信した地図データに基づいて、地図画像をディスプレイ５に表示するとともに、マッチング記憶部２３から補正位置の位置データ５３を取得し、地図画像に表示する。
【０１２１】
判定結果が「現在位置が第２のリンク５４に存在しない」であった場合には、表示制御部１３は、その結果をマッチング処理部１９に通知して、再度のリンクマッチングを依頼する。そして、表示制御部１３は、取得部１０から受信した地図データに基づいて、地図画像をディスプレイ５に表示するとともに、マッチング記憶部２３から、再度の補正をした補正位置の位置データ５３を取得し、地図画像に表示する。
【０１２２】
表示制御部１３から「現在位置が第２のリンク５４に存在しない」との判定結果を受け取ったマッチング処理部１９は、実測位置のリンクマッチングを再度行う。この場合のリンクマッチングは、第１方位ＤＢ２０の第１方位４４も参照して行う。マッチング処理部１９は再度のリンクマッチングによる補正位置の位置データ５３及びリンク５４をマッチング記憶部２３に記憶する。
【０１２３】
図１３は、表示切替条件として「第１の時刻の補正位置が存在する第１のリンクと、第１の時刻より後の第２の時刻の補正位置が存在する第２のリンクとが連続していないか否か」という条件が設定された場合の地図表示装置１の動作を表すフローチャートである。
【０１２４】
マッチング処理部１９は、現在時刻５１の実測位置のリンクマッチングを行う（ステップＳ１３１）。そして、その結果となる補正位置の位置データ５３及びリンク５４をマッチング記憶部２３に記憶する。
【０１２５】
判定部１５は、マッチング記憶部２３を参照し、現在時刻５１のリンク５４と、現在時刻より１つ前の時刻５１のリンク５４とが連続するか否かを判定する（ステップＳ１３２）。
【０１２６】
現在時刻５１のリンク５４と、現在時刻より１つ前の時刻５１のリンク５４とが連続すると判定された場合には（ステップＳ１３２：Ｙｅｓ）、判定部１５は、その判定結果を表示制御部１３に通知する。
【０１２７】
判定部１５から通知を受けた表示制御部１３は、マッチング記憶部２３を参照し、現在時刻５１の補正位置の位置データ５３を抽出する（ステップＳ１３４）。そして、表示制御部１３は、取得部１０から受信した地図データに基づいて、地図画像をディスプレイ５に表示するとともに（ステップＳ１３５）、マッチング記憶部２３から補正位置の位置データ５３を取得し、地図画像に表示する（ステップＳ１３６）。
【０１２８】
現在時刻５１のリンク５４と、現在時刻より１つ前の時刻５１のリンク５４とが連続しないと判定された場合には（ステップＳ１３２：Ｎｏ）、判定部１５は、続いて「現在位置が、現在時刻５１のリンク５４上に存在する」か否かの判定を行う（ステップＳ１３３）。前述したように、判定は、ステップＳ１３２において判定部１５が連続していないと判定した現在時刻５１と現在時刻より１つ前の時刻５１との間に、第１方位４４が所定角度以上変化したか否かに基づいて行われる。第１方位４４の変化が所定角度以上であると判断した場合には、現在位置が第２のリンク５４上に存在すると判定され、第１方位４４の変化が所定角度より小さかった場合には、現在位置が第２のリンク上に存在しないと判定される。
【０１２９】
ステップＳ１３３の判定結果が「現在位置が、現在時刻５１のリンク５４上に存在する」であった場合には（ステップＳ１３３：Ｙｅｓ）、ステップＳ１３４に進む。
【０１３０】
ステップＳ１３３の判定結果が「現在位置が、現在時刻５１のリンク５４上に存在しない」であった場合には（ステップＳ１３３：Ｎｏ）、表示制御部１３は、その結果をマッチング処理部１９に通知して、再度のリンクマッチングを依頼する（ステップＳ１３７）。
【０１３１】
ステップＳ１３７で依頼を受けたマッチング処理部１９は、ステップＳ１３１へ戻り、現在時刻５１の実測位置に対するリンクマッチングを再度行う（ステップＳ１３１）。マッチング処理部１９は再度のリンクマッチングによる結果をマッチング記憶部２３に記憶する。
【０１３２】
本実施形態にあっては、リンクマッチングの結果が大きくずれた場合に、電子コンパスで検出された方位を参照して、リンクマッチングを再度行う。これにより、リンクマッチングの精度が向上する。
【０１３３】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１３４】
１      地図表示装置
２      ＧＰＳ衛星
３      車両
４      地図データ処理部
５      ディスプレイ
６      受信機
７      電子コンパス
８      入力部
９      地図データベース
１０    取得部
１１    演算処理部
１２    位置データベース
１３    表示制御部
１４    電子コンパス
１５    判定部
１６    ルート検索部
１７    抽出部
１８    位置予測部
１９    マッチング処理部
【図１】
2011169631.tif 000003
【図２】
2011169631.tif 000004
【図３】
2011169631.tif 000005
【図４】
2011169631.tif 000006
【図５】
2011169631.tif 000007
【図６】
2011169631.tif 000008
【図７】
2011169631.tif 000009
【図８】
2011169631.tif 000010
【図９】
2011169631.tif 000011
【図１０】
2011169631.tif 000012
【図１１】
2011169631.tif 000013
【図１２】
2011169631.tif 000014
【図１３】
2011169631.tif 000015