ナビゲーション装置、及びナビゲーション用プログラム
【課題】周辺施設検索による候補施設をより早くユーザに提供する。
【解決手段】その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する。そして、周辺検索を行う場合に、車両現在位置を含む検索エリアを特定し、現在位置を中心として、特定した検索エリアの区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して、提供する。
【解決手段】その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する。そして、周辺検索を行う場合に、車両現在位置を含む検索エリアを特定し、現在位置を中心として、特定した検索エリアの区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して、提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ナビゲーション装置、及びナビゲーション用プログラムに関し、例えば、車両の現在位置の周辺に存在する施設を検索する技術に関する。
【背景技術】
【0002】
車両に搭載され、車両現地周辺の地図を表示したり、目的地までの走行経路を探索して経路案内を行うナビゲーション装置が広く普及している。
このようなナビゲーション装置の機能に車両現在位置周辺に存在する施設を検索して表示画面にリスト表示する周辺施設検索機能に関する技術が、例えば、特許文献1で提案されている。
【特許文献1】特開2000−234937号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ナビゲーション装置では、このような周辺施設検索機能を使用し、現在位置から所定距離Rの範囲内に存在する施設を検索したり、現在位置から近い順に所定件数の施設を表示したりする場合がある。
例えば、データベースから読み出した各施設に対する現在位置からの距離を個別に算出し、指定されたRkm以内か判断したり、また、距離順にソートしたりする処理が必要になる。
このように従来の周辺施設検索機能では、対象となる全ての施設(ジャンル等が指定されている場合にはそのジャンルの全ての施設)までの距離を算出するための処理時間がかかるため、該当する施設をリスト表示してユーザに提供するまでに時間がかかっていた。
【0004】
そこで、本発明はかかる課題を解決するためになされたもので、周辺施設検索による候補施設をより早くユーザに提供することを目的とする。
【課題を解決するための手段】
【0005】
(1)前記目的を達成するために、請求項1に記載の発明では、所定位置周辺に存在する施設を検索するナビゲーション装置であって、その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段と、所定位置を取得する所定位置取得手段と、前記所定位置を含む検索エリアを特定する検索エリア特定手段と、所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得手段と、取得した施設を提示する施設提示手段と、を備え、前記施設取得手段は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、前記施設提示手段は、前記施設取得手段で最初に取得した施設を最初に提示する、ことを特徴とするナビゲーション装置を提供する。
(2)請求項2に記載の発明では、前記施設取得手段は、前記最初に施設を取得した後は、順次、他の各区分ラインと接する同心円のうち次に大きい同心円の内側に存在する施設を取得する、ことを特徴とする請求項1に記載のナビゲーション装置を提供する。
(3)請求項3に記載の発明では、前記所定位置から前記特定した検索エリア内の各施設までの距離を算出する距離算出手段と、前記算出した距離順に検索エリア内の各施設をソートした施設リストを作成する施設リスト作成手段と、前記所定位置から、前記特定した検索エリアを区分する区分ラインまでの境界距離を算出する境界距離算出手段と、を備え、前記施設取得手段は、前記指定位置からの距離が、前記算出した境界距離の最小値以下である施設を前記施設リストから最初に取得する、ことを特徴とする請求項1に記載のナビゲーション装置を提供する。
(4)請求項4に記載の発明では、前記施設取得手段は、指定された施設のジャンル等の他の検索条件が設定されている場合には、当該他の検索条件を満たす施設を取得する、ことを特徴とする請求項1、請求項2、又は請求項3に記載のナビゲーション装置を提供する。
(5)請求項5に記載の発明では、前記施設リスト作成手段は、前記施設提示手段で提示した施設を、施設リストから削除し、又は、提示済みであることを示す明示情報を前記施設リストに付与する、ことを特徴とする請求項3に記載のナビゲーション装置を提供する。
(6)請求項6に記載の発明では、前記検索エリア特定手段は、前記施設取得手段で取得した施設に対する同心円の次に大きい同心円に含まれる検索エリアのうち、既に検索範囲として特定済みの検索エリアを除外した検索エリアを新たに特定し、前記施設リスト作成手段は、新たに特定された検索エリア内の施設リストを新たに作成し、前記施設取得手段は、前記次に大きい同心円内に存在し、未取得の施設を、前記施設リスト作成手段で作成した施設リストから取得する、ことを特徴とする請求項3に記載のナビゲーション装置。
(7)請求項7に記載の発明では、その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段を備えたナビゲーション装置を構成するコンピュータに、所定位置を取得する所定位置取得機能と、前記所定位置を含む検索エリアを特定する検索エリア特定機能と、所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得機能と、取得した施設を提示する施設提示機能と、を実現させるナビゲーション用プログラムであって、前記施設取得機能は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、前記施設提示機能は、前記施設取得手段で最初に取得した施設を最初に提示する、ことを特徴とするナビゲーション用プログラムを提供する。
【発明の効果】
【0006】
本発明では、所定位置を中心とし、特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して提示するので、候補施設をより早くユーザに提供することができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の検索装置及び検索用プログラムにおける好適な実施の形態について、検索装置をナビゲーション装置に適用した場合を例に、図1から図15を参照して詳細に説明する。
(1)実施形態の概要
各施設の所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する。
そして、周辺検索を行う場合に、車両現在位置を含む検索エリアを特定し、現在位置を中心として、特定した検索エリアの区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して、提供する。
【0008】
(2)実施形態の詳細
図1は、本実施形態が適用されるナビゲーション装置1のシステム構成図である。
このナビゲーション装置1は、車両に搭載され、この図1に示すように、現在位置検出装置10、情報処理制御装置20、入出力装置40及び情報記憶装置50とを備えている。
まず、現在位置検出装置10は、以下のような構成を有している。絶対方位センサ11は、例えば、磁石に基づいてN方向の検出から、車両が何れの方向に位置するかを検出する地磁気センサであり、絶対方位を検出する手段であればよい。
【0009】
相対方位センサ12は、例えば交差点を曲がったか否かを検出するものであり、ハンドルの回転部に取り付けた光学的な回転センサや回転型の抵抗ボリューム或いは車輪部に取り付ける角度センサでもよい。
また、角速度を利用して角度の変化を検出するジャイロセンサを用いてもよい。つまり、基準角度(絶対方位)に対して、相対的に変化した角度を検出することができる手段であればよい。
距離センサ13は、例えば、車輪の回転を検出して計数するものや、加速度を検出して2回積分するものでもよい。つまり、車両の移動距離を計測できる手段であればよい。
【0010】
GPS(グローバル・ポジショニング・システム)受信装置14は、人工衛星からの信号を受信する装置であり、信号の発信時刻、受信装置の位置情報、受信装置の移動速度、受信装置の進行方向など様々な情報を得ることができる。
ビーコン受信装置15は、特定の地点に設置された送信装置より発信された信号を受信する装置である。特に、VICS情報を入手することができ、渋滞情報、現在位置情報、駐車場情報等車両の走行に関する情報を入手することができる。
【0011】
データ送受信装置16は、電話回線や電波を利用して車両外部と通信をし、情報の交換を行うための装置である。
例えば、自動車電話、ATIS、VICS、GPS補正、車両間通信など様々な利用方法があり、走行に関する情報を入出力することが可能である。
【0012】
また、図示しないが、車両は、車速を計測する車速センサ、加速度を計測する加速度センサ、アクセルの踏み量を計測するアクセルセンサ、ブレーキの踏量を計測するブレーキセンサなどを備えている。
【0013】
情報処理制御装置20は、現在位置検出装置10、入出力装置40から入力される情報及び情報記憶装置50に格納された情報に基づいて演算及び制御を行うとともに、演算結果をディスプレイ42、プリンタ43又はスピーカ44等の出力手段に出力するように制御する手段である。
【0014】
この情報処理制御装置20は、以下のような構成を有している。
中央処理装置(CPU)21は、ナビゲーション装置1全体の総括的な演算及び制御を行う。
本実施形態においてCPU21は、現在位置検出装置10で検出した車両の現在位置、又は入力装置41で指定された指定位置から、所定距離R以内に存在する施設を検索する周辺施設検索を行う。
【0015】
第1ROM22はナビゲーションに関するプログラム、特に、現在位置の検出、経路の探索、表示案内などに関するナビゲーションプログラムを格納している。
CPU21は、ナビゲーションに関するプログラムに従って動作することにより、走行経路の案内処理や、走行経路の探索処理、目的の設定処理、入力支援処理などの各種処理を行うことができる。
【0016】
入力インターフェイス23は、現在位置検出装置10からの情報を受け取る手段である。
通信インターフェイス25は、現在位置検出装置10からの情報、特に外部から得られる情報を入出力するための手段である。
【0017】
RAM24は、CPU21が情報処理を行うためのワーキングメモリを提供し、例えば、CPU21が各種画面を表示するためのデータや各種センサの出力値やユーザが入力した情報などを記憶する。
より詳細には、後述する入力装置41により入力された目的地の情報、通過地点の情報等の利用者が入力した情報を記憶すると共に、利用者の入力情報に基づいてCPU21により演算された結果や、経路探索された結果、又は情報記憶装置50から読み込まれた地図情報を格納するための記憶手段である。
また、本実施形態による周辺施設検索処理において、RAM24にはは、各検索エリア毎に読み出した施設の施設距離リストと、境界距離リストを記憶するワーキング領域が確保されるようになっている。
【0018】
第2ROM26は、ナビゲーションに関するプログラム、特に、目的地設定プログラム、経路探索プログラム、音声案内プログラム、周辺施設検索プログラム等の、各種プログラムを格納している。なお、第1ROM22と第2ROM26を共通する1のROMで構成するようにしてもよい。
画像プロセッサ27は、CPU21で処理されたベクトル情報を画像情報に処理するための処理手段である。
【0019】
時計28は、時刻を刻む。
画像メモリ29は、画像プロセッサ27により処理された画像情報を格納する手段である。
音声プロセッサ30は、情報記憶装置50から読み込まれた音声情報を処理し、スピーカ44に出力する。
【0020】
入出力装置40は、利用者により目的地、通過地点、探索条件等のデータを入力する入力装置41、画像を表示するディスプレイ42、情報を印刷するプリンタ43、音声を出力するスピーカ44より構成される。入力装置41は、例えば、タッチパネル、タッチスイッチ、ジョイスティック、キースイッチ等で構成される。
ディスプレイ42には、現在地周辺の地図や、目的地までの走行経路が表示される。
【0021】
情報記憶装置50は、伝送路45を介して情報処理制御装置20に接続される。
情報記憶装置50は、地図データファイル51、交差点データファイル52、ノードデータファイル53、道路データファイル54、写真データファイル55、目的地データファイル56(施設情報記憶手段)、案内地点データファイル57、及びその他のデータファイル58を格納している。
【0022】
この情報記憶装置50は、一般的には、光学的記憶媒体であるDVD−ROM、CD−ROMや磁気的記憶媒体であるハードディスクなどで構成されるが、光磁気ディスク、各種半導体メモリなどの各種情報記憶媒体で構成してもよい。
なお、書き換えが必要な情報については、書き換え可能なハードディスク、フラッシュメモリなどで構成し、その他の固定的な情報についてはCD−ROM、DVD−ROMなどのROMを使用するようにしてもよい。
【0023】
地図データファイル51には、全国道路地図、各地域の道路地図又は住宅地図等の地図データが記憶されている。道路地図は、主要幹線道路、高速道路、細街路等の各道路と地上目標物(施設等)から構成される。住宅地図は、地上建造物等の外形を表す図形及び、道路名称等が表示される市街図である。細街路とは、例えば、国道、県道以下の道幅が所定値以下の比較的狭い道路である。
【0024】
交差点データファイル52には交差点の地理的位置座標や名称等の交差点に関するデータが、ノードデータファイル53には地図上において経路探索に利用される各ノードの地理座標データ等が、道路データファイル54には道路の位置と種類及び車線数及び各道路間の接続関係等の道路に関するデータが、写真データファイル55には各種施設や観光地、又は主要な交差点等の視覚的表示が要求される場所を写した写真の画像データが、それぞれ記憶されている。
案内地点データファイル57には、道路に設置されている案内表示板の内容や分岐点の案内等、案内が必要とされる地点の案内データが記憶されている。
【0025】
目的地データファイル56には、主要観光地や建物、電話帳に記載されている企業・事業所等の目的地として設定可能な場所や施設等に関するデータが格納されている。
【0026】
図2は目的地データファイル56に格納されている目的地データの内容を概念的に表したものである。
目的地データファイル56には、施設ID、検索キー、地点名称、座標、住所、電話番号、ジャンル、その他のデータが各目的地毎に格納されている。
検索キーは、入力された文字列と比較して目的地を検索するためのキーで、地点名称の読み(仮名表記)が該当する。
【0027】
地点名称は、目的地の名称の表記である。
住所、座標、電話番号、その他のデータは、目的地の詳細を示す地点情報である。
座標は目的地が所在する地点の緯度と経度である。なお、地点を特定できる情報であれば、緯度経度以外の情報を用いてもよい。
TELは目的地施設の電話番号である。
ジャンルは、「レストラン」「銀行」「ゴルフ場」といった、その施設が分類される階層化されたジャンル情報が1又は複数指定されている。
その他のデータには、目的地の住所や、店舗等である場合にはその営業時間や駐車場の有無、「関東地方」といったエリア情報等がある。
【0028】
目的地データファイル56に保存されている各目的地情報には、識別情報としての施設IDが付けられている。
施設IDは、検索エリアを示す検索エリア番号(X1Y1等)を示す前半部分と、検索エリア内での施設番号(0001等)を示す後半部分とから構成されている。
このように施設IDを付けることで、各施設(目的地)は、その物理的位置(座標位置)を元に、特定の検索エリア毎にデータが格納されることになる。
【0029】
図3は、検索エリアを概念的に表したものである。
この図3に示されるように、日本全国を所定距離毎に緯線、経線に平行に引かれた区分ラインで区分された矩形エリアを検索エリアとしている。即ち、各検索エリア毎に、区分された列X1、X2…と、行Y1、Y2…の組み合わせX1Y1、X1Y2…によって検索エリアが特定されるようになっている。
なお、図3の図は一例として矩形エリアを表したものであるが、実際に矩形の検索エリアに分割する区分ラインは、本実施形態では4kmとなっている。従って、各検索エリアは東西南北4km四方で区切られた矩形となっている。但し、検索エリアはこれに限られるものではなく、2km四方、1km四方、5km四方等、任意のzkm四方の矩形としてもよい。
本実施形態において、各検索エリアは4本の区分ラインで区分されるが、各区分ラインの検索エリアと接する範囲の線分を境界線という。すなわち、境界線の両端を延長したものが区分ラインである。
【0030】
このように構成されたナビゲーション装置1では、次のようにして経路案内が行われる。
ナビゲーション装置1は、現在位置検出装置10で現在位置を検出し、情報記憶装置50の地図データファイル51から現在位置周辺の地図情報を読み込みディスプレイ42に表示する。
そして、ナビゲーション装置1は、ディスプレイ42に検索語入力画面100や検索結果画面200などを表示し、入力装置41から目的地の入力を受け付ける。
入力装置41は、ディスプレイ42上に配置されたタッチパネルを備えており、ユーザがディスプレイ42に表示された操作ボタンをタッチすると、当該操作ボタンの選択を検出し、ユーザから目的地の設定を受け付けるようになっている。
【0031】
そして、入力装置41から目的地が入力されると、情報処理制御装置20は、現在位置から目的地に至る走行経路の候補を複数探索(演算)し、ディスプレイ42に表示した地図上に表示し、運転者が何れかの走行経路を選択すると、選択した走行経路をRAM24に格納することで、走行経路を取得する(走行経路取得手段)。
【0032】
なお、情報処理制御装置20は、情報処理センタに車両現在位置(又は入力された出発地)と目的地を送信し、情報処理センタで探索された目的地までの走行経路を受信することにより走行経路を取得するようにしてもよい。この場合、目的地や走行経路の通信は通信インターフェイス25を介して、無線通信により行う。
また、自宅等のパーソナルコンピュータ等の情報処理装置を使用して、出発地から目的地までの走行経路を探索し、USBメモリ等の記憶媒体に格納し、該記憶媒体読取り装置を介して取得するようにしてもよい。この場合の記憶媒体読み取り装置は伝送路45を介して情報処理制御装置20に接続される。
【0033】
車両が走行すると、現在位置検出装置10によって検出された現在位置を追跡することにより、経路案内を行う。
経路案内は、探索した走行経路に対応する道路データと現在位置検出装置10で検出される現在位置とのマップマッチングにより、地図上の車両位置を特定し、車両現在位置周辺の地図をディスプレイ42に表示すると共に、探索した走行経路と現在位置とを地図上に表示する。
また、探索した走行経路と現在位置との関係から、案内の必要性、即ち直進が所定距離以上続く場合、所定の進路変更地点等の走行経路の案内、及び方面案内が必要か否か等について判断し、必要である場合にはディスプレイ42の表示及び音声による案内を実行する。
【0034】
次に、本実施形態による周辺施設検索処理について説明する。
図4は、矩形に分割された検索エリアと指定位置に基づく施設の検索順について表したものである。
以下の説明では、検索エリアが東西南北各々4km四方の矩形に区切られ、図中▲で表した指定位置Aから検索半径R=10km以内に存在する施設を抽出(検索)する場合を例に説明する。
検索する範囲を規定する検索半径Rは、ユーザによって指定されるが、ユーザによる指定が無い場合には、デフォルト値(例えば、10km)が用いられる。なお、デフォルト値については、例えば、コンビニの場合2km、ガソリンスタンドの場合5km、ゴルフ場の場合50kmというように、ユーザが指定するジャンル毎に異なる値を予め設定しておくようにしてもよい。
【0035】
なお、指定位置Aとしては、検索エリア(X3Y3)の原点(左上)から右方向に1.5km、下方向に1kmの位置が指定されているものとする。
この指定位置Aは、ユーザがディスプレ42に表示した地図画面上で指定した地点、ユーザが指定した住所(電話番号による指定を含む)、ユーザが指定しない場合には現在位置検出装置で検出した車両の現在位置である。
【0036】
本実施形態の周辺施設検索処理では、指定位置Aを中心とし、各検索エリアを区切る境界線と接する同心円をP1、P2、P3、…を順次求め、一番小さい同心円P1内に存在する施設、同心円P1からP2の間に存在する施設、同心円P2からP3の間に存在する施設、…というように、順次外側の同心円に検索対象を広げて検索を行うようにする。
これにより、一番小さい同心円P1内の施設は対象数が少ないので、直ちに検索及びユーザへの提供を行うことができる。その外側の同心円間に存在する施設については、ユーザが画面で確認している間に順次検索し、表示リストを作成することができる。
【0037】
以下、図5〜図13に従って周辺施設検索の処理について説明する。
(1)処理1(図5)
まず、図5(a)に示されるように、情報処理制御装置20は、指定位置Aが含まれる検索エリア(X3,Y3)において指定位置Aから検索エリアを区切る4本の境界線までの距離のうちの最短距離を求める。
すなわち、情報処理制御装置20は、指定位置Aが含まれる検索エリア(X3,Y3)を求める。そして、図5(b)に示すように、指定位置Aから、上(北a)、右(東b)、左(西c)、下(南d)の各方向に存在する検索エリア(X3,Y3)の各境界線までの距離を求め、これを境界距離としてRAM24に確保した境界距離リスト用の領域に保存し、距離が小さい順にソートする。
【0038】
(2)処理2(図6)
また情報処理制御装置20は、図6(a)に示すように、指定位置Aが含まれる検索エリア(X3,Y3)内に存在する全施設を目的地データファイル57から検索する。この施設検索では、各施設の施設IDの前半部分が、対象となっている検索エリア(X3,Y3)に対応する検索エリア番号X3Y3である施設を検索する。
なお、検索エリア内の施設を検索する場合、ジャンルの指定等の他の条件が設定されている場合には設定されている条件も満たす施設を検索する。
【0039】
そして、情報処理制御装置20は、図6(c)に示すように、指定位置Aから検索エリア(X3,Y3)内の各施設までの距離を算出し、RAM24に確保した検索エリア内施設リスト用の領域に、施設IDとともに保存し、距離が小さい順にソートする。
【0040】
(3)処理3(図7)
次に情報処理制御装置20は、図7に示すように、処理1で求めた検索エリア(X3,Y3)の境界までの距離のうち最も近い距離を取得する。すなわち、図7(b)に矢印で示す上方向の距離1000mを取得する。
【0041】
(4)処理4(図8)
次に情報処理制御装置20は、図8に示すように、処理2でRAM24に保存したソート後の検索エリア内施設リストから、処理3で取得した距離(1000m)内の施設、すなわち、半径1000mの同心円P1内の施設を抽出し、ディスプレイ42に検索候補としてリスト表示する。
図8(c)に示した例では、指定位置Aから距離98mにある施設(X3Y3x1)から距離927mにある施設(X3Y301)までの各施設が抽出され、リスト表示される。
そして、情報処理制御装置20は、検索エリア内施設リスト内の各施設のうち、応答した施設(抽出し表示した施設)は、検索エリア内施設リストから削除する。但し、応答済みであることを識別する明示情報(例えば、フラグオン)を保存するようにしてもよい。
【0042】
(5)処理5(図9)
次に情報処理制御装置20は、図9に示すように、処理1で求めた境界距離リストから、次に近い距離(境界距離)を取得する。
すなわち、情報処理制御装置20は、次に近い境界線までの距離1500mをRAM24から取得する。
【0043】
(6)処理6(図10)
次に情報処理制御装置20は、指定位置Aを中心とし、処理5で取得した次の境界距離(1500m)まで検索範囲を拡張した場合に新たに検索範囲内となる、新しい検索エリアを求める。すなわち、図10(a)に示すように、取得した次の境界距離を半径とする同心円P2に含まれる新しい検索エリアを求める。
【0044】
情報処理制御装置20は、全ての検索エリアを対象として同心円内に含まれるか否かを判断すると処理が遅くなるので、次のようにして効率的に同心円に含まれるか否かを判断する。
すなわち、情報処理制御装置20は、指定位置Aを中心とし前回分の境界距離(1000m)を半径とする同心円(P1)が接する境界線を求め、この境界線を延長した区分ライン上に存在する接続隅(座標値)をRAM24の接続隅リストに格納する。
【0045】
接続隅は各検索エリアの頂点のことで、少なくとも同心円が接する境界線の両端の接続隅を接続隅リストに格納する。
更に境界線両端の接続隅の外側(同一区分ライン上)に存在する接続隅を格納するか否かは、区分ライン間の距離(本実施形態では4km)と、境界距離に基づいて決める。区分ライン間の距離が狭くなるほど、格納する接続隅の対象数を増加させる。また、境界距離が大きくなるほど、格納する接続隅の対象数を増加させる。
【0046】
そして、情報処理制御装置20は、RAM24の接続隅リストに格納されている全ての接続隅に対して、今回の境界距離(1500m)による検索範囲(境界距離を半径とする同心円(P2))内に含まれているか否かを判断する。
ここで判断対象となる接続隅は、今回新たに格納した接続隅だけでなく、以前に格納した接続隅で以前の同心円内に含まれていない接続隅も対象となる。
例えば、図4に示した同心円P5の更に2つ外側の同心円P7(図示しない)の場合、新たに格納した接続隅として検索エリア(X1,Y2)の右下の接続隅と、検索エリア(X1,Y3)の右下の接続隅が判断対象となり、以前格納され残っている接続隅として検索エリア(X4,Y1)の左下の接続隅が判断対象となる。
【0047】
接続隅が同心円に含まれていない場合(図10の状態が該当)、情報処理制御装置20は、指定位置Aから見て、前回分の境界距離を半径とする同心円(P1)が接する境界線の方向(上方向)の検索エリアを新しい検索エリアとする。
【0048】
一方、接続隅が同心円に含まれている場合、情報処理制御装置20は、含まれている接続隅を頂点とする4つの検索エリアのうち、既に検索範囲となっている検索エリアを除いたものを新しい検索エリアとする。
そして、情報処理制御装置20は、新たに同心円に含まれることになった接続隅をRAM24の接続隅リストから削除する。なお、処理済みであることを示す処理済情報を付加する(例えば、フラグのオン)ようにしてもよい。
【0049】
以上の処理6について、境界距離が3000mで、指定位置Aの右側の境界線と接する同心円P3(図4参照)を検索範囲とする場合を例に説明する。
前回分の境界距離を半径とする同心円P2が接する境界線として、情報処理制御装置20は、検索エリア(X3,Y3)の左側の境界線qを求める。そして、この境界線qの両端の接続隅a、cのうち、左上の接続隅aは前回の処理(同心円P2を検索範囲とする処理)ですでに接続隅リストに格納されているので、左下の境界隅cを新たに接続隅リストに格納する。
この時点で接続隅リストには、接続隅a、接続隅(前回の処理で格納)、及び、接続隅c(今回の処理で格納)が格納されている。
【0050】
この状態で情報処理制御装置20は、格納されている全ての接続隅a、b、cが今回の同心円P3内に含まれているか否かを判断し、接続隅aが今回の同心円P3に含まれていると判定する。そして、この接続隅aを頂点に持つ4つの検索エリア(X3,Y2)、(X3,Y3)、(X2,Y2)、(X2,Y3)のうち、すでに検索範囲として検索エリア内施設リストが作成されている検索エリア(X3,Y2)、(X3,Y3)を除いた、検索エリア(X2,Y2)、(X2,Y3)を新たな検索エリアとする。
【0051】
次に情報処理制御装置20は、今回の同心円P3に含まれている接続隅aを接続隅リストから削除する。含まれていなかった接続隅b、cbについては削除せずに、次回以降の処理6において再度同心円に含まれる否かの判断をするためにそのまま残しておく。
【0052】
(7)処理7(図11)
次に情報処理制御装置20は、図11に示すように、処理6で求めた新しい検索エリア(X3,Y2)を区分している区分ライン(境界線を延長した線)で、指定位置Aから最も遠い区分ラインまでの最短距離を求める。
そして、求めた最短距離を境界距離として、RAM24に確保した境界距離リストの最後に追加する。
【0053】
なお、境界距離リストに保存した各距離のうち、既にその距離の同心円内の施設を抽出するために使用した距離については、境界距離リストから削除し、又は、使用済みであることを確認するための使用済情報(例えば、フラグのオン)を付すようにしてもよい。
削除又は使用情報を付すタイミングとしては、対象距離として使ったとき(処理3の際)、対象方向の検索エリアがデータ抽出対象となったとき(処理6の際)、該当方向の検索エリア境界距離を追加する/した時(処理7の際)の何れでも良い。
【0054】
(8)処理8(図12)
次に情報処理制御装置20は、図12に示すように、処理6で求めた新たな検索エリア(X3,Y2)内に存在する全施設を、上述した処理2と同様にして、目的地データファイル57から検索する。
そして、情報処理制御装置20は、図12(d)に示すように、指定位置Aから検索した各施設までの距離を算出し、RAM24に確保した検索エリア(X3,Y2)用の検索エリア内施設リストに、施設IDと算出した距離を保存し、距離が小さい順にソートする。
【0055】
なお、処理5から処理8の処理については、処理4の後に実行する場合について説明したが、処理4の実行中において、処理5から処理8を並行して実行するするようにしてもよい。これにより更に全体のスループットを短縮することが可能になる。
【0056】
また、この処理8で新たに作成する検索エリア内施設リストは、処理6で求めた新たな検索エリアが複数存在する場合には全体で1つ作成してもよいが、各検索エリア毎に作成するようにしてもよい。各検索エリア毎に作成することで、データ件数が少なくなり、ソート処理を早くすることができる。
【0057】
(9)処理9(図13)
次に情報処理制御装置20は、処理8で作成した、検索エリア(X3,Y2)に対する検索エリア内施設リストと、既に作成済みの検索エリア内施設リスト(図13の例では、処理2で作成したリスト)から、処理5で取得した境界距離(次に近い境界線までの距離(図13の例では1500m))内の施設を抽出し、応答順リストを作成する。
但し、作成済みの検索エリア内施設リストのうち、すでに画面表示のために抽出された施設(図13(a)の同心円P1内の施設)は除かれる。抽出済みの施設としては、処理4、又は全回までの処理9において抽出された施設が対象となる。
これにより、図13(a)における、指定位置Aを中心とし境界距離を半径とする同心円P1とP2間のドーナツ状の領域内の施設が抽出され、応答順リストに記憶される。
【0058】
すなわち情報処理制御装置20は、各検索エリアに対する検索エリア内施設リストの先頭(未応答のもの、すなわち、まだ比較されていないもの)施設同士を比較し、最も距離が小さい施設の施設IDを取得する。そして、図13(e)に示すように、取得した施設ID(先頭の施設の中で距離が最小である施設ID)を順次RAM24の応答順リストに保存する。
なお、距離が最小であるとして取得した施設の施設IDは、その検索エリア内施設リストから削除、又は応答済みとする。
以上の処理(各検索エリア内施設リストの先頭の施設の距離比較による最小距離の施設ID取得)を、今回の境界距離(処理5で取得した距離)の施設に対して全て応答をする。
これにより、各検索エリア内検索リストに含まれる施設のうち、境界距離内の施設の施設IDを距離順にな並べた応答順リスト(図13(e))が作成される。
【0059】
情報処理制御装置20データは、作成した応答順リストに基づいて、リスト表示可能数及び、ユーザの操作(次ページ表示の操作等)に応じて、応答順リストの上位の施設IDに対応する施設データから順にディスプレイ24にリスト表示される。
【0060】
なお、処理9において、各検索エリア内施設リストから、処理5で取得した境界距離内の施設IDと距離(以下施設距離データという)を取得して、順次応答順リストに保存し、全ての検索エリア内施設リストからの取得と保存が終了した後に、応答順リストを距離順にソートするようにしてもよい。
【0061】
(10)処理10
情報処理制御装置20は、以上の処理5〜処理9について、検索半径R(10km)の同心円を含んでいる、検索対象範囲の検索エリアの全てに対して終了し、応答する施設(応答順リストに保存する施設)がなくなるまで繰り返す。
本例では検索半径R内の施設全てが検索対象となるが、例えば件数の場合や特定の施設が発見されるまででもよい。
【0062】
次に、周辺施設検索処理の詳細について図14、図15のフローチャートに従って説明する。
情報処理制御装置20は、最初に、指定位置Aを取得し、取得した指定位置A含む検索エリアを算出し(ステップ11)、算出した検索エリア内の施設データを目的地データファイル56から取得する(ステップ12)。
【0063】
そして情報処理制御装置20は、指定位置Aから、取得した全ての施設までの距離を求めて検索エリア内施設リストを作成し、作成したリストを検索エリア内施設リストを距離順にソートする(ステップ13)。
なお、以上のステップ12、13の処理は、前述した処理2に該当するが、このように処理2を処理1より先に行うようにしてもよい。
【0064】
次に、情報処理制御装置20は、指定位置Aを含む検索施設エリアの端まで(境界線まで)の各距離を算出する(ステップ14)。すなわち、指定位置Aを含む検索エリアを区分する4本の各区分ラインまでの距離を算出する。
そして、各距離を境界距離として境界線リストを作成し、距離の短い順にソートする(ステップ15)
以上のステップ14、15は、前述した処理1に該当する。
【0065】
情報処理制御装置20は、作成した境界距離リストから一番近い境界距離(先頭)を取得し(ステップ16)、境界距離をRAM24の作業領域に確保したうえで、取得した先頭の境界距離距離を境界線リストから削除する(ステップ17)。
図5〜図13で説明した例(以下、上述例という)の場合であれば、情報処理制御装置20は、境界距離リストの最小値である1000mを取得する。
【0066】
そして、情報処理制御装置20は、ステップ13で作成しソート後の検索エリア内施設リストから、一番近い境界距離(ステップ16で取得した境界距離)よりも距離が小さい施設を抽出する。すなわち、境界距離を中心とする同心円(上述例の場合P1)内に存在する施設を抽出する(ステップ18)。
【0067】
そして情報処理制御装置20は、抽出結果である境界距離内の施設を画面に表示し(ステップ19)、画面に表示した施設を検索エリア内施設リストから削除する(ステップ20)。
【0068】
そして情報処理制御装置20は、終了条件を満たしたか否かを判断する(ステップ21)。
ここで、本実施形態の終了条件としては、検索範囲(指定位置Aから所定距離R以内)に存在する全施設の抽出が終了した場合が該当する。但し、抽出した施設の数が所定検索件数に達した場合、特定の地点(施設)を抽出した場合、などの他の条件を追加、又は代用するようにしてもよい。複数の条件が存在する場合には、全条件を満たした場合、いずれか1の条件を満たした場合のいずれでもよい。
【0069】
終了条件を満たしていない場合(ステップ21;N)、情報処理制御装置20は、境界距離リストから先頭の境界距離(上述例の場合、ステップ17で前回の境界距離を削除しているので、次の境界距離1500m、以降の境界距離)を取得し(ステップ22)、取得した境界距離を境界距離リストから削除する(ステップ23)。
【0070】
そして、情報処理制御装置20は、ステップ22で取得した境界距離の範囲内となる新たな検索エリアを算出し(ステップ24)、新たな検索エリアに含まれる施設を目的地データファイル56から取得する(ステップ25)。
そして情報処理制御装置20は、指定位置Aから取得した各施設までの距離を求め、検索エリア内施設リストを作成し、距離順にソートする(ステップ26)。
【0071】
次に情報処理制御装置20は、新しい検索エリアの、指定位置からみて最も遠い区分ラインまでの距離を求め、境界距離リストの最後に追加する(ステップ27)。すなわち、情報処理制御装置20は、指定位置Aから、新しい検索エリアを区分する4本の各区分ラインまでの距離の最大値を求め、境界距離リストの最後に追加する。
【0072】
そして情報処理制御装置20は、検索エリア内施設リスト群から、一番近い境界距離内の施設を抽出し(ステップ28)、抽出結果を画面に表示する(ステップ29)。
その後ステップ21に戻って、終了条件を満たすまでステップ21からステップ22を繰り返す。
【0073】
次に、ステップ28における、検索エリア内施設リスト群から一番近い境界距離内の施設を抽出する処理について、図15を使用して説明する。
なお、上述の処理9(図13(b)、(c))で説明した、境界距離リスト、及び施設エリア(X3,Y3)、(X3,Y2)の検索エリア内施設リストから施設を抽出する場合について、上述例として説明する。
【0074】
情報処理制御装置20は、最初に情報処理制御装置20は、ステップ23で境界距離リストから取得した境界距離(抽出範囲)に1mを加算した距離を最小距離に設定する(ステップ281)。すなわち、上述例では、境界距離1500mに1mを加算した1501mを最小距離に設定する。
ここで1mを加算するのは、本実施形態における距離算出の最小単位が1mであること、及び、今回の検索範囲最大値である1500mを含めるためである。
【0075】
次に情報処理制御装置20は、全ての検索エリア内施設リストをチェックしたか否か判断する(ステップ282)。
そして未チェックであれば(ステップ282;N)、情報処理制御装置20は、該当する(チェック対象である)検索エリア内施設リストの先頭の距離を取得し、最小距離と比較する(ステップ283)。
上述例では、検索エリア内施設リスト(X3,Y3)の先頭の距離1005mを取得し、最小距離15001mと比較する。
【0076】
先頭の距離が、最小距離以上である場合(ステップ283;N)、情報処理制御装置20は、後述する最小距離の変更とIDの保持をせずに、ステップ282に戻る。
【0077】
一方、先頭の距離が、最小距離未満であれば(ステップ283;Y)、情報処理制御装置20は、最小距離の値を当該検索エリア内施設リストの先頭の距離に設定(変更)する(ステップ283)。
上述例では、先頭の距離1005mは、最小距離1501m未満なので(ステップ283;Y)、最小距離の値を1501mから1005mに変更する。
【0078】
そして情報処理制御装置20は、当該施設(先頭の距離に対応する施設)の施設IDをRAM24に保持する(ステップ285)、と共に、当該検索エリア内施設リストIDをRAM24に保持し(ステップ286)、ステップ282に戻る。
上述例では、当該施設の施設ID(X3Y3x8)と、当該検索エリア内施設リストのID(X3,Y3)を保持しステップ282に戻る。
【0079】
情報処理制御装置20は、上述例で未チェックの検索エリア内施設リスト(X3,Y2)が存在するので(ステップ282;Y)、その先頭の距離1001mと最小距離1005を比較する(ステップ283)。
この場合、先頭の距離1001mの方が小さいので(ステップ283;Y)、RAM24に保持していた施設IDと検索エリア内施設リストID(X3Y3x8、X3,Y3)に代えて、現在チェック中の施設(距離1001mに対応する施設)の施設ID(X3Y203)と、当該検索エリア内施設リストのID(X3,Y2)を保持しステップ282に戻る。
【0080】
ステップ208に戻り、全ての検索エリア内施設リストの先頭の距離についてのチェック済みであれば(ステップ208;Y)、情報処理制御装置20は、現時点での最小距離が抽出範囲+1m未満か否かを判断する。
最小距離が抽出範囲+1m未満である場合(ステップ287;Y)、情報処理制御装置20は、まだ抽出対象のデータが残っている可能性があり、この場合には、ステップ285、286でRAM24に保持した施設IDと検索エリア内施設リストIDが存在しているので、当該施設の施設情報(両ID)を取得して応答順リストの最後に追加する(ステップ288)。
上述例では、最小距離1001mが1501m未満なので、最小距離1001に対応してステップ285、286で保持した施設ID(X3Y203)と、検索エリア内施設リストのID(X3,Y2)を、応答順リストの最後に追加する。
【0081】
そして、情報処理制御装置20は、該当する検索エリア内施設リストから当該データ(先頭のデータ)とステップ285、286で保持した両IDを削除し(ステップ289)、ステップ281に戻り、以上の処理を繰り返す。
上述例では、検索エリア内施設リスト(X3,Y2)の先頭のデータ(施設IDと距離)を削除して、ステップ281に戻る。
【0082】
以上の、ステップ281からステップ289までの1サイクルにおいて、全検索エリア内施設リストの先頭の距離同士が比較(ステップ282〜ステップ286)され、そのうちの最小値に対応する施設のデータが応答順リストに追加され、当該データを削除した後の全検索エリア内施設リストに対して2回目以降のサイクルにより、順次距離が小さい順に応答順リストに追加される。
【0083】
情報処理制御装置20は、ステップ287において、最小距離287が抽出範囲+1m以上である場合(ステップ287;N)、抽出対象となるデータが存在しないので、メインルーチンにリターンする。
なお、この場合、ステップ283の判断は、全ての検索エリア内施設リストの先頭の距離が最小距離(抽出範囲+1m)以上である(ステップ283;N)ので、ステップ284〜286は行われない。
【0084】
以上、本発明のナビゲーション装置、及びナビゲーション用プログラムにおける1実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
例えば、境界距離リストに保存した各境界距離と、前後する他の境界距離との差が所定閾値距離(例えば、100m)以内である場合、その間に存在する施設が少ないと推定できるので、小さい方の境界距離を削除するようにしてもよい。
これにより、処理5〜処理9の繰り返し回数を減らすことができる。
なお、所定閾値距離については、全て一定ではなく、指定位置Aから離れるほど小さくするようにしてもよい。指定位置から離れるほど、距離差が小さくても面積は大きくなるためである。
【0085】
また、説明した実施形態では処理6において、新たな検索エリアを求める方法として、前回使用した同心円が接する境界線両端の接続隅を使用して求める場合について説明したが、他の各種方法によることも可能である。
例えば、検索エリア境界距離の前回までの接続方向(指定位置Aから、同心円が接する方向)を元に決定する方法でもよい。すなわち、前回までの接続方向の論理的加算により概略を決定し、詳細については当該検索エリアの4隅を元に距離計算を行う。
例えば、境界距離が1500mの場合の例では、前回までの接続方向として「上」だけが処理済のため「上」の検索エリア(X3,Y2)が対象となる。
また、その次の回(境界距離2500m)には、前回までの接続方向として、「上」と「左」が存在するため左+上⇒上(X3,Y2)、左(X2,Y3)、左上(X2,Y2)が対象となる
【0086】
また、説明した実施形態では、目的地データファイル56(施設情報記憶手段)をナビゲーション装置が備える場合について説明したが、必ずしもナビゲーション装置が備えるひつようはない。例えば、情報センタに目的地データファイルを保存しておき、通信により、目的地データファイル必要なデータを情報センタから取得する用にしてもよい。
【図面の簡単な説明】
【0087】
【図1】ナビゲーション装置のシステム構成図である。
【図2】目的地データファイルに格納されている目的地データの内容を概念的に表した説明図である。
【図3】検索エリアを概念的に表した説明図である。
【図4】矩形に分割された検索エリアと指定位置に基づく施設の検索順について表した説明図である。
【図5】周辺検索処理における処理1についての説明図である。
【図6】周辺検索処理における処理2についての説明図である。
【図7】周辺検索処理における処理3についての説明図である。
【図8】周辺検索処理における処理4についての説明図である。
【図9】周辺検索処理における処理5についての説明図である。
【図10】周辺検索処理における処理6についての説明図である。
【図11】周辺検索処理における処理7についての説明図である。
【図12】周辺検索処理における処理8についての説明図である。
【図13】周辺検索処理における処理9についての説明図である。
【図14】周辺施設検索処理の詳細について表したフローチャートである。
【図15】周辺検索処理のステップ28の詳細を表したサブルーチンのフローチャートである。
【符号の説明】
【0088】
1 ナビゲーション装置
10 現在位置検出装置
20 情報処理制御装置
40 入出力装置
41 入力装置
42 ディスプレイ
50 情報記憶装置
56 目的地データファイル
【技術分野】
【0001】
本発明は、ナビゲーション装置、及びナビゲーション用プログラムに関し、例えば、車両の現在位置の周辺に存在する施設を検索する技術に関する。
【背景技術】
【0002】
車両に搭載され、車両現地周辺の地図を表示したり、目的地までの走行経路を探索して経路案内を行うナビゲーション装置が広く普及している。
このようなナビゲーション装置の機能に車両現在位置周辺に存在する施設を検索して表示画面にリスト表示する周辺施設検索機能に関する技術が、例えば、特許文献1で提案されている。
【特許文献1】特開2000−234937号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ナビゲーション装置では、このような周辺施設検索機能を使用し、現在位置から所定距離Rの範囲内に存在する施設を検索したり、現在位置から近い順に所定件数の施設を表示したりする場合がある。
例えば、データベースから読み出した各施設に対する現在位置からの距離を個別に算出し、指定されたRkm以内か判断したり、また、距離順にソートしたりする処理が必要になる。
このように従来の周辺施設検索機能では、対象となる全ての施設(ジャンル等が指定されている場合にはそのジャンルの全ての施設)までの距離を算出するための処理時間がかかるため、該当する施設をリスト表示してユーザに提供するまでに時間がかかっていた。
【0004】
そこで、本発明はかかる課題を解決するためになされたもので、周辺施設検索による候補施設をより早くユーザに提供することを目的とする。
【課題を解決するための手段】
【0005】
(1)前記目的を達成するために、請求項1に記載の発明では、所定位置周辺に存在する施設を検索するナビゲーション装置であって、その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段と、所定位置を取得する所定位置取得手段と、前記所定位置を含む検索エリアを特定する検索エリア特定手段と、所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得手段と、取得した施設を提示する施設提示手段と、を備え、前記施設取得手段は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、前記施設提示手段は、前記施設取得手段で最初に取得した施設を最初に提示する、ことを特徴とするナビゲーション装置を提供する。
(2)請求項2に記載の発明では、前記施設取得手段は、前記最初に施設を取得した後は、順次、他の各区分ラインと接する同心円のうち次に大きい同心円の内側に存在する施設を取得する、ことを特徴とする請求項1に記載のナビゲーション装置を提供する。
(3)請求項3に記載の発明では、前記所定位置から前記特定した検索エリア内の各施設までの距離を算出する距離算出手段と、前記算出した距離順に検索エリア内の各施設をソートした施設リストを作成する施設リスト作成手段と、前記所定位置から、前記特定した検索エリアを区分する区分ラインまでの境界距離を算出する境界距離算出手段と、を備え、前記施設取得手段は、前記指定位置からの距離が、前記算出した境界距離の最小値以下である施設を前記施設リストから最初に取得する、ことを特徴とする請求項1に記載のナビゲーション装置を提供する。
(4)請求項4に記載の発明では、前記施設取得手段は、指定された施設のジャンル等の他の検索条件が設定されている場合には、当該他の検索条件を満たす施設を取得する、ことを特徴とする請求項1、請求項2、又は請求項3に記載のナビゲーション装置を提供する。
(5)請求項5に記載の発明では、前記施設リスト作成手段は、前記施設提示手段で提示した施設を、施設リストから削除し、又は、提示済みであることを示す明示情報を前記施設リストに付与する、ことを特徴とする請求項3に記載のナビゲーション装置を提供する。
(6)請求項6に記載の発明では、前記検索エリア特定手段は、前記施設取得手段で取得した施設に対する同心円の次に大きい同心円に含まれる検索エリアのうち、既に検索範囲として特定済みの検索エリアを除外した検索エリアを新たに特定し、前記施設リスト作成手段は、新たに特定された検索エリア内の施設リストを新たに作成し、前記施設取得手段は、前記次に大きい同心円内に存在し、未取得の施設を、前記施設リスト作成手段で作成した施設リストから取得する、ことを特徴とする請求項3に記載のナビゲーション装置。
(7)請求項7に記載の発明では、その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段を備えたナビゲーション装置を構成するコンピュータに、所定位置を取得する所定位置取得機能と、前記所定位置を含む検索エリアを特定する検索エリア特定機能と、所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得機能と、取得した施設を提示する施設提示機能と、を実現させるナビゲーション用プログラムであって、前記施設取得機能は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、前記施設提示機能は、前記施設取得手段で最初に取得した施設を最初に提示する、ことを特徴とするナビゲーション用プログラムを提供する。
【発明の効果】
【0006】
本発明では、所定位置を中心とし、特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して提示するので、候補施設をより早くユーザに提供することができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の検索装置及び検索用プログラムにおける好適な実施の形態について、検索装置をナビゲーション装置に適用した場合を例に、図1から図15を参照して詳細に説明する。
(1)実施形態の概要
各施設の所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する。
そして、周辺検索を行う場合に、車両現在位置を含む検索エリアを特定し、現在位置を中心として、特定した検索エリアの区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得して、提供する。
【0008】
(2)実施形態の詳細
図1は、本実施形態が適用されるナビゲーション装置1のシステム構成図である。
このナビゲーション装置1は、車両に搭載され、この図1に示すように、現在位置検出装置10、情報処理制御装置20、入出力装置40及び情報記憶装置50とを備えている。
まず、現在位置検出装置10は、以下のような構成を有している。絶対方位センサ11は、例えば、磁石に基づいてN方向の検出から、車両が何れの方向に位置するかを検出する地磁気センサであり、絶対方位を検出する手段であればよい。
【0009】
相対方位センサ12は、例えば交差点を曲がったか否かを検出するものであり、ハンドルの回転部に取り付けた光学的な回転センサや回転型の抵抗ボリューム或いは車輪部に取り付ける角度センサでもよい。
また、角速度を利用して角度の変化を検出するジャイロセンサを用いてもよい。つまり、基準角度(絶対方位)に対して、相対的に変化した角度を検出することができる手段であればよい。
距離センサ13は、例えば、車輪の回転を検出して計数するものや、加速度を検出して2回積分するものでもよい。つまり、車両の移動距離を計測できる手段であればよい。
【0010】
GPS(グローバル・ポジショニング・システム)受信装置14は、人工衛星からの信号を受信する装置であり、信号の発信時刻、受信装置の位置情報、受信装置の移動速度、受信装置の進行方向など様々な情報を得ることができる。
ビーコン受信装置15は、特定の地点に設置された送信装置より発信された信号を受信する装置である。特に、VICS情報を入手することができ、渋滞情報、現在位置情報、駐車場情報等車両の走行に関する情報を入手することができる。
【0011】
データ送受信装置16は、電話回線や電波を利用して車両外部と通信をし、情報の交換を行うための装置である。
例えば、自動車電話、ATIS、VICS、GPS補正、車両間通信など様々な利用方法があり、走行に関する情報を入出力することが可能である。
【0012】
また、図示しないが、車両は、車速を計測する車速センサ、加速度を計測する加速度センサ、アクセルの踏み量を計測するアクセルセンサ、ブレーキの踏量を計測するブレーキセンサなどを備えている。
【0013】
情報処理制御装置20は、現在位置検出装置10、入出力装置40から入力される情報及び情報記憶装置50に格納された情報に基づいて演算及び制御を行うとともに、演算結果をディスプレイ42、プリンタ43又はスピーカ44等の出力手段に出力するように制御する手段である。
【0014】
この情報処理制御装置20は、以下のような構成を有している。
中央処理装置(CPU)21は、ナビゲーション装置1全体の総括的な演算及び制御を行う。
本実施形態においてCPU21は、現在位置検出装置10で検出した車両の現在位置、又は入力装置41で指定された指定位置から、所定距離R以内に存在する施設を検索する周辺施設検索を行う。
【0015】
第1ROM22はナビゲーションに関するプログラム、特に、現在位置の検出、経路の探索、表示案内などに関するナビゲーションプログラムを格納している。
CPU21は、ナビゲーションに関するプログラムに従って動作することにより、走行経路の案内処理や、走行経路の探索処理、目的の設定処理、入力支援処理などの各種処理を行うことができる。
【0016】
入力インターフェイス23は、現在位置検出装置10からの情報を受け取る手段である。
通信インターフェイス25は、現在位置検出装置10からの情報、特に外部から得られる情報を入出力するための手段である。
【0017】
RAM24は、CPU21が情報処理を行うためのワーキングメモリを提供し、例えば、CPU21が各種画面を表示するためのデータや各種センサの出力値やユーザが入力した情報などを記憶する。
より詳細には、後述する入力装置41により入力された目的地の情報、通過地点の情報等の利用者が入力した情報を記憶すると共に、利用者の入力情報に基づいてCPU21により演算された結果や、経路探索された結果、又は情報記憶装置50から読み込まれた地図情報を格納するための記憶手段である。
また、本実施形態による周辺施設検索処理において、RAM24にはは、各検索エリア毎に読み出した施設の施設距離リストと、境界距離リストを記憶するワーキング領域が確保されるようになっている。
【0018】
第2ROM26は、ナビゲーションに関するプログラム、特に、目的地設定プログラム、経路探索プログラム、音声案内プログラム、周辺施設検索プログラム等の、各種プログラムを格納している。なお、第1ROM22と第2ROM26を共通する1のROMで構成するようにしてもよい。
画像プロセッサ27は、CPU21で処理されたベクトル情報を画像情報に処理するための処理手段である。
【0019】
時計28は、時刻を刻む。
画像メモリ29は、画像プロセッサ27により処理された画像情報を格納する手段である。
音声プロセッサ30は、情報記憶装置50から読み込まれた音声情報を処理し、スピーカ44に出力する。
【0020】
入出力装置40は、利用者により目的地、通過地点、探索条件等のデータを入力する入力装置41、画像を表示するディスプレイ42、情報を印刷するプリンタ43、音声を出力するスピーカ44より構成される。入力装置41は、例えば、タッチパネル、タッチスイッチ、ジョイスティック、キースイッチ等で構成される。
ディスプレイ42には、現在地周辺の地図や、目的地までの走行経路が表示される。
【0021】
情報記憶装置50は、伝送路45を介して情報処理制御装置20に接続される。
情報記憶装置50は、地図データファイル51、交差点データファイル52、ノードデータファイル53、道路データファイル54、写真データファイル55、目的地データファイル56(施設情報記憶手段)、案内地点データファイル57、及びその他のデータファイル58を格納している。
【0022】
この情報記憶装置50は、一般的には、光学的記憶媒体であるDVD−ROM、CD−ROMや磁気的記憶媒体であるハードディスクなどで構成されるが、光磁気ディスク、各種半導体メモリなどの各種情報記憶媒体で構成してもよい。
なお、書き換えが必要な情報については、書き換え可能なハードディスク、フラッシュメモリなどで構成し、その他の固定的な情報についてはCD−ROM、DVD−ROMなどのROMを使用するようにしてもよい。
【0023】
地図データファイル51には、全国道路地図、各地域の道路地図又は住宅地図等の地図データが記憶されている。道路地図は、主要幹線道路、高速道路、細街路等の各道路と地上目標物(施設等)から構成される。住宅地図は、地上建造物等の外形を表す図形及び、道路名称等が表示される市街図である。細街路とは、例えば、国道、県道以下の道幅が所定値以下の比較的狭い道路である。
【0024】
交差点データファイル52には交差点の地理的位置座標や名称等の交差点に関するデータが、ノードデータファイル53には地図上において経路探索に利用される各ノードの地理座標データ等が、道路データファイル54には道路の位置と種類及び車線数及び各道路間の接続関係等の道路に関するデータが、写真データファイル55には各種施設や観光地、又は主要な交差点等の視覚的表示が要求される場所を写した写真の画像データが、それぞれ記憶されている。
案内地点データファイル57には、道路に設置されている案内表示板の内容や分岐点の案内等、案内が必要とされる地点の案内データが記憶されている。
【0025】
目的地データファイル56には、主要観光地や建物、電話帳に記載されている企業・事業所等の目的地として設定可能な場所や施設等に関するデータが格納されている。
【0026】
図2は目的地データファイル56に格納されている目的地データの内容を概念的に表したものである。
目的地データファイル56には、施設ID、検索キー、地点名称、座標、住所、電話番号、ジャンル、その他のデータが各目的地毎に格納されている。
検索キーは、入力された文字列と比較して目的地を検索するためのキーで、地点名称の読み(仮名表記)が該当する。
【0027】
地点名称は、目的地の名称の表記である。
住所、座標、電話番号、その他のデータは、目的地の詳細を示す地点情報である。
座標は目的地が所在する地点の緯度と経度である。なお、地点を特定できる情報であれば、緯度経度以外の情報を用いてもよい。
TELは目的地施設の電話番号である。
ジャンルは、「レストラン」「銀行」「ゴルフ場」といった、その施設が分類される階層化されたジャンル情報が1又は複数指定されている。
その他のデータには、目的地の住所や、店舗等である場合にはその営業時間や駐車場の有無、「関東地方」といったエリア情報等がある。
【0028】
目的地データファイル56に保存されている各目的地情報には、識別情報としての施設IDが付けられている。
施設IDは、検索エリアを示す検索エリア番号(X1Y1等)を示す前半部分と、検索エリア内での施設番号(0001等)を示す後半部分とから構成されている。
このように施設IDを付けることで、各施設(目的地)は、その物理的位置(座標位置)を元に、特定の検索エリア毎にデータが格納されることになる。
【0029】
図3は、検索エリアを概念的に表したものである。
この図3に示されるように、日本全国を所定距離毎に緯線、経線に平行に引かれた区分ラインで区分された矩形エリアを検索エリアとしている。即ち、各検索エリア毎に、区分された列X1、X2…と、行Y1、Y2…の組み合わせX1Y1、X1Y2…によって検索エリアが特定されるようになっている。
なお、図3の図は一例として矩形エリアを表したものであるが、実際に矩形の検索エリアに分割する区分ラインは、本実施形態では4kmとなっている。従って、各検索エリアは東西南北4km四方で区切られた矩形となっている。但し、検索エリアはこれに限られるものではなく、2km四方、1km四方、5km四方等、任意のzkm四方の矩形としてもよい。
本実施形態において、各検索エリアは4本の区分ラインで区分されるが、各区分ラインの検索エリアと接する範囲の線分を境界線という。すなわち、境界線の両端を延長したものが区分ラインである。
【0030】
このように構成されたナビゲーション装置1では、次のようにして経路案内が行われる。
ナビゲーション装置1は、現在位置検出装置10で現在位置を検出し、情報記憶装置50の地図データファイル51から現在位置周辺の地図情報を読み込みディスプレイ42に表示する。
そして、ナビゲーション装置1は、ディスプレイ42に検索語入力画面100や検索結果画面200などを表示し、入力装置41から目的地の入力を受け付ける。
入力装置41は、ディスプレイ42上に配置されたタッチパネルを備えており、ユーザがディスプレイ42に表示された操作ボタンをタッチすると、当該操作ボタンの選択を検出し、ユーザから目的地の設定を受け付けるようになっている。
【0031】
そして、入力装置41から目的地が入力されると、情報処理制御装置20は、現在位置から目的地に至る走行経路の候補を複数探索(演算)し、ディスプレイ42に表示した地図上に表示し、運転者が何れかの走行経路を選択すると、選択した走行経路をRAM24に格納することで、走行経路を取得する(走行経路取得手段)。
【0032】
なお、情報処理制御装置20は、情報処理センタに車両現在位置(又は入力された出発地)と目的地を送信し、情報処理センタで探索された目的地までの走行経路を受信することにより走行経路を取得するようにしてもよい。この場合、目的地や走行経路の通信は通信インターフェイス25を介して、無線通信により行う。
また、自宅等のパーソナルコンピュータ等の情報処理装置を使用して、出発地から目的地までの走行経路を探索し、USBメモリ等の記憶媒体に格納し、該記憶媒体読取り装置を介して取得するようにしてもよい。この場合の記憶媒体読み取り装置は伝送路45を介して情報処理制御装置20に接続される。
【0033】
車両が走行すると、現在位置検出装置10によって検出された現在位置を追跡することにより、経路案内を行う。
経路案内は、探索した走行経路に対応する道路データと現在位置検出装置10で検出される現在位置とのマップマッチングにより、地図上の車両位置を特定し、車両現在位置周辺の地図をディスプレイ42に表示すると共に、探索した走行経路と現在位置とを地図上に表示する。
また、探索した走行経路と現在位置との関係から、案内の必要性、即ち直進が所定距離以上続く場合、所定の進路変更地点等の走行経路の案内、及び方面案内が必要か否か等について判断し、必要である場合にはディスプレイ42の表示及び音声による案内を実行する。
【0034】
次に、本実施形態による周辺施設検索処理について説明する。
図4は、矩形に分割された検索エリアと指定位置に基づく施設の検索順について表したものである。
以下の説明では、検索エリアが東西南北各々4km四方の矩形に区切られ、図中▲で表した指定位置Aから検索半径R=10km以内に存在する施設を抽出(検索)する場合を例に説明する。
検索する範囲を規定する検索半径Rは、ユーザによって指定されるが、ユーザによる指定が無い場合には、デフォルト値(例えば、10km)が用いられる。なお、デフォルト値については、例えば、コンビニの場合2km、ガソリンスタンドの場合5km、ゴルフ場の場合50kmというように、ユーザが指定するジャンル毎に異なる値を予め設定しておくようにしてもよい。
【0035】
なお、指定位置Aとしては、検索エリア(X3Y3)の原点(左上)から右方向に1.5km、下方向に1kmの位置が指定されているものとする。
この指定位置Aは、ユーザがディスプレ42に表示した地図画面上で指定した地点、ユーザが指定した住所(電話番号による指定を含む)、ユーザが指定しない場合には現在位置検出装置で検出した車両の現在位置である。
【0036】
本実施形態の周辺施設検索処理では、指定位置Aを中心とし、各検索エリアを区切る境界線と接する同心円をP1、P2、P3、…を順次求め、一番小さい同心円P1内に存在する施設、同心円P1からP2の間に存在する施設、同心円P2からP3の間に存在する施設、…というように、順次外側の同心円に検索対象を広げて検索を行うようにする。
これにより、一番小さい同心円P1内の施設は対象数が少ないので、直ちに検索及びユーザへの提供を行うことができる。その外側の同心円間に存在する施設については、ユーザが画面で確認している間に順次検索し、表示リストを作成することができる。
【0037】
以下、図5〜図13に従って周辺施設検索の処理について説明する。
(1)処理1(図5)
まず、図5(a)に示されるように、情報処理制御装置20は、指定位置Aが含まれる検索エリア(X3,Y3)において指定位置Aから検索エリアを区切る4本の境界線までの距離のうちの最短距離を求める。
すなわち、情報処理制御装置20は、指定位置Aが含まれる検索エリア(X3,Y3)を求める。そして、図5(b)に示すように、指定位置Aから、上(北a)、右(東b)、左(西c)、下(南d)の各方向に存在する検索エリア(X3,Y3)の各境界線までの距離を求め、これを境界距離としてRAM24に確保した境界距離リスト用の領域に保存し、距離が小さい順にソートする。
【0038】
(2)処理2(図6)
また情報処理制御装置20は、図6(a)に示すように、指定位置Aが含まれる検索エリア(X3,Y3)内に存在する全施設を目的地データファイル57から検索する。この施設検索では、各施設の施設IDの前半部分が、対象となっている検索エリア(X3,Y3)に対応する検索エリア番号X3Y3である施設を検索する。
なお、検索エリア内の施設を検索する場合、ジャンルの指定等の他の条件が設定されている場合には設定されている条件も満たす施設を検索する。
【0039】
そして、情報処理制御装置20は、図6(c)に示すように、指定位置Aから検索エリア(X3,Y3)内の各施設までの距離を算出し、RAM24に確保した検索エリア内施設リスト用の領域に、施設IDとともに保存し、距離が小さい順にソートする。
【0040】
(3)処理3(図7)
次に情報処理制御装置20は、図7に示すように、処理1で求めた検索エリア(X3,Y3)の境界までの距離のうち最も近い距離を取得する。すなわち、図7(b)に矢印で示す上方向の距離1000mを取得する。
【0041】
(4)処理4(図8)
次に情報処理制御装置20は、図8に示すように、処理2でRAM24に保存したソート後の検索エリア内施設リストから、処理3で取得した距離(1000m)内の施設、すなわち、半径1000mの同心円P1内の施設を抽出し、ディスプレイ42に検索候補としてリスト表示する。
図8(c)に示した例では、指定位置Aから距離98mにある施設(X3Y3x1)から距離927mにある施設(X3Y301)までの各施設が抽出され、リスト表示される。
そして、情報処理制御装置20は、検索エリア内施設リスト内の各施設のうち、応答した施設(抽出し表示した施設)は、検索エリア内施設リストから削除する。但し、応答済みであることを識別する明示情報(例えば、フラグオン)を保存するようにしてもよい。
【0042】
(5)処理5(図9)
次に情報処理制御装置20は、図9に示すように、処理1で求めた境界距離リストから、次に近い距離(境界距離)を取得する。
すなわち、情報処理制御装置20は、次に近い境界線までの距離1500mをRAM24から取得する。
【0043】
(6)処理6(図10)
次に情報処理制御装置20は、指定位置Aを中心とし、処理5で取得した次の境界距離(1500m)まで検索範囲を拡張した場合に新たに検索範囲内となる、新しい検索エリアを求める。すなわち、図10(a)に示すように、取得した次の境界距離を半径とする同心円P2に含まれる新しい検索エリアを求める。
【0044】
情報処理制御装置20は、全ての検索エリアを対象として同心円内に含まれるか否かを判断すると処理が遅くなるので、次のようにして効率的に同心円に含まれるか否かを判断する。
すなわち、情報処理制御装置20は、指定位置Aを中心とし前回分の境界距離(1000m)を半径とする同心円(P1)が接する境界線を求め、この境界線を延長した区分ライン上に存在する接続隅(座標値)をRAM24の接続隅リストに格納する。
【0045】
接続隅は各検索エリアの頂点のことで、少なくとも同心円が接する境界線の両端の接続隅を接続隅リストに格納する。
更に境界線両端の接続隅の外側(同一区分ライン上)に存在する接続隅を格納するか否かは、区分ライン間の距離(本実施形態では4km)と、境界距離に基づいて決める。区分ライン間の距離が狭くなるほど、格納する接続隅の対象数を増加させる。また、境界距離が大きくなるほど、格納する接続隅の対象数を増加させる。
【0046】
そして、情報処理制御装置20は、RAM24の接続隅リストに格納されている全ての接続隅に対して、今回の境界距離(1500m)による検索範囲(境界距離を半径とする同心円(P2))内に含まれているか否かを判断する。
ここで判断対象となる接続隅は、今回新たに格納した接続隅だけでなく、以前に格納した接続隅で以前の同心円内に含まれていない接続隅も対象となる。
例えば、図4に示した同心円P5の更に2つ外側の同心円P7(図示しない)の場合、新たに格納した接続隅として検索エリア(X1,Y2)の右下の接続隅と、検索エリア(X1,Y3)の右下の接続隅が判断対象となり、以前格納され残っている接続隅として検索エリア(X4,Y1)の左下の接続隅が判断対象となる。
【0047】
接続隅が同心円に含まれていない場合(図10の状態が該当)、情報処理制御装置20は、指定位置Aから見て、前回分の境界距離を半径とする同心円(P1)が接する境界線の方向(上方向)の検索エリアを新しい検索エリアとする。
【0048】
一方、接続隅が同心円に含まれている場合、情報処理制御装置20は、含まれている接続隅を頂点とする4つの検索エリアのうち、既に検索範囲となっている検索エリアを除いたものを新しい検索エリアとする。
そして、情報処理制御装置20は、新たに同心円に含まれることになった接続隅をRAM24の接続隅リストから削除する。なお、処理済みであることを示す処理済情報を付加する(例えば、フラグのオン)ようにしてもよい。
【0049】
以上の処理6について、境界距離が3000mで、指定位置Aの右側の境界線と接する同心円P3(図4参照)を検索範囲とする場合を例に説明する。
前回分の境界距離を半径とする同心円P2が接する境界線として、情報処理制御装置20は、検索エリア(X3,Y3)の左側の境界線qを求める。そして、この境界線qの両端の接続隅a、cのうち、左上の接続隅aは前回の処理(同心円P2を検索範囲とする処理)ですでに接続隅リストに格納されているので、左下の境界隅cを新たに接続隅リストに格納する。
この時点で接続隅リストには、接続隅a、接続隅(前回の処理で格納)、及び、接続隅c(今回の処理で格納)が格納されている。
【0050】
この状態で情報処理制御装置20は、格納されている全ての接続隅a、b、cが今回の同心円P3内に含まれているか否かを判断し、接続隅aが今回の同心円P3に含まれていると判定する。そして、この接続隅aを頂点に持つ4つの検索エリア(X3,Y2)、(X3,Y3)、(X2,Y2)、(X2,Y3)のうち、すでに検索範囲として検索エリア内施設リストが作成されている検索エリア(X3,Y2)、(X3,Y3)を除いた、検索エリア(X2,Y2)、(X2,Y3)を新たな検索エリアとする。
【0051】
次に情報処理制御装置20は、今回の同心円P3に含まれている接続隅aを接続隅リストから削除する。含まれていなかった接続隅b、cbについては削除せずに、次回以降の処理6において再度同心円に含まれる否かの判断をするためにそのまま残しておく。
【0052】
(7)処理7(図11)
次に情報処理制御装置20は、図11に示すように、処理6で求めた新しい検索エリア(X3,Y2)を区分している区分ライン(境界線を延長した線)で、指定位置Aから最も遠い区分ラインまでの最短距離を求める。
そして、求めた最短距離を境界距離として、RAM24に確保した境界距離リストの最後に追加する。
【0053】
なお、境界距離リストに保存した各距離のうち、既にその距離の同心円内の施設を抽出するために使用した距離については、境界距離リストから削除し、又は、使用済みであることを確認するための使用済情報(例えば、フラグのオン)を付すようにしてもよい。
削除又は使用情報を付すタイミングとしては、対象距離として使ったとき(処理3の際)、対象方向の検索エリアがデータ抽出対象となったとき(処理6の際)、該当方向の検索エリア境界距離を追加する/した時(処理7の際)の何れでも良い。
【0054】
(8)処理8(図12)
次に情報処理制御装置20は、図12に示すように、処理6で求めた新たな検索エリア(X3,Y2)内に存在する全施設を、上述した処理2と同様にして、目的地データファイル57から検索する。
そして、情報処理制御装置20は、図12(d)に示すように、指定位置Aから検索した各施設までの距離を算出し、RAM24に確保した検索エリア(X3,Y2)用の検索エリア内施設リストに、施設IDと算出した距離を保存し、距離が小さい順にソートする。
【0055】
なお、処理5から処理8の処理については、処理4の後に実行する場合について説明したが、処理4の実行中において、処理5から処理8を並行して実行するするようにしてもよい。これにより更に全体のスループットを短縮することが可能になる。
【0056】
また、この処理8で新たに作成する検索エリア内施設リストは、処理6で求めた新たな検索エリアが複数存在する場合には全体で1つ作成してもよいが、各検索エリア毎に作成するようにしてもよい。各検索エリア毎に作成することで、データ件数が少なくなり、ソート処理を早くすることができる。
【0057】
(9)処理9(図13)
次に情報処理制御装置20は、処理8で作成した、検索エリア(X3,Y2)に対する検索エリア内施設リストと、既に作成済みの検索エリア内施設リスト(図13の例では、処理2で作成したリスト)から、処理5で取得した境界距離(次に近い境界線までの距離(図13の例では1500m))内の施設を抽出し、応答順リストを作成する。
但し、作成済みの検索エリア内施設リストのうち、すでに画面表示のために抽出された施設(図13(a)の同心円P1内の施設)は除かれる。抽出済みの施設としては、処理4、又は全回までの処理9において抽出された施設が対象となる。
これにより、図13(a)における、指定位置Aを中心とし境界距離を半径とする同心円P1とP2間のドーナツ状の領域内の施設が抽出され、応答順リストに記憶される。
【0058】
すなわち情報処理制御装置20は、各検索エリアに対する検索エリア内施設リストの先頭(未応答のもの、すなわち、まだ比較されていないもの)施設同士を比較し、最も距離が小さい施設の施設IDを取得する。そして、図13(e)に示すように、取得した施設ID(先頭の施設の中で距離が最小である施設ID)を順次RAM24の応答順リストに保存する。
なお、距離が最小であるとして取得した施設の施設IDは、その検索エリア内施設リストから削除、又は応答済みとする。
以上の処理(各検索エリア内施設リストの先頭の施設の距離比較による最小距離の施設ID取得)を、今回の境界距離(処理5で取得した距離)の施設に対して全て応答をする。
これにより、各検索エリア内検索リストに含まれる施設のうち、境界距離内の施設の施設IDを距離順にな並べた応答順リスト(図13(e))が作成される。
【0059】
情報処理制御装置20データは、作成した応答順リストに基づいて、リスト表示可能数及び、ユーザの操作(次ページ表示の操作等)に応じて、応答順リストの上位の施設IDに対応する施設データから順にディスプレイ24にリスト表示される。
【0060】
なお、処理9において、各検索エリア内施設リストから、処理5で取得した境界距離内の施設IDと距離(以下施設距離データという)を取得して、順次応答順リストに保存し、全ての検索エリア内施設リストからの取得と保存が終了した後に、応答順リストを距離順にソートするようにしてもよい。
【0061】
(10)処理10
情報処理制御装置20は、以上の処理5〜処理9について、検索半径R(10km)の同心円を含んでいる、検索対象範囲の検索エリアの全てに対して終了し、応答する施設(応答順リストに保存する施設)がなくなるまで繰り返す。
本例では検索半径R内の施設全てが検索対象となるが、例えば件数の場合や特定の施設が発見されるまででもよい。
【0062】
次に、周辺施設検索処理の詳細について図14、図15のフローチャートに従って説明する。
情報処理制御装置20は、最初に、指定位置Aを取得し、取得した指定位置A含む検索エリアを算出し(ステップ11)、算出した検索エリア内の施設データを目的地データファイル56から取得する(ステップ12)。
【0063】
そして情報処理制御装置20は、指定位置Aから、取得した全ての施設までの距離を求めて検索エリア内施設リストを作成し、作成したリストを検索エリア内施設リストを距離順にソートする(ステップ13)。
なお、以上のステップ12、13の処理は、前述した処理2に該当するが、このように処理2を処理1より先に行うようにしてもよい。
【0064】
次に、情報処理制御装置20は、指定位置Aを含む検索施設エリアの端まで(境界線まで)の各距離を算出する(ステップ14)。すなわち、指定位置Aを含む検索エリアを区分する4本の各区分ラインまでの距離を算出する。
そして、各距離を境界距離として境界線リストを作成し、距離の短い順にソートする(ステップ15)
以上のステップ14、15は、前述した処理1に該当する。
【0065】
情報処理制御装置20は、作成した境界距離リストから一番近い境界距離(先頭)を取得し(ステップ16)、境界距離をRAM24の作業領域に確保したうえで、取得した先頭の境界距離距離を境界線リストから削除する(ステップ17)。
図5〜図13で説明した例(以下、上述例という)の場合であれば、情報処理制御装置20は、境界距離リストの最小値である1000mを取得する。
【0066】
そして、情報処理制御装置20は、ステップ13で作成しソート後の検索エリア内施設リストから、一番近い境界距離(ステップ16で取得した境界距離)よりも距離が小さい施設を抽出する。すなわち、境界距離を中心とする同心円(上述例の場合P1)内に存在する施設を抽出する(ステップ18)。
【0067】
そして情報処理制御装置20は、抽出結果である境界距離内の施設を画面に表示し(ステップ19)、画面に表示した施設を検索エリア内施設リストから削除する(ステップ20)。
【0068】
そして情報処理制御装置20は、終了条件を満たしたか否かを判断する(ステップ21)。
ここで、本実施形態の終了条件としては、検索範囲(指定位置Aから所定距離R以内)に存在する全施設の抽出が終了した場合が該当する。但し、抽出した施設の数が所定検索件数に達した場合、特定の地点(施設)を抽出した場合、などの他の条件を追加、又は代用するようにしてもよい。複数の条件が存在する場合には、全条件を満たした場合、いずれか1の条件を満たした場合のいずれでもよい。
【0069】
終了条件を満たしていない場合(ステップ21;N)、情報処理制御装置20は、境界距離リストから先頭の境界距離(上述例の場合、ステップ17で前回の境界距離を削除しているので、次の境界距離1500m、以降の境界距離)を取得し(ステップ22)、取得した境界距離を境界距離リストから削除する(ステップ23)。
【0070】
そして、情報処理制御装置20は、ステップ22で取得した境界距離の範囲内となる新たな検索エリアを算出し(ステップ24)、新たな検索エリアに含まれる施設を目的地データファイル56から取得する(ステップ25)。
そして情報処理制御装置20は、指定位置Aから取得した各施設までの距離を求め、検索エリア内施設リストを作成し、距離順にソートする(ステップ26)。
【0071】
次に情報処理制御装置20は、新しい検索エリアの、指定位置からみて最も遠い区分ラインまでの距離を求め、境界距離リストの最後に追加する(ステップ27)。すなわち、情報処理制御装置20は、指定位置Aから、新しい検索エリアを区分する4本の各区分ラインまでの距離の最大値を求め、境界距離リストの最後に追加する。
【0072】
そして情報処理制御装置20は、検索エリア内施設リスト群から、一番近い境界距離内の施設を抽出し(ステップ28)、抽出結果を画面に表示する(ステップ29)。
その後ステップ21に戻って、終了条件を満たすまでステップ21からステップ22を繰り返す。
【0073】
次に、ステップ28における、検索エリア内施設リスト群から一番近い境界距離内の施設を抽出する処理について、図15を使用して説明する。
なお、上述の処理9(図13(b)、(c))で説明した、境界距離リスト、及び施設エリア(X3,Y3)、(X3,Y2)の検索エリア内施設リストから施設を抽出する場合について、上述例として説明する。
【0074】
情報処理制御装置20は、最初に情報処理制御装置20は、ステップ23で境界距離リストから取得した境界距離(抽出範囲)に1mを加算した距離を最小距離に設定する(ステップ281)。すなわち、上述例では、境界距離1500mに1mを加算した1501mを最小距離に設定する。
ここで1mを加算するのは、本実施形態における距離算出の最小単位が1mであること、及び、今回の検索範囲最大値である1500mを含めるためである。
【0075】
次に情報処理制御装置20は、全ての検索エリア内施設リストをチェックしたか否か判断する(ステップ282)。
そして未チェックであれば(ステップ282;N)、情報処理制御装置20は、該当する(チェック対象である)検索エリア内施設リストの先頭の距離を取得し、最小距離と比較する(ステップ283)。
上述例では、検索エリア内施設リスト(X3,Y3)の先頭の距離1005mを取得し、最小距離15001mと比較する。
【0076】
先頭の距離が、最小距離以上である場合(ステップ283;N)、情報処理制御装置20は、後述する最小距離の変更とIDの保持をせずに、ステップ282に戻る。
【0077】
一方、先頭の距離が、最小距離未満であれば(ステップ283;Y)、情報処理制御装置20は、最小距離の値を当該検索エリア内施設リストの先頭の距離に設定(変更)する(ステップ283)。
上述例では、先頭の距離1005mは、最小距離1501m未満なので(ステップ283;Y)、最小距離の値を1501mから1005mに変更する。
【0078】
そして情報処理制御装置20は、当該施設(先頭の距離に対応する施設)の施設IDをRAM24に保持する(ステップ285)、と共に、当該検索エリア内施設リストIDをRAM24に保持し(ステップ286)、ステップ282に戻る。
上述例では、当該施設の施設ID(X3Y3x8)と、当該検索エリア内施設リストのID(X3,Y3)を保持しステップ282に戻る。
【0079】
情報処理制御装置20は、上述例で未チェックの検索エリア内施設リスト(X3,Y2)が存在するので(ステップ282;Y)、その先頭の距離1001mと最小距離1005を比較する(ステップ283)。
この場合、先頭の距離1001mの方が小さいので(ステップ283;Y)、RAM24に保持していた施設IDと検索エリア内施設リストID(X3Y3x8、X3,Y3)に代えて、現在チェック中の施設(距離1001mに対応する施設)の施設ID(X3Y203)と、当該検索エリア内施設リストのID(X3,Y2)を保持しステップ282に戻る。
【0080】
ステップ208に戻り、全ての検索エリア内施設リストの先頭の距離についてのチェック済みであれば(ステップ208;Y)、情報処理制御装置20は、現時点での最小距離が抽出範囲+1m未満か否かを判断する。
最小距離が抽出範囲+1m未満である場合(ステップ287;Y)、情報処理制御装置20は、まだ抽出対象のデータが残っている可能性があり、この場合には、ステップ285、286でRAM24に保持した施設IDと検索エリア内施設リストIDが存在しているので、当該施設の施設情報(両ID)を取得して応答順リストの最後に追加する(ステップ288)。
上述例では、最小距離1001mが1501m未満なので、最小距離1001に対応してステップ285、286で保持した施設ID(X3Y203)と、検索エリア内施設リストのID(X3,Y2)を、応答順リストの最後に追加する。
【0081】
そして、情報処理制御装置20は、該当する検索エリア内施設リストから当該データ(先頭のデータ)とステップ285、286で保持した両IDを削除し(ステップ289)、ステップ281に戻り、以上の処理を繰り返す。
上述例では、検索エリア内施設リスト(X3,Y2)の先頭のデータ(施設IDと距離)を削除して、ステップ281に戻る。
【0082】
以上の、ステップ281からステップ289までの1サイクルにおいて、全検索エリア内施設リストの先頭の距離同士が比較(ステップ282〜ステップ286)され、そのうちの最小値に対応する施設のデータが応答順リストに追加され、当該データを削除した後の全検索エリア内施設リストに対して2回目以降のサイクルにより、順次距離が小さい順に応答順リストに追加される。
【0083】
情報処理制御装置20は、ステップ287において、最小距離287が抽出範囲+1m以上である場合(ステップ287;N)、抽出対象となるデータが存在しないので、メインルーチンにリターンする。
なお、この場合、ステップ283の判断は、全ての検索エリア内施設リストの先頭の距離が最小距離(抽出範囲+1m)以上である(ステップ283;N)ので、ステップ284〜286は行われない。
【0084】
以上、本発明のナビゲーション装置、及びナビゲーション用プログラムにおける1実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各請求項に記載した範囲において各種の変形を行うことが可能である。
例えば、境界距離リストに保存した各境界距離と、前後する他の境界距離との差が所定閾値距離(例えば、100m)以内である場合、その間に存在する施設が少ないと推定できるので、小さい方の境界距離を削除するようにしてもよい。
これにより、処理5〜処理9の繰り返し回数を減らすことができる。
なお、所定閾値距離については、全て一定ではなく、指定位置Aから離れるほど小さくするようにしてもよい。指定位置から離れるほど、距離差が小さくても面積は大きくなるためである。
【0085】
また、説明した実施形態では処理6において、新たな検索エリアを求める方法として、前回使用した同心円が接する境界線両端の接続隅を使用して求める場合について説明したが、他の各種方法によることも可能である。
例えば、検索エリア境界距離の前回までの接続方向(指定位置Aから、同心円が接する方向)を元に決定する方法でもよい。すなわち、前回までの接続方向の論理的加算により概略を決定し、詳細については当該検索エリアの4隅を元に距離計算を行う。
例えば、境界距離が1500mの場合の例では、前回までの接続方向として「上」だけが処理済のため「上」の検索エリア(X3,Y2)が対象となる。
また、その次の回(境界距離2500m)には、前回までの接続方向として、「上」と「左」が存在するため左+上⇒上(X3,Y2)、左(X2,Y3)、左上(X2,Y2)が対象となる
【0086】
また、説明した実施形態では、目的地データファイル56(施設情報記憶手段)をナビゲーション装置が備える場合について説明したが、必ずしもナビゲーション装置が備えるひつようはない。例えば、情報センタに目的地データファイルを保存しておき、通信により、目的地データファイル必要なデータを情報センタから取得する用にしてもよい。
【図面の簡単な説明】
【0087】
【図1】ナビゲーション装置のシステム構成図である。
【図2】目的地データファイルに格納されている目的地データの内容を概念的に表した説明図である。
【図3】検索エリアを概念的に表した説明図である。
【図4】矩形に分割された検索エリアと指定位置に基づく施設の検索順について表した説明図である。
【図5】周辺検索処理における処理1についての説明図である。
【図6】周辺検索処理における処理2についての説明図である。
【図7】周辺検索処理における処理3についての説明図である。
【図8】周辺検索処理における処理4についての説明図である。
【図9】周辺検索処理における処理5についての説明図である。
【図10】周辺検索処理における処理6についての説明図である。
【図11】周辺検索処理における処理7についての説明図である。
【図12】周辺検索処理における処理8についての説明図である。
【図13】周辺検索処理における処理9についての説明図である。
【図14】周辺施設検索処理の詳細について表したフローチャートである。
【図15】周辺検索処理のステップ28の詳細を表したサブルーチンのフローチャートである。
【符号の説明】
【0088】
1 ナビゲーション装置
10 現在位置検出装置
20 情報処理制御装置
40 入出力装置
41 入力装置
42 ディスプレイ
50 情報記憶装置
56 目的地データファイル
【特許請求の範囲】
【請求項1】
所定位置周辺に存在する施設を検索するナビゲーション装置であって、
その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段と、
所定位置を取得する所定位置取得手段と、
前記所定位置を含む検索エリアを特定する検索エリア特定手段と、
所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得手段と、
取得した施設を提示する施設提示手段と、を備え、
前記施設取得手段は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、
前記施設提示手段は、前記施設取得手段で最初に取得した施設を最初に提示する、
ことを特徴とするナビゲーション装置。
【請求項2】
前記施設取得手段は、
前記最初に施設を取得した後は、順次、他の各区分ラインと接する同心円のうち次に大きい同心円の内側に存在する施設を取得する、
ことを特徴とする請求項1に記載のナビゲーション装置。
【請求項3】
前記所定位置から前記特定した検索エリア内の各施設までの距離を算出する距離算出手段と、
前記算出した距離順に検索エリア内の各施設をソートした施設リストを作成する施設リスト作成手段と、
前記所定位置から、前記特定した検索エリアを区分する区分ラインまでの境界距離を算出する境界距離算出手段と、を備え、
前記施設取得手段は、前記指定位置からの距離が、前記算出した境界距離の最小値以下である施設を前記施設リストから最初に取得する、
ことを特徴とする請求項1に記載のナビゲーション装置。
【請求項4】
前記施設取得手段は、指定された施設のジャンル等の他の検索条件が設定されている場合には、当該他の検索条件を満たす施設を取得する、ことを特徴とする請求項1、請求項2、又は請求項3に記載のナビゲーション装置。
【請求項5】
前記施設リスト作成手段は、前記施設提示手段で提示した施設を、施設リストから削除し、又は、提示済みであることを示す明示情報を前記施設リストに付与する、
ことを特徴とする請求項3に記載のナビゲーション装置。
【請求項6】
前記検索エリア特定手段は、前記施設取得手段で取得した施設に対する同心円の次に大きい同心円に含まれる検索エリアのうち、既に検索範囲として特定済みの検索エリアを除外した検索エリアを新たに特定し、
前記施設リスト作成手段は、新たに特定された検索エリア内の施設リストを新たに作成し、
前記施設取得手段は、前記次に大きい同心円内に存在し、未取得の施設を、前記施設リスト作成手段で作成した施設リストから取得する、
ことを特徴とする請求項3に記載のナビゲーション装置。
【請求項7】
その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段を備えたナビゲーション装置を構成するコンピュータに、
所定位置を取得する所定位置取得機能と、
前記所定位置を含む検索エリアを特定する検索エリア特定機能と、
所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得機能と、
取得した施設を提示する施設提示機能と、を実現させるナビゲーション用プログラムであって、
前記施設取得機能は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、
前記施設提示機能は、前記施設取得手段で最初に取得した施設を最初に提示する、
ことを特徴とするナビゲーション用プログラム。
【請求項1】
所定位置周辺に存在する施設を検索するナビゲーション装置であって、
その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段と、
所定位置を取得する所定位置取得手段と、
前記所定位置を含む検索エリアを特定する検索エリア特定手段と、
所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得手段と、
取得した施設を提示する施設提示手段と、を備え、
前記施設取得手段は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、
前記施設提示手段は、前記施設取得手段で最初に取得した施設を最初に提示する、
ことを特徴とするナビゲーション装置。
【請求項2】
前記施設取得手段は、
前記最初に施設を取得した後は、順次、他の各区分ラインと接する同心円のうち次に大きい同心円の内側に存在する施設を取得する、
ことを特徴とする請求項1に記載のナビゲーション装置。
【請求項3】
前記所定位置から前記特定した検索エリア内の各施設までの距離を算出する距離算出手段と、
前記算出した距離順に検索エリア内の各施設をソートした施設リストを作成する施設リスト作成手段と、
前記所定位置から、前記特定した検索エリアを区分する区分ラインまでの境界距離を算出する境界距離算出手段と、を備え、
前記施設取得手段は、前記指定位置からの距離が、前記算出した境界距離の最小値以下である施設を前記施設リストから最初に取得する、
ことを特徴とする請求項1に記載のナビゲーション装置。
【請求項4】
前記施設取得手段は、指定された施設のジャンル等の他の検索条件が設定されている場合には、当該他の検索条件を満たす施設を取得する、ことを特徴とする請求項1、請求項2、又は請求項3に記載のナビゲーション装置。
【請求項5】
前記施設リスト作成手段は、前記施設提示手段で提示した施設を、施設リストから削除し、又は、提示済みであることを示す明示情報を前記施設リストに付与する、
ことを特徴とする請求項3に記載のナビゲーション装置。
【請求項6】
前記検索エリア特定手段は、前記施設取得手段で取得した施設に対する同心円の次に大きい同心円に含まれる検索エリアのうち、既に検索範囲として特定済みの検索エリアを除外した検索エリアを新たに特定し、
前記施設リスト作成手段は、新たに特定された検索エリア内の施設リストを新たに作成し、
前記施設取得手段は、前記次に大きい同心円内に存在し、未取得の施設を、前記施設リスト作成手段で作成した施設リストから取得する、
ことを特徴とする請求項3に記載のナビゲーション装置。
【請求項7】
その所在位置に応じて、区分ラインで矩形に区切られた検索エリア毎に管理された施設情報を記憶する施設情報記憶手段を備えたナビゲーション装置を構成するコンピュータに、
所定位置を取得する所定位置取得機能と、
前記所定位置を含む検索エリアを特定する検索エリア特定機能と、
所定位置を中心とする検索範囲内に存在する施設を、前記施設情報記憶手段から取得する施設取得機能と、
取得した施設を提示する施設提示機能と、を実現させるナビゲーション用プログラムであって、
前記施設取得機能は、前記所定位置を中心とし、前記特定した検索エリアを区分する区分ラインと接する同心円のうち最小の同心円の内側に存在する施設を最初に取得し、
前記施設提示機能は、前記施設取得手段で最初に取得した施設を最初に提示する、
ことを特徴とするナビゲーション用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−139398(P2010−139398A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−316522(P2008−316522)
【出願日】平成20年12月12日(2008.12.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VICS
【出願人】(000100768)アイシン・エィ・ダブリュ株式会社 (3,717)
【Fターム(参考)】
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願日】平成20年12月12日(2008.12.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VICS
【出願人】(000100768)アイシン・エィ・ダブリュ株式会社 (3,717)
【Fターム(参考)】
[ Back to top ]