(58)【調査した分野】(Int.Cl.,DB名)
地点を示す地点情報を有する地図情報が格納される地図情報格納部と、地点に関する条件であり、地点情報から地点情報を取得するための条件である2以上の絞込条件が、優先順位を示す優先順位情報が対応付いて格納される絞込条件格納部とにアクセス可能なコンピュータを、
現在位置を示す位置情報である現在位置情報を取得する現在位置情報取得部として、
時間に関する条件であり、時間を示す時間情報を含む時間条件を有するユーザの指示であり、地点を検索するユーザの指示である地点検索指示を受け付ける受付部として、
前記地図情報が有する各地点情報について、前記現在位置情報が示す現在位置と、当該各地点情報が示す各地点との間を移動するに要する時間を算出する時間算出部として、
前記受付部が受け付けた地点検索指示が有する時間条件から前記時間情報を取得し、当該時間情報に、予め決められた時間の幅に関する情報である時間幅情報を加算して、時間に関する時間条件を作成する時間条件作成部として、
前記時間算出部が算出した時間が、前記時間条件作成部が作成した時間条件に合致する時間であり、かつ、前記2以上の各絞込条件に対応付いている優先順位情報が予め決められた条件に合致する2以上の各絞込条件に合致する地点情報を、前記地図情報格納部から取得する地点情報取得部として、
前記地点情報取得部が取得した地点情報を出力する出力部として、
機能させ、
さらに、
前記受付部は、前記出力部が出力した地点情報のうちのいずれかの地点情報を選択するユーザの指示である地点選択指示を受け付けるものとして、
前記現在位置情報が示す位置から、前記地点選択指示により選択された地点情報が示す地点までの経路を探索し、当該経路を示す経路情報を取得する経路探索部として、
前記出力部は、前記経路探索部が取得した経路情報をも出力するものとして、
機能させるためのプログラム。
【発明を実施するための形態】
【0025】
以下、本発明によるナビゲーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
【0026】
(実施の形態1)
本実施の形態において、指定された時間内に往復することなどが可能な地点を検索し、当該検索した地点を目的地の候補として出力するナビゲーション装置1について説明する。
【0027】
なお、本実施の形態におけるナビゲーション装置1は、例えば、カーナビゲーションシステムや、ナビゲーション機能を備える携帯端末などである。また、ナビゲーション装置1は、通常、移動体に搭載される。移動体は、例えば、自動車や、バイクなどである。また、移動体には、人が含まれてもよい。
【0028】
図1は、本実施の形態におけるナビゲーション装置1のブロック図である。ナビゲーション装置1は、地図情報格納部101、絞込条件格納部102、運勢情報格納部103、選択情報格納部104、現在位置情報取得部105、受付部106、時間条件作成部107、時間算出部108、経路探索部109、地点情報取得部110、出力部111を備える。
【0029】
地図情報格納部101には、地図を示す地図情報が格納される。当該地図の種類は、問わない。また、地図情報は、通常、カーナビゲーションで用いられるKIWIフォーマットのものである。また、地図情報は、例えば、いわゆるラスタデータや、いわゆるベクタデータであってもよい。
【0030】
また、地図情報は、通常、地点を示す1以上の地点情報を有する。当該地点は、通常、地図上の地点である。また、当該地点の種類は、問わない。当該地点は、例えば、観光名所や、公園、テーマパーク、ランドマーク、駅などである。また、地点情報は、少なくとも、地点の位置を示す位置情報を有する。当該位置は、通常、経緯度である。また、当該位置は、例えば、高度(高さ)を含んでもよい。また、地点情報は、例えば、地点情報を識別する識別子や、地点の名称を示す名称情報、地点の色を示す色情報、地点の種類を示す種類情報などを有していてもよい。当該「種類」は、例えば、「ジャンル」や、「カテゴリ」などと呼んでもよい。また、種類情報は、1以上の地点情報を1以上のグループに分類することができる情報であれば、その内容や形式などは、問わない。種類情報は、例えば、「観光名所」や、「テーマパーク」、「ランドマーク」などである。
【0031】
また、地図情報は、通常、道路を示す1以上の道路情報を有する。当該道路は、通常、地図上の道路である。また、当該道路の種類は、問わない。当該道路の種類は、例えば、高速道路や、一般道路、国道、県道などである。また、道路情報は、例えば、道路を識別する道路識別子や、道路の制限速度(法定速度)を示す制限速度情報、道路の始点の位置を示す始点位置情報、道路の終点の位置を示す終点位置情報、道路の経由地の位置を示す経由位置情報、接続している道路を識別する接続道路識別子、道路の始点から終点までの距離を示す距離情報などを有する。道路識別子は、例えば、任意のIDや、道路の名称などである。起点位置情報、終点位置情報、経由位置情報は、位置情報である。
【0032】
また、地図情報は、例えば、地点における平均的な滞在時間を示す滞在時間情報を有していてもよい。この場合、当該滞在時間情報は、例えば、地点情報が有していてもよいし、地点情報に対応付いていてもよいし、種類情報に対応付いていてもよい。
【0033】
絞込条件格納部102には、1または2以上の絞込条件が格納される。絞込条件とは、1以上の地点情報から1以上の地点情報を取得するための条件である。また、絞込条件は、通常、地点に関する条件である。
【0034】
絞込条件は、例えば、ユーザの運勢に合致することである。ユーザの運勢とは、例えば、運気の上がる方位(方角)や、ラッキーカラー、ラッキーアイテムなどである。また、当該ユーザの運勢は、通常、運勢情報により示される。また、当該運勢情報は、通常、後述の運勢情報格納部103に格納されている。例えば、方位に関するユーザの運勢に合致することを意味する絞込条件は、例えば、「運気上昇方位」や、「運気(方位)」などである。また、例えば、色に関するユーザの運勢に合致することを意味する絞込条件は、例えば、「ラッキーカラー」や、「運気(色)」などである。
【0035】
また、絞込条件は、例えば、予め決められた選択方法により選択されることである。予め決められた選択方法とは、例えば、乱数や、あみだくじ、ルーレットなどである。また、当該選択方法は、通常、選択情報により示される。また、当該選択情報は、通常、後述の選択情報格納部104に格納されている。例えば、乱数により選択されることを意味する絞込条件は、例えば、「乱数」や、「選択(乱数)」などである。また、例えば、あみだくじにより選択されることを意味する絞込条件は、例えば、「あみだくじ」や、「選択(あみだくじ)」などである。また、例えば、ルーレットにより選択されることを意味する絞込条件は、例えば、「ルーレット」や、「選択(ルーレット)」などである。
【0036】
また、絞込条件は、例えば、1以上の地点情報に優先順位を付与するための条件を含んでもよい。これは、つまり、絞込条件は、1以上の地点情報に優先順位を付与するための条件でもあることを意味する。また、「優先順位が付与される」とは、具体的に、地点情報に、優先順位を示す優先順位情報が対応付けられることである。また、この場合、絞込条件は、優先順位情報により示される順序を示す情報(以下、適宜、順序情報)を有する。当該順序情報は、例えば、現在位置との時間や、滞在時間、現在位置との距離、種類などの昇順または降順に、優先順位を付与することを示す。また、地点情報に対応付けられた優先順位情報は、例えば、地点情報が出力される順序や、地点情報が取得される順序などを示す。また、優先順位情報は、いわゆる優先順位を示すことができれば、形式や内容などは、問わない。
【0037】
また、絞込条件は、例えば、地点情報に関する条件であってもよい。地点情報に関する条件とは、例えば、地点の種類が予め決められた種類であることや、地点の位置が予め決められた地図上の領域(範囲)内であることなどである。
【0038】
また、絞込条件には、優先順位情報が対応付いていてもよい。この場合、当該優先順位情報は、例えば、絞込条件を1以上の地点情報に適用する順序や、1以上の地点情報の際に用いる絞込条件の順序などを示す。
【0039】
運勢情報格納部103には、運勢情報が格納される。運勢情報とは、ユーザの運勢を示す情報である。また、運勢情報格納部103には、通常、1種類以上の運勢情報が格納される。また、運勢情報格納部103には、例えば、同一種類の2以上の運勢情報が格納されてもよい。
【0040】
選択情報格納部104には、選択情報が格納される。選択情報とは、予め決められた選択方法を示す情報である。選択情報は、例えば、乱数や、乱数を返す関数、あみだくじを実現する関数、ルーレットを実現する関数、乱数を発生させるプログラム、あみだくじを実現するプログラム、ルーレットを実現するプログラムなどである。また、選択情報格納部104には、1以上の選択情報が格納されてもよい。
【0041】
現在位置情報取得部105は、現在位置を示す位置情報である現在位置情報を取得する。現在位置情報取得部105は、通常、定期的に現在位置情報を取得する。また、現在位置情報取得部105は、通常、衛星航法システム(GPS受信機など)や、移動体通信用の基地局から位置情報を受信する装置などから、現在位置情報を取得する。この場合、現在位置情報取得部105は、これらの装置を有していてもよいし、これらの装置で実現され得てもよい。また、現在位置情報取得部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
【0042】
受付部106は、地点検索指示と、地点選択指示とを受け付ける。受け付けとは、タッチパネルや、キーボードなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0043】
また、地点検索指示とは、地点を検索する指示である。また、地点検索指示は、地点の検索を開始するための指示であってもよい。地点検索指示は、時間に関する条件である時間条件を有する。また、地点選択指示とは、地点を選択する指示である。また、地点選択指示は、選択した地点までの経路探索、および当該地点までのルート案内を開始するための指示であってもよい。
【0044】
ここで、時間条件とは、時間情報を有する条件である。時間情報とは、時間を示す情報である。また、地点検索指示が有する時間条件は、通常、1つの時間情報を有する。また、当該時間条件は、例えば、2つの時間情報を有していてもよい。また、当該2つの時間情報により、時間の幅が示される。
【0045】
また、当該時間情報が示す時間は、例えば、出発地と目的地を往復するに要する時間(以下、適宜、往復時間)や、出発地と目的地を往復するに要する時間と目的地での滞在時間とを加算した時間(以下、適宜、往復滞在時間)、出発地から目的地までの時間(以下、適宜、片道時間)などである。
【0046】
従って、1つの時間情報を有する場合、当該時間条件は、例えば、往復時間が、当該時間情報が示す時間以下であることや、往復滞在時間が、当該時間情報が示す時間以下であることなどである。また、2つの時間情報を有する場合、当該時間条件は、例えば、往復時間が、当該2つの時間情報が示す時間の幅以内であることや、往復滞在時間が、当該2つの時間情報が示す時間の幅の下限以上かつ上限未満であることなどである。
【0047】
また、受付部106は、例えば、電源ONの指示や、電源OFFの指示などを受け付けてもよい。なお、受付部106がこれらの指示を受け付けた場合、ナビゲーション装置1は、通常、当該受け付けた指示に応じた処理を行う。
【0048】
また、受付部106における情報や指示などの入力手段は、メニュー画面によるものや、キーボードなど、何でもよい。受付部106は、メニュー画面の制御ソフトウェアや、キーボード等の入力手段のデバイスドライバなどで実現され得る。
【0049】
時間条件作成部107は、時間情報と、時間幅情報とを用いて、時間の幅に関する時間条件を作成する。当該時間情報は、通常、地点検索指示が有する時間条件が有する時間情報である。また、時間幅情報とは、時間の幅を示す情報であり、通常、時間条件作成部107が保持している。また、時間条件作成部107が作成する時間条件は、通常、2つの時間情報を有する時間条件である。
【0050】
ここで、時間幅情報は、通常、負、正負、正のいずれかの符号を有する時間情報である。時間幅情報は、例えば、「−1時間」や、「±30分」、「+1時間」などである。
【0051】
例えば、時間条件作成部107は、まず、受付部106が受け付けた地点検索指示が有する時間条件から、当該時間条件が有する時間情報を取得する。そして、時間条件作成部107は、当該取得した時間情報に、保持している時間幅情報を加算し、2つの時間情報を取得する。そして、時間条件作成部107は、取得した2つの時間情報を有する時間条件を作成する。
【0052】
例えば、時間幅情報が負の符号のみを有する場合、時間条件作成部107は、時間条件から取得した時間情報に、当該負の時間幅情報を加算し、当該加算前の時間情報と、加算後の時間情報との2つの時間情報を取得する。例えば、時間幅情報が「−1時間」であり、時間情報が「2時間」であるとする。この様な場合、時間条件作成部107は、当該正の時間幅情報「−1時間」を、当該時間情報「2時間」に加算し、加算前の時間情報「2時間」と、加算後の時間情報「1時間」とを取得する。
【0053】
また、例えば、時間幅情報が正負の符号を有する場合、時間条件作成部107は、時間条件から取得した時間情報に、当該正、負のそれぞれの時間幅情報を加算し、加算後の2つの時間情報を取得する。例えば、時間幅情報が「±30分」であり、時間情報が「3時間」であるとする。この様な場合、時間条件作成部107は、当該正の時間幅情報「+30分」と、当該負の時間幅情報「−30分」とのそれぞれを、当該時間情報「3時間」に、加算し、2つの時間情報「3時間30分」と、「2時間30分」とを取得する。
【0054】
なお、時間幅情報が正の符号のみを有する場合の2つの時間情報の取得の方法や手順などは、時間幅情報が負の符号のみを有する場合の2つの時間情報の取得の方法や手順などと同様であるので、説明を省略する。
【0055】
また、時間条件作成部107は、上記の様にして取得した2つの時間情報(それぞれ、時間情報1、時間情報2とする)を用いて、時間条件「$時間情報1$以上$時間情報2$以下」、または「$時間情報1$以上$時間情報2$未満」を作成する。なお、「$時間情報1$」、「$時間情報2$」は、時間情報を代入するための変数である。また、取得した2つの時間情報のうち、小さい方が時間情報1、大きい方が時間情報2であることは、言うまでもない。また、作成する時間条件は、上記の意味を示すことができれば、形式や内容などは、問わない。
【0056】
例えば、取得した2つの時間情報が、「2時間30分」、「3時間30分」であるとする。この様な場合、時間条件作成部107は、例えば、当該2つの時間情報を有する時間条件「2時間30分≦時間≦3時間30分」を作成する。また、この場合、時間条件作成部107は、例えば、時間条件「2時間30分≦時間<3時間30分」を作成してもよい。
【0057】
時間算出部108は、2つの地点間の時間を算出する。当該「2つの地点間の時間」とは、2つの地点間を移動する
のに要する時間のことである。また、当該「2つの地点」は、「2つの位置」でもよい。また、当該「2つの地点」のうちのいずれか一方の地点は、位置であってもよい。また、当該「移動する」とは、「走行する」でもよい。また、当該「時間を算出する」とは、通常、時間を示す時間情報を取得することである。また、当該「移動するに要する時間」とは、通常、往復時間、往復滞在時間、片道時間のいずれかである。
【0058】
時間算出部108は、通常、現在位置と、地図上の1以上の各地点との時間を算出する。当該現在位置は、現在位置情報取得部105が取得した現在位置情報が示す現在位置である。また、当該1以上の各地点は、地図情報格納部101に格納されている地図情報が有する1以上の各地点情報が示す地点である。また、当該1以上の地点情報は、例えば、地図情報が有するすべての地点情報であってもよいし、後述の出力部111が出力している地図情報が有するすべての地点情報であってもよいし、後述の地点情報取得部110が指定した1以上の地点情報であってもよいし、前述の絞込条件に合致する1以上の地点情報であってもよい。また、時間算出部108は、通常、当該1以上の各地点情報ごとに、当該地点情報が示す地点と現在位置との時間を算出する。
【0059】
例えば、一の地点情報について、時間算出部108は、通常、現在位置から当該一の地点情報が示す地点までの経路を探索する。当該経路は、例えば、往復の経路や、片道の経路などである。往復の経路を探索する場合、時間算出部108は、例えば、当該現在位置が出発地および目的地であり、当該一の地点情報が示す地点が経由地である経路を探索する。また、往復の経路を探索する場合、時間算出部108は、例えば、片道の経路のみを探索してもよい。また、片道の経路を探索する場合、時間算出部108は、通常、当該現在位置が出発地であり、当該一の地点情報が示す地点が目的地である経路を探索する。そして、時間算出部108は、探索した経路を示す経路情報を取得する。
【0060】
経路情報は、通常、1以上の区間を有する。当該各区間は、通常、一の道路情報により示される。つまり、経路情報は、通常、1以上の道路情報を有する情報である。従って、時間算出部108は、当該経路情報が有する1以上の距離情報と、1以上の制限速度情報とを用いて、当該経路情報が示す経路を移動するに要する時間を算出する。
【0061】
なお、時間を算出する際に用いる制限速度情報は、例えば、現在の速度を示す現在速度情報であってもよい。この場合、現在速度情報は、通常、図示しない速度情報取得部が取得する。速度情報取得部は、通常、速度センサや、速度計などの装置から、速度情報を取得する。この場合、速度情報取得部は、例えば、これらの装置を有していてもよいし、これらの装置で実現され得てもよい。また、速度情報取得部の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
【0062】
また、当該経路の探索および経路情報の取得は、通常、後述の経路探索部109が行う。このとき、時間算出部108は、通常、現在位置から当該一の地点情報が示す地点までの経路を探索することを、経路探索部109に指示する。
【0063】
また、時間算出部108は、例えば、2つの地点間の直線距離を移動するに要する時間を算出してもよい。この場合、一の地点情報について、時間算出部108は、まず、現在位置から当該一の地点情報が示す地点までの距離を算出する。当該「距離を算出する」とは、通常、距離を示す距離情報を取得することである。そして、時間算出部108は、当該距離情報と現在速度情報とを用いて、当該距離を移動するに要する時間を算出する。
【0064】
なお、距離情報と速度情報とを用いて時間を算出する方法や手順などは、公知であるので、説明を省略する。
【0065】
また、時間算出部108は、通常、時間条件が有する時間情報の種類に応じて、時間を算出する。当該時間情報の種類とは、例えば、往復時間、往復滞在時間、片道時間のいずれかである。
【0066】
往復時間を算出する場合、時間算出部108は、例えば、まず、往復の経路を示す経路情報を取得する。そして、時間算出部108は、当該往復の経路を示す経路情報を用いて、往復時間を算出する。また、往復時間を算出する場合、時間算出部108は、例えば、まず、片道の経路を示す経路情報を取得する。そして、時間算出部108は、当該片道の経路を示す経路情報を用いて、片道時間を算出する。そして、時間算出部108は、当該片道時間を2倍し、往復時間を算出する。
【0067】
また、往復滞在時間を算出する場合、時間算出部108は、例えば、まず、上記の様にして往復時間を算出する。そして、時間算出部108は、当該往復時間に目的地での滞在時間を加算する。なお、当該滞在時間は、地図情報が有する滞在時間情報が示す滞在時間である。
【0068】
また、片道時間を算出する場合、時間算出部108は、例えば、上記の様にして片道時間を算出する。
【0069】
経路探索部109は、通常、指定された2つの地点間の経路を探索する。そして、当該経路を示す経路情報を取得する。なお、当該「2つの地点」は、「2つの位置」でもよい。また、当該「2つの地点」のうちのいずれか一方の地点は、位置であってもよい。また、経路探索部109は、通常、出発地として指定された地点から、目的地として指定された地点までの経路を探索する。また、当該地点を示す情報は、地点情報であり、当該位置を示す情報は、位置情報である。
【0070】
具体的に、経路探索部109は、通常、出発地を示す地点情報(以下、適宜、出発地情報)と、目的地を示す地点情報(以下、適宜、目的地情報)とを、地図情報格納部101に格納されている地図情報に適用する。また、例えば、経由地も指定された場合、経路探索部109は、当該経由地を示す地点情報(以下、適宜、経由地情報)も当該地図情報に適用する。
【0071】
「出発地情報を地図情報に適用する」とは、当該出発地情報で示される地図上の地点を、出発地とすることである。また、「目的地情報を地図情報に適用する」とは、当該目的地情報で示される地図上の地点を、目的地とすることである。また、「経由地情報を地図情報に適用する」とは、当該経由地情報で示される地図上の地点を、経由地とすることである。
【0072】
そして、経路探索部109は、地図情報に適用した出発地情報が示す出発地から、地図情報に適用した目的地情報が示す目的地までの経路を探索する。また、経路探索部109は、例えば、経由地情報も地図情報に適用した場合は、当該出発地から当該経由地情報が示す経由地を経由した当該目的地までの経路を探索する。そして、経路探索部109は、上記の経路を示す経路情報を取得する。当該経路情報は、通常、出発地から目的地までの経路を示す。また、当該経路情報は、例えば、出発地から経由地を経由した目的地までの経路を示してもよい。
【0073】
なお、経路探索には、通常、最短経路問題の解法(アルゴリズム)を用いる。「最短経路問題の解法」は、例えば、ダイクストラ法や、A*アルゴリズムなどである。これらの解法は、公知であるので、詳細な説明を省略する。
【0074】
例えば、時間算出部108から指示があった場合、経路探索部109は、通常、現在位置情報と、地図情報が有する1以上の地点情報のいずれかであり、時間算出部108が指定した地点情報とを地図情報に適用する。そして、経路探索部109は、当該現在位置情報が示す位置から、当該地点情報が示す地点までの経路を探索する。
【0075】
また、例えば、受付部106が地点選択指示を受け付けた場合、経路探索部109は、通常、現在位置情報と、当該地点選択指示により選択された地点情報とを地図情報に適用する。そして、経路探索部109は、当該現在位置情報が示す位置から、当該地点情報が示す地点までの経路を探索する。また、このとき、選択された地点情報に経路情報が対応付いている場合、経路探索部109は、経路情報を取得しなくてもよい。
【0076】
地点情報取得部110は、地図情報格納部101から、通常、時間条件に合致する1以上の地点情報を取得する。また、地点情報取得部110は、地図情報格納部101から、例えば、時間条件および絞込条件に合致する1以上の地点情報を取得してもよい。当該時間条件は、受付部106が受け付けた地点検索指示が有する時間条件、または、時間条件作成部107が作成した時間条件である。また、当該絞込条件は、絞込条件格納部102に格納されている絞込条件である。
【0077】
また、「時間条件に合致する地点情報」とは、前述の時間算出部108が算出した時間が時間条件に合致する地点情報のことである。また、「絞込条件に合致する地点情報」とは、絞込条件により指定される情報に合致する地点情報、または、絞込条件により指定される情報により選択される地点情報、または、絞込条件に合致する地点情報のことである。「絞込条件により指定される情報」とは、例えば、運勢情報や、選択情報などである。
【0078】
具体的に、地点情報取得部110は、通常、時間算出部108が一の地点情報について取得した時間情報が、時間条件に合致するか否かを判断する。そして、当該時間情報が当該時間条件に合致する場合、地点情報取得部110は、当該地点情報を取得する。
【0079】
また、地点情報取得部110は、一の地点情報について、当該地点情報に関連する情報や地点情報が有する情報などが、絞込条件により指定される情報に合致するか否かを判断する。また、このとき、地点情報取得部110は、例えば、当該地点情報が、絞込条件により指定される情報により選択される地点情報に合致するか否かを判断してもよい。また、このとき、地点情報取得部110は、例えば、当該地点情報が有する情報が、絞込条件に合致するか否かを判断してもよい。そして、合致する場合に、地点情報取得部110は、当該地点情報が絞込条件に合致すると判断し、当該地点情報を取得する。
【0080】
また、時間条件および絞込条件に合致する1以上の地点情報を取得する場合、これら2つの条件の適用の順序は、問わない。つまり、地点情報取得部110は、例えば、時間条件に合致する1以上の地点情報を、地図情報格納部101から取得し、当該1以上の地点情報から、絞込条件に合致する1以上の地点情報を取得してもよい。また、地点情報取得部110は、例えば、絞込条件に合致する1以上の地点情報を、地図情報格納部101から取得し、当該1以上の地点情報から、時間条件に合致する1以上の地点情報を取得してもよい。
【0081】
例えば、時間条件が「3時間≦往復時間≦4時間」であるとする。当該時間条件は、往復時間が3時間以上4時間以下であることを意味する。この場合、時間算出部108は、一の地点情報について、現在位置からの往復時間を示す時間情報を取得する。また、例えば、当該時間情報が「3時間30分」であるとする。この様な場合、地点情報取得部110は、当該時間情報が、当該時間条件に合致すると判断する。
【0082】
また、例えば、時間条件が「5時間30分≦往復滞在時間<6時間30分」であるとする。当該時間条件は、往復滞在時間が5時間30分以上6時間30分未満であることを意味する。この場合、時間算出部108は、一の地点情報について、現在位置からの往復滞在時間を示す時間情報を取得する。また、例えば、当該時間情報が「6時間15分」であるとする。この様な場合、地点情報取得部110は、当該時間情報が、当該時間条件に合致すると判断する。
【0083】
また、例えば、時間条件が「片道3時間以内」であるとする。この場合、時間算出部108は、一の地点情報について、現在位置からの片道時間を示す時間情報を取得する。また、例えば、当該時間情報が「2時間30分」であるとする。この様な場合、地点情報取得部110は、当該時間情報が、当該時間条件に合致すると判断する。
【0084】
また、例えば、絞込条件が「運気上昇方位」であるとする。当該絞込条件は、方位に関するユーザの運勢に合致することを意味する。この場合、地点情報取得部110は、一の地点情報について、現在位置からの方位を算出する。「方位を算出する」とは、方位を示す方位情報を取得することである。また、2つの地点について、一方の地点からの他方の地点の方位を算出する方法や手順などは、公知であるので、説明を省略する。また、この場合、運勢情報格納部103には、通常、方位に関するユーザの運勢を示す運勢情報が格納されている。そして、地点情報取得部110は、当該方位情報が、当該運勢情報に合致するか否かを判断する。
【0085】
例えば、上記において、方位情報が「北」であり、運勢情報が「北」であるとする。この場合、地点情報に関する情報である方位情報が、絞込条件により指定された情報である運勢情報に合致する。従って、この様な場合、地点情報取得部110は、地点情報が絞込条件に合致すると判断する。
【0086】
また、例えば、絞込条件が「ラッキーカラー」であるとする。当該絞込条件は、色に関するユーザの運勢に合致することを意味する。この場合、地点情報取得部110は、一の地点情報について、当該地点情報が有する色情報を取得する。また、この場合、運勢情報格納部103には、通常、色に関するユーザの運勢を示す運勢情報が格納されている。そして、地点情報取得部110は、当該色情報が、当該運勢情報に合致するか否かを判断する。
【0087】
例えば、上記において、色情報が「赤」であり、運勢情報が「赤」であるとする。この場合、地点情報が有する情報である色情報が、絞込条件により指定された情報である運勢情報に合致する。従って、この様な場合、地点情報取得部110は、地点情報が絞込条件に合致すると判断する。
【0088】
また、例えば、絞込条件が「乱数」であるとする。当該絞込条件は、乱数により選択されることを意味する。この場合、選択情報格納部104には、通常、乱数を返す関数や、乱数を発生させるプログラムなどの選択情報が格納されている。そして、地点情報取得部110は、当該選択情報を用いて、当該選択情報により選択された地点情報を取得する。
【0089】
例えば、上記において、取得した乱数が「2」であるとする。この場合、当該乱数により2番目の地点情報が選択される。従って、この様な場合、地点情報取得部110は、当該2番目の地点情報が絞込条件に合致すると判断し、当該2番目の地点情報を取得する。また、このとき、地点情報がソートされている順序は、問わない。当該順序は、例えば、地点情報を識別する識別子の昇順または降順や、地点の名称を示す名称情報の昇順または降順などである。
【0090】
また、例えば、絞込条件が「あみだくじ」であるとする。当該絞込条件は、あみだくじにより選択されることを意味する。この場合、選択情報格納部104には、通常、あみだくじを実現する関数や、あみだくじを実現するプログラムなどの選択情報が格納されている。そして、地点情報取得部110は、当該選択情報を用いて、当該選択情報により選択された地点情報を取得する。
【0091】
例えば、上記において、あみだくじにより2番目の地点情報が選択されたとする。この様な場合、地点情報取得部110は、当該2番目の地点情報が絞込条件に合致すると判断し、当該2番目の地点情報を取得する。また、このとき、地点情報がソートされている順序は、問わない。当該順序は、例えば、地点情報を識別する識別子の昇順または降順や、地点の名称を示す名称情報の昇順または降順などである。
【0092】
また、例えば、絞込条件が「種類=ランドマーク」であるとする。当該絞込条件は、地点の種類が「ランドマーク」であることを意味する。この場合、地点情報取得部110は、種類情報「ランドマーク」を有する1以上の地点情報について、当該絞込条件に合致すると判断する。
【0093】
また、例えば、絞込条件格納部102に2以上の絞込条件が格納されている場合、地点情報取得部110は、例えば、当該絞込条件に対応付いている優先順位情報に応じて、1以上の地点情報を取得する。
【0094】
(1)優先順位情報が対応付いていない場合:この場合、地点情報取得部110は、時間条件および2以上の絞込条件のすべてに合致する1以上の地点情報を取得する。また、この場合、当該時間条件および2以上の絞込条件の適用の順序は、問わない。
【0095】
(2)優先順位情報が対応付いている場合:この場合、地点情報取得部110は、例えば、以下のいずれかの手順により、1以上の地点情報を取得する。
【0096】
(手順1)
(1−1)時間条件および2以上の絞込条件のいずれかに合致する1以上の地点情報の集合を、当該2以上の絞込条件ごとに、2以上取得する。
(1−2)取得した2以上の各地点情報の集合に、当該地点情報の集合を取得した際に用いた優先順位情報を対応付ける。
【0097】
(手順2)
(2−1)時間条件および2以上の絞込条件のすべてに合致する1以上の地点情報を取得する。このとき、当該絞込条件に対応付いている優先順位情報が示す優先順位の順に、絞込条件を適用する。
【0098】
また、上記(2)の場合において、地点情報取得部110は、予め決められた条件(以下、適宜、優先順位条件)に合致する優先順位情報が対応付いている絞込条件のみを用いて、1以上の地点情報を取得してもよい。当該優先順位条件とは、優先順位情報に関する条件である。優先順位条件は、例えば、優先順位情報が示す順位が予め決められた順位以上であることや、当該順位が予め決められた順位以上かつ予め決められた順位以下であることなどである。
【0099】
また、地点情報取得部110は、例えば、取得した1以上の各地点情報に、優先順位情報を対応付けてもよい。この場合、地点情報取得部110は、通常、絞込条件に従い優先順位情報を対応付ける。具体的に、地点情報取得部110は、絞込条件が有する順序情報に従い優先順序情報を対応付ける。また、このとき、地点情報取得部110は、通常、当該順序情報が示す順序を示すように、優先順位情報を対応付ける。
【0100】
例えば、順序情報が「時間昇順」であるとする。この場合、地点情報取得部110は、例えば、取得した1以上の地点情報に対し、時間算出部108が算出した時間の昇順を示すように、優先順位情報を対応付ける。また、例えば、順序情報が「滞在時間降順」であるとする。この場合、地点情報取得部110は、例えば、取得した1以上の地点情報に対し、当該地点情報に対応する滞在時間情報が示す滞在時間の昇順を示すように、優先順位情報を対応付ける。また、例えば、順序情報が「距離降順」であるとする。この場合、地点情報取得部110は、例えば、取得した1以上の地点情報に対し、時間算出部108が時間を算出する際に算出した距離の降順を示すように、優先順位情報を対応付ける。また、例えば、順序情報が「種類昇順」であるとする。この場合、地点情報取得部110は、例えば、取得した1以上の地点情報に対し、当該地点情報が有する種類情報の昇順を示すように、優先順位情報を対応付ける。
【0101】
出力部111は、1以上の地点情報、および経路情報を出力する。当該1以上の地点情報は、地点情報取得部110が取得した地点情報である。また、当該経路情報は、経路探索部109が取得した経路情報である。また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
【0102】
出力部111は、通常、地点情報取得部110が地点情報を取得した場合に、当該1以上の地点情報を出力する。また、このとき、当該1以上の各地点情報に優先順位情報が対応付いている場合、出力部111は、当該優先順位情報が示す優先順位の順に、当該1以上の地点情報を出力する。また、当該出力時の様式や書式などは、問わない。
【0103】
また、出力部111は、通常、経路探索部109が経路情報を取得した場合に、当該経路情報を出力する。また、このとき、出力部111は、通常、地図情報格納部101に格納されている地図情報と共に、経路情報を出力する。
【0104】
また、例えば、受付部106が受け付けた地点選択指示により、出力している1以上の地点情報のいずれかが選択された場合であり、当該選択された地点情報に経路情報が対応付いている場合、出力部111は、当該経路情報を出力する。
【0105】
また、出力部111は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部111は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
【0106】
なお、地図情報格納部101、絞込条件格納部102、運勢情報格納部103、選択情報格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、地図情報格納部101などに所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介して地図情報格納部101などに記憶されてもよい。
【0107】
また、時間条件作成部107、時間算出部108、経路探索部109、地点情報取得部110は、通常、MPUやメモリ等から実現され得る。また、時間条件作成部107などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、時間条件作成部107などは、ハードウェア(専用回路)で実現されてもよい。
【0108】
次に、ナビゲーション装置1の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。
図2は、ナビゲーション装置1の全体動作を示すフローチャートである。
【0109】
(ステップS201)ナビゲーション装置1は、受付部106が電源ONの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS202に進み、そうでない場合は、ステップS201に進む。
【0110】
(ステップS202)ナビゲーション装置1は、電源ONの処理を行う。当該処理は、例えば、現在位置に対応する地図情報を表示することや、メニュー画面を表示することなどである。
【0111】
(ステップS203)現在位置情報取得部105は、現在位置情報の取得を開始する。以降、現在位置情報取得部105は、通常、ナビゲーション装置1の電源がOFFになるまで、現在位置情報を定期的に取得し続ける。
【0112】
(ステップS204)時間条件作成部107は、受付部106が地点検索指示を受け付けたか否かを判断する。受け付けた場合は、ステップS205に進み、そうでない場合は、ステップS209に進む。
【0113】
(ステップS205)時間条件作成部107は、時間幅情報を保持しているか否かを判断する。保持している場合は、ステップS206に進み、そうでない場合は、ステップS207に進む。
【0114】
(ステップS206)時間条件作成部107は、ステップS204で受け付けた地点検索指示が有する時間条件と、保持している時間幅情報とを用いて、時間の幅に関する時間条件を作成する。
【0115】
(ステップS207)地点情報取得部110は、ステップS204で受け付けた地点検索指示が有する時間条件またはステップS206で作成した時間条件を用いて、地図情報格納部101から1以上の地点情報を取得する。この処理の詳細は、
図3のフローチャートを用いて説明する。
【0116】
(ステップS208)出力部111は、ステップS207で取得した1以上の地点情報を出力する。
【0117】
(ステップS209)経路探索部109は、出力部111が1以上の地点情報を出力中であるか否かを判断する。出力中である場合は、ステップS210に進み、そうでない場合は、ステップS215に進む。
【0118】
(ステップS210)経路探索部109は、受付部106が地点選択指示を受け付けたか否かを判断する。受け付けた場合は、ステップS211に進み、そうでない場合は、ステップS215に進む。
【0119】
(ステップS211)経路探索部109は、ステップS210で受け付けた地点選択指示により選択された地点情報を、出力部111が出力している地点情報から取得する。
【0120】
(ステップS212)経路探索部109は、ステップS211で取得した地点情報に経路情報が対応付いているか否かを判断する。対応付いている場合は、ステップS214に進み、そうでない場合は、ステップS213に進む。
【0121】
(ステップS213)経路探索部109は、現在位置情報取得部105が取得した現在位置情報と、ステップS211で取得した地点情報とを用いて、当該現在位置情報が示す位置から当該地点情報が示す地点までの経路を探索する。そして、経路探索部109は、当該経路を示す経路情報を取得する。
【0122】
(ステップS214)出力部111は、ステップS211で取得した地点情報に対応付いている経路情報、または、ステップS213で取得した経路情報を出力する。
【0123】
(ステップS215)ナビゲーション装置1は、受付部106が電源OFFの指示を受け付けたか否かを判断する。受け付けた場合は、ステップS216に進み、そうでない場合は、ステップS204に戻る。
【0124】
(ステップS216)ナビゲーション装置1は、電源OFFの処理を行う。そして、ステップS201に戻る。
【0125】
なお、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
【0126】
図3は、
図2のフローチャートのステップS207の地点情報の取得処理を示すフローチャートである。なお、
図3のフローチャートにおいて、地図情報格納部101には、m個の地点情報を有する地図情報が格納されているものとする。
【0127】
(ステップS301)地点情報取得部110は、カウンタiに1をセットする。
【0128】
(ステップS302)経路探索部109は、現在位置情報取得部105が取得した現在位置情報と、地図情報が有する地点情報[i]とを用いて、当該現在位置情報が示す位置から当該地点情報が示す地点までの経路を探索する。そして、経路探索部109は、当該経路を示す経路情報を取得する。
【0129】
(ステップS303)時間算出部108は、ステップS302で取得した経路情報を用いて、現在位置と地点情報[i]が示す地点との時間を算出する。
【0130】
(ステップS304)地点情報取得部110は、ステップS303で取得した時間が時間条件に合致するか否かを判断する。合致する場合は、ステップS305に進み、そうでない場合は、ステップS306に進む。
【0131】
(ステップS305)地点情報取得部110は、地点情報[i]を取得する。なお、地点情報取得部110は、当該取得の際に、ステップS302で取得した経路情報を対応付けて、地点情報[i]を取得してもよい。
【0132】
(ステップS306)地点情報取得部110は、iがmであるか否かを判断する。mである場合は、ステップS308に進み、そうでない場合は、ステップS307に進む。
【0133】
(ステップS307)地点情報取得部110は、iを1インクリメントし、ステップS302に戻る。
【0134】
(ステップS308)地点情報取得部110は、絞込条件格納部102に格納されている絞込条件を用いて、ステップS305で取得した1以上の地点情報から1以上の地点情報を取得する。この処理の詳細は、
図4のフローチャートを用いて説明する。そして、上位処理にリターンする。
【0135】
図4は、
図3のフローチャートのステップS308の絞込条件に合致する地点情報の取得処理を示すフローチャートである。なお、
図4のフローチャートにおいて、絞込条件格納部102には、m個の絞込条件が格納されているものとする。また、地点情報取得部110は、
図3のフローチャートにおいてx個の地点情報を取得しているものとする。
【0136】
(ステップS401)地点情報取得部110は、カウンタiに1をセットする。
【0137】
(ステップS402)地点情報取得部110は、カウンタjに1をセットする。
【0138】
(ステップS403)地点情報取得部110は、絞込条件格納部102に格納されている絞込条件[i]が、ユーザの運勢に合致することであるか否かを判断する。ユーザの運勢に合致することである場合は、ステップS404に進み、そうでない場合は、ステップS406に進む。
【0139】
(ステップS404)地点情報取得部110は、絞込条件[i]に応じた情報を取得する。例えば、絞込条件[i]が方位に関するユーザの運勢に合致することである場合、地点情報取得部110は、地点情報[j]について、現在位置からの方位を算出する。また、例えば、絞込条件[i]が色に関するユーザの運勢に合致することである場合、地点情報取得部110は、地点情報[j]から色情報を取得する。また、当該取得した情報を、取得情報とする。
【0140】
(ステップS405)地点情報取得部110は、ステップS404で取得した取得情報が、運勢情報格納部103に格納されている運勢情報に合致するか否かを判断する。合致する場合は、ステップS409に進み、そうでない場合は、ステップS412に進む。
【0141】
(ステップS406)地点情報取得部110は、絞込条件[i]が、予め決められた選択方法により選択されることであるか否かを判断する。予め決められた規則性に合致することである場合は、ステップS407に進み、そうでない場合は、ステップS408に進む。
【0142】
(ステップS407)地点情報取得部110は、地点情報[j]が、選択情報格納部104に格納されている選択情報に合致するか否かを判断する。例えば、当該選択情報が乱数である場合、地点情報取得部110は、地点情報[j]が当該乱数により選択されたものであるか否かを判断する。また、例えば、当該選択情報があみだくじである場合、地点情報取得部110は、地点情報[j]があみだくじにより選択されたものであるか否かを判断する。そして、合致する場合は、ステップS409に進み、そうでない場合は、ステップS412に進む。
【0143】
(ステップS408)地点情報取得部110は、地点情報[j]が有する情報が、絞込条件[i]に合致するか否かを判断する。合致する場合は、ステップS409に進み、そうでない場合は、ステップS412に進む。
【0144】
(ステップS409)地点情報取得部110は、地点情報[j]を取得する。
【0145】
(ステップS410)地点情報取得部110は、絞込条件[i]に優先順位情報が対応付いているか否かを判断する。対応付いている場合は、ステップS411に進み、そうでない場合は、ステップS412に進む。
【0146】
(ステップS411)地点情報取得部110は、ステップS409で取得した地点情報[j]に、絞込条件[i]に対応付いている優先順位情報である優先順位情報[i]を対応付ける。
【0147】
(ステップS412)地点情報取得部110は、jがxであるか否かを判断する。xである場合は、ステップS414に進み、そうでない場合は、ステップS413に進む。
【0148】
(ステップS413)地点情報取得部110は、jを1インクリメントし、ステップS403に戻る。
【0149】
(ステップS414)地点情報取得部110は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS415に進む。
【0150】
(ステップS415)地点情報取得部110は、iを1インクリメントし、ステップS402に戻る。
【0151】
なお、
図4のフローチャートにおいて、ステップS410およびステップS411の処理による地点情報[j]に対する優先順位情報[i]の対応付けは、例えば、絞込条件[i]が有する順序情報に従い行ってもよい。この場合、地点情報取得部110は、例えば、ステップS412のあとに、絞込条件[i]が順序情報を有するか否かを判断し、有する場合に、取得した地点情報に対して優先順位情報を対応付ける。
【0152】
また、上記で説明したナビゲーション装置1の全体動作は、あくまで一例である。つまり、ナビゲーション装置1の全体動作は、上記の説明に限定されるものではない。
【0153】
(具体例)
次に、ナビゲーション装置1の動作の具体例について説明する。なお、本具体例において、ナビゲーション装置1は、自動車に搭載されているカーナビゲーションシステム(以下、カーナビ)であるものとする。また、地図情報格納部101には、地図情報が格納されており、当該地図情報は、
図5に示す地点情報を有しているものとする。当該地点情報は、レコードを一意に特定するためのIDと、名称情報(項目名:名称)と、種類情報(項目名:種類)と、位置情報(項目名:位置)と、滞在時間情報(項目名:滞在時間)と、色情報(項目名:色)を有する。
【0154】
(例1)
本例において、時間条件に合致する地点情報の取得の例について説明する。
【0155】
まず、ドライバー(ユーザ)が自動車のエンジンを始動したとする。すると、カーナビの電源がONになる。そして、現在位置情報取得部105は、現在位置情報の取得を開始する。また、カーナビは、当該現在位置情報が示す現在位置に対応する地図情報を、地図情報格納部101から取得する。そして、出力部111は、当該地図情報を出力する。
【0156】
次に、ドライバーがカーナビを操作し、片道時間を示す時間情報「2:00」を入力したとする。当該時間情報は、「2時間」を意味する。すると、受付部106は、時間条件「片道時間≦2:00」を有する地点検索指示を受け付ける。
【0157】
次に、時間条件作成部107は、上記地点検索指示が有する時間条件と、自身が保持している時間幅情報とを用いて、時間の幅に関する時間条件を作成する。ここで、時間条件作成部107は、時間幅情報「±0:00」を保持しているものとする。当該時間幅情報は、時間の幅が「0」であることを意味する。すると、時間条件作成部107は、時間条件「片道時間≦2:00」を取得する。この様に、時間の幅が「0」であることを示す時間幅情報を保持している場合、時間条件作成部107は、地点検索指示が有する時間条件をそのまま取得する。
【0158】
次に、時間算出部108は、
図5の各地点情報について、現在位置からの片道時間を算出する。このとき、時間算出部108は、
図5の各地点情報について、現在位置からの経路を探索することを、経路探索部109に指示する。そして、経路探索部109は、
図5の各地点情報について、現在位置からの経路を探索し、当該経路を示す経路情報を取得する。そして、時間算出部108は、経路探索部109が取得した経路情報を用いて、片道時間を算出する。
【0159】
ここで、時間算出部108は、
図5の各地点情報について、「ID=011」から順に、片道時間を示す時間情報「1:45」、「2:15」、「3:00」、「2:30」、「2:10」、「1:30」、「3:30」、「4:00」、「2:30」、「2:20」、「1:00」、「3:15」を取得したものとする。
【0160】
次に、地点情報取得部110は、上記の12個の時間情報のうち、どの時間情報が時間条件「片道時間≦2:00」に合致するか否かを判断する。そして、地点情報取得部110は、
図5の「ID=011」、「ID=016」、「ID=021」の3つの各地点情報に対応する時間情報「1:45」、「1:30」、「1:00」が、時間条件「片道時間≦2:00」に合致すると判断する。そして、地点情報取得部110は、当該3つの地点情報を取得する。
【0161】
また、例えば、ドライバーがカーナビを操作し、往復時間を示す時間情報「4:00」を入力したとする。当該時間情報は、「4時間」を意味する。すると、受付部106は、時間条件「往復時間≦4:00」を有する地点検索指示を受け付ける。
【0162】
次に、時間条件作成部107が、時間幅情報「±0:30」を保持しているとする。当該時間幅情報は、時間の幅が「±30分」であることを意味する。すると、時間条件作成部107は、上記の時間条件が有する時間情報に、当該時間幅情報を加算し、新たな時間条件「3:30≦往復時間≦4:30」を取得する。
【0163】
次に、時間算出部108は、上記と同様に、
図5の各地点情報について、往復時間を算出する。具体的に、時間算出部108は、上記と同様に、経路探索部109が取得した経路情報から、片道時間を示す時間情報を取得し、当該時間情報を2倍する。この結果、時間算出部108は、
図5の各地点情報について、「ID=011」から順に、往復時間を示す時間情報「2:30」、「3:40」、「3:00」、「2:30」、「2:40」、「3:00」、「4:00」、「6:00」、「5:00」、「4:40」、「2:00」、「4:20」を取得したものとする。
【0164】
次に、地点情報取得部110は、上記と同様に、上記の12個の時間情報のうち、どの時間情報が時間条件「3:30≦往復時間≦4:30」に合致するか否かを判断する。そして、地点情報取得部110は、
図5の「ID=012」、「ID=017」、「ID=022」の3つの地点情報に対応する時間情報「3:40」、「4:00」、「4:20」が、時間条件「3:30≦往復時間≦4:30」に合致すると判断する。そして、地点情報取得部110は、当該3つの地点情報を取得する。
【0165】
また、例えば、ドライバーがカーナビを操作し、往復滞在時間を示す時間情報「6:00」を入力したとする。当該時間情報は、「6時間」を意味する。すると、受付部106は、時間条件「往復滞在時間≦6:00」を有する地点検索指示を受け付ける。
【0166】
次に、時間条件作成部107が、時間幅情報「±1:00」を保持しているとする。当該時間幅情報は、時間の幅が「±1時間」であることを意味する。すると、時間条件作成部107は、上記の時間条件が有する時間情報に、当該時間幅情報を加算し、新たな時間条件「5:00≦往復滞在時間≦7:00」を取得する。
【0167】
次に、時間算出部108は、上記と同様に、
図5の各地点情報について、往復滞在時間を算出する。具体的に、時間算出部108は、上記と同様に、経路探索部109が取得した経路情報から、片道時間を示す時間情報を取得し、当該時間情報を2倍する。そして、時間算出部108は、当該往復時間を示す時間情報に、
図5の地点情報が有する滞在時間情報を加算する。この結果、時間算出部108は、
図5の各地点情報について、「ID=011」から順に、往復滞在時間を示す時間情報「8:40」、「7:30」、「6:50」、「8:30」、「2:40」、「3:00」、「4:00」、「5:30」、「6:00」、「8:20」、「4:00」、「4:40」を取得したものとする。
【0168】
次に、地点情報取得部110は、上記と同様に、上記の12個の時間情報のうち、どの時間情報が時間条件「5:00≦往復滞在時間≦7:00」に合致するか否かを判断する。そして、地点情報取得部110は、
図5の「ID=013」、「ID=018」、「ID=019」の3つの地点情報に対応する時間情報「6:50」、「5:30」、「6:00」が、時間条件「5:00≦往復滞在時間≦7:00」に合致すると判断する。そして、地点情報取得部110は、当該3つの地点情報を取得する。
【0169】
(例2)
本例において、時間条件および絞込条件に合致する地点情報の取得の例について説明する。なお、絞込条件格納部102には、
図6に示す絞込条件が格納されているものとする。当該絞込条件には、レコードを一意に特定するためのIDと、優先順位情報(項目名:優先順位)とが対応付いている。また、運勢情報格納部103には、方位に関するユーザの運勢を示す運勢情報「南」と、色に関するユーザの運勢を示す運勢情報「青」とが格納されているものとする。また、選択情報格納部104には、乱数「17」、「21」、「13」が格納されているものとする。また、地点情報取得部110は、
図6の絞込条件の上位3つについて、各々の絞込条件に合致する1以上の地点情報を、時間条件に合致する1以上の地点情報から取得するものとする。また、地点情報取得部110は、例1と同様の処理を行い、時間条件に合致する1以上の地点情報として、
図5の「ID=011」、「ID=013」、「ID=015」、「ID=017」、「ID=019」、「ID=021」の6個の地点情報を取得しているものとする。
【0170】
まず、地点情報取得部110は、
図6の絞込条件のうち、優先順位情報「1」が対応付いている「ID=001」の絞込条件「運気(方位)」に合致する地点情報を取得する。そのために、地点情報取得部110は、上記の6個の各地点情報について、現在位置からの方位を算出する。その結果、地点情報取得部110は、上記の6個の各地点情報について、順に、方位情報「南」、「北」、「南」、「東」、「南」、「西」を取得したものとする。
【0171】
次に、地点情報取得部110は、上記の6個の方位情報のうち、どの方位情報が方位に関するユーザの運勢を示す運勢情報「南」に合致するか否かを判断する。そして、地点情報取得部110は、
図5の「ID=011」、「ID=015」、「ID=019」の3つの各地点情報に対応する方位情報「南」、「南」、「南」が、当該運勢情報「南」に合致すると判断する。そして、地点情報取得部110は、当該3つの地点情報を取得する。
【0172】
次に、地点情報取得部110は、上記3つの地点情報の取得に用いた
図6の「ID=001」の絞込条件「運気(方位)」に対応付いている優先順位情報「1」を、取得した3つの地点情報に対応付ける。
【0173】
また、次に、地点情報取得部110は、
図6の絞込条件のうち、優先順位情報「2」が対応付いている「ID=002」の絞込条件「運気(色)」に合致する地点情報を取得する。そのために、地点情報取得部110は、上記の6個の各地点情報が有する色情報「赤」、「青」、「赤」、「白」、「青」、「青」を取得する。
【0174】
次に、地点情報取得部110は、上記の6個の色情報のうち、どの色情報が色に関するユーザの運勢を示す運勢情報「色」に合致するか否かを判断する。そして、地点情報取得部110は、
図5の「ID=013」、「ID=019」、「ID=021」の3つの各地点情報に対応する色情報「青」、「青」、「青」が、当該運勢情報「青」に合致すると判断する。そして、地点情報取得部110は、当該3つの地点情報を取得する。
【0175】
次に、地点情報取得部110は、上記3つの地点情報の取得に用いた
図6の「ID=002」の絞込条件「運気(色)」に対応付いている優先順位情報「2」を、取得した3つの地点情報に対応付ける。このとき、
図5の「ID=019」の地点情報には、上記の処理により、優先順位情報「1」が既に対応付いている。従って、地点情報取得部110は、当該地点情報には、優先順位情報「2」を対応付けない。
【0176】
また、次に、地点情報取得部110は、
図6の絞込条件のうち、優先順位情報「3」が対応付いている「ID=003」の絞込条件「乱数」に合致する地点情報を取得する。選択情報格納部104に格納されている乱数は、「17」、「21」、「13」である。従って、地点情報取得部110は、当該3つの乱数により選択される
図5の「ID=017」、「ID=021」、「ID=013」の3つの地点情報を取得する。
【0177】
次に、地点情報取得部110は、上記3つの地点情報の取得に用いた
図6の「ID=003」の絞込条件「乱数」に対応付いている優先順位情報「3」を、取得した3つの地点情報に対応付ける。このとき、
図5の「ID=021」、「ID=013」の2つの地点情報には、上記の処理により、優先順位情報「1」または「2」が既に対応付いている。従って、地点情報取得部110は、当該地点情報には、優先順位情報「3」を対応付けない。
【0178】
以上の処理により取得した地点情報は、
図7である。
図7に示す様に、2以上の各絞込条件に合致する地点情報を取得する場合、地点情報取得部110は、通常、後に取得する1以上の地点情報のうち、先に取得した1以上の地点情報と重複する地点情報については、取得しない。
【0179】
(例3)
本例において、取得した地点情報の出力の例について説明する。なお、地点情報取得部110は、
図7の地点情報を取得しているものとする。また、出力部111は、地点情報に対応付いている優先順位情報が示す順序で、地点情報を出力するものとする。
【0180】
まず、出力部111は、地点情報取得部110が取得した
図7の6個の地点情報を取得する。そして、出力部111は、取得した6個の地点情報を、当該地点情報に対応付いている優先順位情報の昇順にソートする。このとき、出力部111は、同じ優先順位情報が対応付いている地点情報については、IDの昇順にソートする。そして、出力部111は、ソート後の6個の地点情報を、リスト形式で出力する。このときの様子は、
図8である。
図8において、出力部111は、地点情報が有する名称情報と、地点情報取得部110が地点情報の取得の際に用いた時間情報(時間算出部108が取得した時間情報)とを対応付けて出力している。また、当該時間情報は、往復時間を示す。
【0181】
(例4)
本例において、現在位置から、選択された地点情報が示す地点までの経路を示す経路情報の出力の例について説明する。なお、出力部111は、
図7の6個の地点情報を
図8の様に出力しているものとする。
【0182】
まず、ユーザがカーナビを操作し、
図8において、「γランド」の箇所をタッチしたとする。すると、受付部106は、出力部111が出力している
図5の「ID=013」の地点情報を選択する地点選択指示を受け付ける。
【0183】
次に、経路探索部109は、上記の地点選択指示により選択された
図5の「ID=013」の地点情報を取得する。そして、経路探索部109は、現在位置情報取得部105が取得した現在位置情報が示す位置から、
図5の「ID=013」の地点情報が示す地点までの経路を探索し、当該経路を示す経路情報を取得する。
【0184】
次に、出力部111は、経路探索部109が取得した経路情報を、地図情報と共に出力する。このときの様子は、
図9である。
図9において、出力部111は、現在位置(
図9における現在地)から、B地点を経由した「γランド」までの経路を示す経路情報を出力している。
【0185】
以上、本実施の形態によるナビゲーション装置1によれば、ユーザが指定した時間内に往復することなどが可能な地点を、目的地の候補としてユーザに提示することができる。また、提示した目的地の候補のうち、ユーザが選択した目的地までの経路案内を行うことができる。
【0186】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
【0187】
また、上記各実施の形態におけるナビゲーション装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。
【0188】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0189】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【0190】
また、上記各実施の形態におけるナビゲーション装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、地点を示す1以上の地点情報を有する地図情報が格納される地図情報格納部にアクセス可能なコンピュータを、現在位置を示す位置情報である現在位置情報を取得する現在位置情報取得部と、時間に関する条件である時間条件を有する指示であり、地点を検索する指示である地点検索指示と、地点を選択する指示である地点選択指示とを受け付ける受付部と、前記地図情報が有する1以上の各地点情報について、前記現在位置情報が示す現在位置と、当該1以上の各地点情報が示す1以上の各地点との間を移動するに要する時間を算出する時間算出部と、前記時間算出部が算出した時間が、前記受付部が受け付けた地点検索指示が有する時間条件に合致する時間である1以上の地点情報を、前記地図情報格納部から取得する地点情報取得部と、前記地点情報取得部が取得した1以上の地点情報を出力する出力部と、前記現在位置情報が示す位置から、前記出力部が出力している1以上の地点情報のいずれかであり、前記地点選択指示により選択された地点情報が示す地点までの経路を探索し、当該経路を示す経路情報を取得する経路探索部として機能させるためのプログラムであり、前記出力部は、前記経路探索部が取得した経路情報をも出力するプログラムである。
【0191】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
【0192】
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【0193】
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
【0194】
また、
図10は、前述のプログラムを実行して、前述の実施の形態のナビゲーション装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
【0195】
図10において、コンピュータシステム9は、CD−ROMドライブ9011、FDドライブ9012を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
【0196】
図11は、コンピュータシステム9のブロック図である。
図11において、コンピュータ901は、CD−ROMドライブ9011、FDドライブ9012に加えて、MPU9013と、ブートアッププログラム等のプログラムを記憶するためのROM9014と、MPU9013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9015と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9016と、CD−ROMドライブ9011、FDドライブ9012、MPU9013等を相互に接続するバス9017とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
【0197】
コンピュータシステム9に、前述の実施の形態のナビゲーション装置等の機能を実行させるプログラムは、CD−ROM9101、またはFD9102に記憶されて、CD−ROMドライブ9011またはFDドライブ9012に挿入され、さらにハードディスク9016に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9016に記憶されてもよい。プログラムは実行の際にRAM9015にロードされる。プログラムは、CD−ROM9101、FD9102またはネットワークから直接、ロードされてもよい。
【0198】
プログラムは、コンピュータ901に、前述の実施の形態のナビゲーション装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
【0199】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。