【実施例1】
【0015】
A.システム構成:
図2は、案内情報提供システムの構成を示す説明図である。案内情報提供システムは、端末100とサーバ200とをネットワークNEで接続して構成される。端末100としては、カーナビゲーション装置、パーソナルコンピュータ、携帯電話、PND(Personal Navigation Device)などを用いることができる。端末100およびサーバ200は、それぞれCPU、RAM、ROMを備えたコンピュータである。本実施例では、図示する各機能を実現するコンピュータプログラムをインストールすることによって、ソフトウェア的にシステムを構成するものとした。
実施例では、端末100とサーバ200とからなる構成としたが、図示する機能を単体で備えスタンドアロンで稼働する構成としてもよいし、更に多くのコンピュータからなる分散システムとして構成してもよい。
【0016】
サーバ200は、地図データベース記憶部210、送受信部201、およびデータベース管理部202を備えている。
送受信部201は、端末100とネットワークNEを介した通信を行う。
データベース管理部202は、端末100から要求された地図情報を、地図データベース記憶部210から読み出す。地図データベース記憶部210には、地物データ211、文字データ212、およびネットワークデータ213が格納されている。
地図データベース記憶部210は、道路や建物など地図に描画すべき地物のポリゴンデータおよび到着地点などを記憶している。到着地点とは、地物に対して、経路探索で使用する仮の案内地点を与える情報である。地物によっては、複数の到着地点が設定されていることもある。また地図データベース記憶部210は、到着地点とともに、該到着地点から地物までの通行関連情報を記憶している。地物データ211の内容については後述する。
文字データ212は、地図上に表示される文字を記憶している。
ネットワークデータ213は、道路網をノード、リンクのつながりで表したデータである。
【0017】
なお、本実施例において、地物データ211は、到着地点とともに、該到着地点から地物までの通行関連情報が記憶されているが、到着地点および通行関連情報は地物データ211とは別に記憶されていても良い。つまり、地図データベース記憶部210には、地物データ211、文字データ212、ネットワークデータ213、と並列に、到着地点のデータおよび通行関連情報を到着地点データベースとして格納する形式としてもよい。各地物データ211には、
図3に示した到着地点(1)、(2)などのデータに代えて、到着地点データベース内の到着地点および通行関連情報へのリンク、またはリレーションを格納することになる。
かかる形式をとることによって、複数の地物で共通の到着地点、通行関連情報を用いる場合、これらのデータの重複を回避することができ、データ容量を抑制することができる。
【0018】
端末100には、主制御部101の下で稼働する種々の機能ブロックが構成されている。
送受信部102は、サーバ200とのネットワークNEを介した通信を行う。
コマンド入力部103は、端末100の操作を通じて、経路探索の出発地、目的地の指定など、ユーザからの指示を入力する。
センサ入力部104は、経路案内等に使用する種々の情報をセンサから入力する。入力対象となる情報としては、例えば、GPS(Global Positioning System)で検出される現在位置、移動距離を検出するためのジャイロセンサ、速度センサの入力などが挙げられる。現在の道路幅を検出するためレーザ計測装置などを含めても良い。
地図データベース記憶部105は、サーバ200から提供された各データを格納する。
サーバ200が備える地図データベースの全体を格納してもよいし、経路探索や地図表示に必要となる部分のみを、その都度、サーバ200から取得し格納してもよい。
経路探索部107は、地図データベース記憶部105を参照して、経路探索を行う。到着地点設定部107Aは、目的地として指定された地物に対応する複数の到着地点のうち、経路探索に用いるものを設定する。経路探索部107、到着地点設定部107Aをサーバ200側の機能として備えても良い。この態様は、端末100の処理能力が比較的低い場合に有用である。
経路案内部106は、地図データベース記憶部105を用いた地図および探索結果に基づいて、探索された経路を案内するとともに、ユーザが目的地に到達する案内として有用な種々の情報(以下、「案内情報」ということもある)を端末100のディスプレイに表示する。移動距離算出部106Aは、センサ入力部104からの入力に従って、ユーザが到着地点から移動した距離である移動距離を算出する。間違い判定部106Bは、算出された移動距離や道幅などを用いて、ユーザが経路を間違えているか否かを判定する。この判定結果は、案内情報の一つとしてユーザに提供される。
【0019】
B.データ構造:
図3は地物データの内容例を示す説明図である。地物データ211は、建物、道路等の地物を描画するためのポリゴンデータ、名称、形状、代表点、出入り口線、到着地点などを格納している。図中に、「○○ビル」なる建物を例にとって地物データの内容を示した。名称は、地物の名称またはポリゴンに固有のIDである。形状は、地物のポリゴンの頂点P1、P2…Pnを示す座標の列である。代表点は、地物の位置を表す地点CGの座標である。出入口線は、地物と道路とを関連づけるための情報である。図の例では、玄関から道路に出るための線分[WP10,WP11]、裏口からの線分[WP20,WP21]が出入口線として登録される。WP10等は、それぞれ点の座標値を表す。出入口線は、建物や駐車場など、出入りを伴う地物に設定されるものであり、地物の全てに設定する必要はない。
【0020】
到着地点は、地物の出入口線の道路上の端点から、いずれかの道路を経てたどりつけるネットワーク上の点である。図の例では、ネットワークデータとしてリンクL1、L2が設定されているから、建物の出入口線[WP10,WP11]からは、点線の経路PS1を経て到達できるリンクL1上の点CP1を到着地点とすることができる。到着地点(1)の「CP1→WP11」は、到着地点CP1の座標を与えるとともに、この到着地点からは出入口線[WP10,WP11]に向かうのが好ましいことを表している。また、出入口線[WP20,WP21]からは、破線の経路PS2をたどって到達できるリンクL
2上の点CP2を到着地点とすることができるから、到着地点(2)として「CP2→WP21」という情報が記憶されている。このように到着地点を設定することにより、「○○ビル」が目的地として設定された時には、道路ネットワーク上の到着地点CP1、CP2を仮想目的地として経路探索を行うことが可能となる。
【0021】
各到着地点には、経路探索時の到着地点の選択、および到着地点から地物までの経路(破線PS1、PS2)の案内等に活用できる通行関連情報として、道のり、道幅、道しるべ、通行困難性情報、安全性情報、景観情報などが記憶されている。「道のり」は、当該経路に沿った距離を表している。「道幅」は、当該経路の最小道幅および最大道幅である。「道しるべ」は、当該経路をたどる際の道しるべとして活用できる情報であり、例えば、経路に沿った建物数、右左折数、交差点数、右左折地点の座標、右左折地点の目印などとすることができる。「通行困難性」は、当該経路について屋根、階段、坂の有無、凍結しやすさ、夜間の街灯の有無、日照の状態、時間帯規制等を含む通行規制の有無などとすることができる。「安全性」としては、例えば、犯罪や事故の発生率などとすることができる。「景観」としては、町並みや景色などの状況などとすることができる。
【0022】
C.経路探索処理:
以下、経路探索処理の内容を説明する。本実施例では、この処理は、端末100のCPUが実行するが、サーバ200のCPUで実行させてもよい。
図4は、経路案内処理のフローチャートである。経路案内部106、経路探索部107の機能に相当する処理である。
処理を開始するとCPUは、出発地、目的地の指定を入力する(ステップS20)。出発地、目的地の指定はユーザが出発地、目的地に対応する地物の指定を行っても良いし、出発地の指定はGPSで検出される現在位置を用いても良い。次にCPUは到着地点設定処理を行う(ステップS30)。この処理は、CPUが地物データを参照し、出発地、目的地として指定された地物に対応づけられている到着地点を取得し、経路探索に用いる到着地点を選択する処理である。具体的な処理内容については後述する。
経路探索に用いる到着地点が設定されると、CPUは、地図データ記憶部105を参照し、この到着地点を仮想出発地、仮想目的地として経路探索を行う(ステップS50)。
次に、CPUは到着地点案内処理を実行する(ステップS60)。到着地点案内処理とは通常の経路案内のことであり、具体的には、CPUが、探索された仮想出発地から仮想目的地までの経路をユーザに提示するとともに、現在位置に応じて、進行方向などの音声案内を行う処理である。処理内容は周知であるため、詳細な説明を省略する。
ユーザが到着地点に到達した後は、CPUが次の手順で目的地までの案内を行う。
CPUは、センサ入力部104からユーザの現在位置を取得し、端末100へ表示する(ステップS90)。次に、CPUは到達した到着地点からの移動距離を算出する(ステップS92)。移動距離は、到達した到着地点の位置からGPSによる現在位置までの移動軌跡から求めても良いし、ジャイロ、速度センサなどの入力に基づいて算出してもよい。次にCPUは、求めた移動距離などを用いて間違い判定処理を行う(ステップS100)。間違い判定処理とは、ユーザの現在位置が、到着地点から目的地に向かう経路から外れているか否かをCPUが判定する処理である。具体的な処理内容については後述する。
次に、CPUは、通行案内および通行関連情報を端末100に出力する(ステップS120)。
CPUは、ステップS100の間違い判定の結果、正しい経路を進んでいると仮定した場合に、通行案内として現在位置から目的地までの残存距離を出力できる。この残存距離は、到着地点から目的地までの道のりを地物データから取得し、「道のり−移動距離」を計算すればよい。CPUは、ステップS120において、残存距離が所定値以下になった場合に、目的地付近であることを報知してもよい。この報知は、残存距離が正値の時にのみ行うようにしてもよいし、残存距離が負値の場合も含めて絶対値が所定値以下の時に行うようにしてもよい。
通行関連情報としては、地物データに記憶された道しるべを用いることができる。安全性情報や景観情報を併せて提示してもよい。
CPUは、以上の処理を、目的地に到着するまで(ステップS122)、繰り返し実行して、経路案内処理を終了する。
【0023】
図5は、到着地点設定処理のフローチャートである。
図4のステップS30に相当する処理であり、到着地点設定部107Aの機能に相当する処理である。
到着地点設定処理では、CPUは、目的地に対応する到着地点を地物データから読み込む(ステップS31)。次にCPUは、到着地点の選択条件を端末100へ表示し、ユーザはこの表示された到着地点選択条件を入力する(ステップS32)。図中には、移動手段が車か徒歩か、坂道を回避するか否か、安全性の高い道を選択するか否か、景観を優先するかなどの条件を例示した。この他に、雨の日などに向けて屋根がある道を優先する設定や、夏の日差しを避けるため日照状態を考慮するなど、地物データに記憶されている通行困難性情報、安全性情報、景観情報を用いて判定可能な種々の条件を設定することができる。選択条件は、経路探索の都度、ユーザが指定してもよいし、予め設定しておくものとしてもよい。
CPUは、上述の選択条件に適合する到着地点を選択する(ステップS33)。図中に選択の様子を示した。目的地の地物には、到着地点(1)〜(3)が設定されているとする。ユーザが、移動手段として「車」を選択している場合には、階段がある経路は通行し得ない。CPUは、到着地点に「階段あり」と記録されている場合、移動手段のうち車、車椅子および自転車等が通行不能であると判定する。従って、通行関連情報として「階段あり」と登録されている到着地点(1)は候補から除外されることになる。また、CPUは、ユーザが安全性を考慮する指定をしている場合には、残った候補の到着地点(2)、(3)について、安全性評価値を比較する。安全性評価値は、例えば、照明の有無、凍結のしやすさなど、通行の安全性に関する要素に対し、各項目に点数を与え、その点数の重み加算値などで求めることができる。
こうして選択条件に応じた到着地点を設定して(ステップS34)、CPUはこの処理を完了する。なお、上述の各選択条件を考慮しても、いずれか一つの到着地点を選択できない場合には、ユーザに選択させるようにしてもよい。
【0024】
図6は、間違い判定処理の概要(1)を示す説明図である。間違い判定処理は、
図4のステップS100に相当する処理であり、間違い判定部106Bの機能に相当する処理である。
到着地点から目的地に向かうまでの道路には、リンクが整備されていないから、経路探索によって経路が得られている訳ではない。CPUは、地物データに記憶されている道のりなどの情報、およびユーザの移動距離などの情報を用いて、ユーザが到着地点から目的地までの経路を間違えているか否かを判断するのである。
図の目的地CG(ハッチングを付した建物)に向かう場合に、経路探索の結果により到着地点1に案内された場合を考える。目的地に向かうためには、矢印A、Bの経路をたどる必要がある。地物データには、この経路をたどった場合の「道のり」が記憶されている。ところが、ユーザは、右折すべき点TPを間違えて矢印C方向に進んでしまったものとする。本実施例では、CPUは次の条件が満たされる時に経路を間違えていると判定する。
現在位置PCから目的地CGまでの直線距離DP>道のりー移動距離;
直線距離DPは、ユーザの現在位置PCに応じて変化する。CPUは所定の時間間隔で現在位置PCを測定し、その都度、目的地CGまでの直線距離DPを算出する。しかし、正しい経路を進んでいる場合には、「道のり−移動距離」は、0に向かって単調減少するはずであり、この値が直線距離DPよりも小さくなることはあり得ない。従って、CPUは上式が成り立つ時はユーザが経路を誤っていると判定することができる。
本実施例では、別の判定条件も用いる。
別の例として、到着地点2に案内された場合を考える。目的地に向かうためには、破線の経路Dを通る必要がある。ところが、ユーザは、矢印Eのように進み、現在位置PDにいるものとする。
到着地点2は、破線の経路Dについて最小道幅から最大道幅までの範囲が記憶されている。CPUは、現在位置PDの道路RDの道幅が、この範囲から外れている時には、到着地点から目的地までの経路を誤っていると判定することができる。道路RDの道幅は、例えば、現在位置PDに対応する地図データの道路ポリゴンから求める方法、道路ポリゴンに属性として登録されている道幅情報または車線情報を用いる方法、現在位置PDでレーザ計測を使用して求める方法などによって得ることができる。
次に、具体的な処理内容を説明する。
【0025】
図7は、間違い判定処理の概要(2)を示す説明図である。間違い判定処理は、
図4のステップS100に相当する処理であり、間違い判定部106Bの機能に相当する処理である。
図7(a)は、到着地点から目的地までの道幅情報のデータ例を示す。道幅情報は、到着地点からの移動距離(道のり)に応じて記憶されている。この例では、到着地点から目的地までの経路の道幅は、移動距離が0〜100mでは4m、100〜200mでは3m、200〜220mでは3mから2mに徐々に狭くなり、220〜300mでは2m、300〜400mでは4m、400〜500mでは5mとなっている。
道幅を用いた間違い判定処理は、移動中の各地点の道幅と、
図7(a)に示した道幅情報との比較によって間違いの有無を判定する。例えば、到着地点から150m移動した地点での判定処理を図の例に従って説明する。図示する通り、移動距離150mの地点では、道幅情報Wiによれば、本来の道幅は3mとなるはずである。これに対し、ユーザがいる地点で現実に推定または測定された道幅が、点W1で示される値であった場合は、本来の道幅から誤差Th範囲内であるため、経路案内部106はユーザのいる位置は間違っていないと判断する。一方、推定または測定された道幅が点W2の値であった場合には、誤差Thを超えるため、経路案内部106は経路を間違っていると判定するのである。誤差Thは、道幅を推定または測定する精度を考慮して、任意に設定可能である。
【0026】
上述の道幅情報Wiは、実際には
図7(b)、
図7(c)に示すようなテーブル形式で格納されることになる。
図7(b)は、
図7(a)に示した道幅情報Wiの値が変化する点を捉えて、移動距離と道幅とを対応づけて記憶したテーブルである。移動距離100mにおける道幅「4,3」という表記は、100mの地点で、道幅が4mから3mに変化していることを表している。この形式では、道幅情報Wiを比較的少ないデータ量で正確に表すことができる利点がある。
図7(c)は、所定の移動距離ごと(この例では50m)に道幅情報Wiを記録したテーブルである。100m地点における道幅「4,3」の表記の意味は
図7(b)と同じである。この形式では、200m〜220mのように、道幅が所定距離(50m)よりも短い区間で変化するとき、それを正確に表すことができない。しかし、所定距離ごとにデータが記憶されているため、
図7(c)における移動距離は省略することができ、単に道幅の情報のみを羅列した数列「4,4,(4,3)。3,3,2,…」という形式で簡易なーブルを作成できる利点がある。また、道幅による間違い判定を、所定距離(50m)ごとに行うものとすれば、
図7(c)のテーブルを補間等するまでなく道幅情報Wiを得ることが可能となるため、処理が簡略化できる利点もある。
【0027】
図8は、間違い判定処理のフローチャートである。CPUは、目的地に対応する地物データを参照して、目的地から到着地点の経路に対応する道のりL、道幅情報を取得する(ステップS101)。次に、CPUは到着地点から現在位置までの移動距離Mを取得する(ステップS102)。また、CPUは現在位置に基づき、道幅Wを推定する(ステップS103)。道幅の推定方法は、
図6で説明したいずれの方法を用いても良い。
次に、CPUは、「|道幅W−道幅情報Wi|<Th」の条件を判定し、現在位置に対応する道幅Wがこの条件を満たしていない時は、ユーザが到着地点から目的地までの経路を誤って進行していると判断する(ステップS104)。この判定は、
図7で説明した間違い判定処理に相当する。ステップS104の判定処理に代えて、「最小道幅≦道幅W≦最大道幅」という条件を用いても良い。現在の道幅Wが、到着地点から目的地までの道幅の最小値、最大値で決まる範囲を超える場合には、経路を間違えていると判断できるからである。この態様では、
図7(a)に示したように移動距離に応じた道幅を記憶する必要はなく、道幅の最小値、最大値を記憶するだけで済むため、データ量を抑制でき、間違い判定も簡略化できる利点がある。
また、CPUは、上記条件を満たしている場合には、目的地から現在位置までの直線距離DPを算出し(ステップS105)、「直線距離DP>道のりL−移動距離M」の条件を判定する。CPUは、この条件を満たす場合には、ユーザが到着地点から目的地までの経路を誤って進行していると判断する(ステップS106)。
CPUは、ステップS104またはステップS106で経路を誤って進行していると判断した場合には、ユーザに間違いを報知して(ステップS107)、間違い判定処理を完了する。間違いの報知は、警告を端末100の画面表示、音声出力などの方法をとることができる。
ユーザが経路を間違っていない場合、CPUは案内情報を提示する(ステップS108)。この案内情報は、道のりLおよび移動距離Mに応じた内容とすることが好ましい。例えば、道のりLと移動距離Mを並列で表示してもよいし、「道のりL−移動距離M」で求められる残りの道のりを表示するようにしてもよい。
また、残りの道のりが、所定値よりも小さくなった場合に、「目的地付近です」のように目的地が近いことを報知してもよい。
【0028】
D.効果および変形例:
以上で説明した実施例の案内情報提供システムによれば、到着地点から目的地までの経路について、道のりなどの有用な案内情報を提示することができる。
また、間違い判定(
図6,7)を行うことにより、経路を誤ったことをユーザに知らせることができ、経路案内の利便性を向上させることができる。
【0029】
本発明は、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。