(58)【調査した分野】(Int.Cl.,DB名)
移動した複数の地点の位置情報を含む移動情報と地図情報とに基づいて、所定の手法を用いて経路探索する経路探索手段を有する情報処理装置において実行可能なプログラムであって、
前記情報処理装置を、
前記経路探索手段にて探索される経路上の前記移動した地点間にある地点を、前記移動情報における途中の地点として補完する補完手段と、
前記補完された移動情報に含まれる地点の位置情報に基づき、DTW法を用いて算出される、複数の前記補完された移動情報の、前記補完された移動情報どうしの類似度に基づいて、複数の前記移動情報を比較する比較手段
として機能させるためのプログラム。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0011】
図1は、本発明における類似経路探索システムのシステム構成の一例を示す図である。
【0012】
類似経路探索システム100は、1または複数のクライアント端末101(PC,入出力装置など)、1または複数のデータサーバ102がネットワーク103を介して接続される構成となっている。
【0013】
本実施例では、データサーバ102に蓄積されてテレマティクスデータをクライアント端末101に取り込み、クライアント端末101にて関連処理を実行する構成としているが、データサーバ102にて関連処理を実行し、クライアント端末101はユーザによる操作や入力の受け付け、および、画面表示を実行する構成であってもよい。
【0014】
以下、
図2を用いて、
図1に示したクライアント端末101、データサーバ102に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【0015】
図2は、クライアント端末101、データサーバ102に適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【0016】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0017】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0018】
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、ディスプレイ210等の表示器への表示を制御する。なお、表示器はCRTや、液晶ディスプレイ等の様々な種類が存在する。
【0019】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるCFカードメモリ等の外部メモリ211へのアクセスを制御する。
【0020】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したインターネット104)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0021】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0022】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
【0023】
以上で
図2のハードウェア構成図の説明を終了する。
【0024】
次に、
図3を用いて、本発明の実施形態である類似経路探索システム100の機能ブロック図について説明する。
【0025】
データサーバ102は、テレマティクスデータ記憶部321を備えている。
【0026】
テレマティクスデータ記憶部321は、対象の移動体から逐次送信されてくるテレマティクスデータ、または、一時的にメモリ等に記憶されアップロードされるテレマティクスデータを格納するデータベースである。
【0027】
クライアント端末101は、テレマティクスデータ取得部311、経路補完部312、類似経路検出部313、類似経路表示部314を備えている。
【0028】
テレマティクスデータ取得部311は、データサーバ102からテレマティクスデータを取得する。経路補完部312は、取得したテレマティクスデータを基に経路データを抽出し、抽出された経路データの地点データ間を補完する。類似経路検出部313は、補完された経路データを基に類似経路を検出する。類似経路表示部314は、検出された類似経路の情報を表示する。
【0029】
以上で
図3の機能ブロック図の説明を終了する。
【0030】
ここで、
図10を参照して、本実施例で取り扱う地理的前提について説明する。
図10は本実施例で取り扱う地図情報であり、線で道路を表し(1003)、丸印で地点を表す(1001、1002)。黒丸1001は訪問地点等のテレマティクスデータを取得可能な地点(サンプリング地点)を表し、白丸1002はサンプリング地点間を補完する地点を表す。ここで補完する地点は、交差点に設定しているが、道路上の任意の地点を設定してもよい。各地点は、x座標、y座標で表すが、経度、緯度で表してもよい。
【0031】
以下、本実施形態における類似経路探索システム100の処理の流れを説明する。
【0032】
図4は、類似経路探索システム100における、類似経路探索処理の一例を示すフローチャートである。各処理ステップは、クライアント端末101のCPU201が実行する。
【0033】
本処理は、不図示のメニュー画面において、ユーザより「類似経路探索」ボタンが押下されることによって開始する。
【0034】
ステップS101では、テレマティクスデータの取得を行う。テレマティクスデータは、データサーバ102のテレマティクスデータ記憶部321より取得する。
【0035】
ステップS102では、テレマティクスデータを経路に分割する。経路分割処理については
図5で詳述する。ここでは、
図8(a)のテレマティクスデータ(
図8(a))および、地点データ(
図8(b))を入力として、経路データ(
図8(c))を出力する。
【0036】
ステップS103では、経路データの補完を行う。経路補完処理については、
図6で詳述する。ここでは、経路データ(
図8(c))を入力として、経路補完データ(
図9(d))および、出力地点データ(
図9(e))を出力する。
【0037】
ステップS104では、類似経路の探索を行う。類似経路探索処理については、
図7で詳述する。ここでは、経路補完データ(
図9(d))および、出力地点データ(
図9(e))を元に、DTW値計算結果(
図9(f))を出力し、DTW値計算結果が閾値よりも小さいものを、類似経路として保持する。
【0038】
ステップS105では、類似経路の表示を行う。出力結果は
図11、
図12で詳述する。
【0039】
以上で、
図4の類似経路探索処理の説明を終了する。
【0040】
ここで、
図8、
図9を参照して、上記に記述した本実施例で使用するデータについて説明する。
【0041】
図8(a)にテレマティクスデータの一例を示す。
【0042】
テレマティクスデータ800は、車両が拠点または訪問した地点ごとに取得したデータであり、車台番号801、地点番号802、到着時刻803、出発時刻804、到着順序805を持つ。車台番号801は使用した車両を識別する英数字列である。地点番号802は訪問または通過した地点を表し、地点データ810の地点番号811に対応する。到着時刻803、出発時刻804は車両がその地点に対して到着、出発した時刻を表す。到着順序805は車両がその地点に到着した順序を表す。
【0043】
図8(b)に地点データの一例を示す。
【0044】
地点データ810は、テレマティクスデータに含まれる拠点または訪問した地点のデータを格納し、地点番号811、座標X812、座標Y813を持つ。地点番号811は地点を一意に表す英数字列である。座標X812、座標Y813は地点の位置を二次元座標で表したものであり、経度、緯度等でもよい。
【0045】
図8(c)に経路データの一例を示す。
【0046】
経路データ820は、テレマティクスデータ800を基に分割した経路のデータであり、テレマティクスデータの項目(801〜805が821〜825に対応)に加え、経路番号826を持つ。経路番号826は、経路を識別する文字列であり、経路番号826ごとに到着順序825を新たに採番する。また、地点番号902は出力地点データ910の地点番号911に対応する。
【0047】
図9(d)に経路補完データの一例を示す。
【0048】
経路補完データ900は、経路データ820に対して地点を補完した経路データであり、項目は経路データ820と同じである(821〜826が901〜906に対応)。
【0049】
図9(e)に出力地点データの一例を示す。
【0050】
出力地点データ910は、地点データ810にある地点に補完した地点のデータを加えた地点データであり、項目は地点データ810と同じである(811〜813が911〜913に対応)。出力地点データ910には経路補完データ900に含まれる地点のデータが登録されるが、事前に地図情報等から地点データを抽出して登録しておいてもよい。
【0051】
図9(f)にDTW値計算結果の一例を示す。
【0052】
DTW値計算結果920は、2つの経路の間のDTW値(類似度)の計算結果データであり、2つの経路番号921と922、DTW値923を持つ。2つの経路番号921と922は、DTW値の計算対象となって経路の組合せを表し、DTW値923は計算されたDTW値を表す。
【0053】
以上で本実施例で使用するデータの説明を終了する。
【0054】
図5では、
図4のステップS102で記述した、テレマティクスデータの経路分割処理について詳述する。テレマティクスデータは、拠点から出発し、訪問地点を回り、拠点に到着するというデータを1または複数回連続して保持している。本処理では、この、拠点から出発し、訪問地点を回り、拠点に到着するまでを一つの経路として認識するための番号を付与する。
【0055】
ステップS201では、ステップS202,S203,S204,S205,S206,S207,S208の各処理に対し、ループ処理を行う。ループは車台番号ごとに行う。例えば、
図8(a)に示されるテレマティクスデータの場合、車台番号Aおよび車台番号Bに対してループを行う。
【0056】
ステップS202では、空の経路を作成する。
【0057】
ステップS203では、ステップS204,S205,S206,S207,S208の各処理に対し、ループ処理を行う。ループは各レコードに対して行う。例えば、ステップS201で車台番号Aのループが行われている場合、
図8(a)に示すテレマティクスデータの1レコード目から8レコード目までのループ処理を行う。
【0058】
ステップS204では、処理中のレコードに対し、拠点の到着判定を行う。拠点の到着判定は地点により行う。例えば、
図8(a)のテレマティクスデータの1レコード目から8レコード目では、1レコード目が出発拠点となるため、地点番号が同一である4レコード目および8レコード目が到着と判定される。
【0059】
ステップS205では、ステップS204で判定された結果により条件分岐を行う。拠点到着と判定された場合はS206を行い、拠点到着と判定されなかった場合はS208を行う。例えば、
図8(a)のテレマティクスデータの1レコード目から9レコード目では、4レコード目と9レコード目を処理中にはS206を行い、それ以外の場合はS208を行う。以下、処理順の都合からS208から説明を記述する。
【0060】
ステップS208では、ステップS202で作成した経路に対して、現在のレコードを追加する。例えば、
図8(a)のテレマティクスデータの1レコード目では、空の経路は1レコード目のみの経路となり、2レコード目では、1レコード目と2レコード目からなる経路となる。
【0061】
ステップS206では、これまでのステップで作成した経路を経路データとして保存する。この際、現在のレコードを到着レコードとして経路データに追加した上で保存する。例えば、
図8(a)のテレマティクスデータの4レコード目では、これまでのステップで作成した1レコード目から3レコード目までのデータからなる経路データに、出発時刻を空として到着レコードとした4レコード目を追加し、経路番号A−1として保存する。
【0062】
ステップS207では、次の経路として、空の経路を作成する。また、この後に行われるステップS208においては、現在のレコードを、到着時刻を空とした出発レコードして追加する。例えば、
図8(a)の4レコード目では、ステップS207およびS208により、到着時刻を空としたレコードのみからなる経路が作成される。
【0063】
ステップS209は、ステップS203からの繰り返し処理の終端である。
【0064】
ステップS210は、ステップS201からの繰り返し処理の終端である。
【0065】
以上で、ステップS102の経路分割処理の説明を終了する。
【0066】
図6では、
図4のステップS103で記述した、経路補完処理について詳述する。
【0067】
ステップS301では、ステップS302,S303,S304,S305の各処理に対し、ループ処理を行う。ループ処理は経路番号ごとに行う。例えば、
図8(c)に示す経路データに対してループ処理を行う場合、経路番号A−1,A−2,B−1に対してループ処理を行う。
【0068】
ステップS302ではステップS303,S304の各処理に対し、ループ処理を行う。ループ処理は経路に含まれるレコードごとに行い、最終レコードの一つ手前のレコードまでループ処理を行う。例えば、
図8(c)の経路データのA−1に対してループ処理を行っている場合、1レコード目から3レコード目に対してループ処理を行う。
【0069】
ステップS303では、処理中のレコードから次のレコードまでの間の経路探索を行う。例えば、
図8(c)の経路データの1レコード目を処理中の場合、2レコード目までの経路、すなわち、地点番号1から地点番号2までの間の経路探索を行う。2地点間の間の経路探索の手法は多数研究されており、標準的な解決手法を用いることにより、経路の発見を実現することができる。
【0070】
ステップS304では、探索した経路を元の経路に追加する。これにより例えば
図8(c)の1レコード目を処理中の場合、
図9(c)の経路補完データにおける2レコード目が補完経路として追加される。この補完地点は、経路上に存在する交差点情報ごとに作成することで、経路を一意に表現する。また、対応する地点番号を
図9(e)の出力地点データに追加する。
【0071】
ステップS305は、ステップS302からの繰り返し処理の終端である。
【0072】
ステップS306では、補完経路を保存する。これにより、例えば、
図8(c)の経路データにおける、経路番号A−1のレコード群から、
図9(d)の経路補完データにおける、1レコード目から8レコード目までのデータが保存される。
【0073】
ステップS307は、ステップS301からの繰り返し処理の終端である。
【0074】
以上で、ステップS103の経路補完処理の説明を終了する。
【0075】
図7では、
図4のステップS104で記述した、類似経路探索処理について詳述する。
【0076】
ステップS401では、ステップS402の処理についてループ処理を行う。ループ処理は、すべての経路番号の組合せに対して行う。例えば、
図9(d)の経路補完データの場合、経路番号A−1とA−2、A−1とB−1、A−2とB−1に対してループ処理を行う。
【0077】
ステップS402では、DTW法を用いてDTW値の計算を行う。DTW法は2つの時系列波形の時間および周期の差異を調整して波形どうしの類似度(値が小さいほど類似性が高い)を求めるために考案された手法であり、DTW法を経路データに適用すれば、2つの経路の地点の出発時刻や到着時刻、移動速度の差異を調整して経路どうしの乖離度を算出することができる。例えば、経路番号A−1とA−2の組に対するループの場合、標準的なDTW法を実施することで、当該経路の組に対するDTW値(類似度)を得ることができる。また、DTW法以外に、地図上に描かれた経路に対し二次元形状の類似度を算出する諸手法を適用してもよく、経路どうしの類似度を算出できる方法であればよい。
【0078】
ステップS401とS402により経路番号の組合せに対するDTW値を得ることができる。
図9(f)に一例を示す。
【0079】
ステップS403は、ステップS401からの繰り返し処理の終端である。
【0080】
ステップS404では、DTW値が基準値以下となっている経路番号の組を抽出する。例えば、
図9(f)において、基準値が15となっている場合、経路番号A−2とB−1の組のみが類似経路として抽出される。
【0081】
以上で、ステップS104の類似経路探索処理の説明を終了する。
【0082】
図11、
図12を参照して、
図4のステップS105で記述した、類似経路の出力方法について詳述する。
【0083】
図11は経路表示画面の一例を示す画面イメージである。
【0084】
経路表示画面1100は、類似経路探索の対象となった経路の一覧を表示する。例えば、経路番号A−1,A−2,B−1の経路を、経路番号ごとに色分け、または、線の形状を変える等して出力する。また、テレマティクスデータの地点と補完された地点を色分け、または、マークを変える等して表示する。
【0085】
経路表示画面1100では、補完なしの全経路表示欄1101と、補完ありの全経路表示欄1102を表示する。補完なしの全経路表示欄1101には地図上で訪問地点を直線で結んだ経路を表示し、補完ありの全経路表示欄1102にはステップS304にて追加された補完地点も含む経路を表示する。類似経路探索結果ボタン1103を押下することにより、
図12の類似経路探索結果画面に遷移する。
【0086】
図12は類似経路探索結果画面の一例を示す画面イメージである。
【0087】
類似経路探索結果画面1200は、ステップS404で抽出された類似経路の情報を表示する。
【0088】
類似経路探索結果画面1200では、経路表示欄1201と、経路情報表示欄1202を表示する。経路表示欄1201には類似経路に対する地図上の経路を表示し、経路情報表示欄1202には類似経路に関する各種情報を表示する。経路表示欄1201に表示する経路については、補完有無切替ボタン1203を押下することにより、前述の補完なしの経路表示および補完ありの経路表示を切り替える。また、抽出された類似経路が複数ある場合は、前後ボタン1204を押下することにより別の類似経路の情報を表示する。なお、ステップS404にて抽出された類似経路だけでなく、前後ボタン1204を押下することにより全経路の情報を類似度の順に表示するようにしてもよい。経路表示ボタン1205を押下することにより、
図11の経路表示画面に遷移する。
【0089】
図13を参照して、
図4のステップS103で記述した、経路の補完により、類似経路が精度よく抽出されることを説明する。
【0090】
1301では、地点1,2,4,5,1の順序で走行する実線の経路(本実施例の経路A−1)と、地点1,3,5,1の順序で走行する破線の経路(本実施例の経路B−1)を表している。1301において、実線の経路と破線の経路は大きく差異が見られ、そのままDTW値等の類似度を算出するとその値が大きくなること(類似性が低いと判断)が予想される。
【0091】
1302では、1301のそれぞれの経路の地点間を補完した経路を表している。1302における実線の経路と破線の経路では、共通部分が多く、類似度は小さくなること(類似性が高いと判断)が期待される。
【0092】
上記により、訪問地点のデータが少ない場合や、訪問地点が異なる経路であっても、類似する経路を精度よく検出できることができるようになる。
【0093】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0094】
また、本発明におけるプログラムは、各図に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各図の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各図の各装置の処理方法ごとのプログラムであってもよい。
【0095】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0096】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0097】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0098】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0099】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0100】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0101】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0102】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。