[ナビゲーション装置の概略構成]
先ず、本実施例に係るナビゲーション装置の概略構成について図1に基づいて説明する。図1は本実施例に係るナビゲーション装置1を示したブロック図である。
図1に示すように、本実施例に係るナビゲーション装置1は、自車の現在位置(以下、「自車位置」という。)等を検出する現在地検出処理部11と、各種のデータが記録されたデータ記録部12と、入力された情報に基づいて、各種の演算処理を行うナビゲーション制御部13と、操作者からの操作を受け付ける操作部14と、操作者に対して地図等の情報を表示する液晶ディスプレイ15と、経路案内等に関する音声ガイダンスを出力するスピーカ16と、不図示の道路交通情報センタや地図情報配信センタ等との間で携帯電話網等を介して通信を行う通信装置17と、液晶ディスプレイ15の表面に装着されたタッチパネル18とから構成されている。また、ナビゲーション制御部13には自車の走行速度を検出する車速センサ21が接続されている。
以下に、ナビゲーション装置1を構成する各構成要素について説明すると、現在地検出処理部11は、GPS31、方位センサ32、距離センサ33等からなり、自車位置、自車の向きを表す自車方位、走行距離等を検出することが可能となっている。
また、データ記録部12は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記憶された地図情報データベース(地図情報DB)25、施設名データベース(施設名DB)27及び所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。
また、地図情報DB25には、ナビゲーション装置1の走行案内や経路探索に使用されるナビ地図情報26が格納されている。ここで、ナビ地図情報26には、経路案内及び地図表示に必要な各種情報から構成されており、例えば、各新設道路を特定するための新設道路情報、地図を表示するための地図表示データ、各交差点に関する交差点データ、ノード点に関するノードデータ、施設の一種である道路(リンク)に関するリンクデータ、経路を探索するための探索データ、施設の一種である店舗等のPOI(Point of Interest)に関する店舗データ、地点を検索するための検索データ等から構成されている。
尚、店舗データには、各地域のホテル、病院、ガソリンスタンド、駐車場、駅、空港、フェリー乗り場等のPOIに関する名称や住所、電話番号等に加えて、後述の検索結果表示画面71(図8参照)にリスト表示する表示優先度のデータをPOIを特定するIDとともに記憶するようにしてもよい。例えば、表示優先度は、「88」や「256」等の数値で表され、数値の大きいものほど優先度が高くなる。また、地図情報DB25の内容は、不図示の地図情報配信センタから通信装置17を介して配信された更新情報をダウンロードすることによって更新される。
また、施設名DB27には、後述の施設名及び該施設名の読みを所定文字数(本実施例では、1文字である。)の分割文字列に関連付けて分割単位毎に記憶する施設名データテーブル51(図2参照)が格納されている。また、施設名DB27には、後述の住所及び住所の読みを所定文字数(本実施例では、1文字である。)の分割文字列に関連付けて分割単位毎に記憶する住所データテーブル52(図3参照)が格納されている。また、施設名DB27には、後述のサービス及びサービスの読みを所定文字数(本実施例では、1文字である。)の分割文字列に関連付けて分割単位毎に記憶するサービスデータテーブル53(図4参照)が格納されている。
尚、施設名DB27に記憶されている施設名の「読み」は主に施設の名称等を検索する際に使用されるデータであり、例えば漢字表記の施設を仮名文字入力により検索可能にするためのものである。本実施形態では施設名の「読み」が平仮名で格納されているものとして説明する。また、施設名の表記文字と検索時の入力文字が一致する言語(英語等)で使用されるナビゲーション装置の場合は、施設名の「綴り」を記憶しておけばよく、「読み」を記憶する必要は無い。
また、図1に示すように、ナビゲーション装置1を構成するナビゲーション制御部13は、ナビゲーション装置1の全体の制御を行う演算装置及び制御装置としてのCPU41、並びにCPU41が各種の演算処理を行うに当たってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM42、制御用のプログラム等が記憶されたROM43、ROM43から読み出したプログラムを記憶するフラッシュメモリ44等の内部記憶装置や、時間を計測するタイマ45等を備えている。
また、ROM43には、後述の50音キー62から入力された検索語に基づいて地点情報を検索してリスト表示する地点情報表示処理のプログラム(図5参照)等が記憶されている。
更に、前記ナビゲーション制御部13には、操作部14、液晶ディスプレイ15、スピーカ16、通信装置17、タッチパネル18の各周辺装置(アクチュエータ)が電気的に接続されている。
この操作部14は、走行開始時の現在地を修正し、案内開始地点としての出発地及び案内終了地点としての目的地を入力する際や施設に関する情報の検索を行う場合等に操作され、各種のキーや複数の操作スイッチから構成される。そして、ナビゲーション制御部13は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。
また、液晶ディスプレイ15には、現在走行中の地図情報、後述の検索語入力画面61(図7参照)、検索した施設の名称をリスト表示する検索結果表示画面71(図8参照)、操作案内、操作メニュー、キーの案内、現在地から目的地までの推奨経路、推奨経路に沿った案内情報、交通情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。
また、スピーカ16は、ナビゲーション制御部13からの指示に基づいて、推奨経路に沿った走行を案内する音声ガイダンス等を出力する。ここで、案内される音声ガイダンスとしては、例えば、「200m先、○○交差点を右方向です。」等がある。
また、通信装置17は、地図情報配信センタと通信を行う携帯電話網等による通信手段であり、地図情報配信センタとの間で最もバージョンの新しい更新地図情報等の送受信を行う。また、通信装置17は地図情報配信センタに加えて、道路交通情報センタ等から送信された渋滞情報やサービスエリアの混雑状況等の各情報から成る交通情報を受信する。
また、タッチパネル18は、液晶ディスプレイ15の表面部に装着された透明なパネル状のタッチスイッチであり、液晶ディスプレイ15の画面に表示されたボタンや地図上を押下することによって各種指示コマンドを入力することが可能に構成されている。尚、タッチパネル18は、液晶ディスプレイ15の画面を直接押下する光センサ液晶方式等で構成してもよい。
ここで、施設名DB27に格納される施設名データテーブル51の一例について図2に基づいて説明する。
図2に示すように、施設名データテーブル51は、「分割単位」と、施設名の読みを記憶する「読み」と、「施設名」とから構成されている。この「分割単位」には、施設名の読みを構成するキーワードと前方一致する平仮名が、50音順に1文字ずつ記憶されている。ここで、キーワードは、意味を成す単位で構成された読みの文字列である。
尚、「分割単位」には、例えば「ああ」、「あい」、「あう」、・・・や、「あああ」、「ああい」、「ああう」・・・等、50音順に2文字以上ずつ記憶するようにしてもよい。また、「分割単位」の一部区間だけ、例えば、・・・「お」、「かあ」、「かい」、・・・「かん」、「き」、「く」・・等、50音順に2文字以上ずつ記憶するようにしてもよい。
また、「読み」には、各「分割単位」に記憶される平仮名と前方一致するキーワードを含む施設名の読みが記憶されている。また、施設名の読みは、キーワード毎に区切り文字(例えば「/」である。)で区切られて記憶されている。また、施設名の読みは、分割単位に記憶されている平仮名と前方一致するキーワードが先頭になるように、各キーワードの順序が当該施設名の読みの順番に従って循環するように並べ替えられて記憶されている。
例えば、施設名の読みが「とうきょう/ねずみー/らんど」では、「とうきょう」、「ねずみー」、「らんど」が、施設名の読みのキーワードとして「読み」に記憶されている。また、施設名の読みの「とうきょう/ねずみー/らんど」は、施設名データテーブル51の「分割単位」の各平仮名「と」、「ね」、「ら」に対応する「読み」にそれぞれ記憶される。
尚、施設名の読みに含まれる「が」、「ぱ」等の濁音・半濁音は「か」、「は」等の清音に、「ゃ」、「っ」等の小文字仮名(拗音・促音)は「や」、「つ」等の大文字仮名に、長音は対応する母音等のように、仮名の基本文字に変換して記憶される。例えば、「とうきょう/ねずみー/らんど」は、実際には「とうきよう/ねすみい/らんと」と記憶されるが、本実施形態においては説明を簡単にするために施設名と読みとを一致させ「とうきょう/ねずみー/らんど」として説明する。
そして、平仮名「と」が記憶されている「分割単位」に対応する施設名の「読み」には、キーワード「とうきょう」が先頭になるように「とうきょう/ねずみー/らんど」が記憶されている。また、平仮名「ね」が記憶されている「分割単位」に対応する施設名の「読み」には、キーワード「ねずみー」が先頭になるように「ねずみー/らんど/とうきょう」が記憶されている。また、平仮名「ら」が記憶されている「分割単位」に対応する施設名の「読み」には、キーワード「らんど」が先頭になるように「らんど/とうきょう/ねずみー」が記憶されている。
また、「施設名」には、検索対象となる目的地を表す施設名が、「読み」に記憶された施設名の読みに対応して記憶されている。例えば、施設名「東京ネズミーランド」が、施設名の読みの「とうきょう/ねずみー/らんど」に対応して記憶されている。従って、施設名「東京ネズミーランド」は、施設名データテーブル51の「分割単位」の各平仮名「と」、「ね」、「ら」内の「読み」の「とうきょう/ねずみー/らんど」、「ねずみー/らんど/とうきょう」、「らんど/とうきょう/ねずみー」のそれぞれに対応する「施設名」に記憶されている。
これにより、施設名データテーブル51の「分割単位」間では「施設名」に記憶された施設名の重複はあるが、各「分割単位」内においては、「施設名」に記憶された施設名の重複は無く、1つの施設名だけが記憶されている。従って、施設名データテーブル51の「分割単位」間では「読み」に記憶された施設名の読みの重複はあるが、各「分割単位」内においては、「読み」に記憶された施設名の読みの重複は無く、1つの施設名の読みだけが記憶されている。
また、例えば、施設名の読みが「のうきょう/のーむ」のように、各キーワード「のうきょう」、「のーむ」の前方1文字の読みが一致する場合には、施設名データテーブル51の「分割単位」の「の」に対応する「読み」だけに、「のうきょう/のーむ」が記憶されると共に、「分割単位」の「の」に対応する「施設名」だけに「農協ノーム」が記憶される。
これにより、施設名の読みを構成する複数のキーワードの前方1文字目が一致する場合には、施設名データテーブル51の「分割単位」間における「読み」及び「施設名」の重複記憶を削減することが可能となり、施設データテーブル51のデータ容量の削減化を図ることができる。また、各「分割単位」毎の「読み」と「施設名」との合計データ容量を所定データ容量以下(例えば、1メガバイト〜10メガバイト以下である。)に設定することが可能となる。
次に、施設名DB27に格納される住所データテーブル52の一例について図3に基づいて説明する。
図3に示すように、住所データテーブル52は、「分割単位」と、住所の属性に属する住所名の読みを記憶する「住所の読み」と、住所の属性に属する住所名を記憶する「住所」とから構成されている。この「分割単位」には、住所名の読みを構成するキーワードと前方一致する平仮名が、50音順に1文字ずつ記憶されている。ここで、キーワードは、意味を成す単位で構成された読みの文字列である。
尚、「分割単位」には、例えば「ああ」、「あい」、「あう」、・・・や、「あああ」、「ああい」、「ああう」・・・等、50音順に2文字以上ずつ記憶するようにしてもよい。また、「分割単位」の一部区間だけ、例えば、・・・「お」、「かあ」、「かい」、・・・「かん」、「き」、「く」・・等、50音順に2文字以上ずつ記憶するようにしてもよい。
また、「住所の読み」には、各「分割単位」に記憶される平仮名と前方一致するキーワードを含む住所名の読みが記憶されている。また、住所名の読みは、キーワード毎に区切り文字(例えば「/」である。)で区切られて記憶されている。また、住所名の読みは、分割単位に記憶されている平仮名と前方一致するキーワードが先頭になるように、各キーワードの順序が当該住所名の読みの順番に従って循環するように並べ替えられて記憶されている。
例えば、住所名の読みが「とうきょうと/ちよだく」では、「とうきょうと」、「ちよだく」が、住所名の読みのキーワードとして「住所の読み」に記憶されている。また、住所名の読みの「とうきょう/ちよだく」は、住所データテーブル52の「分割単位」の各平仮名「ち」、「と」に対応する「住所の読み」にそれぞれ記憶される。
尚、住所名の読みに含まれる「が」、「ぱ」等の濁音・半濁音は「か」、「は」等の清音に、「ゃ」、「っ」等の小文字仮名(拗音・促音)は「や」、「つ」等の大文字仮名に、長音は対応する母音等のように、仮名の基本文字に変換して記憶される。例えば、「とうきょうと/ちよだく」は、実際には「とうきようと/ちよたく」と記憶されるが、本実施形態においては説明を簡単にするために住所名と読みとを一致させ「とうきょうと/ちよだく」として説明する。
そして、平仮名「ち」が記憶されている「分割単位」に対応する「住所の読み」には、キーワード「ちよだく」が先頭になるように「ちよだく/とうきょうと」が記憶されている。また、平仮名「と」が記憶されている「分割単位」に対応する「住所の読み」には、キーワード「とうきょうと」が先頭になるように「とうきょうと/ちよだく」が記憶されている。
また、「住所」には、住所の属性に属する住所名が、「住所の読み」に対応して記憶されている。例えば、住所名「東京都千代田区」が、住所名の読みの「とうきょうと/ちよだく」に対応して記憶されている。従って、住所名「東京都千代田区」は、住所データテーブル52の「分割単位」の各平仮名「ち」、「と」内の「住所の読み」の「ちよだく/とうきょうと」、「とうきょうと/ちよだく」のそれぞれに対応する「住所」に記憶されている。
これにより、住所データテーブル52の「分割単位」間では「住所」に記憶された住所名の重複はあるが、各「分割単位」内においては、「住所」に記憶された住所名の重複は無く、1つの住所名だけが記憶されている。従って、住所データテーブル52の「分割単位」間では「住所の読み」に記憶された住所名の読みの重複はあるが、各「分割単位」内においては、「住所の読み」に記憶された住所名の読みの重複は無く、1つの住所名の読みだけが記憶されている。
次に、施設名DB27に格納されるサービスデータテーブル53の一例について図4に基づいて説明する。
図4に示すように、サービスデータテーブル53は、「分割単位」と、サービス(施設のジャンル)の属性に属するサービス名の読みを記憶する「サービスの読み」と、サービスの属性に属するサービス名を記憶する「サービス」とから構成されている。この「分割単位」には、サービス名の読みを構成するキーワードと前方一致する平仮名が、50音順に1文字ずつ記憶されている。ここで、キーワードは、意味を成す単位で構成された読みの文字列である。
尚、「分割単位」には、例えば「ああ」、「あい」、「あう」、・・・や、「あああ」、「ああい」、「ああう」・・・等、50音順に2文字以上ずつ記憶するようにしてもよい。また、「分割単位」の一部区間だけ、例えば、・・・「お」、「かあ」、「かい」、・・・「かん」、「き」、「く」・・等、50音順に2文字以上ずつ記憶するようにしてもよい。
また、「サービスの読み」には、各「分割単位」に記憶される平仮名と前方一致するキーワードを含むサービス名の読みが記憶されている。また、サービス名の読みは、キーワード毎に区切り文字(例えば「/」である。)で区切られて記憶されている。また、サービス名の読みは、分割単位に記憶されている平仮名と前方一致するキーワードが先頭になるように、各キーワードの順序が当該住所名の読みの順番に従って循環するように並べ替えられて記憶されている。例えば、サービス名の読みが「ひふか」では、サービスデータテーブル53の「分割単位」の平仮名「ひ」に対応する「サービスの読み」に記憶される。
尚、サービス名の読みに含まれる「が」、「ぱ」等の濁音・半濁音は「か」、「は」等の清音に、「ゃ」、「っ」等の小文字仮名(拗音・促音)は「や」、「つ」等の大文字仮名に、長音は対応する母音等のように、仮名の基本文字に変換して記憶される。例えば、「びょういん」は、実際には「ひよういん」と記憶されるが、本実施形態においては説明を簡単にするためにサービス名と読みとを一致させ「びょういん」として説明する。
また、「サービス」には、サービスの属性に属するサービス名が、「サービスの読み」に対応して記憶されている。例えば、サービス名「皮膚科」が、サービス名の読みの「ひふか」に対応して記憶されている。従って、サービス名「皮膚科」は、サービスデータテーブル53の「分割単位」の平仮名「ひ」内の「サービスの読み」の「ひふか」に対応する「サービス」に記憶されている。
[地点情報表示処理]
次に、上記のように構成されたナビゲーション装置1のCPU41が実行する処理であって、50音キー62から入力された検索語に基づいて地点情報を検索してリスト表示する「地点情報表示処理」について図5乃至図7に基づいて説明する。
図5はCPU41が実行する処理であって、入力された検索語に基づいて地点情報を検索してリスト表示する「地点情報表示処理」を示すフローチャートである。尚、図5にフローチャートで示されるプログラムは、操作部14の不図示の目的地設定ボタンが押下された場合に、CPU41により実行される。
図5に示すように、先ず、ステップ(以下、Sと略記する)11において、CPU41は、液晶ディスプレイ15の画面に、地点情報として目的地の住所や施設に関する名称等を検索するための検索語を入力する検索語入力画面61を表示する。
ここで、検索語入力画面61の一例について図7に基づいて説明する。図7に示すように、検索語入力画面61には、50音キー62、入力文字表示部63、検索語表示部64、修正ボタン65、戻るボタン66、次ワードボタン67、完了ボタン68、件数表示部69が表示される。
この入力文字表示部63には、50音キー62によって入力された入力文字が表示される。そして、次ワードボタン67が押下された場合には、入力文字表示部63に表示されている文字列が検索語として検索語表示部64に確定表示されるとともに、次の文字列を入力することが可能となる。また、修正ボタン65を押下する毎に、入力文字表示部63に表示されている文字列の最終入力文字を1文字ずつ削除することができる。
また、戻るボタン66を押下することによって、検索語入力画面61の前の画面に戻ることができる。更に、完了ボタン68を押下することによって、検索語表示部64に表示されている各文字列と入力文字表示部63に表示されている文字列を検索語として、地点情報としての施設に関する名称等を検索してリスト表示するように指示することができる。また、件数表示部69には、後述のように入力文字表示部63に表示されている文字列と検索語表示部64に表示されている各文字列によって検索された施設名の最大件数と最小件数とが表示される。
続いて、図5に示すように、S12において、CPU41は、50音キー62が押下されたか否か、つまり、50音キー62から検索語が入力されたか否かを判定する判定処理を実行する。そして、50音キー62が押下されたと判定した場合には(S12:YES)、CPU41は、50音キー62から入力された入力文字を入力文字表示部63に表示すると共に、入力文字表示部63に表示している文字列を検索語としてRAM42に記憶後、S13の処理に移行する。
S13において、CPU41は、検索語表示部64に表示されている各文字列と入力文字表示部63に表示されている文字列を検索語として、施設名データテーブル51に記憶された施設名から目的地候補である候補施設名を抽出する後述の「候補施設名抽出処理」のサブ処理(図6参照)を実行後、再度、S12以降の処理を実行する。
一方、50音キー62が押下されていないと判定した場合には(S12:NO)、CPU41は、S14の処理に移行する。S14において、CPU41は、次ワードボタン67が押下されたか否かを判定する判定処理を実行する。そして、次ワードボタン67が押下されたと判定した場合には(S14:YES)、CPU41は、S15の処理に移行する。
S15において、CPU41は、入力文字表示部63に表示されている文字列を検索語として検索語表示部64に確定表示すると共に、この文字列を確定検索語としてRAM42に時系列的に記憶する。また、CPU41は、入力文字表示部63に表示されている文字列をクリアして、50音キー62から新たな文字列を入力できるように設定した後、再度、S12以降の処理を実行する。
一方、次ワードボタン67が押下されていないと判定した場合には(S14:NO)、CPU41は、S16の処理に移行する。S16において、CPU41は、完了ボタン68が押下されたか否かを判定する判定処理を実行する。そして、完了ボタン68が押下されていないと判定した場合には(S16:NO)、CPU41は、S17の処理に移行する。
S17において、CPU41は、修正ボタン65又は戻るボタン66が押下されたか否かを判定する判定処理を実行する。そして、修正ボタン65が押下されたと判定した場合には、CPU41は、入力文字表示部63に表示されている文字列の最終入力文字を1文字削除した後、再度、S12以降の処理を実行する。
また、戻るボタン66が押下されたと判定した場合には、CPU41は、図5に示す当該処理を終了し、検索語入力画面61の前の画面に戻る。更に、修正ボタン65及び戻るボタン66が押下されなかった場合には、CPU41は、再度、S12以降の処理を実行する。
一方、完了ボタン68が押下されたと判定した場合には(S16:YES)、CPU41は、S18の処理に移行する。S18において、CPU41は、後述のように、上記S13で抽出された最大件数の全候補施設名をリスト表示後(図8参照)、当該処理を終了する。
[候補施設名抽出処理]
次に、上記S13で実行する「候補施設名抽出処理」のサブ処理について図6に基づいて説明する。
図6に示すように、S111において、CPU41は、入力文字表示部63に表示されている検索語と各検索語表示部64に表示されている確定検索語とをRAM42から読み出す。
そして、S112において、CPU41は、このRAM42から読み出した各検索語の包含関係に従って検索語の検索順を設定し、この検索順に検索語をRAM42に記憶する。
具体的には、CPU41は、RAM42から読み出した各検索語の文字数の多い順に検索語の検索順を設定し、この検索順に検索語をRAM42に記憶する。また、CPU41は、RAM42から読み出した各検索語の文字数が同じ場合には、時系列的に早くRAM42に記憶した順に検索語の検索順を設定し、この検索順に検索語をRAM42に記憶する。
例えば、CPU41は、RAM42から読み出した各検索語が、図7に示すように、「とうきょう」、「らんと」の場合には、検索語「とうきょう」の検索順を1番目に設定し、検索語「らんと」の検索順を2番目に設定する。そして、CPU41は、この検索順に各検索語「とうきょう」、「らんと」をRAM42に記憶する。
続いて、S113において、CPU41は、検索順が1番目の検索語をRAM42から読み出す。そして、CPU41は、この読み出した検索語と前方一致する平仮名が記憶された住所データテーブル52の「分割単位」を、住所名の読みを抽出する「分割単位」として特定する。例えば、CPU41は、検索順の1番目の検索語が「とうきょう」の場合には、この検索語「とうきょう」と前方一致する平仮名「と」が記憶された住所データテーブル52の「分割単位」を、住所名の読みを抽出する「分割単位」として特定する。
そして、CPU41は、この特定した住所名の読みを抽出する「分割単位」内の「住所の読み」を住所データテーブル52から順番に読み出して、RAM42に記憶する。続いて、CPU41は、RAM42に記憶した各住所名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードがあるか否か、つまり、当該検索語の属性が住所の属性に属するか否かを判定する判定処理を実行する。
そして、RAM42に記憶した各住所名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードがあると判定した場合、つまり、当該検索語の属性が住所の属性に属すると判定した場合には(S113:YES)、CPU41は、RAM42に、上記S112で設定した次の検索順の検索語が記憶されているか否かを判定する判定処理を実行する。そして、次の検索順の検索語が記憶されていると判定した場合には、CPU41は、次の検索順の検索語を読み出して、再度、S113以降のループを実行する。一方、次の検索順の検索語が記憶されていないと判定した場合には、CPU41は、ループを終了してS116の処理に移行する。
一方、S113でRAM42に記憶した各住所名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードが無いと判定した場合、つまり、当該検索語の属性が住所の属性に属しないと判定した場合には(S113:NO)、CPU41は、S114の処理に移行する。
S114において、CPU41は、当該検索語と前方一致する平仮名が記憶されたサービスデータテーブル53の「分割単位」を、サービス名の読みを抽出する「分割単位」として特定する。例えば、CPU41は、当該検索語が「らんと」の場合には、この検索語「らんと」と前方一致する平仮名「ら」が記憶されたサービスデータテーブル53の「分割単位」を、サービス名の読みを抽出する「分割単位」として特定する。
そして、CPU41は、この特定したサービス名の読みを抽出する「分割単位」内の「サービスの読み」をサービスデータテーブル53から順番に読み出して、RAM42に記憶する。続いて、CPU41は、RAM42に記憶した各サービス名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードがあるか否か、つまり、当該検索語の属性がサービスの属性に属するか否かを判定する判定処理を実行する。
そして、RAM42に記憶した各サービス名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードがあると判定した場合、つまり、当該検索語の属性がサービスの属性に属すると判定した場合には(S114:YES)、CPU41は、RAM42に、上記S112で設定した次の検索順の検索語が記憶されているか否かを判定する判定処理を実行する。そして、次の検索順の検索語が記憶されていると判定した場合には、CPU41は、次の検索順の検索語を読み出して、再度、S113以降のループを実行する。一方、次の検索順の検索語が記憶されていないと判定した場合には、CPU41は、ループを終了してS116の処理に移行する。
一方、S114でRAM42に記憶した各サービス名の読みを構成するキーワードの中に、当該検索語と前方一致するキーワードが無いと判定した場合、つまり、当該検索語の属性がサービスの属性にも属しないと判定した場合には(S114:NO)、当該検索語の属性は名称の属性に属するとして、CPU41は、S115の処理に移行する。
S115において、CPU41は、当該検索語を最大件数の候補施設名を検索するための「最大件数用検索語」としてRAM42に時系列的に記憶する。そして、CPU41は、RAM42に、上記S112で設定した次の検索順の検索語が記憶されているか否かを判定する判定処理を実行する。そして、次の検索順の検索語が記憶されていると判定した場合には、CPU41は、次の検索順の検索語を読み出して、再度、S113以降のループを実行する。一方、次の検索順の検索語が記憶されていないと判定した場合には、CPU41は、ループを終了してS116の処理に移行する。
S116において、CPU41は、「最大件数用検索語」としてRAM42に時系列的に記憶した最大件数用検索語のうちの1番目の最大件数用検索語から順番に最大件数用検索語を読み出す。そして、CPU41は、施設名データテーブル51から、各最大件数用検索語と前方一致する平仮名が記憶された「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、CPU41は、この読み出した各施設名の読みを構成するキーワードの中に各最大件数用検索語と前方一致するキーワードがあるか否かを判定する判定処理を実行する、つまり、読み出した全施設名の「読み」について各最大件数用検索語の全文検索を行う。
そして、CPU41は、読み出した施設名の読みを構成するキーワードの中に各最大件数用検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル51から読み出し、最大件数の目的地候補である最大件数用候補施設名としてRAM42に順番に記憶後、S117の処理に移行する。
尚、CPU41は、最大件数用検索語と前方一致する施設名の読みのキーワードが、この最大件数用検索語よりも短い文字列の場合には、更に、最大件数用検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にあるか否かを判定する判定処理を実行する。
そして、CPU41は、最大件数用検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル51から読み出し、最大件数の目的地候補である最大件数用候補施設名としてRAM42に記憶する。
例えば、CPU41は、最大件数用検索語のうちの1番目の最大件数用検索語が「らんと」の場合には、この検索語「らんと」と前方一致する平仮名「ら」が記憶された施設名データテーブル51の「分割単位」を、候補施設名を抽出する「分割単位」として特定する。そして、図2に示すように、CPU41は、当該分割単位内の「読み」に格納された各施設名の読みから最大件数用検索語「らんと」と前方一致するキーワードを有する4件の施設名の読み「らんど/けんこう」、「らんど/さんたよ/ぴゅーっと」、「らんど/とうきょう/ねずみー」、「らんど/とうきょう/うぃんたー」を抽出する。
そして、CPU41は、この4件の施設名の読みに対応する各施設名「健康ランド」、「サンタヨピューットランド」、「東京ネズミーランド」、「東京ウィンターランド」を施設名データテーブル51から読み出し、最大件数の目的地候補である最大件数用候補施設名としてRAM42に順番に記憶後、S117の処理に移行する。
S117において、CPU41は、最大件数用候補施設名をRAM42から順番に読み出してカウントし、入力された検索語によって検索可能な候補施設名の最大件数としてRAM42に記憶する。例えば、最大件数用候補施設名が各施設名「健康ランド」、「サンタヨピューットランド」、「東京ネズミーランド」、「東京ウィンターランド」の場合には、最大件数として「4件」をRAM42に記憶する。
続いて、S118において、CPU41は、上記S112で設定した検索順が1番目の検索語から順番に検索語を読み出す。そして、CPU41は、施設名データテーブル51から、各検索語と前方一致する平仮名が記憶された「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、CPU41は、この読み出した各施設名の読みを構成するキーワードの中に、上記S112で検索順を設定した各検索語と前方一致するキーワードがあるか否かを判定する判定処理を実行する、つまり、読み出した全施設名の「読み」について各検索語の全文検索を行う。
そして、CPU41は、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル51から読み出し、最小件数の目的地候補である最小件数用候補施設名としてRAM42に順番に記憶後、S119の処理に移行する。
尚、CPU41は、検索語と前方一致する施設名の読みのキーワードが、この検索語よりも短い文字列の場合には、更に、検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にあるか否かを判定する判定処理を実行する。
そして、CPU41は、検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル51から読み出し、最小件数の目的地候補である最小件数用候補施設名としてRAM42に記憶する。
例えば、CPU41は、上記S112で検索順が設定された各検索語が、「とうきょう」、「らんと」の場合には、検索順が1番目の「とうきょう」と前方一致する平仮名「と」が記憶された施設名データテーブル51の「分割単位」を、候補施設名を抽出する「分割単位」として特定する。そして、図2に示すように、CPU41は、当該分割単位内の「読み」に格納された各施設名の読みから各検索語「とうきょう」、「らんと」と前方一致するキーワードを有する2件の施設名の読み「とうきょう/ねずみー/らんど」、「とうきょう/うぃんたー/らんど」を抽出する。
そして、CPU41は、この2件の施設名の読みに対応する各施設名「東京ネズミーランド」、「東京ウィンターランド」を施設名データテーブル51から読み出し、最小件数の目的地候補である最小件数用候補施設名としてRAM42に順番に記憶後、S119の処理に移行する。
S119において、CPU41は、最小件数用候補施設名をRAM42から順番に読み出してカウントし、入力された検索語によって検索可能な候補施設名の最小件数としてRAM42に記憶する。例えば、最小件数用候補施設名が各施設名「東京ネズミーランド」、「東京ウィンターランド」の場合には、最小件数として「2件」をRAM42に記憶する。
尚、検索語に含まれる濁音、半濁音、拗音、促音、長音等の特殊文字はそれぞれ基本文字に変換して処理される。例えば、「とうきょう」は「とうきよう」、「らんと」は変わらず「らんと」として検索される。前述したように、施設名データテーブル51に記憶されている施設名の読みに含まれる特殊文字も基本文字に変換して記憶されているため、結果的には特殊文字を無視した検索を行うことになる。
そして、S120において、CPU41は、RAM42から最大件数と最小件数とを読み出し、検索語入力画面61の件数表示部69に表示後、当該サブ処理を終了してメインフローチャートに戻り、S12以降の処理を実行する。例えば、RAM42から読み出した最大件数が「4件」で、最小件数が「2件」の場合には、図7に示すように、件数表示部69に「2件以上4件以下」と表示後、当該サブ処理を終了してメインフローチャートに戻り、S12以降の処理を実行する。
尚、件数表示部69に「2件以上4件以下」に替えて「2件〜4件」と表示してもよい。また、件数表示部69に最小ボタンと「2件」を併記し、この最小ボタンが押下された場合には、この最小ボタンと「2件」の表示に替えて、最大ボタンと「4件」を併記し、該最大ボタンが押下された場合には、再度、最小ボタンと「2件」の併記に切り替え表示するようにしてもよい。
ここで、図7に示すように、50音キー62から各検索語「とうきょう」、「らんと」を入力して、完了ボタン68を押下した場合の、抽出した施設名をリスト表示した検索結果表示画面71の一例を図8に基づいて説明する。尚、各検索語「とうきょう」、「らんと」によって、最大件数用候補施設名として各施設名「健康ランド」、「サンタヨピューットランド」、「東京ネズミーランド」、「東京ウィンターランド」が抽出されているとする。
図8に示すように、PU41は、液晶ディスプレイ15に検索結果表示画面71を表示し、最大件数用候補施設名として各施設名「健康ランド」、「サンタヨピューットランド」、「東京ネズミーランド」、「東京ウィンターランド」をRAM42から読み出し、一番上の検索結果表示欄72から順番に表示する。また、CPU41は、最大件数「4件」をRAM42から読み出し、検索結果表示画面71の上部に設けられた件数表示部73に表示する。
ここで、ユーザが、各検索結果表示欄72の地点情報を押下して選択すると、CPU41は、当該施設を目的地に設定して経路探索を行い、推奨経路を地図上に表示する。また、当該施設に関する施設情報(例えば、営業時間、料金等である。)を表示する。
また、各検索結果表示欄72の左側には、検索結果表示欄72の施設の名称を1件ずつスクロールダウン、スクロールアップするための前ボタン74、次ボタン75と、検索結果表示欄72の施設の名称を5件ずつスクロールダウン、スクロールアップするための各頁ボタン76、77とが表示されている。
以上詳細に説明した通り、本実施例に係るナビゲーション装置1では、CPU41は、入力された検索語が、住所データテーブル52の「住所の読み」に記憶された住所名の読みを構成するキーワードと前方一致する場合には、当該検索語は、「住所」の属性に属すると判定する。また、CPU41は、入力された検索語が、サービスデータテーブル53の「サービスの読み」に記憶されたサービス名の読みを構成するキーワードと前方一致する場合には、当該検索語は、「サービス」の属性に属すると判定する。
そして、CPU41は、入力された全検索語から「住所」又は「サービス」の属性に属する検索語を除いた残りの検索語と前方一致するキーワードを有する施設名を最大件数用候補施設名として施設名データテーブル51から抽出し、この抽出した件数をカウントして最大件数としてRAM42に記憶する。また、CPU41は、入力された全検索語と前方一致するキーワードを有する施設名を最小件数用候補施設名として施設名データテーブル51から抽出し、この抽出した件数を最小件数としてRAM42に記憶する。そして、この最大件数と最小件数とを検索語入力画面61の件数表示部69に表示し、ユーザに報知する。
これにより、ユーザは、属性を指定することなく検索語を容易に入力することが可能となる。また、ユーザは、属性を指定することなく検索語を入力しても、全検索語から「住所」又は「サービス」の属性に属する検索語を除いた残りの検索語によって抽出した最大件数と、全検索語を「名称」の属性に属する検索語として抽出した最小件数とを知ることができる。従って、ユーザは、更に検索語を追加すべきか、あるいは削除すべきかを判断することができる。
また、「住所」の属性に属する住所名の読みを住所データテーブル52の「分割単位」毎に記憶している。また、「サービス」の属性に属するサービス名の読みをサービスデータテーブル5の「分割単位」毎に記憶している。これにより、CPU41は、各検索語と前方一致する平仮名が記憶された各データテーブル52、53の「分割単位」内に、各検索語と前方一致するキーワードがあるか否かを判定することによって、各検索語の属性が「住所」又は「サービス」の属性に属するか否かを迅速に判定することができる。また、CPU41は、最大件数用検索語を正確に抽出して、最大件数用候補施設名及び最大件数の検出精度の向上を図ることができる。
また、CPU41は、入力された全検索語から「住所」又は「サービス」の属性に属する検索語を除いた残りの検索語のうち、検索順が1番目の検索語と前方一致する平仮名が記憶された施設名データテーブル51の「分割単位」内の「読み」を全文検索することによって、迅速に最大件数用候補施設名を抽出することができる。また、CPU41は、入力された全検索語のうちの検索順が1番目に設定された検索語と前方一致する平仮名が記憶された施設名データテーブル51の「分割単位」内の「読み」を全文検索することによって、迅速に最小件数用候補施設名を抽出することができる。
尚、本発明は前記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、住所データテーブル52の「住所」の欄のデータを記憶しなくてもよい。また、サービスデータテーブル53の「サービス」の欄のデータを記憶しなくてもよい。これにより、各データテーブル52、53のデータ容量の削減化を図ることができる。