(57)【特許請求の範囲】
【請求項１】
施設検索装置であって、
予め登録された施設情報である固定施設情報を記憶する固定施設情報記憶手段と、
追加または変更された施設情報である追加施設情報を記憶する追加施設情報記憶手段と、
前記固定施設情報の中の検索対象外の施設情報を特定する情報である削除情報を記憶する削除情報記憶手段と、
検索条件を設定する検索条件設定手段と、
前記固定施設情報の中から前記検索条件に合致する施設情報の件数を求め、求めた件数に応じて、ユーザに提示する検索結果件数の算出処理を切換える算出切換手段と、
前記算出切換手段に従って、少なくとも前記固定施設情報と追加施設情報とを用いて前記ユーザに提示する検索結果件数を算出する施設情報検索手段と、を備え、
前記算出切換手段は、
前記求めた件数が所定の閾値以下の場合、前記施設情報検索手段においてユーザに提示する検索結果件数を算出する際に前記削除情報を用いる処理に切換え、
前記求めた件数が前記所定の閾値を超える場合、前記施設情報検索手段においてユーザに提示する検索結果件数を算出する際に前記削除情報を用いない処理に切換える
ことを特徴とする施設検索装置。
【請求項２】
請求項１に記載の施設検索装置であって、
前記施設情報検索手段は、
前記算出切換手段が、ユーザに提示する検索結果件数を算出する際に前記削除情報を用いる処理に切換えた場合、
前記検索条件を満たす前記固定施設情報の件数に、前記検索条件を満たす前記追加施設情報の件数を加えたものから前記削除施設情報で特定される検索対象外の施設情報のうち前記検索条件を満たす前記固定施設情報の施設情報の件数を引いた件数を、前記ユーザに提示する検索結果件数とし、
前記算出切換手段が、ユーザに提示する検索結果件数を算出する際に前記削除情報を用いない処理に切換えた場合、
前記検索条件を満たす前記固定施設情報の件数と、前記検索条件を満たす前記追加施設情報の件数を加えた件数を、前記ユーザに提示する検索結果件数とする
ことを特徴とする施設検索装置。
【請求項３】
請求項１または２に記載の施設検索装置であって、
検索条件ごとに、前記固定施設情報を検索した場合の検索結果件数を格納した固定施設件数情報を記憶する条件施設数記憶手段を備え、
前記算出切換手段および施設情報検索手段では、
前記固定施設件数情報を用いて、前記検索条件設定手段で設定された検索条件に合致する前記固定施設情報の施設件数を求める
ことを特徴とする施設検索装置。
【請求項４】
請求項１または２に記載の施設検索装置であって、
前記固定施設情報または前記追加施設情報を更新するための情報を受信して、前記削除施設情報及び前記追加施設情報を更新する施設情報更新手段を備える
ことを特徴とする施設検索装置。
【請求項５】
請求項４に記載の施設検索装置であって、
前記施設情報更新手段は、
前記固定施設情報に格納された施設情報を削除する場合、前記削除施設情報に、当該施設情報が検索対象外であることを示す情報を格納し、
追加する施設情報を受信した場合、前記追加施設情報に当該施設情報を追加し、
施設情報を変更する場合で、変更対象の施設情報がすでに前記追加施設情報にある場合は、当該追加施設情報の施設情報を変更し、
施設情報を変更する場合で、変更対象の施設情報が前記追加施設情報にない場合は、前記追加施設情報に変更後の施設情報を追加するとともに、前記削除施設情報に前記固定施設情報の当該施設情報が検索対象外であることを示す情報を格納する
ことを特徴とする施設検索装置。
【請求項６】
予め登録された施設情報である固定施設情報を記憶する固定施設情報記憶手段と、
追加または変更された施設情報である追加施設情報を記憶する追加施設情報記憶手段と、
前記固定施設情報の中の検索対象外の施設情報を特定する情報である削除情報を記憶する削除情報記憶手段と、
検索条件を設定する検索条件設定手段と、
前記固定施設情報の中から前記検索条件に合致する施設情報の件数を求め、求めた件数に応じて、ユーザに提示する検索結果件数の算出処理を切換える算出切換手段と、
前記算出切換手段に従って、少なくとも前記固定施設情報と追加施設情報とを用いて前記ユーザに提示する検索結果件数を算出する施設情報検索手段と、
前記固定施設情報を、施設の属する地域ごとに、変化しない情報も含めて、一括して更新する一括更新手段を備える
ことを特徴とする施設検索装置。
【請求項７】
請求項６に記載の施設検索装置であって、
前記一括更新手段は、
前記固定施設情報、前記削除施設情報、前記追加施設情報から、更新する地域の施設情報に関する情報を削除する
ことを特徴とする施設検索装置。
【請求項８】
施設検索装置の施設検索方法であって、
前記施設検索装置は、
予め登録された施設情報を含む固定施設情報を記憶する手段と、
追加または変更された施設情報を含む追加施設情報を記憶する手段と、
前記固定施設情報の中の検索対象外の施設情報を特定する情報である削除情報を記憶する手段と、を備え、
検索条件を設定する検索条件設定ステップと、
前記固定施設情報の中から前記検索条件に合致する施設情報の件数を求め、求めた件数に応じて、ユーザに提示する検索結果件数の算出処理を切換える算出切換えステップと、
前記算出切換えステップの処理結果に従って、少なくとも前記固定施設情報と追加施設情報とを用いて前記ユーザに提示する検索結果件数を算出する施設情報検索件数算出ステップと、
を行い、
前記算出切換ステップは、
前記求めた件数が所定の閾値以下の場合、前記施設情報検索件数算出ステップにおいてユーザに提示する検索結果件数を算出する際に前記削除情報を用いる処理に切換え、
前記求めた件数が前記所定の閾値を超える場合、前記施設情報検索件数算出ステップにおいてユーザに提示する検索結果件数を算出する際に前記削除情報を用いない処理に切換える
ことを特徴とする施設検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ナビゲーション装置の目的地等に設定される施設の検察技術に関する。
【背景技術】
【０００２】
ユーザの嗜好・目的に合わせた目的地を検索する施設検索機能は、車載用のカーナビゲーション装置や通信端末などに提供される施設検索機能などで、重要な機能となっている。施設情報は、日々変化するため、古くなってしまった施設情報は、更新する必要がある。この際、変化した施設情報のみを書き換えることで更新する施設情報のデータサイズを減らし、データの流通コストを削減できる。
【０００３】
しかし、実際には各施設の情報だけでなく、全体を管理して検索・更新を行うための管理データが存在する。その管理データには、各施設の情報の格納アドレス値が大量のデータとして格納されている。そのため、各施設の情報を一部書き換えると、後続データのアドレスが全部ずれてしまい、管理データ内のアドレス値を大量に書き換えなくてはならない。
【０００４】
以上の理由から、施設情報の更新処理には、管理データも含めると多大な負担がかかるという問題があった。その問題を解決する方法としては、特許文献１のように、装置作成の際に収録された施設情報と、その後に更新された施設情報を別個に管理する方法がある。また、特許文献１では、更新された施設情報は、削除された施設情報、追加された施設情報、変更された施設情報に分かれて管理されている。検索時にはこれらの削除・追加・変更された施設情報と、作成時の施設情報の両検索結果とを組み合わせて表示することで、更新後の検索結果を得ている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の構成で検索を行うと、見つかった施設の件数、つまりヒット件数を高速に求めるのが困難になる場合がある。具体的には、更新された施設情報と装置作成時から持っている施設情報とを別個に管理する場合、最新のヒット件数を正確に求める際には、装置作成時の施設情報からの検索結果の施設のうち、何件削除されているのかを調べる必要がある。したがって、削除された施設情報を照合し、検索結果が削除されているかどうかを施設１件ごとに判別する必要がある。そのため、検索のヒット件数が多い場合、削除の判別を行う回数が増加し、ヒット件数の算出時間が増えるという問題が生じる。
【０００６】
なお、ヒット件数は、特に入力の手間を減らすことが求められるカーナビゲーション装置では重要な指標である。検索時、ユーザはヒット件数が１件１件施設情報を確認するには多すぎる件数にならず、かつ０件にはならないように検索条件を徐々に入力して検索結果を絞り込むことが必要になる。よってヒット件数は、ユーザにとって適切な数の検索結果を得るための指標であり、かつ検索条件が入力される度に高速にヒット件数を提示しないとユーザの利便性を激しく損なうことになる。
【０００７】
本願発明は、かかるユーザのニーズに答えるべくなされたものであり、検索によるヒット件数を、処理負担を軽減しつつ高速に求めることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、検索対象外として削除された施設情報の件数を加味すべきか否かを判定し、加味すべきと判定した場合にのみ、検索対象外として削除された施設情報の件数を加味して、検索ヒット件数を算出する。
【０００９】
本発明の施設検索装置は、例えば、予め登録された施設情報を含む固定施設情報を記憶する手段と、追加または変更された施設情報を含む追加施設情報を記憶する手段と、前記固定施設情報の中の検索対象外の施設情報を特定する情報である削除情報を記憶する手段と、検索条件を設定する検索条件設定手段と、前記固定施設情報の中から前記検索条件に合致する施設情報の件数を求め、求めた件数に応じて、ユーザに提示する検索ヒット件数の算出処理に前記削除情報を用いるか否かを決定する削除情報利用判定手段と、前記削除情報利用判定手段の判定結果に従って、前記ユーザに提示する検索ヒット件数を求めるヒット件数算出手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、施設情報の検索ヒット件数を、処理負担を軽減しつつ高速に求めることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態である施設検索装置が適用されたナビゲーション装置について、図面を参照して説明する。
【００１２】
図１は、ナビゲーション装置１０の概略構成図である。
【００１３】
ナビゲーション装置１０は、演算部１１と、センサ部１７と、外部記憶装置１８と、入力部１９と、表示部２０と、通信部２１と、を備えている。
【００１４】
演算部１１は、主制御装置であるＣＰＵ（Central Processing Unit）１２と、メインメモリとしてデータ等を一時的に格納するＲＡＭ（Random Access Memory）１３と、プログラム等が記録されたＲＯＭ（Read Only Memory）１４と、ホスト等との入出力を制御するインタフェース１５と、各装置間の通信経路となるシステムバス１６とを備えたコンピュータにより構成される。
【００１５】
センサ部１７は、現在位置を算出するための車速センサやジャイロである。センサ部１７は、ＧＰＳ（ Global Positioning System）受信装置を備えていてもよい。
【００１６】
外部記憶装置１８は、ハードディスク、フラッシュメモリなどのデータの書き換え可能な記憶装置で構成され、ナビゲーション装置１０で使用されるさまざまなデータを格納する。
【００１７】
入力部１９は、ユーザからの指示を受け付けるためのユーザインタフェースである。入力部１９は、ハードスイッチ、タッチパネル、ダイヤルスイッチなどで構成され、ユーザから入力された入力値やコマンドを、演算部１１に送る。
【００１８】
表示部２０は、ユーザが入力部１９を介して設定した検索条件や、検索処理の結果であるヒット件数を、ユーザに提示する装置である。表示部２０は、液晶ディスプレイやブラウン管などの視覚ディスプレイでもよい。また、音声出力を行うために、スピーカを備えていてもよい。なお、演算部１１は、情報の視覚的な提示のために、文字データを画面に表示可能な形式に変換するビデオカードを備え、音声提示のために、文字データを音声に変換する音声合成ソフトウェアを記憶装置に記憶している。
【００１９】
通信部２１は、ナビゲーション装置１０と、外部の情報配信装置との間の情報の送信、受信を仲介する。なお、通信形式に制限はなく、無線でも有線でもよい。
【００２０】
図２は、ナビゲーション装置１０の機能ブロック図である。また、図３〜７は、ナビゲーション装置１０が処理する情報の構成を示す図である。
【００２１】
なお、ナビゲーション装置１０の基本的な動作（現在位置算出処理、経路探索処理、経路誘導処理など）を行うための機能部については説明を省略する。ここでは、本発明の特徴的動作に関連する機能部について説明する。
【００２２】
ナビゲーション装置１０は、その機能部として、固定施設記憶部１００と、固定施設件数記憶部１１０と、追加施設記憶部１２０と、削除施設記憶部１１５と、更新情報受信部１６０と、施設情報更新部１５０と、第１のマージ処理部１０５と、算出モード設定部１３５と、施設情報検索部１４５と、第２のマージ処理部１０６と、制御部１５５と、を備える。
【００２３】
これらの各要素及び機能は、ＣＰＵ１２がメインメモリ１３にロードした所定のプログラムを実行することにより達成される。また、各記憶部は、ＲＡＭや外部記憶装置１８上に構成される。
【００２４】
固定施設記憶部１００には、施設に関する情報である固定施設情報が格納されている。かかる固定施設情報は、ナビゲーション装置１０の製造時（出荷前）に格納される。固定施設情報は、後述の追加施設情報に比べて、通常、頻繁に書き換えられることはない。ただし、地域ごとの施設情報など、一括して書き換えられることがある。
【００２５】
固定施設情報には、施設同士を識別するためのＩＤ情報、ユーザが検索を行うための施設名称、施設の営業時間、施設の種類を示すカテゴリなどの情報が含まれている。固定施設情報は、図３に示すように、固定施設テーブルＴ１として、固定施設記憶部１００に格納されている。
【００２６】
固定施設テーブルＴ１は、施設ごとのレコードからなる。各レコードは、施設を識別するコード（施設ＩＤ）２２５、施設名称２３０、営業時間２３５、施設カテゴリ２４０、などを格納している。
【００２７】
かかる固定施設テーブルＴ１を参照すれば、例えば、施設カテゴリ２４０の値から施設ＩＤ２２５、施設の営業時間２３５、施設名称２３０を特定することができる。あるいは逆に施設名称２３０から、施設ＩＤ２２５や施設カテゴリ２４０を特定することができる。すなわち、施設名称や施設ＩＤ、施設カテゴリの値が検索条件として設定されれば、施設情報（レコード）を検索することができる。
【００２８】
固定施設件数記憶部１１０には、固定施設情報を所定の検索条件で検索した場合に検索されうる施設情報の件数、すなわちヒット件数のデータが登録されている。かかるデータは、固定施設情報と同様に、ナビゲーション装置１０の製造時（出荷前）に格納される。かかるデータは、固定施設情報と同様に、頻繁に書き換えられることはない。ただし、固定施設情報が書き換わった場合は、同時に一括で書き換えられることがある。かかるデータは、図４に示すように、固定施設件数テーブル４００として、固定施設件数記憶部１１０に格納されている。
【００２９】
図４（ａ）は、検索条件が、地域、及び施設カテゴリである場合の固定施設件数テーブルである。かかる固定施設件数テーブルには、検索条件（地域）４１０、及び検索条件（施設カテゴリ）４１１に対応するヒット件数４１２が格納されている。
【００３０】
図４（ａ）の固定施設件数テーブルを参照すれば、例えば、検索条件（地域）４１０として「北海道」のみが指定された場合、ヒット件数４１２として「８７０３５０件」が求められる。さらに、検索条件（施設カテゴリ）４１１として「デパート」が指定された場合、ヒット件数４１２として「２３件」が求められる。
【００３１】
図４（ｂ）は、検索条件が、施設名称の頭文字（読み）である場合の固定施設件数テーブルである。かかる固定施設件数テーブルには、検索条件（読み）４１３に対応するヒット件数４１４が格納されている。
【００３２】
図４（ｂ）の固定施設検索テーブルを参照すれば、検索条件（読み）４１３として、１文字目の文字が「あ」と指定された場合、ヒット件数４１４として「９８４８９０件」が求められる。さらに、２文字目が追加され「ああ」が指定された場合、ヒット件数（「ああ」で始まる名称を持つ施設件数）４１４として「９８４８件」が求められる。
【００３３】
追加施設記憶部１２０には、ナビゲーション装置１０の製造以後（出荷後）に追加あるいは変更された施設情報が、追加施設テーブルとして登録されている。図３に示すように、追加施設テーブルＴ２のデータ構造は、固定施設テーブルＴ１のデータ構造と同様である。
【００３４】
削除施設記憶部１１５には、ナビゲーション装置１０の製造以後（出荷後）に削除された施設情報の施設ＩＤが、削除施設テーブルとして登録されている。図３に示すように、削除施設テーブルＴ３は、削除された施設情報の施設ＩＤ２２０のみを登録している。
【００３５】
なお、上述のように、固定施設テーブルＴ１は頻繁に書き換わることはないので、固定施設テーブルＴ１から施設情報のレコードそのものが削除されるわけではない。その代わりに、削除するように指定された場合に、削除施設テーブルＴ３にその施設ＩＤを格納し、検索対象から除外されるようにする。すなわち、削除施設テーブルＴ３に格納された施設ＩＤは、その施設ＩＤの施設情報が検索対象として除外されていることを意味する。
【００３６】
なお、固定施設記憶部１００、削除施設記憶部１１５、追加施設記憶部１２０、固定施設件数記憶部１１０の実体は、それぞれの記憶部につき単一のファイルによって構成されても良いし、例えば施設の存在する地域によって分割された複数ファイルで構成されていても良い。ただし、後で述べる「地域単位で一括更新」を実現するため、固定施設記憶部１００が複数のファイルに分割されているのならば、固定施設件数記憶部１１０も同様の基準で分割されたファイルで構成されている必要がある。
【００３７】
また、特許文献１で説明した施設情報の管理データも各記憶部内に含まれるものとする。
【００３８】
更新情報受信部１６０は、通信部２１を介して、または、ＣＤ-ＲＯＭ，ＤＶＤ-ROMなどの可搬性の外部メディアを介して、施設情報を更新するための情報（「更新施設情報」という）を受け取る。そして、施設情報更新部１５０が処理可能な可能の形式のデータにデコードする。
【００３９】
なお、本実施形態において、施設情報の「更新」には、新規施設情報が追加される「追加」、施設情報の一部が変更される「変更」、古い施設情報が削除される「削除」の３種の態様がある。したがって、更新情報受信部１６０が受信する「更新施設情報」には、更新の種類と、更新対象となる施設の施設ＩＤとが少なくとも含まれている。
【００４０】
図５〜図７に、更新施設情報の例を示す。
【００４１】
更新施設情報には、「削除する施設の更新施設情報」Ｔ４と、「追加する施設の更新施設情報Ｔ５と、「変更する施設の更新施設情報」Ｔ７と、がある。
【００４２】
「削除する施設の更新施設情報」Ｔ４の各レコードには、更新種類２６５として「削除」が格納されており、施設ＩＤ２７０には、削除される施設のＩＤが格納されている。
【００４３】
「追加される施設の更新施設情報」Ｔ５の各レコードには、更新種類２３４として「追加」が格納されており、さらに固定施設テーブルＴ１のレコードと同形式のデータ（すなわち、施設ＩＤ２４５、施設名称２５０、営業時間２５５、施設カテゴリ２６０）が格納されている。
【００４４】
「変更する施設の更新施設情報」Ｔ７の各レコードには、更新種類３４５として「変更」が格納されており、さらに、変更対象の施設の施設ＩＤ３５０と、変更される項目の変更後の情報が格納されている。
【００４５】
図７の「変更する施設の更新施設情報」Ｔ７の例では、営業時間３６０のみが変更される例を示している。詳述すると、更新種類３４５として「変更」が格納されており、さらに固定施設テーブルＴ１のデータのうち、変更対象の施設情報を特定する施設ＩＤ３５０と、変更対象である営業時間３６０が格納されている。変更しないデータ（施設名称３５５および施設カテゴリ３６５）の項目には、無変更であることを意味する文字データ「−」が格納されている。
【００４６】
ただし、図７の下段の「変更する施設の更新施設情報」Ｔ７’の例のように、無変更のデータ（施設名称３５５、施設カテゴリ３６５）について、既存のデータが格納されていてもよい。
【００４７】
なお、施設情報が変更されても、同じ施設に関する施設情報であれば、施設ＩＤは変更されないものとする。
【００４８】
施設情報更新部１５０は、追加施設テーブルＴ２、及び削除施設テーブルＴ３の更新を行う。具体的には、施設情報更新部１５０は、図６に示したような「追加する施設の更新施設情報」Ｔ５を受信した場合、追加施設テーブルＴ２にレコードを追加し、「追加する施設の更新施設情報」Ｔ５に含まれている施設ＩＤ２４５、施設名称２５０、営業時間２５５、施設カテゴリ２６０を格納する。
【００４９】
また、施設情報更新部１５０は、図５に示したような「削除する施設の更新施設情報」Ｔ４を受信した場合、追加施設テーブルＴ２に削除対象の施設情報が格納されているかを調べ、格納されている場合は、その施設情報（レコード）を削除する。一方、格納されていない場合は、削除施設テーブルＴ３にレコードを追加し、「削除する施設の更新施設情報」Ｔ４に含まれている施設ＩＤ２７０を格納する。
【００５０】
第１のマージ処理部１０５は、図７の「変更する施設の更新施設情報」Ｔ７のように、有効な値が含まれない更新施設情報に対して、既存の施設情報（固定施設テーブルＴ１や追加施設テーブルＴ２の施設ＩＤが同一の情報）を用いて、補充する処理を行う。そして、「変更する施設の更新施設情報」Ｔ７’のように、全ての項目に有効な値が格納された更新施設情報を生成する。
【００５１】
算出モード設定部１３５は、ユーザに提示するヒット件数の算出モードを設定する。算出モードには、第１のヒット件数算出モードと、第２のヒット件数算出モードとがある。算出モード設定部１３５は、固定施設テーブルＴ１の検索時の検索ヒット件数が所定の閾値以下であるかどうかを判断し、所定の閾値以下である場合は、第１のヒット件数算出モードに設定し、所定の閾値を超える場合は、第２のヒット件数算出モードに設定する。
【００５２】
ここで、第１のヒット件数算出モードとは、ユーザに提示するヒット件数を、削除施設テーブルＴ３の情報を反映して求めるモードである。第１のヒット件数算出モードでは、ユーザに提示するヒット件数は、固定施設テーブルＴ１の検索時のヒット件数から、固定施設テーブルＴ１の検索時の検索結果と合致する削除施設テーブルＴ３の施設情報の件数を差し引き、さらに、追加施設テーブルＴ２の検索時のヒット件数を足すことで求められる。
【００５３】
また、第２のヒット件数算出モードとは、ユーザに提示するヒット件数を、削除施設テーブルＴ３の情報を反映せずに求めるモードである。削除施設テーブルＴ３の情報を反映する処理を省略するので、ユーザに提示するヒット件数を迅速に算出することができる。第２のヒット件数算出モードでは、ユーザに提示するヒット件数は、固定施設テーブルＴ１の検索時のヒット件数に、追加施設テーブルＴ２の検索時のヒット件数を足すことで求められる。
【００５４】
いすれのモードに設定するかを判定するための閾値は、設計によって決定される値である。
【００５５】
例えば、算出モード設定部１３５は、削除施設テーブルＴ３に登録されている施設情報（レコード）の総件数ｎの値を、かかる閾値と設定してもよい。
【００５６】
固定施設テーブルＴ１の検索時のヒット件数がｎ以下の場合には、削除施設テーブルＴ３の検索時のヒット件数が０になる可能性がある。一方、固定施設テーブルＴ１の検索時のヒット件数がｎを超える場合には、ユーザに提示するヒット件数が１以上であることを意味する。従って、検索対象外の施設情報を除いた施設情報（すなわち、削除施設テーブルＴ３で指定されている検索対象外の施設情報を除いた固定施設テーブルＴ１の施設情報と、追加施設テーブルＴ２の施設情報）を検索した場合のヒット件数が０になるかどうか、つまり検索条件を満たす施設が１件でも存在するかどうかを正確に判断したい場合は、閾値をｎに設定するのが良い。
【００５７】
他の閾値の定義例として、算出モード設定部１３５は、固定施設テーブルＴ１の施設情報の総件数Ｎと、削除施設テーブルＴ３の総件数ｎとの比Ｎ／ｎを、閾値として設定してもよい。
【００５８】
これは、検索条件が施設情報の新旧とは無関係な条件の場合、総件数Ｎと総件数ｎとの比が、それぞれのテーブルＴ１，Ｔ３からのヒット件数の比に近似できるという前提から以下のように導かれる。
【００５９】
上記の前提から、総件数Ｎの固定施設テーブルＴ１の検索時にヒット件数がＮ’であった場合、削除施設テーブルＴ３の検索時のヒット件数は、Ｎ’×（ｎ／Ｎ）と近似できる。この近似値が１件以上の場合、削除された施設が１件以上あるとみなせる。従って上記のＮ’×（ｎ／Ｎ）＞１から、Ｎ’＞Ｎ／ｎと、閾値の値Ｎ／ｎを導ける。この値を超えた場合は、削除件数が１件以上と予想できるので、算出モードの判定を行う意味があるといえる。
【００６０】
以上から、算出モード設定部１３５は、施設情報の新旧とは無関係な条件で検索されることが分かっている場合は、閾値をＮ／ｎに設定してもよい。
【００６１】
上記いずれの閾値の値を採用するにしても、固定施設テーブルＴ１の総件数Ｎは装置作成時から一定であるが、削除施設テーブルＴ３の総件数ｎは施設情報が更新されるたびに変化するので、更新のたびに閾値の値を計算しなおす必要がある。
【００６２】
そこで、算出モード設定部１３５は、施設情報の更新のたびに、閾値の値を計算し直す。
【００６３】
なお、算出モード設定部１３５は、閾値の導出方法について、ユーザからの指示に応じて設定することができる。
施設情報検索部１４５は、指定された検索条件に合致する施設情報を検索する処理を行う。
具体的には、固定施設記憶部１００の固定施設テーブルＴ１、追加施設記憶部１２０の追加施設テーブルＴ２を、削除施設記憶部１１５の削除施設テーブルＴ３を、検索して、それぞれの検索ヒット件数および検索結果の施設情報を取得する機能を持つ。また、固定施設件数記憶部１１０の固定施設件数テーブル４００を検索して、より迅速に、固定施設テーブルＴ１を検索した場合に検索されうるヒット件数を求めることもできる。
【００６４】
なお、検索対象のデータが、複数ファイルで構成される場合は、施設情報検索部１４５は、その複数ファイルを全て検索してヒット数および施設情報を取得する。
【００６５】
第２のマージ処理部１０６は、算出モード設定部１３５で設定されたモードに従って、上述の算出式により、ユーザに提示するヒット件数を算出する。
【００６６】
一時記憶部１３０は、固定施設記憶部１００、固定施設件数記憶部１１０、削除施設記憶部１１５、追加施設記憶部１２０から読み出された情報を一時的に記憶する。
【００６７】
図８は、一時記憶部１３０のデータ構造Ｔ６の例を示す。一時記憶部１３０は、固定施設テーブルＴ１の検索結果の施設ＩＤ２７５と、固定施設テーブルＴ１の検索時のヒット件数２７６と、追加施設テーブルＴ２の検索時のヒット件数２７７と、削除施設テーブルＴ３の検索時のヒット件数２７８と、固定施設テーブルＴ１の施設情報の総件数２９０と、算出モードの判定に用いる閾値２９５と、を記憶する。これらのデータは、データの種類と、データの内容とに対応付けられており、必要時に読み出すことができるようになっている。
【００６８】
なお、固定施設テーブルＴ１の施設情報の総件数２９０と、算出モードの判定に用いる閾値２９５とは、ナビゲーション装置１０の電源が切られても保存しておく必要がある情報であるため、一時記憶部１３０は、不揮発性半導体メモリで構成される。
【００６９】
制御部１５５は、ナビゲーション装置１０の各部を制御する機能を持つ。具体的には各部間のデータ送受信の管理や各部をタイミングどおりに機能させる制御を行う。例えば、施設情報検索部１４５で検索された結果のデータを一時記憶部１３０に転送したり、一時記憶部に記憶されている施設情報を提示するために表示部１４０に転送したりする際の制御を行う。
【００７０】
次に、上記のように構成されるナビゲーション装置の動作について、（１）施設情報を１件単位で更新する処理、（２）施設情報を一括して更新する処理、（３）施設情報の検索処理において検索ヒット件数を提示する処理について、説明する。
【００７１】
（１）まず、施設情報を１件単位で更新する処理について説明する。
【００７２】
図９及び図１０は、施設情報を１件単位で更新する処理のフローチャートである。
【００７３】
上述のように、本実施形態において、施設情報の「更新」には、施設情報の「削除」と、新規施設の「追加」と、施設情報の「変更」の３種類の態様がある。
【００７４】
ここでは、「変更」は、「削除」と「追加」を組み合わせて行う。つまり、変更前の施設情報を削除した後、変更後の施設情報を新規の施設情報として追加する。
【００７５】
また、施設情報の「削除」とは、検索対象から外すことを意味する。すなわち、固定施設テーブルＴ１に格納されている施設情報を削除する際には、削除施設テーブルＴ３に施設ＩＤを登録する。一方、追加施設テーブルＴ２に格納されている施設情報を削除する際には、削除施設テーブルＴ３に施設ＩＤを登録するのではなく、追加施設テーブルＴ２から、該当する施設情報を削除するようにしている。
【００７６】
まず、更新情報受信部１６０は、更新施設情報を受信することにより、図９のフローをスタートする（Ｓ１００）。更新施設情報は、上述のように、「削除する施設の更新施設情報」Ｔ４、「追加する施設の更新施設情報」Ｔ５、「変更する施設の更新施設情報」Ｔ７、のいずれかである。
【００７７】
次に、施設情報更新部１５０は、更新施設情報に含まれる更新種類（２６５、２４３、３４５）から、更新の種類が「追加」か「更新」か「削除」かを判定する（Ｓ１１０）。
【００７８】
更新の種類が「追加」の場合、施設情報更新部１５０は、Ｓ１００で受信した更新施設情報を、追加施設テーブルＴ２に追加する（Ｓ１７０）。その後、後述のステップＳ１８０に処理を移行する。
【００７９】
一方、更新の種類が「削除」の場合、施設情報更新部１５０は、ステップＳ１４０に処理を移行する。
【００８０】
更新の種類が「変更」の場合、施設情報更新部１５０は、変更後の施設情報を生成する（Ｓ１２０）。
【００８１】
図１０は、変更後の施設情報を生成する処理のフロー図である。
【００８２】
施設情報更新部１５０は、Ｓ１００で受信した更新施設情報を読み出し（Ｓ２００）、読み出した施設情報が、全ての情報を格納しているタイプ（すなわち、図７の「変更する施設の更新施設情報」Ｔ７’のように、変更されない項目にも有効な情報が格納されているタイプ）か否かを判定する（Ｓ２１０）。全ての情報を格納しているタイプである場合（Ｓ２１０でＹ）、施設情報更新部１５０は、本サブフロー処理を終了して、図９のステップＳ１４０に処理を移行する。
【００８３】
一方、読み出した施設情報が、全ての情報を格納しているタイプではないタイプ（（図７の「変更する施設の更新施設情報」Ｔ７のタイプ））場合（Ｓ２１０でＮ）、施設情報更新部１５０は、読み出した更新施設情報を、一時記憶部１３０に一旦格納する（Ｓ２２０）。
【００８４】
そして、第１のマージ処理部１０５は、変更対象の施設情報の施設ＩＤ（すなわち、Ｓ１００で読み出した変更施設情報に格納されている施設ＩＤ）を検索条件にして、追加施設テーブルＴ２及び固定施設テーブルＴ１をこの順で検索して、検索条件に合致する施設情報のレコードを取得する（Ｓ２３０）。なお、過去に施設情報が変更された場合、追加施設テーブルＴ２に最新の情報が格納されてるはずなので、最初に追加施設テーブルＴ２を検索し、検索条件に合致する施設情報のレコードを見つけた場合は、固定施設テーブルＴ１を検索しない。
【００８５】
続いて、第１のマージ処理部１０５は、検索したレコードの施設情報と、Ｓ２２０で一時記憶部１３０に格納された施設情報とをマージする（Ｓ２４０）。具体的には、Ｓ２２０で一時記憶部１３０に格納された施設情報の、有効な値が設定されていない全ての項目（例：図７における施設情報Ｔ７の施設名称３５５など）に、Ｓ２３０で検索したレコードに含まれる、その項目に格納されている情報を書き込む。マージ処理の結果、一時記憶部１３０には、全ての項目に有効値が設定された施設情報（図７の施設情報Ｔ７’参照）が生成される。その後、施設情報更新部１５０は、本サブフロー処理を終了して、図９のステップＳ１４０に処理を移行する。
【００８６】
図９に戻って説明する。
【００８７】
Ｓ１４０では、施設情報更新部１５０は、更新施設情報で指定された施設ＩＤを検索条件として、追加施設テーブルＴ２の検索を試みる（Ｓ１４０）。そして、更新施設情報で指定された施設ＩＤが検索できた場合（Ｓ１４０でＹ）、その施設情報（レコード）を削除し（Ｓ１５０）、処理をステップＳ１６０に移行する。なお、Ｓ１５０では、既に削除済みの施設情報が、再度削除対象と指定された場合は、表示部２０に、その旨の警告を表示する。
【００８８】
一方、検索できなかった場合（Ｓ１４０でＮ）、施設情報更新部１５０は、削除施設テーブルＴ３に、更新施設情報で指定された施設ＩＤを格納し（Ｓ１５５）、処理をステップＳ１６０に移行する。
【００８９】
ステップＳ１６０では、施設情報更新部１５０は、更新の種類が、「変更」か否かを判定する。そして、「変更」の場合（Ｓ１６０でＹ）、施設情報更新部１５０は、ステップＳ１２０で生成した更新施設情報を、追加施設テーブルＴ２に追加し（Ｓ１６５）、ステップＳ１８０に処理を移行する。一方、更新の種類が「削除」の場合（Ｓ１６０でＮ）、そのままＳ１８０に移行する。
【００９０】
ここまでの処理により、下記の通りとなる。
【００９１】
固定施設テーブルＴ１に予め格納されていた施設情報で、未だ更新対象とされていない施設情報は、固定施設テーブルＴ１にのみ存在する。
【００９２】
固定施設テーブルＴ１に予め格納されていた施設情報で、変更対象とされたことのある施設情報については、追加施設テーブルＴ２に、更新後の施設情報が格納されており、その施設ＩＤは、削除施設テーブルＴ３に格納されている。
【００９３】
固定施設テーブルＴ１に予め格納されていた施設情報で、一度も変更対象とされることなく削除対象とされた施設情報については、その施設ＩＤが、削除施設テーブルＴ３に格納されている。
【００９４】
固定施設テーブルＴ１に予め格納されていた施設情報で、変更対象とされた後に削除対象とされた施設情報については、その施設ＩＤは、変更時に削除施設テーブルＴ３に格納されており、一方、追加施設テーブルＴ２に格納されていた施設情報は、削除される。
【００９５】
追加された施設情報は、追加施設テーブルＴ２に格納され、その後に変更対象とされた場合は、変更前のレコードが削除された後、変更後のレコードが追加施設テーブルＴ２に格納される。
【００９６】
追加された施設情報が削除対象とされた場合、追加施設テーブルＴ２からそのレコードが削除される。この場合、削除施設テーブルＴ３には、その施設ＩＤが格納されることはない。
【００９７】
要するに、削除施設テーブルＴ３には、固定施設テーブルＴ１の施設情報のうち削除された施設情報の施設ＩＤ（すなわち、検索対象外となる施設ＩＤ）と、固定施設テーブルＴ１の施設情報のうちで変更され、追加施設テーブルＴ２に格納されることとなった施設情報の施設ＩＤと、が格納される。
【００９８】
ステップＳ１８０では、施設情報更新部１５０は、算出モード設定部１３５に、ヒット件数の算出モードの判定に用いる閾値の更新処理を行わせる。閾値の算出方法は、上述したとおりである。算出モード設定部１３５は、例えば、削除施設テーブルＴ３に格納されている施設ＩＤの総件数を算出し、その値と固定施設テーブルＴ１の施設の総件数から、最新の閾値を求めて一時記憶部１３０に格納する。その後、施設情報更新部１５０は、本フローを終了する。
【００９９】
なお、固定施設テーブルＴ１の施設情報の総件数は、装置作成時に求めておくことができるので、プログラムの中にハードコーディングされていても良いし、一時記憶部１３０に格納させていてもよい。
【０１００】
以上、施設情報を１件単位で更新する処理について説明した。
【０１０１】
（２）次に、施設情報を一括して更新する処理について説明する。
【０１０２】
ここでは、大量の施設を更新する場合に有効な手段であるファイル更新によって、地域一括で更新する方法について述べる。この更新方法は、固定施設テーブルＴ１を格納する固定施設記憶部１００と、固定施設件数テーブル４００を格納する固定施設件数記憶部１１０とが、複数のファイルによって構成されており、各ファイルが各地域の施設情報、ヒット件数を持つようになっている場合に有効である。
【０１０３】
例えば、都道府県単位で分割されている場合、固定施設記憶部１００は、全部で４７つの施設情報ファイルによって構成されることになる。このようなファイル構成の場合、各記憶部を構成するファイルを上書きすることで、地域一括で更新できる。ファイル単位で更新するため、大量の施設を更新する場合は１件１件更新するより高速に更新できるという利点がある。ただし、ファイル更新を行う地域の施設情報が、追加施設記憶部１２０や削除施設記憶部１１５に残っている状態で更新した場合、更新後の検索処理結果に、これらの記憶部の古い施設情報が混じってしまう。そこで、ファイル更新で地域一括更新を行う際には削除施設記憶部、追加施設記憶部の施設情報を削除する。
【０１０４】
図１１は、地域一括更新時の処理を示すフローチャートである。なお、削除施設記憶部１１５や追加施設記憶部１２０は、固定施設記憶部１００と同様に、地域ごとにファイルが分かれていても良いし、全地域の施設が１つのファイルに入っていても良い。
【０１０５】
更新情報受信部１６０は、地域一括で更新するための地域全体の施設情報と、該施設情報のヒット件数が入ったファイル（固定施設件数テーブル４００に相当）を受信することで、本フローをスタートする（Ｓ３００）。
【０１０６】
そして、施設情報更新部１５０は、更新情報受信部１６０から、更新する地域の施設情報を取得する（Ｓ３１０）。更新する地域の施設情報は、地域ＩＤなど更新地域を特定する情報を持っている。
【０１０７】
次に、施設情報更新部１５０は、一括更新する地域の施設情報を、削除施設記憶部１１５と追加施設記憶部１２０から削除する（Ｓ３２０）。削除施設記憶部１１５・追加施設記憶部１２０が地域ごとにファイル分割されている場合は、一括更新する地域のファイルに存在する施設情報を全て削除する。
【０１０８】
そして、施設情報更新部１５０は、固定施設記憶部１００と固定施設件数記憶部１１０の一括更新する地域のファイルを上書きする（Ｓ３３０）。その後、本処理を終了する。
【０１０９】
（３）次に、ユーザに提示すべき検索ヒット件数を算出する処理について説明する。
【０１１０】
図１２は、かかる検索ヒット件数の算出処理のフローチャートである。
【０１１１】
本フローは、制御部１５５が入力部１９を介してユーザから検索要求を受け付けたときに開始される。
【０１１２】
制御部１５５は、ユーザから検索条件を受け付けると、その検索条件を施設情報検索部１４５に設定するとともに、ユーザに提示するヒット件数の算出を要求する（Ｓ４００）。
【０１１３】
なお、制御部１５５は、ヒット件数の表示が必要な場合に、ヒット件数の算出要求を出す。例えば、ユーザが検索条件を設定して条件を絞り込んだ場合などである。
【０１１４】
次に、施設情報検索部１４５は、固定施設テーブルＴ１を、Ｓ４００で設定された検索条件で検索した場合のヒット件数を求め、一時記憶部１３０に記憶する（Ｓ４１０）。具体的には、施設情報検索部１４５は、固定施設件数テーブル４００を参照して、設定された検索条件（４１０、４１１、４１３）に対応付けられヒット件数（４１２、４１４）を特定する。
【０１１５】
なお、本実施形態では、固定施設件数テーブル４００を使用することにより、処理の高速化を図っている。これに限らず、施設情報検索部１４５は、固定施設テーブルＴ１を直接検索して、検索条件に合致する施設情報（レコード）のヒット件数を求めるようにしてもよい。
【０１１６】
次に、施設情報検索部１４５は、Ｓ４１０で求めたヒット件数（固定施設テーブルＴ１を検索した場合のヒット件数）が、一時記憶部１３０に格納されている判定閾値２９５以下かどうかを判別する（Ｓ４２０）。
【０１１７】
Ｓ１１０で求めたヒット件数が閾値以下なら（Ｓ４２０でＹ）、施設情報検索部１４５は、ステップＳ４３０に処理を移行する（第１のヒット件数算出モード）。一方、Ｓ４１０で求めたヒット件数が閾値を超えるなら（Ｓ４２０でＮ）、施設情報検索部１４５は、ステップＳ４８０に処理を移行する（第２のヒット件数算出モード）。
【０１１８】
第１のヒット件数算出モードの場合、施設情報検索部１４５は、Ｓ４００で設定された検索条件で、固定施設テーブルＴ１を検索し、検索条件に合致する施設情報の施設ＩＤを特定する（Ｓ４３０）。図１３は、固定施設テーブルＴ１を検索した結果の例を示す。
【０１１９】
続いて、施設情報検索部１４５は、特定された施設ＩＤを検索条件として、削除施設テーブルＴ３を検索し、ヒット件数を算出する（Ｓ４４０）。そして、施設情報検索部１４５は、算出したヒット件数を、図８に示したように、一時記憶部１３０に格納する（Ｓ４５０）
次に、施設情報検索部１４５は、Ｓ４００で設定された検索条件で、追加施設テーブルＴ２を検索し、ヒット件数を求め、一時記憶部１３０に記憶する（Ｓ４６０）。
【０１２０】
次に、第２のマージ処理部１０６は、一時記憶部１３０に記憶された各ヒット件数を読み出し、下記式；
ユーザに提示するヒット件数＝（固定施設テーブルＴ１の検索時のヒット件数２７６）−（削除施設テーブルＴ３の検索時のヒット件数２７８）＋（追加施設テーブルＴ２の検索時のヒット件数２７７）
により、ユーザに提示するヒット件数を算出する（Ｓ４７０）。そして、処理をＳ４９５に移行する。
【０１２１】
一方、第２のヒット件数算出モードの場合（Ｓ４２０でＮ）、施設情報検索部１４５は、Ｓ４００で設定された検索条件で、追加施設テーブルＴ２を検索し、ヒット件数を求め、一時記憶部１３０に記憶する（Ｓ４８０）。
【０１２２】
そして、第２のマージ処理部１０６は、一時記憶部１３０のヒット件数を読み出し、下記式；
ユーザに提示するヒット件数＝（固定施設テーブルＴ１の検索時のヒット件数２７６）＋（追加施設テーブルの検索時のヒット件数２７７）
により、ユーザに提示する件数を算出する（Ｓ４９０）。そして、処理をＳ４９５に移行する。
【０１２３】
そして、ステップＳ４９５では、施設情報検索部１４５は、Ｓ４７０またはＳ４９０で算出したヒット件数を、表示部１４０を介して、ユーザに対して提示する。
【０１２４】
図１４は、表示例を示す。
【０１２５】
施設情報検索部１４５は、ヒット件数を画面に表示する場合、所定の位置に件数の値を文字で表示する。あるいはグラフなどの絵図を用いた表現でも良い。音声による提示ならば件数の値を音声合成ソフトウェアなど用いて読み上げさせる。
【０１２６】
なお、図１３の（Ａ）と（Ｂ）は、ヒット件数を画面６００に表示する例を示している。（Ａ）は、施設カテゴリを検索条件として、コンビニを選んだところを示す。（Ｂ）は、「１２００００件」というヒット件数６０１が表示されたところを示す。
【０１２７】
こうして、ヒット件数を表示すると、施設情報検索部１４５は、本フローを終了する。
【０１２８】
以上、本発明の一実施形態にかかるナビゲーション装置の動作について説明した。
【０１２９】
上記実施形態によれば、検索によるヒット件数を、処理負担を軽減しつつ高速に求め、ユーザに提示することができる。
【０１３０】
従来は、ユーザが提示した最初の検索条件によるヒット件数が多い場合でも、何件削除されているのかを調べ、その結果を反映していた。しかし、その処理を行っても、割合としては件数がほぼ変化しない場合がある。つまり処理時間が大きいのに、無効な処理になっていた。本実施形態によれば、有効な処理かどうかを、ヒット件数の値が十分に小さいかどうかで自動的に判断し、有効な処理の場合のみ何件削除されているのかを調べ（第１のヒット件数算出モード）、有効な処理でない場合は、何件削除されているのかを調べない（第２のヒット件数算出モード）。
【０１３１】
更新された施設情報は、入荷時の施設情報と比較すれば非常に件数が小さい。よって検索の際、装置作成時の施設情報のヒット件数がある程度大きい場合は削除された施設件数の影響は相対的に小さいとみなせる。よって、削除された施設の件数を反映しなくてもユーザの利便性は損なわない。
【０１３２】
本発明は、車載用のナビゲーションシステムに限定されず、据え置き型の計算機、持ち運び可能な携帯端末などに用いることができる。
【図面の簡単な説明】
【０１３３】
【図１】ナビゲーション装置の概略構成図。
【図２】ナビゲーション装置の機能ブロック図。
【図３】固定施設テーブル、追加施設テーブル、削除施設テーブルを示す図。
【図４】固定施設件数テーブルを示す図。
【図５】更新施設情報（削除）の構成図。
【図６】更新施設情報（追加）の構成図。
【図７】更新施設情報（変更）の構成図。
【図８】一時記憶部のデータの構成図。
【図９】施設情報を更新する処理のフローチャート。
【図１０】変更後の施設情報の生成処理のフローチャート。
【図１１】地域一括更新処理のフローチャート。
【図１２】検索のヒット件数算出処理のフローチャート。
【図１３】検索結果の例を示す図。
【図１４】表示の例を示す図。
【符号の説明】
【０１３４】
１０            ナビゲーション装置
１１            演算部
１３            メインメモリ
１５            インタフェース
１６            システムバス
１７            センサ部
１８            外部記憶装置
１９            入力部
２０            表示部
２１            通信部
１００            固定施設記憶部
１０５            第１のマージ処理部
１０６            第２のマージ処理部
１１０            固定施設件数記憶部
１１５            削除施設記憶部
１２０            追加施設記憶部
１３０            一時記憶部
１３５            算出モード設定部
１４０            表示部
１４５            施設情報検索部
１５０            施設情報更新部
１５５            制御部
１６０            更新情報受信部
【図１】
0004625512.tif 000002
【図２】
0004625512.tif 000003
【図３】
0004625512.tif 000004
【図４】
0004625512.tif 000005
【図５】
0004625512.tif 000006
【図６】
0004625512.tif 000007
【図７】
0004625512.tif 000008
【図８】
0004625512.tif 000009
【図９】
0004625512.tif 000010
【図１０】
0004625512.tif 000011
【図１１】
0004625512.tif 000012
【図１２】
0004625512.tif 000013
【図１３】
0004625512.tif 000014
【図１４】
0004625512.tif 000015