(58)【調査した分野】(Int.Cl.,DB名)
場所についての情報を含む電子文書が格納される電子文書格納部と、電子文書表示部と、場所指定受付部と位置情報取得部と、地図に関する情報であって、地図が示す道路の識別情報を含む道路に関する情報である道路情報を有する地図情報が格納される地図情報格納部と、道路検出部と、場所の識別情報および位置情報と、この場所に近い道路の識別情報と、を有する場所情報が格納される場所情報格納部と、場所情報蓄積部と、受付部と、経路探索部と、出力部と、時間指定受付部と、場所の利用に要する時間である利用時間が、場所のカテゴリーと対応づけて格納される利用時間格納部と、カテゴリー指定受付部とを用いて行われるナビゲーション方法であって、
前記電子文書表示部が、前記電子文書を表示する電子文書表示ステップと、
前記場所指定受付部が、前記電子文書内に示されている場所を指定する操作である場所指定を受け付ける場所指定受付ステップと、
前記位置情報取得部が、前記場所指定が示す場所の識別情報と位置情報とを、前記電子文書に含まれる場所についての情報を用いて取得する位置情報取得ステップと、
前記道路検出部が、前記位置情報取得ステップで取得した場所の位置情報と、前記道路情報とを用いて、前記場所指定が示す場所に近い道路を検出する道路検出ステップと、
前記場所情報蓄積部が、前記道路検出ステップで検出した道路の道路識別情報と、当該道路の検出に用いられた場所の識別情報と、を有する場所情報を、前記場所情報格納部に蓄積する場所情報蓄積ステップと、
前記受付部が、出発地を示す情報である出発地情報と、目的地を示す情報である目的地情報とを受け付ける受付ステップと、
前記経路探索部が、前記道路情報と前記場所情報とを用いて、前記場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、前記出発地情報が示す出発地から、前記目的地情報が示す目的地までの経路を探索する経路探索ステップと、
前記出力部が、前記経路探索ステップによる探索結果に応じた出力を行う出力ステップとを備え、
前記電子文書に含まれる場所についての情報は、当該場所のカテゴリーを示す情報であるカテゴリー情報を更に含み、
前記場所情報蓄積ステップは、前記場所指定により指定された場所のカテゴリー情報を前記電子文書から取得して、当該カテゴリー情報を更に含む場所情報を蓄積し、
前記時間指定受付部が、目的地に到着するまでの予定時間の指定を受け付ける時間指定受付ステップと、
前記カテゴリー指定受付部が、場所のカテゴリーを指定する情報であるカテゴリー指定情報を受け付けるカテゴリー指定受付ステップとを更に備え、
前記道路情報は、各道路の移動に要する時間である移動時間を更に有しており、
前記経路探索ステップは、カテゴリー指定情報が示すカテゴリーに属する場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、前記出発地情報が示す出発地から、前記目的地情報が示す目的地までの経路を探索し、
前記経路探索ステップは、経路に含まれる道路の移動時間と、当該道路に対応する前記場所の利用時間とを用いて、時間指定受付ステップで受け付けた予定時間以内の経路を探索し、
前記経路探索ステップは、前記カテゴリー指定情報が指定するカテゴリーに属する場所の利用時間として、当該カテゴリー指定情報が指定するカテゴリーと対応づけて前記利用時間格納部に格納されている利用時間を取得するナビゲーション方法。
場所についての情報を含む電子文書が格納される電子文書格納部と、地図に関する情報であって、地図が示す道路の識別情報を含む道路に関する情報である道路情報を有する地図情報が格納される地図情報格納部と、場所の識別情報および位置情報と、この場所に近い道路の識別情報と、場所の利用に要する時間である利用時間が、場所のカテゴリーと対応づけて格納される利用時間格納部と、を有する場所情報が格納される場所情報格納部と、にアクセス可能なコンピュータを、
前記電子文書を表示する電子文書表示部と、
前記電子文書内に示されている場所を指定する操作である場所指定を受け付ける場所指定受付部と、
前記場所指定が示す場所の識別情報と位置情報とを、前記電子文書に含まれる場所についての情報を用いて取得する位置情報取得部と、
前記位置情報取得部が取得した場所の位置情報と、前記道路情報とを用いて、前記場所指定が示す場所に近い道路を検出する道路検出部と、
前記道路検出部が検出した道路の道路識別情報と、当該道路の検出に用いられた場所の識別情報と、を有する場所情報を、前記場所情報格納部に蓄積する場所情報蓄積部と、
出発地を示す情報である出発地情報と、目的地を示す情報である目的地情報とを受け付ける受付部と、
前記道路情報と前記場所情報とを用いて、前記場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、前記出発地情報が示す出発地から、前記目的地情報が示す目的地までの経路を探索する経路探索部と、
前記経路探索部の探索結果に応じた出力を行う出力部として機能させ、
前記電子文書に含まれる場所についての情報は、当該場所のカテゴリーを示す情報であるカテゴリー情報を更に含み、
前記場所情報蓄積部は、前記場所指定により指定された場所のカテゴリー情報を前記電子文書から取得して、当該カテゴリー情報を更に含む場所情報を蓄積し、
目的地に到着するまでの予定時間の指定を受け付ける時間指定受付部と、
場所のカテゴリーを指定する情報であるカテゴリー指定情報を受け付けるカテゴリー指定受付部として更に機能させ、
前記道路情報は、各道路の移動に要する時間である移動時間を更に有しており、
前記経路探索部は、カテゴリー指定情報が示すカテゴリーに属する場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、前記出発地情報が示す出発地から、前記目的地情報が示す目的地までの経路を探索し、
前記経路探索部は、経路に含まれる道路の移動時間と、当該道路に対応する前記場所の利用時間とを用いて、時間指定受付部が受け付けた予定時間以内の経路を探索し、
前記経路探索部は、前記カテゴリー指定情報が指定するカテゴリーに属する場所の利用時間として、当該カテゴリー指定情報が指定するカテゴリーと対応づけて前記利用時間格納部に格納されている利用時間を取得するプログラム。
【発明を実施するための形態】
【0019】
以下、ナビゲーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0020】
(実施の形態)
図1は、本実施の形態におけるナビゲーション装置1のブロック図である。
【0021】
ナビゲーション装置1は、電子文書格納部101、電子文書表示部102、場所指定受付部103、位置情報取得部104、地図情報格納部105、道路検出部106、場所情報格納部107、場所情報蓄積部108、受付部109、カテゴリー指定受付部110、時間指定受付部111、利用時間格納部112、経路探索部113、重み付け値格納部114、出力部115およびアイコン格納部116を備える。
【0022】
ナビゲーション装置1は、例えば、現在地や目的地の地図等を出力したり、出発地(現在地)から目的地までの経路を出力したりする装置である。ナビゲーション装置1は、特に、携帯可能なナビゲーション装置であることが好ましいが、車載用のナビゲーション装置であっても良い。ナビゲーション装置1は、ナビゲーション専用の装置であっても良いし、ナビゲーション機能を実現する携帯電話やスマートフォンやカメラ等の携帯端末であっても良い。
【0023】
電子文書格納部101には、場所についての情報を含む電子文書が格納される。電子文書とは、テキストデータや画像データ等の組合せで構成される文書情報である。電子文書は、例えば、WEBページや、電子書籍、電子雑誌や、電子新聞等である。電子文書のファイル形式等は問わない。場所についての情報とは、例えば、場所の識別情報である。場所の識別情報(以下、場所識別情報と称す)とは、ランドマーク名や、地名や、店舗名や、建物名等である。また、例えば、場所についての情報は、場所の位置情報を有していても良い。場所の位置情報(以下、場所位置情報と称す)とは、例えば、場所の住所や、場所の座標(緯度、経度)等の、場所の位置を特定可能な情報である。また、場所についての情報は、場所のカテゴリーを示す情報を有していても良い。場所のカテゴリーを示す情報とは、例えば、カテゴリー名等のカテゴリーの識別情報である。場所のカテゴリーについては後述する。また、場所についての情報は、場所の利用に要する平均時間等の利用時間を有していても良い。利用時間については、後述する。また、場所についての情報は、場所を示す画像データや、場所についての説明文を示すテキストデータ等を有していても良い。場所についての情報は、どのように電子文書内に含まれていても良い。例えば、電子文書内のページ等に設けられたボタンに対して、一以上の場所についての情報が対応付けられていても良い。このボタンは、電子文書内のこのボタンに対応する場所についての情報が記載されている文章内や、このボタンに対応する場所についての文章や画像の近傍等に設けられていることが、ボタンと場所との関係を把握しやすいという点で好ましい。また、電子文書の一のページに対して、一の場所についての情報が対応付けられていても良い。例えば、電子文書の一のページに、一の場所に関する内容の画像データやテキストデータ等が含まれている場合に、この一の場所についての情報が一のページと対応付けて格納されていても良い。また、場所についての情報は、電子文書内の記事等のコンテンツ内に文字列等として含まれていても良い。場所についての情報は、ユーザが閲覧可能なように、電子文書のページ等に表示される情報であってもよいし、いわゆるメタデータ等のように、非表示の情報であってもよい。
【0024】
場所のカテゴリーとは、例えば、場所の用途や、目的等の分類である。カテゴリーはジャンルと考えても良い。場所のカテゴリーとしては、例えば、衣料品店、食料品店、雑貨店、書店、洋菓子店、店舗、美容院、病院、カフェ、レストラン、スイーツ店、映画館、美術館、寺社、観光名所等がある。また、カテゴリーは、ユーザが場所を利用して行うことができる行動等を示す分類であってもよい。このようなカテゴリーは、例えば、ショッピング、レジャー、観光、美術鑑賞、デートスポット等である。また、場所のカテゴリーは、場所で提供されるサービスや物品のカテゴリー(例えば、整体、クリーニング、食品、雑貨、衣料等)であっても良いし、その提供形態(例えば、セルフサービス、予約制、24時間営業)等であっても良い。また、場所のカテゴリー同士は、階層関係を有していても良い。例えば、衣料品店や、食料品店、雑貨店、書店等のカテゴリーの上位のカテゴリーが、店舗というカテゴリーであってもよい。また、ショッピングというカテゴリーの下位のカテゴリーが、衣料品店、雑貨店、靴店等であってもよい。カテゴリー間の階層関係は、例えば、階層関係を管理する情報で管理されていても良い。また、一の場所は、複数のカテゴリーに属していても良い。例えば、一の場所が、書店と、雑貨というカテゴリーに属していてもよい。また、一の場所が属する複数のカテゴリー同士が、階層関係を有していてもよい。例えば、一の店舗が、食料品店と、スーパーマーケットというカテゴリーに属していても良い。
【0025】
電子文書格納部101に電子文書が蓄積される過程は問わない。例えば、記録媒体等から読み出された電子文書情報が電子文書格納部101に蓄積されても良く、あるいは、入力デバイスを介して入力された電子文書情報が電子文書格納部101で記憶されるようになってもよい。また、通信回線等を介して送信された電子文書情報が電子文書格納部101で蓄積されるようになってもよい。例えば、電子文書格納部101には、WEBサイトを閲覧する際に、WEBサーバ等からダウンロードされたWEBページを表示するためのHTMLファイル等で構成される情報が一時記憶されてもよいし、電子書籍を販売するWEBサイト等からダウンロードした電子書籍のファイル等が蓄積されても良い。
【0026】
ここでの格納は、一時記憶も含む概念である。電子文書格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、ナビゲーション装置1は、電子文書情報を取得して、電子文書格納部101に蓄積するための構成、例えば送信部や受信部等の通信手段等を備えているようにしても良い。
【0027】
電子文書表示部102は、電子文書を表示する。電子文書表示部102は、例えば、ユーザ等により指定された、電子文書格納部101に格納されている電子文書を読み出して、図示しないモニタ等の表示デバイスに表示する。電子文書表示部102は、モニタ等の表示デバイスを含むと考えても含まないと考えても良い。電子文書表示部102は、表示デバイスのドライバーソフトまたは、表示デバイスのドライバーソフトと表示デバイス等で実現され得る。
【0028】
場所指定受付部103は、電子文書内に示されている場所を指定する操作である場所指定を受け付ける。場所指定とは、場所を登録する操作と考えても良い。電子文書内に示されている場所とは、例えば、電子文書表示部102が表示する電子文書のページ等に示されている場所である。具体例としては、観光ガイドブックである電子文書の各ページに示されている1以上の場所である。また、電子文書が表示する電子文書のページ等に示されている内容に関連した場所であっても良い。例えば、商品を紹介する電子文書のページに示されている商品を扱っている販売店の場所であってもよい。場所指定受付部103は、どのように場所指定を受け付けても良い。例えば、予め、電子文書のページ等に、このページに示されている一の場所を指定するためのボタン(例えば登録ボタン)等を配置しておくようにして、このボタンに対する予め指定された操作(クリック、あるいはタップ)が行われることによって、このボタンに対応する場所についての場所指定を受け付けても良い。このボタンには、上述したように、場所についての情報が対応付けられているようにすることが好ましい。また、ユーザが、電子文書のページ等に表示されている場所名等の文字列をなぞって選択し、この文字列を指定するための予め決められた操作(例えば、指定を行うためのメニュー操作)等を行ったことによって、この文字列が示す場所についての場所指定を受け付けても良い。あるいは、ユーザが、WEBページ等の電子文書の一のページに対して行う、いわゆるブックマークやお気に入りに登録する操作等の予め指定された操作を、このページに示されている場所についての場所指定として受け付けても良い。
【0029】
場所指定の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。場所指定受付部103は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0030】
位置情報取得部104は、場所指定が示す場所の識別情報と位置情報とを、電子文書に含まれる場所についての情報を用いて取得する。具体的には、電子文書内の、場所指定が示す場所に対応づけられた場所についての情報を用いて、場所指定が示す場所の識別情報と位置情報とを取得する。位置情報取得部104は、どのように場所指定が示す場所の識別情報(場所識別情報)と場所の位置情報(場所位置情報)とを取得しても良い。例えば、場所指定が、一の場所に関する場所についての情報が対応付けられているボタンに対する操作であり、この場所についての情報が、この場所についての場所識別情報と場所位置情報とを有する場合、位置情報取得部104は、電子文書内のこのボタンに対応付けられた場所についての情報から、場所識別情報と、場所位置情報とを取得する。例えば、予め電子文書内の、場所指定を受け付けるためのボタンに対して、予め指定された操作が行われた場合に、ボタンに対応付けられている場所についての情報を取得する動作を実行させるためのスクリプト等のプログラムを対応付けて蓄積しておくようにすることで、ボタン操作に応じて、場所識別情報と場所位置情報とを取得することが可能となる。また、この場合、場所についての情報として、カテゴリー情報や利用時間等も格納しておくようにすることで、これらの情報を場所情報蓄積部108等が取得することも可能となる。また、電子文書内に、場所についての情報として、場所識別情報しか含まれていない場合、位置情報取得部104は、この場所識別情報をボタン操作等の場所指定に応じて取得後、この場所識別情報が示す場所についての場所位置情報を後述する地図情報や、WEBサイトを利用した検索処理等により取得しても良い。場所名等の場所識別情報に対応した位置情報(例えば、座標)は、例えば、ジオコーディング等の技術を利用することで取得可能である。ジオコーディングについては、例えば、以下の文献を参照されたい。
【0031】
文献1:"ジオコーディング"、[online]、[平成23年2月7日検索]、インターネット<URL:http://code.google.com/intl/ja/apis/maps/documentation/javascript/v2/services.html#Geocoding>
【0032】
また、例えば、ユーザが電子文書の場所を示す文字列をなぞる等によって場所指定を受け付けた場合に、この文字列を場所識別情報として取得して、上記と同様に、ジオコーディング等によりこの場所識別情報に対応する位置情報を場所位置情報として取得してもよい。また、電子文書内の、ユーザが指定した文字列を含む文字列と所定の関係にある文字列を、場所識別情報として取得しても良い。例えば、電子文書の情報が、マークアップ言語等のタグ付けされた文書である場合、所定の関係にある文字列とは、例えば、ユーザがなぞった文字列を含む文字列と、タグ等を用いて同じグループにグループ化されている(もしくは、その直前や直後に配置されている)、予め指定されたタグが付与された文字列である。
【0033】
また、電子文書の一のページに、場所識別情報や場所位置情報等の場所についての情報が対応付けられて格納されている場合において、例えば、電子文書の一のページに対する予め指定された操作である場所指定を受け付けた場合、このページに対応付けられた場所についての情報から、場所識別情報および場所位置情報を取得するようにすればよい。例えば、予め、電子文書の各ページに、例えばメタデータ等として、各ページに示されている場所についての情報を格納しておくようにし、場所指定に応じて、このメタデータを読み出すようにしても良い。また、この場合においても、場所についての情報が、場所位置情報を有さない場合には、ジオコーディングの技術等を用いて、場所識別情報から、対応する場所位置情報を取得するようにすればよい。
【0034】
位置情報取得部104は、通常、MPUやメモリ等から実現され得る。位置情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0035】
地図情報格納部105は、地図に関する情報であって、地図が示す道路の識別情報を含む道路に関する情報である道路情報を有する地図情報が格納される。
【0036】
地図情報格納部105には、地図情報が格納される。地図情報は、地図に関する情報である。地図情報は、道路情報を有している。道路情報は、地図が示す道路に関する情報である。地図情報は、通常、地図の画像である地図図柄情報を更に有している。地図図柄情報は、例えば、地図を構成するビットマップデータ(ラスタデータ)またはベクタデータ、またはこれらの組合せなどである。地図図柄情報のファイル形式は、GIF形式やJPEG形式や、PNG形式等問わない。地図情報は、ISOのkiwi地図データフォーマットであっても良い。地図情報は、地図上に表記されている地名や、建物や名勝や場所の名称などの文字列を有していても良い。
【0037】
地図情報は、例えば、その地図情報が表示する地域の経度や緯度を有する座標情報等の、絶対的な位置を示す位置情報や、各地図情報間においてそれぞれの地図が示す領域間の位置関係が分かるような相対的な位置を示す位置情報を有している、もしくは対応付けられている。例えば、地図情報の表示する地図の範囲や中心点を、緯度と経度との範囲で定義する情報を有していてもよい。このような位置情報を用いることで、地図上の座標と、実空間における座標(例えば、緯度及び経度)とを適宜変換することが可能となる。また、地図情報は、当該地図情報により示される地図内の住所等の位置を指定可能な位置情報を有していても良い。また、地図情報は、縮尺ごとに地図図柄情報を有していてもよいし、縮尺ごとに地図情報が用意されていても良い。通常、地図情報は地図の縮尺と対応付けて管理されている。具体的には、地図情報は、当該地図情報により出力される地図の縮尺の値の情報を有していても良いし、地図情報が地図の縮尺と対応付けて101に格納されていてもよい。ここでの地図の縮尺とは、地図の縮尺の値を示す情報と考えても良い。
【0038】
道路情報は、道路に関する情報である。道路情報は、例えば、ノードデータと、リンクデータとを含んでいる。ノードは、交差点や分岐点等の、道路同士が接続される地点を示すものである。ノードデータは、ノードに関する情報である。ノードデータは、道路網の接続関係を示すデータと考えても良い。行き止まり等の道路網の端点、即ち他の道路と接続されていない道路の端点もノードと考えてもよい。また、ノードは、道路同士が接続される地点以外の道路上の任意の箇所にも設けられていてもよい。ノードデータは、例えば、ノードを識別する識別情報と、ノードの地図上の座標、あるいは、実空間の座標を有する。また、ノードデータは、ノードに接続されるリンクを示す情報等を有していても良い。リンクは、ノードを結ぶ道路を示すものである。リンクは、例えば、ノード間の道路と考えても良いし、ノードを結ぶ線等と考えても良い。リンクデータは、リンクに関するデータである。リンクデータは、例えば、リンクを識別する情報であるリンク識別情報や、リンクが接続されるノード(例えば、両端のノード)を示す情報(例えばノード識別情報)を有している。また、リンクデータは、リンクの端部の地図上の座標あるいは実空間の座標を有していても良い。なお、リンクは、必ずしも隣り合わせのノードで区切られた道路でなくても良く、一の道路上の、隣り合わせでない一組のノードで区切られた道路を示すものであっても良い。
【0039】
リンクデータは、例えば、複数の道路特性パラメータについてのコスト等の情報を有している。道路特性パラメータとしては、距離、通行時間、有料・無料の区別、通りやすさ、道路幅などがあり、それぞれの道路特性パラメータについてコスト(距離のコスト、通行時間のコスト等)が定められている。コストは、例えば、経路を探索する場合等において、選択する道路を評価する際等に利用する評価値である。コストは、例えば、経路選択のための優先度を示す値や、道路(リンク)の選択されやすさを示す評価値と考えても良い。また、コストはスコアと考えても良い。ダイクストラ法等の経路探索は、例えば、各リンクに対応する一以上のコストを利用して行われる。なお、一のリンクに対して、複数の道路特性パラ−メータについてのコストを総合したコストや、複数の道路特性パラメータを考慮した1以上のコストが対応付けられているようにしても良い。この場合、このような総合したコスト等を用いて、経路探索を行うようにしても良い。
【0040】
道路情報は、道路の識別情報を有している。道路の識別情報とは、例えば、道路の名称や道路番号等の道路の識別情報(例えば、京浜バイパスや、烏丸通りや、国道1号線等)である。ただし、道路情報が、リンクデータを含んでいる場合にはおいては、このリンクデータのリンク識別情報を、道路の識別情報と考えても良い。本実施の形態においては、道路情報がリンクデータを含んでおり、道路の識別情報としてリンク識別情報を用いる場合を例にあげて説明するものとする。
【0041】
また、道路情報は、各道路の移動に要する時間である移動時間を更に有していてもよい。ここでの移動時間は、例えば、移動時間を示す情報と考えても良い。移動時間は、例えば、道路情報と対応付けて格納される。道路情報がリンクデータを有する場合、移動時間は、各リンクデータが示すリンクの移動に要する時間とすることが好ましい。例えば、地図情報格納部105には、道路情報に含まれる各リンクデータが、このリンクの移動に要する移動時間の情報と対応付けられて格納される。なお、移動時間は、例えば、各リンクデータが有していてもよい。この移動時間を、上述した各リンクデータに含まれる時間についてのコストとしてもよいし、コストとは別に、移動時間を有していてもよい。移動時間は、移動手段別に用意されていても良い。なお、移動時間の代わりに、結果的に移動時間を算出可能な値が格納されている場合も、本実施の形態においては、移動時間が格納されていると考える。例えば、距離情報であれば、移動速度が取得できれば移動時間が算出可能であるので、距離情報がリンクに対応付けられている場合も、距離情報が対応付けられていると考えて良い。なお、この場合の移動速度は、例えば、ナビゲーション装置1を利用する際の移動手段の平均的な移動速度であっても良いし、ナビゲーション装置1が有する図示しない加速度センサ等のセンサを用いて取得される移動速度であっても良い。
【0042】
なお、道路情報は、上記のノードデータやリンクデータに加えて、道路の道筋を示すデータ等を有していてもよい。道路あるいはリンクの道筋を示すデータは、例えば、道路の道筋に沿った直線や曲線の線状、あるいは帯状の情報(例えば、スプライン曲線や、ベジェ曲線の情報)や、道路に沿って配置された複数の座標の集合や、道路に沿って設けられた一以上のベクトルの情報等であっても良い。道路の道筋を示すデータは、リンクデータ毎に設けられていても良い。
【0043】
また、経路探索が、リンクやノードを利用せずに行われる場合においては、道路情報は、上記のノードデータやリンクデータの代わりに、経路探索に必要な道路の情報を有していても良い。
【0044】
なお、ここでの格納は一時記憶も含む概念である。地図情報格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0045】
道路検出部106は、位置情報取得部104が取得した場所の位置情報と、道路情報とを用いて、場所指定が示す場所に近い道路を検出する。道路情報が、リンクデータを有する場合、道路検出部106は、場所指定が示す場所に近いリンクを検出する。そして、道路検出部106は、例えば、検出した道路の識別情報を取得する。位置情報取得部104が場所の位置情報として、座標(緯度、経度)の情報を取得した場合、道路検出部106は、この座標との距離が最も近い道路(リンク)を検出する。道路検出部106は、例えば、位置情報取得部104が取得した座標を含む予め指定された形状およびサイズの領域に含まれる道路の道路情報を、例えば地図情報を用いて取得する。例えば、通常、地図情報格納部105には、対応する領域が一致しない複数の地図情報が格納されており、各地図情報には、各地図情報が示す地図内の道路(リンク)の道路情報が対応付けられているため、道路検出部106は、位置情報取得部104が取得した座標を含む地図情報に対応する道路情報を読み出してもよい。あるいは、位置情報取得部104が取得した座標を中心とした、予め指定された長さの辺を持つ矩形の領域を設定し、この領域を通過する道路(リンク)や、この領域内に位置するノードに接続されたリンクを検出し、その道路情報を取得しても良い。そして、この道路情報が示す道路(リンク)と、位置情報取得部104が取得した場所の位置との距離を順次算出し、距離の一番小さい道路(リンク)を、最も近い道路(リンク)として検出する。なお、位置情報取得部104が場所の位置情報として、座標(緯度、経度)以外の場所の住所等を取得した場合、この住所等に対応する座標(緯度、経度)を、予め、地図情報格納部105に格納されている地図情報から取得するようにすればよい。
【0046】
道路検出部106は、通常、MPUやメモリ等から実現され得る。道路検出部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0047】
場所情報格納部107には、場所の識別情報(場所識別情報)と、この場所に近い道路の識別情報と、を有する場所情報が格納される。道路の識別情報は、例えば、リンク識別情報である。場所情報格納部107には、場所の位置情報(場所位置情報)をさらに含む場所情報が格納されても良い。また、場所情報格納部107には、場所についてのカテゴリー情報や、利用時間等の情報をさらに有する場所情報が格納されても良い。場所情報格納部107は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0048】
場所情報蓄積部108は、道路検出部106が検出した道路の道路識別情報と、道路の検出に用いられた場所の識別情報(場所識別情報)と、を有する場所情報を、場所情報格納部107に蓄積する。また、場所情報蓄積部108は、位置情報取得部104が取得した場所の位置情報(場所位置情報)をさらに含む場所情報を蓄積してもよい。
【0049】
また、場所情報蓄積部108は、場所指定により指定された場所のカテゴリー情報を電子文書から取得して、このカテゴリー情報を更に含む場所情報を、場所情報格納部107に蓄積してもよい。例えば、場所情報蓄積部108は、電子文書に含まれる場所についての情報のうちの、場所指定受付部103が受け付けた場所指定が示す場所についての情報から、場所のカテゴリー情報を取得して、取得したカテゴリー情報を更に含む場所情報を蓄積する。このカテゴリー情報は、位置情報取得部104が電子文書に格納されている場所についての情報から場所識別情報等を取得する際に、同様に取得可能である。例えば、電子文書の場所指定を受け付けるボタンに、場所についての情報として、カテゴリー情報の情報が対応付けられている場合、このボタンが押された場合に、場所情報蓄積部108は、これらの情報を取得し、蓄積するようにしてよい。
【0050】
また、場所情報蓄積部108は、場所指定により指定された場所の利用時間を電子文書から取得して、この利用時間を、場所指定が示す場所について位置情報取得部104が取得した場所識別情報と対応付けて、後述する利用時間格納部112に蓄積しても良い。例えば、場所指定受付部103が受け付けた場所指定が示す場所についての情報が、この場所についての利用時間を有している場合、場所情報蓄積部108は、この利用時間を取得して蓄積する。場所情報蓄積部108は、この利用時間を、例えば、位置情報取得部104が電子文書に格納されている場所についての情報から場所識別情報等を取得する際等に取得する。
【0051】
場所情報蓄積部108は、通常、MPUやメモリ等から実現され得る。場所情報蓄積部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0052】
受付部109は、出発地を示す情報である出発地情報と、目的地を示す情報である目的地情報を受け付ける。受付部109は、出発地情報と目的地情報を含む指示であり、出発地から目的地までの経路を出力する指示である経路出力指示を受け付けても良い。経路出力指示は、経路探索のための様々な条件を指定する情報を有していてもよい。出発地情報とは、例えば、(緯度,経度)の位置情報、地名などである。出発地情報は、経路探索のスタート地点を示す情報であれば良い。また、出発地情報として、ナビゲーション装置1が有する図示しないGPS受信機等が経路探索の開始時等に出力する現在位置を示す情報を用いても良い。なお、現在位置を示す情報は、図示しないジャイロや加速度センサ等を用いて取得してもよい。現在位置を示す情報を取得する構成等はナビゲーション装置の技術として公知である。目的地情報とは、例えば、(緯度,経度)の位置情報、地名など、目的地を示す情報であれば良い。目的地情報は、経路探索の終了地点を示す情報であればよい。なお、経路探索の出発地を始点、目的地を終点と考えても良い。なお、出発地情報や、目的地情報として、出発地や目的地となるノードの識別情報やリンクの識別情報を受け付けても良い。ここでの受け付けは、ナビゲーション装置のタッチパネルやキーボードやマウス等の入力デバイスを利用したユーザ入力の受け付け、音声入力による受け付け、外部装置からの受信、記録媒体からの読み出しなどである。出発地情報および目的地情報の入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。受付部109は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る
【0053】
カテゴリー指定受付部110は、場所のカテゴリーを指定する情報であるカテゴリー指定情報を受け付ける。カテゴリー指定情報は、例えば、道路(例えばリンク)についての重み付け値を取得する際において、各道路に対応付けられた周辺の場所の数を取得する際に、取得対象となる場所を絞り込むために用いられる条件、例えば検索条件、である。道路についての重み付け値とは、例えば、道路の評価値(コスト)の重み付けを行うための値である。カテゴリー指定情報は、例えば、絞りこみの対象となるカテゴリー名等のカテゴリーの識別情報を有する。例えば、「飲食店」というカテゴリー指定情報は、カテゴリーが「飲食店」である場所だけを選択的に指定する情報である。ただし、カテゴリー指定情報は、除外するカテゴリーを指定する情報であってもよい。カテゴリー指定情報は、例えば、複数のカテゴリーの識別情報と、これらをAND条件やOR条件やNOT条件等のどのような条件として用いるかを示す情報とを組み合わせた情報であってもよい。カテゴリー指定情報は、つまりカテゴリーの識別情報を用いた検索式であってもよい。カテゴリー指定情報は、複数のカテゴリーの指定をグループ化したものであっても良い。カテゴリー指定情報は、階層化されているカテゴリーのうちの、下位階層以外の一の階層のカテゴリーを指定する情報であっても良い。このようなカテゴリー指定情報は、このカテゴリーに従属する全てまたは一部のカテゴリーを指定する情報であるとして扱うようにしてもよい。また、カテゴリー指定情報は、場所のカテゴリー名等に含まれるキーワード等であっても良い。なお、カテゴリー指定情報は、カテゴリーを問わず、一以上の何らかのカテゴリーに属している場所を指定する条件であっても良い。
【0054】
カテゴリー指定受付部110は、例えば、ユーザにより入力されたカテゴリー指定情報を受け付ける。また、予め図示しない記憶媒体等に蓄積されているカテゴリー指定情報を読み出してもよい。このような記憶媒体等からの読み出しも、ここではカテゴリー指定情報の受け付けと考えるようにしても良い。カテゴリー指定情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。カテゴリー指定受付部110は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0055】
時間指定受付部111は、目的地に到着するまでの予定時間の指定を、ユーザ等から受け付ける。時間指定受付部111は、結果的に予定時間を受け付けることができれば、どのように予定時間を受け付けても良い。時間指定受付部111は、例えば、予定時間を示す情報をそのまま受け付けても良い。また、時間指定受付部111は、出発予定時刻と到着予定時刻との入力を受け付け、この時刻の差を、予定時間として受け付けても良い。また、到着予定時刻の入力を受け付けるとともに、現在の時刻を時計等から取得して、この時刻の差を、予定時間として受け付けても良い。時間指定受付部111は、ここでの受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。予定時間の入力手段は、テンキーやキーボードやタッチパッドやマウスやメニュー画面によるもの等、何でも良い。時間指定受付部111は、テンキーやタッチパッドやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0056】
利用時間格納部112には、場所の利用に要する時間である利用時間が格納されている。ここでの利用時間は、例えば、利用時間を示す情報と考えても良い。場所の利用に要する時間は、例えば、場所を通常の用途で利用した場合に要すると考えられる時間である。例えば、場所がレストランであれば、利用時間は、食事に要する時間である。また、場所が衣料品店等であれば、ショッピングに要する時間である。また、場所が観光名所であれば、観光に要する時間である。例えば、利用時間格納部112には、場所の利用時間が、場所のカテゴリー情報と対応付けられて予め格納されていても良い。この場合、同じカテゴリーに属する場所における利用時間は、同じ時間として取り扱われる。また、利用時間格納部112には、場所の利用時間が、場所の識別情報と対応付けられて格納されても良い。例えば、場所情報蓄積部108が、電子文書から取得した各場所に対応する利用時間を各場所識別情報と対応付けて、利用時間格納部112に蓄積するようにしてもよい。なお、この具体例においては、利用時間が、場所のカテゴリーと対応付けられて、利用時間格納部112に格納されている場合を例に挙げて説明する。利用時間格納部112は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0057】
経路探索部113は、道路情報を用いて、出発地情報が示す出発地から、目的地情報が示す目的地までの経路を探索する。経路探索部113は、例えば、地図情報格納部105に格納されている道路情報に含まれるノードデータとリンクデータとを用いて、経路探索を行う。そして、例えば、探索した経路を示す経路情報を取得する。経路探索部113は、ここでは特に、場所情報格納部107に格納されている場所情報をさらに用いて、場所の識別情報(場所識別情報)が多く対応付けられている道路(リンク)が探索されやすくなるようにして、出発地から目的地までの経路を探索する。「場所識別情報が多く対応付けられた経路が探索されやすくなるようにして」とは、場所識別情報が多く対応付けられた経路が探索されやすくなる経路探索のアルゴリズムを用いるという意味と考えても良い。また、場所識別情報と多く対応付けられた道路が選択されやすくなるように経路を探索することと考えても良い。つまり、経路探索部113は、場所指定によって指定された場所が多く対応付けられている経路が探索されやすくなるようにして経路を探索すると考えても良い。
【0058】
例えば、経路探索部113は、対応付けられている場所識別情報の数に応じた重み付け値を各道路(リンク)ごとに取得して、取得した重み付け値で、各道路の経路探索に利用する評価値(例えばコスト)を重み付けし、重み付けして得られた評価値を用いて、経路探索を行う。
【0059】
以下に、道路を全てリンクと考えた場合について、具体的に説明する。まず、経路探索部113は、場所情報格納部107に格納されている場所情報を用いて、地図情報が示す各リンクのうちの経路探索の対象となるリンクに対応付けられた場所識別情報の数を取得する。例えば、一のリンクのリンク識別情報と対応付けられた場所識別情報が、場所情報において3つ検出された場合、経路探索部113は、値「3」を取得する。経路探索の対象となる各リンクとは、例えば、出発地と目的地とを含む経路探索の対象となる領域の全ての道路である。経路探索の対象となる領域はどのように決定してもよい。例えば、出力部115が経路探索の入力を行うために表示している地図が表示している領域を、経路探索の対象領域としてもよい。また、例えば、出発地と目的地とを対向する辺上に有する、縦横比が一定の矩形の領域を、経路探索の対象となる領域に設定しても良い。ただし、出発地と目的地を含む領域であればどのよう領域を経路探索の対象となる領域に設定しても良く、例えば、地図情報格納部105に格納されている地図情報が示す全ての領域を経路探索の対象に設定しても良い。また、地図情報格納部105に、複数の領域を示す複数の地図情報が格納されている場合、出発地と目的地を含む地図を出力するために用いられる1以上の地図情報が示す領域を、経路探索の対象となる領域として、これらの地図情報にそれぞれ対応付けられている道路情報(リンクデータ)が示す道路(リンク)を、経路探索の対象の道路と判断しても良い。
【0060】
次に、経路探索部113は、このようにしてリンクについて取得した場所識別情報の数を用いて、リンクについて、この場所識別情報数を示す情報に対応する重み付け値を取得する。重み付け値は、例えば、道路の評価値の重み付けのために用いられる重み係数である。この重み付け値は、場所識別情報数を示す情報を変数とした予め指定された演算式を用いて算出しても良いし、後述する重み付け値格納部114に予め格納されている、重み付け値と場所識別情報数を示す情報とを対応付けて有する重み付け管理情報から、取得した場所識別情報数を示す情報に対応した重み付け値を取得するようにしても良い。ここでは、一例として、重み付け値格納部114から重み付け値を取得する場合について説明する。取得した重み付け値は、リンクと対応付けて、図示しない記憶媒体に蓄積する。例えば、リンク識別情報と対応付けて記憶媒体に蓄積する。
【0061】
次に、経路探索部113は、経路探索に利用する道路(リンク)の評価値であるコストを、道路(リンク)について取得した重み付け値を用いて補正する。ここでの補正は、重み付け値を用いた重み付けのことであり、例えば、道路(リンク)のコストに対して、道路について取得した重み付け値を乗算したり、加算したりすることである。そして、補正により得られた補正コストを用いて経路探索を行う。ここでの経路探索に用いられる経路探索方法やアルゴリズムは、例えば、上述したようなダイクストラ法や、A*アルゴリズムや、その他の様々な経路探索方法や、経路探索アルゴリズム等が利用可能である。経路探索部113が利用する経路探索方法やアルゴリズムとしては、道路(リンク)についての評価値(例えばコスト)を用いて、経路を探索するものを用いることが好ましい。経路探索方法としては、複数経路が探索可能な方法等も利用可能である。この場合、複数の経路が探索されることとなる。なお、重み係数等を用いて補正した補正コストを用いて経路探索を行う処理については、公知技術であるのでここでは詳細な説明は省略する。そして、例えば、探索した経路を示す経路情報を取得する。
【0062】
なお、ここでは、予め経路探索の範囲内の1以上の道路(リンク)について、予め補正コストを取得するようにしたが、経路探索アルゴリズムにより、各道路(リンク)を辿る際に、道路情報と場所情報とを用いて、各道路(リンク)の重み付け値を取得して、補正コストを算出するようにしても良い。
【0063】
また、重み付け値がない道路(リンク)については、重み付けを行わないようにしても良い。
【0064】
なお、経路探索のアルゴリズム等として、コストが小さくなる経路を探索するものを用いる場合には、重み付け値としては、リンクに対応する場所識別情報数が増加すると、重み付けによって各道路のコストが段階的にあるいは連続的に小さくなるような重み付け値を経路探索部113が取得できるようにすることが好ましい。なお、このことは、場所識別情報数が減少すると、重み付けによって各道路のコストが段階的にあるいは連続的に大きくなるような重み付け値を取得できるようにすることと同じことであるとここでは考える。
【0065】
なお、経路探索部113は、カテゴリー指定情報が示すカテゴリーに属する場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、出発地情報が示す出発地から、目的地情報が示す目的地までの経路を探索するようにしても良い。
【0066】
具体的には、経路探索部113は、上記の補正コストを用いて経路探索を行う処理において、各道路と対応付けられた場所識別情報の数を取得する代わりに、各道路と対応付けられた場所識別情報であって、対応するカテゴリー情報が、カテゴリー指定情報により指定されたカテゴリーを示すカテゴリー情報である場所識別情報の数を取得する。そして、この場所識別情報の数を用いて重み付け値を取得し、取得した重み付け値を用いて補正したコストを用いて経路探索を行う。これにより、カテゴリー指定情報が示すカテゴリーに属する場所情報が多く対応付けられた経路が探索されやすくなるようにして、経路を探索することができる。カテゴリー指定情報により指定されるカテゴリーとは、例えば、カテゴリー指定情報が示す条件を満たすカテゴリーである。例えば、カテゴリー指定情報が、「洋菓子店」というカテゴリーを指定する条件である場合、指定されるカテゴリーは「洋菓子店」となる。また、カテゴリー指定情報が、「洋菓子店」以外というカテゴリーを指定する条件である場合、指定されるカテゴリーは「洋菓子店」以外のカテゴリーとなる。例えば、カテゴリー指定情報が、「洋菓子店」というカテゴリーを指定する条件であれば、経路探索部113は、一のリンクに対応付けられた場所識別情報のうちの、「洋菓子店」というカテゴリー情報と対応付けられた場所識別情報を場所情報において検出し、検出した場所識別情報の数を用いて、この一のリンクについての重み付け値を取得する。
【0067】
また、経路探索部113は、経路に含まれる道路の移動時間を用いて、時間指定受付部111が受け付けた予定時間以内の経路を探索するようにしてもよい。また、経路探索部113は、経路に含まれる道路の移動時間と、道路に対応する場所の利用時間とを用いて、時間指定受付部111が受け付けた予定時間以内の経路を探索するようにしてもよい。例えば、経路探索部113は上記と同様に、道路情報と場所情報とを用いて、場所の識別情報と多く対応付けられた経路が探索されやすくなるようにして経路を探索する。あるいは、道路情報と場所情報とカテゴリー指定情報とを用いて、カテゴリー指定情報が示すカテゴリーに属する場所の識別情報と多く対応付けられた経路が探索されやすくなるようにして経路を探索する。そして更に、経路に含まれる道路の移動時間を用いて、あるいは経路に含まれる道路の移動時間と、これらの道路に対応する場所の利用時間とを用いて、時間指定受付部111が受け付けた予定時間以内の経路を探索する。
【0068】
例えば、まず、経路探索部113は上記と同様の処理により一の経路を候補として探索する。そして探索した経路についての、出発地から目的地までの所要時間を算出する。所要時間は、カテゴリー指定情報を受け付けていない場合、あるいはカテゴリー指定情報を用いない場合には、例えば、経路に含まれる各道路の移動時間の合計と、経路に含まれる各道路に対応する場所の利用時間の合計とを用いて算出される。カテゴリー指定情報を受け付けている場合には、経路に含まれる各道路(リンク)の移動時間の合計と、経路に含まれる各道路(リンク)に対応する場所のうちの、カテゴリー指定情報が示すカテゴリーに属する場所に対応する利用時間の合計とを用いて算出される。ここでの場所は、場所識別情報と考えても良い。そして、所要時間が、時間指定受付部111が受け付けた予定時間以内であれば、この経路の候補を、最終的な経路に決定し、経路情報を取得する。経路が予定時間以内であれば、現在の経路とは異なる経路を更に候補として探索し、同様の処理を、経路が決定されるまで繰り返すことで、経路を探索する。
【0069】
また、経路探索部113が、複数の経路を候補として探索し、複数の経路の候補について、経路探索の際に得られたコストの値が小さいものから順に、上記と同様に、所要時間を算出して、所要時間が予定時間内であるか否かを判断していき、予定時間以内である候補を、最終的な経路に決定しても良い。
【0070】
あるいは、経路探索部113と同様に複数の経路を候補として探索し、これにより得られた複数の経路の候補について、それぞれ、上記と同様に、所要時間を算出して、所要時間が予定時間内であるか否かを判断していき、予定時間以内である候補の全て、あるいは一部を、最終的な経路に決定しても良い。
【0071】
道路(リンク)に対応する場所の利用時間とは、例えば、道路の識別情報(例えばリンク識別情報)と対応付けられた場所識別情報にそれぞれ対応する利用時間である。また、道路に対応する場所の利用時間とは、例えば、道路の識別情報と対応付けられた場所識別情報に対応するカテゴリーに対応する利用時間であってもよい。道路に対応する場所の利用時間は、例えば、利用時間格納部112に格納されている各場所識別情報に対応する利用時間、あるいは、各場所のカテゴリーに対応する利用時間を読み出すことで取得可能である。例えば、一のリンクに対応する場所情報に含まれるカテゴリーが、「衣料品店」であれば、利用時間格納部112にカテゴリー「衣料品店」と対応付けられて格納されている利用時間「15分」が、この場所の利用時間として取得される。なお、経路探索部113は、経路に含まれる各道路(リンク)に対応付けられた場所識別情報について取得可能な全ての利用時間を合計しなくても良い。例えば、予め、カテゴリー別に、利用時間を取得する場所数の上限等を指定しておくようにし、一の経路については、この指定された範囲内の場所数分だけ、場所についての利用時間を取得して合計しても良い。例えば、カテゴリー「レストラン」については、上限を「1」に設定しておくようにして、経路上にカテゴリーが「レストラン」である場所が2以上あったとしても、上限までの数の場所についての利用時間、ここでは、1つの場所についての利用時間しか取得しないようにしても良い。同様に、例えば、カテゴリー「ショッピング」については、上限を「5」に設定しておくようにして、経路上にカテゴリーが「ショッピング」である場所が5以上あったとしても、上限までの数の場所についての利用時間、ここでは、5つの場所についての利用時間しか取得しないようにしても良い。なお、ここでは、一例として、道路に対応する場所の利用時間として、各場所のカテゴリーに対応する利用時間を用いる場合について説明する。
【0072】
なお、予定時間以内の経路を探索する際に経路に含まれる道路の移動時間だけを用いる場合は、場所の利用時間は取得する必要はなく、所要時間として、道路の移動時間の合計を利用すればよい。
【0073】
なお、出発地情報や目的地情報が示す座標が、道路上の座標でない場合、経路探索部113は、例えば、出発地情報や目的地情報が示す座標に対して最も整合性の高い道路(リンク)上の位置や、最も出発地情報や目的地情報が示す座標に近い道路(リンク)上の位置を、経路探索の出発地や目的地に設定してもよい。このような道路上の位置を決定する処理は、マップマッチング等の技術等として公知であるので、ここでは詳細な説明は省略する。また、目的地情報や出発地情報が地名や住所である場合、この地名に対応した座標やノードの識別情報やリンクの識別情報等を経路探索部113が地図情報から取得してもよい。
【0074】
経路探索部113が取得する経路情報は、探索した経路を特定可能な情報であればよい。例えば、経路情報は、経路で通過する一以上の道路や交差点や分岐点を示す情報を、それらの通過順番と対応付けて示した情報である。経路情報は、例えば、経路探索により探索された各経路における、出発地から目的地にたどり着くまでに通過するノードおよびリンクを示す情報(例えば、ノード識別情報やリンク識別情報等)で構成される。また、経路情報は、出発地情報および目的地情報、あるいはこれらの識別情報を更に有していても良い。経路情報は、例えば、出発地情報と、出発地から目的地にたどり着くまでに通過する道路情報(ノードデータやリンクデータ)と、目的地情報とを、通過順番と対応付けて有する情報、もしくはこれらの識別情報を、通過順番と対応付けて有する情報である。通過順番と対応付けて有する情報とは、通過順番を示す番号等の情報を対応付けた情報であっても良いし、通過順番に従って、予め指定されたルール等に従って配列したり蓄積したものであっても良い。例えば、ノード及びリンクの識別情報が、通過順番を示す番号の情報と対応付けて蓄積された情報であっても良いし、ノード及びリンクの識別情報が通過順番に沿った順番に配列されて蓄積された情報であっても良い。また、経路情報は、ノードやリンクの代わりに、経路を、座標等を用いて表される一以上の線分の組合せで示した情報であっても良い。あるいは、経路をスプライン曲線やベジェ曲線で表した情報であっても良い。経路情報について、公知の経路探索技術で得られる経路情報が利用可能である。
【0075】
経路探索部113は、通常、MPUやメモリ等から実現され得る。経路探索部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0076】
重み付け値格納部114には、経路探索部113が各道路(リンク)について取得する場所識別情報の数を示す情報と、この情報と対応付けられた重み付け値とを有する重み付け値管理情報が予め格納される。重み付け値は、経路探索の際に、リンクのコストに対して重み付けを行うために用いられる値である。重み付け値は、例えば、重み付けための係数である。場所識別情報の数を示す情報は、場所識別情報数のカウント値であっても良いし、場所識別情報数の値の範囲を設定する情報であっても良い。経路探索のアルゴリズム等として、コストが小さくなる経路を探索するものを用いる場合には、重み付け値格納部114には、例えば、識別情報の数を示す情報の値が大きいものに対して、同じもしくはより小さい重み付けが行われる重み付け値を対応付けて格納しておく。重み付け値格納部114は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0077】
出力部115は、経路探索部113の探索結果に応じた出力を行う。例えば、出力部115は、経路探索部113が取得した経路情報を出力する。経路情報を出力するとは、経路情報をそのまま他の装置にネットワーク等を介して送信したり、記録媒体等に蓄積したりすることであっても良いし、経路情報が示す経路を示す情報を出力することであっても良い。例えば、経路情報に含まれる各リンクに対応する道路名や、ノードに対応する交差点名等を、経路情報が示す経路の順番に、モニタ等に表示しても良いし、これらの道路名や交差点名等を、音声として出力しても良い。また、この経路情報が示す経路を含む地図図柄情報を地図情報格納部105から読み出して、この地図上の経路情報が示す経路に対応する道路の表示態様を、他の道路に対して識別可能な表示態様とした地図を表示するようにしても良い。例えば、この経路に対応する道路上に予め指定された色等の表示属性を有する線を配置した地図の画像を生成して表示しても良い。また、この経路に対応する道路を予め指定された色で着色した地図の画像を生成してもよい。複数の経路を探索した場合には、経路同士も識別可能な態様で表示することが好ましい。なお、経路情報が示す経路を地図上に表示する技術等は公知の技術であるのでここでは詳細な説明は省略する。
【0078】
また、出力部115は、経路探索部113が探索した経路に対応する場所情報に含まれる場所位置情報を取得し、場所位置情報が示す位置(例えば座標)にアイコンを配置した地図を出力するようにしてもよい。ここで述べるアイコンは、たとえば、画像情報や、文字列で構成される情報である。出力部115は、例えば、経路探索部113が探索した経路に対応する場所情報に含まれる場所識別情報に対応したアイコン、あるいは、場所情報に含まれるカテゴリー情報に対応したアイコンを取得して、同じ場所情報に含まれる場所位置情報が示す位置にアイコンを配置した地図の画像を生成し、出力する。出力部115は、例えば、出力を行う際に、後述するアイコン格納部106に場所識別情報やカテゴリー情報と対応付けて格納されているアイコンを読み出し、このアイコンを配置した地図の画像を生成する。また、場所情報蓄積部108等が、電子文書内の場所についての情報に格納されている(あるいはリンクされている)アイコンを、場所情報を蓄積する際等に取得して、これを場所情報に含めて蓄積するようにし、出力部115が一の場所情報に含まれる場所位置情報が示す位置にアイコンを表示する際には、この場所情報に含まれるアイコンを読み出して地図上に配置するようにしてもよい。なお、出力部115は、場所位置情報に対応する場所識別情報を、そのまま、アイコンとして表示しても良い。また、場所についての画像等を、縮小した画像を、アイコンとして利用してもよい。なお、カテゴリー指定情報を用いて経路探索が行われた場合、出力部115は、カテゴリー指定情報が指定するカテゴリーに対応する場所情報に含まれる場所位置情報が示す位置にだけ、アイコンを配置するようにしてもよい。なお、本実施の形態においては、後述するアイコン格納部116に、カテゴリー情報と対応付けられたアイコンが格納されている場合の例について、説明する。
【0079】
ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部115は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出力部は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0080】
アイコン格納部116には、カテゴリー別のアイコンが格納されている。例えば、アイコン格納部116には、アイコンと、カテゴリー情報とを有するアイコン管理情報が格納されている。アイコンは、例えば画像データである。また、画像データと文字列データを有するデータとを有する、場所を紹介するための情報であっても良い。アイコン格納部116は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0081】
図2は、本実施の形態のナビゲーション装置1の動作の一例を示すフローチャートである。以下、
図2を用いて動作について説明する。
【0082】
(ステップS201)ナビゲーション装置1は、電子文書の表示指示を受け付けたか否かを判断する。表示指示は、例えば、受付部109等が受け付けるようにしても良い。表示指示は、例えば、電子文書を電子文書格納部101にダウンロードする指示等を含んでいても良い。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS209に進む。
【0083】
(ステップS202)電子文書表示部102は、電子文書格納部101に格納されている電子文書を読み出して、図示しないモニタ等に表示する。
【0084】
(ステップS203)場所指定受付部103は、表示されている電子文書について場所指定を受け付けたか否かを判断する。受け付けた場合、ステップS204に進み、受け付けていない場合、ステップS208に進む。
【0085】
(ステップS204)位置情報取得部104は、ステップS203において受け付けた場所指定に応じて、場所識別情報と場所位置情報とを取得する。例えば、場所指定を受け付けるためのボタン等に対応付けられている場所識別情報と場所位置情報とを取得する。
【0086】
(ステップS205)位置情報取得部104は、ステップS203において受け付けた場所指定に応じて、場所についてのカテゴリー情報を取得する。例えば、場所指定を受け付けるためのボタン等に対応付けられているカテゴリー情報を取得する。
【0087】
(ステップS206)位置情報取得部104は、ステップS204で取得した場所位置情報と、地図情報に含まれる道路情報とを用いて、ステップS203で受け付けた場所指定が示す場所に近い道路(リンク)を検出し、検出した道路(リンク)の識別情報を取得する。
【0088】
(ステップS207)場所情報蓄積部108は、ステップS204で取得した場所識別情報と、ステップS206で取得した道路(リンク)の識別情報とを有する場所情報を、場所情報格納部107に蓄積する。ここでは、特に、場所識別情報と道路(リンク)の識別情報に加えて、ステップS204で取得した場所位置情報と、ステップS205で取得したカテゴリー情報とを有する場所情報を蓄積する。
【0089】
(ステップS208)電子文書表示部102は、電子文書の表示を終了するか否かを判断する。例えば、受付部109等が表示を終了する指示を受け付けた場合や、後述するナビゲーション画面の出力指示を受け付けた場合に、表示を終了することを決定する。表示を終了する場合、ステップS201に戻り、終了しない場合はステップS203に戻る。
【0090】
(ステップS209)ナビゲーション装置1は、ナビゲーション画面を出力する指示を受け付けたか否かを判断する。ナビゲーション画面とは、ナビゲーションのための地図を表示する画面や、経路探索のための出発地や目的地の指定を受け付けるための入力画面等を有する画面である。出力する指示は、例えば、受付部109等が受け付けるようにしても良い。出力する指示を受け付けた場合、ステップS210に進み、受け付けていない場合、ステップS201に戻る。
【0091】
(ステップS210)出力部114は、ナビゲーション画面を出力する。ここでの出力は、例えば表示である。
【0092】
(ステップS211)受付部109は、出発地情報と、目的地情報とを受け付けたか否かを判断する。例えば、受付部109は、ユーザが入力した出発地情報や目的地情報を受け付ける。また、出発地情報については、ナビゲーション装置1が有する図示しないGPS受信機が取得した現在位置の情報等を受け付けてもよい。受付部109が出発地情報と目的地情報とを受け付けた場合、ステップS212に進み、受け付けていない場合、ステップS213に進む。
【0093】
(ステップS212)経路探索部113は経路探索を行う。この処理の詳細については後述する。
【0094】
(ステップS213)出力部114は、ナビゲーション画面の出力を終了するか否かを判断する。例えば、受付部109等が出力を終了する指示を受け付けた場合や、上述した電子文書の表示指示を受け付けた場合に、出力を終了することを決定する。出力を終了する場合、ステップS201に戻り、終了しない場合はステップS211に戻る。
【0095】
なお、
図2のフローチャートにおいて、ユーザ等により入力される操作に応じて電子文書を操作する処理(例えば、電子文書の表示するページの移動等の処理)を行うためのステップ等を、ステップS202とステップS203との間等の処理として加えるようにしても良い。
【0096】
なお、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0097】
図3は、ナビゲーション装置1の経路探索処理の例を示すフローチャートである。この処理は、
図2のステップS212の処理の詳細を示すものである。以下、経路探索処理について説明する。
【0098】
(ステップS301)経路探索部113は、経路探索対象となる領域内の道路情報を読み出す。経路探索対象となる領域は、例えば、ユーザが出発地情報と目的地情報とを入力するために表示している地図が示す領域や、この地図を表示するために用いた地図情報が示す領域である。また、読み出す道路情報は、例えば、これらの領域に含まれるリンクデータおよびノードデータである。読み出した道路情報は、メモリ等に一時記憶する。
【0099】
(ステップS302)経路探索部113は、カウンターnに1を代入する。
【0100】
(ステップS303)経路探索部113は、ステップS301で読み出した道路情報内に、m番目のリンク情報があるか否かを判断する。ある場合、ステップS302に進み、ない場合、ステップS303に進む。
【0101】
(ステップS304)経路探索部113は、カテゴリー指定受付部110がカテゴリー指定情報を受け付けたか否かを判断する。カテゴリー指定受付部110は、例えば、受付部109が出発地情報と目的地情報とを受け付ける時点やその前後に、カテゴリー指定情報を受け付け可能とする。受け付けた場合、ステップS305に進み、受け付けていない場合、ステップS306に進む。
【0102】
(ステップS305)経路探索部113は、場所情報格納部107に格納されている場所情報を用いて、n番目のリンクに対応付けられており、かつカテゴリー指定情報が示すカテゴリーと対応付けられている場所識別情報を検出し、その場所識別情報数を取得する。そして、ステップS307に進む。
【0103】
(ステップS306)経路探索部113は、場所情報格納部107に格納されている場所情報を用いて、n番目のリンクに対応付けられている場所識別情報を検出し、その場所識別情報数を取得する。そして、ステップS307に進む。
【0104】
(ステップS307)経路探索部113は、重み付け値格納部114から、ステップS306で取得した場所識別情報数に対応する重み付け値を取得する。
【0105】
(ステップS308)経路探索部113は、取得した重み付け値を、n番目のリンクと対応付けて(具体的には、n番目のリンク識別情報と対応付けて)、図示しない記憶媒体に蓄積する。
【0106】
(ステップS309)経路探索部113は、カウンターnの値を1インクリメントする。そして、ステップS303に戻る。
【0107】
(ステップS310)経路探索部113は、時間指定受付部111が予定時間を受け付けているか否かを判断する。時間指定受付部111は、例えば、受付部109が出発地情報と目的地情報とを受け付ける時点やその前後に、予定時間を受け付け可能とする。受け付けている場合、ステップS311に進み、受け付けていない場合、ステップS3 に進む。
【0108】
(ステップS311)経路探索部113は、ステップS301で読み出したリンクデータおよびノードデータを含む道路データと、ステップS307で取得した重み付け値とを用いて複数の経路探索を行う。具体的には、各リンクに対応するコストに、各リンクに対応した重み付け値を乗算して得られた補正コストを、各リンクのコストとして用いて、ステップS211で受け付けた出発値情報が示す出発地から、目的地情報が示す目的地までの複数の経路の探索を行う。
【0109】
(ステップS312)経路探索部113は、カウンターmに1を代入する。
【0110】
(ステップS313)経路探索部113は、ステップS311で探索した複数経路において、経路全体のコストの小さいものから順に数えてm番目の経路があるか否かを判断する。ある場合、ステップS314に進み、ない場合、ステップS319に進む。
【0111】
(ステップS314)経路探索部113は、m番目の経路について、出発地から目的地までの所要時間を算出する。例えば、カテゴリー指定受付部110がカテゴリー指定情報を受け付けている場合、経路探索部113は、経路に含まれる各リンクに対応する移動時間の合計と、経路に含まれる各リンクに対応する場所識別情報であって、カテゴリー指定情報が示すカテゴリーと対応付けられた場所識別情報が示す場所の利用時間の合計とを合わせた時間を、所要時間として算出する。また、カテゴリー指定情報を受け付けていない場合、経路探索部113は、経路に含まれる各リンクに対応する移動時間の合計と、経路に含まれる各リンクに対応する場所識別情報が示す場所の利用時間の合計とを合わせた時間を、所要時間として算出する。場所識別情報が示す場所の利用時間は、例えば、利用時間格納部112にカテゴリー情報と対応付けて格納されている利用時間から、リンクに対応する各場所識別情報のカテゴリー情報と対応付けられている利用時間を検索することで取得可能である。または、例えば、利用時間格納部112に場所識別情報と対応付けて格納されている利用時間のうちの、リンクに対応する場所識別情報と対応付けられている利用時間を検索することで取得可能である。
【0112】
(ステップS315)経路探索部113は、ステップS314で取得したm番目の経路についての所要時間が、時間指定受付部111が受け付けた予定時間以内であるか否かを判断する。予定時間以内であればステップS316に進み、予定時間を超える場合は、ステップS320に進む。
【0113】
(ステップS316)経路探索部113は、m番目の経路についての経路情報を取得する。そして、ステップS317に進む。
【0114】
(ステップS317)出力部115は、ステップS316で取得した経路情報が示す経路に含まれるリンクに対応する場所識別情報に対応するアイコンと場所位置情報とを取得する。場所識別情報に対応するアイコンとは、例えばアイコン格納部116にカテゴリー情報と対応付けて格納されているアイコンのうちの、リンクに対応する場所識別情報に対応付けられているカテゴリー情報と対応付けられているアイコンである。あるいは、アイコン格納部116に場所識別情報と対応付けて格納されているアイコンのうちの、リンクに対応する場所識別情報に対応付けられているアイコンである。なお、カテゴリー指定受付部110がカテゴリー指定情報を受け付けている場合、上記の場所識別情報および場所位置情報は、カテゴリー指定情報が指定するカテゴリー情報と対応付けられた場所識別情報および場所位置情報であるとする。
【0115】
(ステップS318)出力部115は、ステップS316で取得した経路情報が示す経路と、ステップS317で取得したアイコンを示す地図を出力する。具体的には、出力部115は、出発地と目的地とを含む地図図柄情報を、地図情報格納部105から読み出し、経路情報が示す道路(リンク)上の表示態様を、他の道路と異なる表示態様とした地図であって、ステップS317で取得した場所位置情報が示す位置に、アイコンを配置した地図の画像を生成して出力(例えば表示)する。
【0116】
(ステップS319)経路探索部113は、エラー出力を行う。例えば、所要時間が予定時間以内の経路が探索できなかったことを示す情報を出力する。そして、上位の処理にリターンする。
【0117】
(ステップS320)経路探索部113は、カウンターmの値を1インクリメントする。そして、ステップS313に戻る。
【0118】
(ステップS321)経路探索部113は、ステップS301で読み出したリンクデータおよびノードデータを含む道路データと、ステップS307で取得した重み付け値とを用いて経路探索を行う。具体的には、各リンクに対応するコストに、各リンクに対応した重み付け値を乗算して得られた補正コストを、各リンクのコストとして用いて、ステップS211で受け付けた出発値情報が示す出発地から、目的地情報が示す目的地までの経路の探索を行う。
【0119】
(ステップS322)経路探索部113は、ステップS321による経路探索結果である経路情報を取得する。そして、ステップS317に戻る。
【0120】
なお、
図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0121】
以下、本実施の形態におけるナビゲーション装置1の具体的な動作について説明する。ナビゲーション装置1の概念図は
図4である。ナビゲーション装置1は、ここでは、インターネット等のネットワークを介して、1以上のWEBサーバ500にアクセス可能なものであり、いわゆるWEBブラウザ等と同様の機能を有しているものであるとする。なお、ここでは、一例として、ナビゲーション装置1は入力デバイスとしてタッチパネルを備えているものとする。また、ナビゲーション装置1が歩行者専用の携帯用ナビゲーション装置であるとする。また、ここでは、電子文書が一例としてWEBページである場合を例に挙げて説明する。
【0122】
図5は、地図情報格納部105に格納されている地図図柄情報の一例を示す図である。地図情報格納部105には、例えば、同様の地図図柄情報が複数格納されている。なお、ここでは、一例として、地図図柄情報には、予め、この地図図柄情報の中心位置が示す位置の緯度経度の座標が対応付けられているものとする。地図図柄情報は一つのファイルを構成しており、ここではファイル名が、地図図柄情報の識別情報であるとする。ここでは、
図5に示す地図図柄情報の識別情報は、「M5001」であるとする。
【0123】
図6は、地図情報格納部105に格納されている道路情報のうちのノードデータを管理するノード管理表である。ノード管理表は、各ノードデータの識別情報である「ノードID」と、ノードの示す緯度と経度である「緯度,経度」等の項目を有する。
【0124】
図7は、地図情報格納部105に格納されている道路情報のうちのリンクデータを管理するリンク管理表である。リンク管理表は、各リンクデータの識別情報である「リンクID」と、リンクデータの両端のノードIDである「両端ノード」と、リンクのコストである「コスト」と、「移動時間」と、「図柄ID」等の項目を有する。リンクの「コスト」は、リンクの一以上の道路特性パラメータから決定された値である。ここでは、例えば、コストの値が小さいほど、リンクは、距離が短いと判断されるものとする。ここでは、説明のため、距離を示すコストを用いているが、どのような道路特性についてのコストを用いても良いし、複数のコストを用いるようにしても良い。複数のコストを用いて経路探索を行う処理等は公知である。「移動時間」は、リンクを移動するのに要する時間である。ここでは、ナビゲーション装置1が歩行者専用のものであるため、移動時間は、徒歩でリンクの両端のノード間を移動した場合に要する時間であるとする。「図柄ID」は、リンクデータが示すリンクが配置されている地図図柄情報の識別情報である
【0125】
図8は、
図6および
図7に示したノード管理表およびリンク管理表が管理するノード及びリンクの一部を、
図5に示した地図上に配置した模式図である。
【0126】
例えば、ユーザが、自宅において、電子文書の一つであるWEBページを閲覧するためにタッチパネル等を操作してURL等を入力すると、このURLが示すWEBサーバ500に対して、URLに対応するWEBページの情報(例えばHTMLファイルと、これにリンクされている画像情報等)を要求する情報が送信される。そして、WEBサーバ500が、WEBページの情報をナビゲーション装置1に送信する。ナビゲーション装置1は、WEBサーバ500から送信されるWEBページの情報を受信して電子文書格納部101に蓄積する。そして、電子文書表示部102は、電子文書格納部101に格納されたWEBページの情報を用いて、WEBページをモニタに表示する。
【0127】
図9は、出力部115によるWEBページの表示例を示す図である。このWEBページは、例えば、「レストランABC」という店舗名の店舗についての情報を示すものであったとする。また、このWEBページには、「お気に入りに登録」というボタン91が設けられており、このボタン91には、この店舗の場所を識別する識別情報(場所識別情報)である「レストランABC」と、この店舗の場所を示す位置情報(場所位置情報)である緯度と経度を示す座標(x91,y91)と、この店舗のカテゴリー情報である「レストラン」という情報と、これらの情報を取得するためのスクリプトが、予め対応付けられているものとする。座標は、ここでは緯度と経度の値であるとする。ここでは、場所識別情報として、店舗名を用いたが、場所識別情報は、店舗名以外の情報であっても良い。
【0128】
そして、この店舗に機会があればいってみたいと考えたユーザが、この「お気に入りに登録」ボタン91を、タッチパネルを操作して押したとする。
【0129】
このボタン91が押されると、場所指定受付部103は、この店舗の場所についての場所指定を受け付け、このボタンに対応付けられた上記のスクリプトが実行され、位置情報取得部104が、WEBページの情報に含まれていた場所識別情報「レストランABC」と、場所位置情報(x91,x91)と、カテゴリー情報「レストラン」とを、WEBページから取得する。
【0130】
次に、道路検出部106は、位置情報取得部104が取得した場所位置情報(x91,x91)に近いリンクの検出を行う。例えば、まず、場所位置情報(x91,x91)が示す位置を含む領域を示す地図情報を地図情報格納部105に格納されている地図情報の中から検出する。検出した地図情報が、例えば、
図5に示すような「図柄ID」が「m5001」である地図図柄情報に対応した地図情報であったとする。そして、この地図情報に対応するリンクと、場所位置情報(x91,x91)との距離をそれぞれ算出する。この地図情報に対応するリンクとは、例えば、
図7において「図柄ID」が「m5001」であるリンクである。そして、算出した距離が最も短いリンクを検出し、そのリンク識別情報である「リンクID」を取得する。例えば、ここでは、距離が最も近いリンクの「リンクID」が「L1」であり、この値を取得したとする。
【0131】
場所情報蓄積部108は、道路検出部106が取得した「リンクID」である「L1」と、上記で位置情報取得部104が取得した場所識別情報「レストランABC」と、場所位置情報(x91,x91)と、カテゴリー情報「レストラン」とを対応付けて有する場所情報を、場所情報蓄積部108に蓄積する。
【0132】
同様にして、ユーザが、他のWEBページを閲覧して、いくつかのWEBページに表示される「お気に入りに登録」ボタン91を押したとする。これにより、上記と同様に、いくつかの場所情報が場所情報格納部107に蓄積されたとする。
【0133】
図10は、場所情報格納部107に格納されている場所情報を管理する場所情報管理表を示す図である。場所情報管理表は、「リンクID」、「場所ID」、「位置」、および「カテゴリー」という項目を有している。「リンクID」は、道路検出部106が取得した「リンクID」であり、「場所ID」は、位置情報取得部104が取得した場所位置情報である。「位置」および「カテゴリー」は、位置情報取得部104が取得した場所位置情報およびカテゴリー情報である。場所情報管理表において、各レコード(各行)が、一の場所について取得した各場所情報であるとする。
【0134】
次に、ユーザが、例えば、外出先において、ナビゲーション装置1で経路探索を行うために、ナビゲーション装置1のタッチパネルを操作して、出力部115に現在地の周辺領域の所望の縮尺の地図を表示させたとする。そして、ユーザが、タッチパネルを操作して出発地Sと目的地Pとを、表示されている地図上で指定したとする。ここでは、具体的には、出発地Sと、目的地Pを地図が表示されている画面上でタップしたとすると、このタップされた地点が、それぞれ出発地Sと目的地Pに指定される。タップとは、タッチパネルを軽く叩くことである。なお、予め、GPS受信機等が受信した現在地が出発地Sとして地図上に指定されているようにしても良い。
【0135】
図11は、現在地を中心とした地図において、出発地Sと目的地Pとを指定した状態の表示例を示す図である。この地図は、
図4の地図の一部であるとする。出発地Sおよび目的地Pに指定された箇所には、例えば、予め指定されたマーク81およびマーク82等が表示される。また、
図9に示した地図の画面の下部には、経路探索を開始するための「経路探索開始」ボタン95が配置されているものとする。
【0136】
そして、ユーザが、経路探索開始ボタン95を押したとする。これにより、受付部109は、地図上で指定された出発地Sと目的地Pとを示す出発地情報を取得する。ここでは、例として、受付部109は、地図上で指定された出発地および目的地に最も距離が近いノードの「ノードID」を出発地情報および目的地情報として取得するものとする。ここでは、例として、出発地Sが最も近いノードが、「ノードID」が「N1」であるノードであり、目的地Pが最も近いノードが、「ノードID」が「N7」であるノードあったとすると、出発地情報として「N1」、目的地情報として「N7」をそれぞれ取得する。なお、以下、「ノードID」が「A」(ただし、Aは任意の文字列であるとする)であるノードを、ノード「A」と呼ぶ。なお、出発地情報や目的地情報は、ユーザにより出発地や目的地に指定された位置に相当する道路上の位置を特定可能な情報であればよい。このような道路上の位置を示す情報は、リンクを示すリンク識別情報であっても良いし、道路上の座標であってもよい。なお、この位置の情報はどのように取得しても良い。また、出発地情報や目的地情報として、ユーザの指定した位置の座標を用いるようにして、後述する経路探索部113が経路を探索する際に、出発地情報や目的地情報に相当する道路上の位置や、ノードやリンクを検出して、これらを用いて、経路探索を行うようにしてもよい。
【0137】
続いて、出力部115は、ナビゲーション装置1のモニタに、カテゴリー指定情報と予定時間とを受け付けるための画面を表示する。
【0138】
図12は、出力部115が出力するカテゴリー指定情報と予定時間とを受け付けるための入力画面の一例を示す図である。例えば、図において、カテゴリーの横にあるチェックボックス121にチェックを入れると、チェックされたカテゴリーを指定するカテゴリー指定情報をカテゴリー指定受付部110が受け付けることとなる。ここでは、複数のカテゴリーにチェックが入れられると、複数のカテゴリーをOR条件として指定するカテゴリー指定情報を受け付けるものとする。また、「カテゴリーを指定しない」という文字列に対応したチェックボックス122にチェックを入れると、カテゴリー指定受付部110はカテゴリー指定情報を受け付けないこととなる。また、入力フィールド123に時間を示す数値を入力すると、時間指定受付部111は、入力された時間(ここでは分であるとする)を予定時間として受け付ける。また、「時間を指定しない」という文字列に対応したチェックボックス124にチェックを入れると、時間指定受付部111は予定時間を受け付けないこととなる。
【0139】
ここでは、例として、ユーザが、「カフェ」というカテゴリーと、「スイーツ」というカテゴリーとの横のチェックボックス121にそれぞれチェックを入れ、入力フィールドに「120」分という数値を入力して、「OK」ボタン125を押したとする。この操作によって、カテゴリー指定受付部110は、「カフェ」というカテゴリー情報と、「スイーツ」というカテゴリー情報とをOR条件とするカテゴリー指定情報を受け付ける。受け付けたカテゴリー指定情報は、例えば、図示しない記憶媒体等に一時記憶する。また、時間指定受付部111は、「100」分という予定時間を受け付ける。受け付けた予定時間は、図示しない記憶媒体に一時記憶する。
【0140】
次に、経路探索部113は、経路探索の処理を行う。ここでは、まず、
図7に示したリンク管理表から、現在の地図に表示されている領域内のリンクについてのリンクデータをメモリ等に読み出す。ここでは、「リンクID」が「L1」〜「L8」等のリンクデータが読み出される。同様に、現在の地図に表示されている領域内のノードについてのノードデータを
図6に示したノード管理表からメモリ等に読み出す。なお、目的地を含む地図情報と、出発地を含む地図情報と、その間の地図情報とにそれぞれ対応付けられているノードデータを読み出すようにしてもよい。この場合においては、目的地と出発地を含む地図を示す地図情報に対応付けられているリンクデータ等を読み出してもよい。
【0141】
ここで、経路探索部113は、まず、
図11に示した現在の地図に表示されている領域の各リンクについての重み付け値を取得する処理を行う。
【0142】
経路探索部113は、上記で読み出したリンクデータが示す「リンクID」のうちの一の「リンクID」を取り出す。ここでは、まず、「L1」を取り出したとする。そして、
図10に示した場所情報管理表から、「リンクID」の値が「L1」と一致し、かつ「カテゴリー」の値が、カテゴリー指定情報が示す「カフェ」または「スイーツ」のいずれかであるレコード(即ち場所情報)を検索する。そして、検出したレコードの「場所ID」を、メモリ等の記録媒体に読み出す。例えば、ここでは、「EFGカフェ」や、「OPQスイーツ0」等の「場所ID」が読み出される。
【0143】
そして、経路探索部113は、読み出した「場所ID」の数を取得する。ここでは、「場所ID」の数として「3」が取得されたとする。この値が、リンク「L1」に対応する場所識別情報数である。
【0144】
図13は、重み付け値格納部114に格納されている重み付け値管理情報を示す図である。重み付け値管理情報は、「場所ID数」と、「重み付け値」という項目を有する。「場所ID数」は、経路探索部113が取得する場所識別情報数を示す。「重み付け値」は重み付け値である。
【0145】
次に、経路探索部113は、場所情報管理表を用いて取得した場所識別情報数「3」に対応する重み付け値を、
図13に示した重み付け値格納部114に格納されている重み付け値管理情報を用いて取得する。具体的には、重み付け値管理情報において、「場所ID数」が「3」であるレコードを検出し、検出したレコードの「重み付け値」の値を取得する。ここでは、重み付け値として「0.9」が取得される。
【0146】
そして、経路探索部113は、取得した重み付け値「0.9」を、「リンクID」である「L1」と対応付けて図示しない記憶媒体等に一時記憶する。
【0147】
経路探索部113は、同様にして、メモリに読み出した現在の地図に表示されている他のリンクについても、上記と同様に重み付け値を取得する処理を行う。そして、取得した情報を「リンクID」と対応付けて図示しない記憶媒体値に蓄積する。
【0148】
図14は、経路探索部113が「リンクID」別に取得した重み付け値を管理する取得重み付け値管理表を示す図である。取得重み付け管理表は、「リンクID」と「重み付け値」とを有する。「リンクID」は、
図7の「リンクID」に対応する。「重み付け値」は、各「リンクID」が示すリンクについて取得された重み付け値である。
【0149】
次に経路探索部113は、時間指定受付部111が予定時間を受け付けているか否かを判断する。ここでは、上述したように「100」分という予定時間を受け付けているため、経路探索部113は、上記でリンク管理表から読み出したリンクデータ及びノードデータを用いて、出発地であるノード「N1」から、目的地であるノード「N7」までの複数の経路を探索する。ここでは、例えば、デフォルトで3つの経路を探索する。経路を探索する際には、
図7に示したリンク管理表の各リンクに対応する「コスト」の値を、
図14に示した取得重み付け値管理表の各リンクに対応する「重み付け値」の値で補正した補正コストを、各リンクのコストとして用いて、ダイクストラ法等によりコストが最も小さくなる経路の探索を行う。
【0150】
例えば、リンク「L1」のコストは
図7より「14」であり、リンクID「L1」に対応する「重み付け値」は、
図14より「0.9」であるため、補正コストは、「12.6」となる。また、同様に、リンク「L2」のコストは、
図6より「16」であり、リンクID「L2」に対応する「重み付け値」は、
図11より「0.8」であるため、補正コストは、「12.6」となる。このような補正コストを用いて経路探索を行う。なお、補正コストを用いた経路探索の処理等については公知の技術であるので、ここでは詳細な説明は省略する。
【0151】
図15は、道路情報が示すリンク及びノードと、補正コストとの関係を模式的に示した図である。図において括弧内は各リンクの補正コストを示す。この図に示すように、ノード「N1」からノード「N7」までの経路としては、経路情報が示す経路で利用するリンクの補正コストの合計が、最も小さくなっている。
【0152】
図16は、経路探索部113が探索した3つの経路を示す模式図である。
【0153】
ここでは、経路探索部113による経路検索の結果、
図16に示すように、出発地からリンク「L1」、リンク「L2」、リンク「L5」、リンク「L7」の順にリンクをたどって目的地に到達する経路191と、出発地からリンク「L1」、リンク「L2」、リンク「L6」、リンク「L8」の順にリンクをたどって目的地に到達する経路192と、出発地からリンク「L3」、リンク「L4」、リンク「L5」、リンク「L7」の順にリンクをたどって目的地に到達する経路193とが探索されたとする。経路191、経路192、および経路193の、経路全体の補正コストの合計は、それぞれ、仮に、「37.3」、「38.6」、「42.9」であったとする。
【0154】
次に、経路探索部113は、補正コストの値が最も小さい経路191について、所要時間を算出する。具体的には、経路191に含まれる各リンクに対応する移動時間を、
図17に示したリンク管理表から取得する。例えば、リンク「L1」、リンク「L2」、リンク「L5」、リンク「L7」にそれぞれ対応する移動時間(分)として、「12」、「15」、「7」、「6」を取得する。そしてこれらを合計して、合計移動時間「40」分を取得する。また、経路に含まれるすべてのリンクに対応する場所識別情報のうちの、カテゴリー指定情報が示すカテゴリーに対応する場所識別情報、即ち、カテゴリーが「レストラン」または「ショッピング」である場所識別情報を、
図10に示した場所情報管理表において検出し、それぞれに対応する利用時間の合計を以下のようにして取得する。
【0155】
図17は、利用時間格納部112に格納されている利用時間を管理する利用時間管理表である。利用時間管理表は、「カテゴリー」と「利用時間」という項目を有している。「カテゴリー」は、カテゴリー名である。「利用時間」は、対応するカテゴリーに属する場所の利用時間である。
【0156】
図18は、利用時間を追加する場所識別情報数のカテゴリー別の上限を管理する上限管理表である。上限管理表は、例えば、利用時間格納部112等に格納されている。上限管理表は、「カテゴリー」と「上限数」という項目を有している。「カテゴリー」は、カテゴリー名である。「上限数」は、一の経路において、利用時間の追加対象とすることができる場所識別情報数の上限である。
【0157】
経路探索部113は、カテゴリー指定情報が示すカテゴリーの一つが「カフェ」であるため、
図10に示した場所情報管理表において、経路191に含まれるすべてのリンクに対応するカテゴリーが「カフェ」である場所識別情報(即ち、場所ID)を検出し、その合計数を取得する。合計数は、ここでは、「12」であったとする。次に、このカテゴリー「カフェ」に対応する「上限数」である「3」を、
図18の上限管理表から取得し、経路191から取得したカテゴリーが「カフェ」である場所識別情報数の合計数「12」が上限数を超えたか否かを判断する。ここでは、上限数を超えているため、上限数である「3」を、経路191に含まれるリンクに対応する、カテゴリーが「レストラン」である場所の識別情報の数として取得する。なお、上限数を超えていなければ、経路191に含まれるすべてのリンクに対応するカテゴリーが「カフェ」である場所識別情報の数をそのまま取得する。また、
図17で示した利用時間管理表から、「カテゴリー」が「カフェ」であるレコードの「利用時間」の値「15」を取得する。そして、この値と、上記で取得した場所識別情報数「3」とを乗算して、経路191におけるカテゴリーが「レストラン」である場所の利用時間「45」分を取得する。同様に、経路191について、カテゴリーが「スイーツ」である場所識別情報数を取得し、この場所識別情報数が、カテゴリー「スイーツ」の上限数である「2」を超えたか否かを判断する。ここでは、経路191における場所識別情報数が「8」であったとすると、上限数を超えているため、この上限数「2」を、経路191に含まれるリンクに対応する、カテゴリーが「スイーツ」である場所識別情報の数として取得する。そして、この値に、「カテゴリー」が「スイーツ」であるレコードの「利用時間」の値「10」分を乗算して、経路191におけるカテゴリーが「スイーツ」である場所の利用時間「20」分を取得する。
【0158】
そして、上記で取得した経路191の合計移動時間「40」分と、場所の利用時間である「45」分と、「20」分の合計である「105」分を取得し、この時間が予定時間である「100」分以内であるか否かを判断する。ここでは、予定時間以内でないため、経路探索部113は、この経路を採用しないことを判断する。
【0159】
つぎに、経路探索部113は、コストが2番目に小さい経路192について、同様の処理を行って所要時間を取得する。合計移動時間は、「36」分となる。また、カテゴリーが「カフェ」の場所識別情報数は、上限数を超えており、カテゴリーが「カフェ」の場所の利用時間としては「45」分が取得されたとする。また、カテゴリーが「スイーツ」の場所識別情報数は「1」であり、上限数を超えておらず、カテゴリーが「スイーツ」の場所の利用時間は1×10=10となり、「10」分が取得されたとする。これにより、経路192の所要時間は、「91」分となり、予定時間以内であると判断される。
【0160】
このため、経路探索部113は、この経路192の経路情報を取得する。例えば、経路探索部113は、ノード「N1」、リンク「L1」、ノード「N2」、リンク「L2」、ノード「N4」、リンク「L6」、ノード「N6」、リンク「L8」、ノード「N8」の順番で、リンク及びノードをたどる経路を示す経路情報を取得する。
【0161】
図19は、アイコン格納部116に格納されているアイコンを管理するアイコン管理情報を示す図である。アイコン管理情報は、「カテゴリー」と、「アイコン画像」という項目を有している。「カテゴリー」はカテゴリー情報である。「アイコン画像」は、アイコン画像のファイル名であるとする。
【0162】
出力部115は、
図10に示した場所情報管理表において、経路探索部113が取得した経路192に対応する経路情報が示す経路に含まれるすべてのリンクに対応する場所情報(場所情報管理表のレコード)であって、対応するカテゴリーが、カテゴリー指定情報が指定する「カフェ」または「スイーツ」である場所情報を検出し、検出した各場所情報から、それぞれ、場所識別情報と、場所位置情報と、カテゴリー情報の組を取得する。そして、取得した各組について、カテゴリー情報に対応するアイコン画像を、
図18に示したアイコン管理情報から取得する。例えば、経路192に含まれるリンクであるリンク「L1」に対応する場所情報の一つから、場所識別情報(場所ID)「EFGカフェ」と、場所位置情報(位置)「(x92,y92)」と、カテゴリー情報(カテゴリー)「カフェ」との組が取得される。そして、この組のカテゴリー情報が「カフェ」であるため、アイコン管理情報から「cafe.png」というアイコンの画像ファイルが取得される。また、同じリンク「L1」に対応する場所情報の一つから、場所識別情報(場所ID)「OPQスイーツ」と、場所位置情報(位置)「(x95,y95)」と、カテゴリー情報(カテゴリー)「スイーツ」との組が取得される。そして、この組のカテゴリー情報が「スイーツ」であるため、アイコン管理情報から「sweets.png」というアイコンの画像ファイルが取得される。
【0163】
そして、出力部115は、このようにして各組について取得した画像ファイルが示すアイコンを、各組の場所位置情報が示す位置にそれぞれ配置した地図の画像であって、経路探索部113が取得した経路情報が示すノードおよびリンク上に、予め指定された色の線を配置した地図の画像を生成する。そして、出力部115は、この地図の画像を、経路探索結果としてモニタ等に表示する。
【0164】
図20は、出力部115による経路探索結果の表示例を示す図である。図において、アイコン401は、「cafe.png」に対応するアイコン画像、アイコン402は、「sweets.png」に対応するアイコン画像である。
【0165】
なお、カテゴリー指定受付部110が、カテゴリー指定を受け付けなかった場合においては、経路探索部113は、リンク別の重み付け値を取得する処理において、上記のように、場所情報管理表から、各リンクに対応する場所情報のうちの、「カテゴリー」の値が、カテゴリー指定情報が示すカテゴリーである場所情報を検索する代わりに、単に各リンクに対応する場所情報を検索するようにする。これにより、全てのカテゴリーに属する場所が対応付けられている数に応じた重み付け値を各リンクについて取得可能である。なお、カテゴリー指定受付部110が、カテゴリー指定情報を受け付けないようにするには、例えば、
図12に示したカテゴリー指定情報や予定時間を入力する画面において、「カテゴリーを指定しない」の横のチェックボックス122にチェックを入れて、「OK」ボタン125を押せばよい。
【0166】
また、時間指定受付部111が予定時間を受け付けなかった場合、経路探索部113は、複数の経路を探索せずに、補正コストの合計値が最も小さくなる経路を、予め指定された数の経路を探索して、探索した経路の経路情報を取得すればよい。つまり、上記のように、所要時間に応じて、複数の経路の候補の中から経路を選択しないようにしてよい。
【0167】
以上、本実施の形態によれば、場所指定により指定された場所が多く対応付けられた経路が探索されやすくなるため、ユーザが電子文書の閲覧時に指定した場所を経路探索に反映させることができる。これにより、ユーザにとって意義のある経路を提示することが可能となる。例えば、目的地に到着するまでの経路として、電子文書閲覧時に指定した場所に寄り道する経路を提示することが可能となり、目的地に到達できるとともに、目的地に到達するまでの道中において、ユーザが関心を持った場所等にも訪問可能な経路を提示してやることが可能となる。また、例えば、ユーザが、一度訪れたいと考えて場所を、ブックマーク登録や、お気に入り登録する感覚で電子文書について指定するだけで、これらの場所を通る経路を提案することが可能となるため、操作性に優れており、関心があった場所等をユーザが覚えている必要や、経路探索時に関心があった場所等を指定する必要がなくなる。
【0168】
なお、本実施の形態において、電子文書が示す場所についての場所位置情報として、座標等の代わりに、電子文書が示す場所に近い道路(例えばリンク)の識別情報を用いるようにしても良い。この場合、道路検出部106は、位置情報取得部104が取得した場所位置情報をそのまま、場所指定が示す道路の識別情報として取得すればよい。
【0169】
なお、上記各実施の形態におけるナビゲーション装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、場所についての情報を含む電子文書が格納される電子文書格納部と、地図に関する情報であって、地図が示す道路の識別情報を含む道路に関する情報である道路情報を有する地図情報が格納される地図情報格納部と、場所の識別情報および位置情報と、この場所に近い道路の識別情報と、を有する場所情報が格納される場所情報格納部と、にアクセス可能なコンピュータを、電子文書を表示する電子文書表示部と、電子文書内に示されている場所を指定する操作である場所指定を受け付ける場所指定受付部と、場所指定が示す場所の識別情報と位置情報とを、電子文書に含まれる場所についての情報を用いて取得する位置情報取得部と、位置情報取得部が取得した場所の位置情報と、道路情報とを用いて、場所指定が示す場所に近い道路を検出する道路検出部と、道路検出部が検出した道路の道路識別情報と、道路の検出に用いられた場所の識別情報と、を有する場所情報を、場所情報格納部に蓄積する場所情報蓄積部と、出発地を示す情報である出発地情報と、目的地を示す情報である目的地情報とを受け付ける受付部と、道路情報と場所情報とを用いて、場所の識別情報が多く対応付けられた経路が探索されやすくなるようにして、出発地情報が示す出発地から、目的地情報が示す目的地までの経路を探索する経路探索部と、経路探索部の探索結果に応じた出力を行う出力部として機能させるためのプログラムである。
【0170】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【0171】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0172】
図21は、上記プログラムを実行して、上記実施の形態によるナビゲーション装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【0173】
図21において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
【0174】
図22は、コンピュータシステム900の内部構成を示す図である。
図22において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【0175】
コンピュータシステム900に、上記実施の形態によるナビゲーション装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
【0176】
プログラムは、コンピュータ901に、上記実施の形態によるナビゲーション装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0177】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。