(57)【要約】【課題】測位データから特定される移動方向に対応する走行データを検索すること。【解決手段】情報処理装置１０１は、測位データ１３０を取得する。情報処理装置１０１は、取得した測位データ１３０に基づいて、測位データ１３０が示す複数の位置のうちのいずれか二つの位置から特定される移動方向ＤＲの基準方向に対する角度を示す角度情報を算出する。情報処理装置１０１は、測位データ１３０が示す位置と角度情報とに基づいて、記憶部１１０から測位データ１３０に対応する走行データを検索する。【選択図】図１
2018115885.tif 000002
【特許請求の範囲】
【請求項１】
車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部と、
測位された位置の時系列変化を示す測位データを取得し、取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、前記記憶部から前記測位データに対応する走行データを検索する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記測位データが示す複数の位置のうちの第１の位置を含む所定の範囲内に車両の位置が含まれる走行データを前記記憶部から抽出し、
前記測位データが示す複数の位置のうちの前記第１の位置よりも前に測位された第２の位置から前記第１の位置に向かうベクトルの基準方向に対する角度を示す情報に基づいて、抽出した前記走行データの中から、前記測位データに対応する走行データを検索する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記測位データは、衛星測位システムを用いて測位された位置の時系列変化を示す測位データであり、
前記制御部は、
前記ベクトルの大きさが、前記衛星測位システムを用いて測位される位置に含まれる所定の測位誤差より大きい場合に、前記ベクトルの基準方向に対する角度を示す情報に基づいて、抽出した前記走行データの中から、前記測位データに対応する走行データを検索する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記ベクトルの基準方向に対する角度に基づいて、所定の角度範囲を設定し、
抽出した前記走行データの中から、当該走行データが示す複数の位置のうちの第３の位置よりも前に測位された第４の位置から前記第３の位置に向かうベクトルの基準方向に対する角度が前記所定の角度範囲内となる走行データを検索する、ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記第１の位置は、前記測位データが示す複数の位置のうちの最新の位置であり、
前記第２の位置は、前記測位データが示す複数の位置のうちの前記第１の位置の直前に測位された位置であり、
前記第３の位置は、前記走行データが示す複数の位置のうちの最新の位置であり、
前記第４の位置は、前記走行データが示す複数の位置のうちの前記第３の位置の直前に測位された位置である、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１の位置は、前記測位データが示す複数の位置のうちの最新の位置であり、
前記第２の位置は、前記測位データが示す複数の位置のうちの最古の位置であり、
前記第３の位置は、前記走行データが示す複数の位置のうちの最新の位置であり、
前記第４の位置は、前記走行データが示す複数の位置のうちの最古の位置である、ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記記憶部は、さらに、前記走行データと、前記車両の位置に対応する道路を示す道路データとを対応付けて記憶しており、
前記制御部は、
検索した前記走行データと前記測位データとの類似度を算出し、
算出した前記類似度に基づいて、前記測位データが示す位置に対応する道路を特定する、ことを特徴とする請求項１〜６のいずれか一つに記載の情報処理装置。
【請求項８】
測位する機能を有する端末装置と、
前記端末装置によって測位された位置の時系列変化を示す測位データを取得し、取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する情報処理装置と、
を含むことを特徴とする情報処理システム。
【請求項９】
コンピュータが、
測位された位置の時系列変化を示す測位データを取得し、
取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する、
処理を実行することを特徴とする情報処理方法。
【請求項１０】
コンピュータに、
測位された位置の時系列変化を示す測位データを取得し、
取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する、
処理を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、車両に搭載されたＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサにより測位された緯度・経度データをもとに、車両が存在した道路を特定するマップマッチングと呼ばれる技術がある。また、各地の道路状況を分析するために、大量の車両の緯度・経度データをサーバに集約して、バッチ処理等により集約した緯度・経度データに対するマップマッチングを一括して行うことがある。
【０００３】
先行技術としては、例えば、自動車のＧＰＳ位置を市街地図の道路又は交差点に一致させるためのマップマッチングを行って最終的な現在位置を決定し、決定した現在位置に基づいて、市街地図画像上の決定現在位置上に自車マークを重ねて表示するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−４１７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、マップマッチングを行う際に、ＧＰＳ等の衛星測位システムを用いて測位された測位データと照らし合わせて類似度合い等を判断する走行データの数が多くなり、車両が存在した道路を特定する処理に時間や負荷がかかる場合がある。車両が存在した道路を特定する処理に時間や負荷がかかると、リアルタイム性のあるマップマッチングを行うことが困難である。
【０００６】
一つの側面では、本発明は、測位データから特定される移動方向に対応する走行データを検索することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、測位された位置の時系列変化を示す測位データを取得し、取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する情報処理装置が提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、測位データから特定される移動方向に対応する走行データを検索することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【図２】図２は、情報処理システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、端末装置Ｔのハードウェア構成例を示すブロック図である。
【図５】図５は、高精度ＭＭ結果ＤＢ２２０の記憶内容の一例を示す説明図である。
【図６】図６は、測位データＤの具体例を示す説明図である。
【図７】図７は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、ベクトルＶの大きさｒと測位誤差Ｅとの関係を示す説明図である。
【図９】図９は、走行データｄの検索例を示す説明図である。
【図１０】図１０は、マップマッチングデータ１０００の具体例を示す説明図である。
【図１１】図１１は、情報処理装置１０１の事前処理手順の一例を示すフローチャートである。
【図１２】図１２は、情報処理装置１０１のリアルタイム処理手順の一例を示すフローチャートである。
【図１３】図１３は、範囲検索処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１４】図１４は、範囲検索処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図１５】図１５は、範囲検索処理の具体的処理手順の一例を示すフローチャート（その３）である。
【図１６】図１６は、類似検索処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態）
図１は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図１において、情報処理装置１０１は、記憶部１１０を有し、測位された位置の時系列変化を示す測位データに対応する走行データを検索するコンピュータである。
【００１２】
測位データは、例えば、衛星測位システムを用いて測位された位置の時系列変化を示す情報である。衛星測位システムは、複数の衛星（測位衛星）からの電波（信号）によって位置を測位するシステムである。衛星測位システムとしては、例えば、ＧＰＳや準天頂衛星システムなどがある。
【００１３】
また、走行データは、車両の位置の時系列変化を示す情報である。車両は、道路上を走行する普通自動車、軽自動車、バス、トラック、バイクなどである。例えば、走行データは、衛星測位システムを用いて測位された車両の位置を示す測位データ（緯度経度データ）に対して、誤差を除く補正処理（高精度処理）を施したものである。
【００１４】
誤差は、時々刻々と変化する複数の衛星の位置や、マルチパス、電離層、対流圏等の影響により生じる測位誤差である。すなわち、補正後の位置は、例えば、複数の衛星の位置に左右されるＤＯＰ（Ｄｉｌｕｔｉｏｎ  ｏｆ  Ｐｒｅｓｉｓｉｏｎ）による誤差の偏りを考慮して、マルチパス、電離層、対流圏等の影響により生じる誤差を除くための補正処理が施された高精度な位置である。なお、衛星測位システムを用いて測位された位置から誤差を除く手法としては、既存のいかなる手法を用いることにしてもよい。
【００１５】
ここで、道路上を走行する様々な車両にＧＰＳセンサを搭載し、ＧＰＳセンサにより取得された測位データをサーバに集約してマップマッチングを行うことで、各地の道路状況をリアルタイムに特定して交通情報に反映させることが考えられる。マップマッチング（ＭＭ：Ｍａｐ  Ｍａｔｃｈｉｎｇ）は、ＧＰＳ等の測位データをもとに、車両が存在した道路を特定する処理である。
【００１６】
大量の車両の測位データ（緯度経度データ）を用いてマップマッチング処理する方法として、類似検索を利用した処理が考えられる。この処理の場合、リアルタイムでのマップマッチング処理が可能となる処理速度を実現しつつ、高精度で車両の存在した道路を特定することが可能である。
【００１７】
なお、類似検索とは、被検索対象の値と検索対象のキーの完全一致検索ではなく、検索対象から被検索対象に近しい値を検索するものである。類似検索の一例としては、ユークリッド距離を使用して検索対象の数値と被検索対象の数値との距離を計算し、最も近い距離の被検索対象を取得するものがある。
【００１８】
ところが、類似検索を利用したマップマッチング処理において、範囲検索によって絞り込まれる候補レコードの数が多くなると、類似度計算（例えば、距離計算）に時間や負荷がかかる。例えば、範囲検索によって測位データに対応する走行データを検索する際に、測位データとは移動方向が大きく異なる走行データまで検索されてしまうことがある。全処理時間中に最もコストが大きくなる傾向がある類似度計算に時間や負荷がかかると、一定台数以上の車両のリアルタイム処理が困難なものとなる。
【００１９】
なお、範囲検索とは、例えば、ある検索範囲を設定し、道路上を走行する車両の位置を示す走行データ群の中から、検索範囲内に車両の位置が含まれる走行データを検索するものである。検索範囲としては、測位データが示すいずれかの位置（例えば、最新の位置）を含む範囲が設定される。
【００２０】
そこで、本実施の形態では、「事前処理」において走行データの移動方向をあらわす角度情報を求めておき、「リアルタイム処理」において測位データの移動方向をあらわす角度情報から類似検索に用いる走行データを絞り込む情報処理方法について説明する。以下、情報処理装置１０１の処理例について説明する。
【００２１】
・事前処理
情報処理装置１０１は、車両の位置の時系列変化を示す走行データに基づいて、当該走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向ｄｒの基準方向に対する角度を示す角度情報を事前に求める。上述したように、走行データは、衛星測位システムを用いて測位された車両の位置を示す測位データに対して、誤差を除く補正処理（高精度処理）を施したものである。
【００２２】
より詳細に説明すると、走行データは、例えば、衛星測位システムを用いて所定の時間間隔で測位した複数の測位点それぞれの補正後の位置（緯度経度）を示す配列データ（点列）である。また、移動方向ｄｒは、走行データが示す複数の位置のうちのいずれかの位置（以下、「第４の位置」という）から他の位置（以下、「第３の位置」という）に向かうベクトルｖによってあらわすことができる。
【００２３】
ただし、第４の位置は、第３の位置よりも前に測位された位置である。第３の位置は、例えば、走行データが示す複数の位置のうちの最新の位置である。また、第４の位置は、例えば、走行データが示す複数の位置のうち、第３の位置の直前に測位された位置であってもよく、あるいは、最古の位置であってもよい。基準方向は、任意に設定可能であり、例えば、真北の方向に設定される。
【００２４】
図１の例では、走行データ１２０について、点ｂから点ａに向かうベクトルｖbaと、点ｃから点ａに向かうベクトルｖcaとが示されている。点ａは、走行データ１２０が示す複数の位置のうちの最新の位置を示す。点ｂは、走行データ１２０が示す複数の位置のうちの点ａの直前に測位された位置を示す。点ｃは、走行データ１２０が示す複数の位置のうちの最古の位置を示す。すなわち、点ａは、第３の位置に相当し、点ｂ，ｃは、第４の位置に相当する。
【００２５】
ここで、ベクトルｖbaは、時間的に連続する２点間をつなぐベクトルであり、走行データ１２０が示す局所的な移動方向ｄｒをあらわすベクトルであるといえる。一方、ベクトルｖcaは、時間的に最も離れた２点間をつなぐベクトルであり、走行データ１２０が示す大域的（全体的）な移動方向ｄｒをあらわすベクトルであるといえる。
【００２６】
また、図１の例では、基準方向が「真北の方向」に設定されている。このため、ベクトルｖbaの基準方向に対する角度は、ベクトルｖbaと点ｂを通る真北の方向の軸とがなす角度θbaとなる。また、ベクトルｖcaの基準方向に対する角度は、ベクトルｖcaと点ｃを通る真北の方向の軸とがなす角度θcaとなる。
【００２７】
そして、情報処理装置１０１は、各走行データと、各走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向ｄｒの基準方向に対する角度を示す角度情報とを対応付けて記憶部１１０に記憶する。図１の例では、走行データ１２０と、角度θbaおよび角度θcaを示す角度情報とが対応付けて記憶部１１０に記憶される。
【００２８】
これにより、走行データ１２０が示す局所的な移動方向ｄｒをあらわすベクトルｖbaの基準方向に対する角度θbaと、走行データ１２０が示す大域的な移動方向ｄｒをあらわすベクトルｖcaの基準方向に対する角度θcaとを、走行データ１２０に対応付けて記憶部１１０に登録しておくことができる。
【００２９】
・リアルタイム処理
情報処理装置１０１は、測位データ１３０を取得する。ここで、測位データ１３０は、測位された位置の時系列変化を示す情報であり、例えば、衛星測位システムを用いて所定の時間間隔で測位された複数の測位点それぞれの位置を示す配列データ（点列）である。具体的には、例えば、情報処理装置１０１は、車両に搭載された端末装置（例えば、後述の図２に示す端末装置Ｔ）から、衛星測位システムを用いて測位された位置の時系列変化を示す測位データ１３０を取得する。
【００３０】
つぎに、情報処理装置１０１は、取得した測位データ１３０に基づいて、角度情報を算出する。ここで、角度情報は、測位データ１３０が示す複数の位置のうちのいずれか二つの位置から特定される移動方向ＤＲの基準方向に対する角度を示す情報である。移動方向ＤＲは、測位データ１３０が示す複数の位置のうちのいずれかの位置（以下、「第２の位置」という）から他の位置（以下、「第１の位置」という）に向かうベクトルＶによってあらわすことができる。
【００３１】
ただし、第２の位置は、第１の位置よりも前に測位された位置である。第１の位置は、例えば、測位データ１３０が示す複数の位置のうちの最新の位置である。また、第２の位置は、例えば、測位データ１３０が示す複数の位置のうち、第１の位置の直前に測位された位置であってもよく、あるいは、最古の位置であってもよい。
【００３２】
図１の例では、点Ｂから点Ａに向かうベクトルＶBAと、点Ｃから点Ａに向かうベクトルＶCAとが示されている。点Ａは、測位データ１３０が示す複数の位置のうちの最新の位置を示す。点Ｂは、測位データ１３０が示す複数の位置のうちの点Ａの直前に測位された位置を示す。点Ｃは、測位データ１３０が示す複数の位置のうちの最古の位置を示す。すなわち、点Ａは、第１の位置に相当し、点Ｂ，Ｃは、第２の位置に相当する。
【００３３】
ここで、ベクトルＶBAは、時間的に連続する２点間をつなぐベクトルであり、測位データ１３０が示す局所的な移動方向ＤＲをあらわすベクトルであるといえる。一方、ベクトルＶCAは、時間的に最も離れた２点間をつなぐベクトルであり、測位データ１３０が示す大域的（全体的）な移動方向ＤＲをあらわすベクトルであるといえる。
【００３４】
また、図１の例では、基準方向が「真北の方向」に設定されている。このため、ベクトルＶBAの基準方向に対する角度は、ベクトルＶBAと点Ｂを通る真北の方向の軸とがなす角度θBAとなる。また、ベクトルＶCAの基準方向に対する角度は、ベクトルＶCAと点Ｃを通る真北の方向の軸とがなす角度θCAとなる。
【００３５】
つぎに、情報処理装置１０１は、測位データ１３０が示す位置と角度情報とに基づいて、記憶部１１０から測位データ１３０に対応する走行データを検索する。具体的には、例えば、まず、情報処理装置１０１は、測位データ１３０が示す位置に基づく範囲検索を行うことにより、記憶部１１０から走行データを抽出する。そして、情報処理装置１０１は、算出した角度情報に基づいて、範囲検索によって得られた走行データの中から、測位データ１３０に対応する走行データを検索する。
【００３６】
図１の例では、まず、情報処理装置１０１は、ベクトルＶBAの基準方向に対する角度θBAに基づいて、角度範囲１４０を設定する。より具体的には、例えば、情報処理装置１０１は、「θBA−θ’BA≦θ≦θBA＋θ’BA」を角度範囲１４０に設定することにしてもよい。θ’BAは、任意に設定可能であり、例えば、４５°程度の値に設定される。
【００３７】
この場合、情報処理装置１０１は、範囲検索によって得られた走行データの中から、ベクトルｖbaの基準方向に対する角度θbaが角度範囲１４０内となる走行データを検索する。これにより、測位データ１３０と局所的な移動方向が類似する走行データを検索することができる。
【００３８】
一例として、測位データ１３０のθBAを「θBA＝４５°」とし、角度範囲１４０を「０°≦θ≦９０°」とする。また、範囲検索によって得られた走行データの中に走行データ１２０が含まれ、かつ、走行データ１２０のθbaを「θba＝６０°」とする。この場合、走行データ１２０のθbaが角度範囲１４０内となるため、走行データ１２０が検索されることになる。
【００３９】
また、情報処理装置１０１は、ベクトルＶCAの基準方向に対する角度θCAに基づいて、角度範囲１５０を設定する。より具体的には、例えば、情報処理装置１０１は、「θCA−θ’CA≦θ≦θCA＋θ’CA」を角度範囲１５０に設定することにしてもよい。θ’CAは、任意に設定可能であり、例えば、１０°程度の値に設定される。
【００４０】
この場合、情報処理装置１０１は、範囲検索によって得られた走行データの中から、ベクトルｖcaの基準方向に対する角度θcaが角度範囲１５０内となる走行データを検索する。これにより、測位データ１３０と大域的な移動方向が類似する走行データを検索することができる。
【００４１】
一例として、測位データ１３０のθCAを「θCA＝９５°」とし、角度範囲１５０を「９０°≦θ≦１００°」とする。また、範囲検索によって得られた走行データの中に走行データ１２０が含まれ、かつ、走行データ１２０のθcaを「θca＝１２０°」とする。この場合、走行データ１２０のθcaが角度範囲１５０外となるため、走行データ１２０は検索されないことになる。
【００４２】
なお、情報処理装置１０１は、角度θbaが角度範囲１４０内となる走行データ、または、角度θcaが角度範囲１５０内となる走行データのいずれかを検索することにしてもよい。また、情報処理装置１０１は、角度θbaが角度範囲１４０内となり、かつ、角度θcaが角度範囲１５０内となる走行データを検索することにしてもよい。
【００４３】
このように、情報処理装置１０１によれば、測位データ１３０が示す複数の位置のうちのいずれか二つの位置から特定される移動方向ＤＲに対応する走行データを検索することができる。具体的には、例えば、情報処理装置１０１によれば、局所的な移動方向や大域的な移動方向が測位データ１３０と類似する走行データを検索することができる。そして、情報処理装置１０１によれば、検索した走行データを用いて類似検索を行うことにより、測位データ１３０が示す位置に対応する道路を特定することができる（マップマッチング）。
【００４４】
この際、測位データ１３０とは移動方向が大きく異なる走行データが排除されている。すなわち、車両の走行行動（どの方向に移動したか）に応じて、類似検索で選ばれることのない無駄な走行データが予め排除されている。このため、全処理時間中に最もコストが大きくなる傾向がある類似度計算にかかる時間や負荷を削減することができ、リアルタイムに処理できる車両台数を増加させることができる。
【００４５】
なお、情報処理装置１０１によって検索された走行データを用いて測位データ１３０が示す位置に対応する道路を特定する処理は、情報処理装置１０１とは異なるコンピュータで実行させることにしてもよい。また、上述した説明では、測位データ１３０として、衛星測位システムを用いて測位された位置を示す情報を例に挙げて説明したが、これに限らない。例えば、各地に点在する無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のアクセスポイントを利用して測位された位置を示す測位データを用いることにしてもよい。また、上述した説明では、道路上を走行する車両にＧＰＳセンサ等を搭載する場合について説明したが、これに限らない。例えば、空中に設けられる道路上を航行するドローン（無人航空機）にＧＰＳセンサ等を搭載して測位データを得ることにしてもよい。
【００４６】
（情報処理システム２００のシステム構成例）
つぎに、実施の形態にかかる情報処理システム２００の構成例について説明する。以下の説明では、衛星測位システムとして、ＧＰＳを例に挙げて説明する。
【００４７】
図２は、情報処理システム２００のシステム構成例を示す説明図である。図２において、情報処理システム２００は、情報処理装置１０１と、複数の端末装置Ｔと、を含む構成である。情報処理システム２００において、情報処理装置１０１および複数の端末装置Ｔは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、インターネット、移動体通信網、ＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００４８】
情報処理装置１０１は、高精度ＭＭ結果ＤＢ（Ｄａｔａｂａｓｅ）２２０を有し、ＧＰＳを用いて測位された車両Ｃｒ（端末装置Ｔ）の位置に対応する道路を特定する。ＧＰＳは、複数の衛星Ｓ（図２では、１つのみ表示）からの電波によって位置を測位する衛星測位システムの一例である。車両Ｃｒは、移動体の一例であり、例えば、普通自動車、軽自動車、バス、トラック、バイクなどである。
【００４９】
高精度ＭＭ結果ＤＢ２２０は、例えば、図１に示した記憶部１１０に対応する。高精度ＭＭ結果ＤＢ２２０の記憶内容については、図５を用いて後述する。
【００５０】
端末装置Ｔは、車両Ｃｒに搭載され、複数の衛星Ｓを含むＧＰＳを用いて自装置（車両Ｃｒ）の位置を測位するコンピュータである。具体的には、例えば、端末装置Ｔは、ある時間間隔（例えば、１０秒間隔）で測位した車両Ｃｒの位置の時系列変化を示す測位データＤを、定期的（例えば、５分間隔）に情報処理装置１０１に送信する。
【００５１】
端末装置Ｔは、例えば、デジタルタコグラフに適用されてもよい。また、端末装置Ｔは、例えば、カーナビゲーションシステム、スマートフォン、タブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などによって実現されることにしてもよい。
【００５２】
（情報処理装置１０１のハードウェア構成例）
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００５３】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００５４】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示した端末装置Ｔ）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５５】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５６】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。
【００５７】
（端末装置Ｔのハードウェア構成例）
図４は、端末装置Ｔのハードウェア構成例を示すブロック図である。図４において、端末装置Ｔは、ＣＰＵ４０１と、メモリ４０２と、Ｉ／Ｆ４０３と、ＧＰＳセンサ４０４と、を有する。また、各構成部は、バス４００によってそれぞれ接続される。
【００５８】
ここで、ＣＰＵ４０１は、端末装置Ｔの全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。
【００５９】
Ｉ／Ｆ４０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、情報処理装置１０１）に接続される。そして、Ｉ／Ｆ４０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。
【００６０】
ＧＰＳセンサ４０４は、ＧＰＳの衛星Ｓ（図２参照）からの電波を受信し、自装置（車両Ｃｒ）の位置を示す測位データを出力する。測位データは、例えば、緯度、経度などの地球上の１点を特定する情報である。なお、端末装置Ｔは、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、ＳＳＤ、入力装置、ディスプレイ等を有することにしてもよい。
【００６１】
（高精度ＭＭ結果ＤＢ２２０の記憶内容）
つぎに、情報処理装置１０１が有する高精度ＭＭ結果ＤＢ２２０の記憶内容について説明する。高精度ＭＭ結果ＤＢ２２０は、例えば、図３に示した情報処理装置１０１のメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００６２】
図５は、高精度ＭＭ結果ＤＢ２２０の記憶内容の一例を示す説明図である。図５において、高精度ＭＭ結果ＤＢ２２０は、データＩＤ、最新点座標／角度、走行データおよび道路データのフィールドを有し、各フィールドに情報を設定することで、高精度ＭＭ結果（例えば、高精度ＭＭ結果５００−１〜５００−３）がレコードとして記憶される。
【００６３】
ここで、データＩＤは、走行データを一意に識別する識別子である。最新点座標／角度のうちの最新点座標は、走行データに含まれるＮ点の測位点ｐ1〜ｐNのうちの最新の測位点ｐNの座標（緯度経度データ）である。以下の説明では、測位点ｐNの「Ｎ」を「Ｎ＝３０」として説明する場合がある。
【００６４】
最新点座標／角度のうちの角度は、走行データの局所的角度（後述する「局所的角度θba」）と大域的角度（後述する「大域的角度θca」）とを示す。局所的角度は、走行データが示す局所的な移動方向をあらわすベクトルの基準方向に対する角度である。大域的角度は、走行データが示す大域的（全体的）な移動方向をあらわすベクトルの基準方向に対する角度である。
【００６５】
走行データは、道路上を走行した車両Ｃｒの位置の時系列変化を示す緯度経度データ配列である。具体的には、例えば、走行データは、ＧＰＳを用いて所定の時間間隔（例えば、１０秒間隔）で測位された３０点の測位点ｐ1〜ｐ30の座標（車両Ｃｒの位置を示す緯度経度データ）を時系列に並べたものである。ただし、走行データが示す各測位点ｐ1〜ｐ30の座標は、例えば、時々刻々と変化する複数の衛星Ｓの位置や、マルチパス、電離層、対流圏等の影響により生じる誤差を除く補正処理（高精度ＭＭ処理）が施された補正後の車両Ｃｒの位置を示す緯度経度データである。
【００６６】
道路データは、走行データ（緯度経度データ配列）に含まれる各測位点ｐ1〜ｐ30の座標に対応する道路を示す道路ＩＤ配列である。具体的には、例えば、道路データは、３０点（Ｎ＝３０）の各測位点ｐ1〜ｐ30の座標に対応する道路を識別する道路ＩＤを時系列に並べたものである。また、各測位点ｐ1〜ｐ30の座標に対応する道路は、測位点ｐ1〜ｐ30に対してマップマッチングを行って特定された道路である。
【００６７】
以下の説明では、任意の走行データを「走行データｄ」と表記し、走行データｄに対応する道路データを「道路データｓｔ」と表記する場合がある。
【００６８】
（測位データＤの具体例）
つぎに、端末装置Ｔから情報処理装置１０１に定期的（例えば、５分間隔）に送信される測位データＤの具体例について説明する。
【００６９】
図６は、測位データＤの具体例を示す説明図である。図６において、測位データＤは、ＧＰＳを用いて１０秒間隔で測位されたＮ点（ここでは、Ｎ＝３０）の測位点ｑ1〜ｑ30の座標（緯度，経度）を時系列に示す情報であり、位置情報６００−１〜６００−３０を含む。なお、測位データＤが何点の測位点を含むかは任意に設定可能である。
【００７０】
各位置情報６００−１〜６００−３０は、点ＩＤと測位時刻と座標と欠損フラグとを対応付けて示す情報である。点ＩＤは、測位点ｑを識別する識別子である。測位時刻は、測位点ｑの位置が測位された日時である。座標は、測位点ｑの位置を示す座標（緯度，経度）である。
【００７１】
欠損フラグは、衛星Ｓからの電波を受信できないなどの不具合により測位できなかった測位点ｑを判別するフラグである。ここでは、欠損フラグ「１」は、車両Ｃｒの位置が測位できたことを示す。一方、欠損フラグ「０」は、車両Ｃｒの位置が測位できなかったことを示す。欠損フラグ「０」の場合には、測位点ｑの座標には（０，０）が設定される。
【００７２】
なお、測位データＤには、例えば、車両Ｃｒまたは車両Ｃｒに搭載された端末装置Ｔを識別する識別情報が含まれていてもよい。測位データＤは、例えば、図１に示した測位データ１３０に相当する。
【００７３】
（情報処理装置１０１の機能的構成例）
図７は、情報処理装置１０１の機能的構成例を示すブロック図である。図７において、情報処理装置１０１は、取得部７０１と、算出部７０２と、抽出部７０３と、検索部７０４と、特定部７０５と、出力部７０６と、を含む構成である。取得部７０１〜出力部７０６は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００７４】
＜事前処理＞
まず、事前処理にかかる各機能部について説明する。事前処理は、後述するリアルタイム処理よりも前に実行される処理である。
【００７５】
取得部７０１は、走行データｄと、当該走行データｄに対応する道路データｓｔとを取得する。ここで、走行データｄは、道路上を走行した車両Ｃｒの位置の時系列変化を示す緯度経度データ配列であり、例えば、ＧＰＳを用いて所定の時間間隔で測位された３０点（Ｎ＝３０）の測位点ｐ1〜ｐ30の座標を時系列に並べたものである。ただし、走行データｄが示す各測位点ｐ1〜ｐ30の座標は、誤差を除く補正処理（高精度ＭＭ処理）が施された補正後の車両Ｃｒの位置を示す緯度経度データである。
【００７６】
また、道路データｓｔは、車両Ｃｒの位置に対応する道路を示す情報であり、例えば、走行データに含まれる３０点の各測位点ｐ1〜ｐ30の座標に対応する道路を識別する道路ＩＤを時系列に並べたものである。各測位点ｐ1〜ｐ30の座標に対応する道路は、測位点ｐ1〜ｐ30に対してマップマッチングを行って特定された道路である。
【００７７】
具体的には、例えば、取得部７０１は、Ｉ／Ｆ３０３により、外部のコンピュータから走行データｄおよび道路データｓｔを受信することにより、当該走行データｄおよび道路データｓｔを取得することにしてもよい。また、取得部７０１は、例えば、不図示の入力装置を用いたユーザの操作入力により、走行データｄおよび道路データｓｔを取得することにしてもよい。
【００７８】
取得された走行データｄおよび道路データｓｔは、例えば、図５に示した高精度ＭＭ結果ＤＢ２２０に記憶される。この結果、データＩＤが付与された新たな高精度ＭＭ結果が高精度ＭＭ結果ＤＢ２２０にレコードとして記憶される。ただし、この時点では、最新点座標／角度のうちの角度は未設定である。
【００７９】
なお、走行データｄおよび道路データｓｔは、情報処理装置１０１において生成することにしてもよい。例えば、情報処理装置１０１は、ＧＰＳを用いて測位された車両Ｃｒの位置および測位時刻を示す位置情報を端末装置Ｔから取得し、当該位置情報が示す位置から誤差を除く補正処理を施すことにより、走行データｄを生成することができる。さらに、情報処理装置１０１は、生成した走行データｄを用いてマップマッチング処理を行うことにより、道路データｓｔを生成することができる。
【００８０】
算出部７０２は、取得された走行データｄが示す複数の位置のうちのいずれか二つの位置から特定される移動方向（図１で説明した「移動方向ｄｒ」に相当）の基準方向に対する角度を算出する。具体的には、例えば、算出部７０２は、走行データｄから、点ａ、点ｂおよび点ｃの緯度経度の座標値を取得する。
【００８１】
ここで、点ａは、例えば、走行データｄに含まれる測位点ｐ1〜ｐ30のうちの最新の測位点ｐ30である（ただし、Ｎ＝３０）。点ｂは、例えば、走行データｄに含まれる測位点ｐ1〜ｐ30のうちの点ａの直前に測位された測位点ｐ29である。点ｃは、例えば、走行データｄに含まれる測位点ｐ1〜ｐ30のうちの最古の測位点ｐ1である。ただし、走行データｄに含まれる測位点ｐ1〜ｐ30のうちのどの点を、点ａ，点ｂ，点ｃとするかは任意に設定可能である。
【００８２】
つぎに、算出部７０２は、取得した点ａおよび点ｂの緯度経度の座標値に基づいて、点ｂから点ａに向かうベクトルｖbaの基準方向に対する角度を局所的角度θbaとして算出する。また、算出部７０２は、取得した点ａおよび点ｃの緯度経度の座標値に基づいて、点ｃから点ａに向かうベクトルｖcaの基準方向に対する角度を大域的角度θcaとして算出する。なお、基準方向は、任意に設定可能であり、例えば、真北の方向に設定される。
【００８３】
算出された局所的角度θbaと大域的角度θcaは、例えば、高精度ＭＭ結果ＤＢ２２０内の対応する高精度ＭＭ結果に設定される。具体的には、走行データｄのデータＩＤに対応する高精度ＭＭ結果の最新点座標／角度フィールドに、局所的角度θbaと大域的角度θcaが設定される。
【００８４】
これにより、走行データｄが示す局所的な移動方向をあらわすベクトルｖbaの基準方向に対する角度（局所的角度θba）と、走行データｄが示す大域的な移動方向をあらわすベクトルｖcaの基準方向に対する角度（大域的角度θca）とを、走行データｄに対応付けて高精度ＭＭ結果ＤＢ２２０に登録することができる。
【００８５】
＜リアルタイム処理＞
つぎに、リアルタイム処理にかかる各機能部について説明する。
【００８６】
取得部７０１は、ＧＰＳを用いて測位された位置の時系列変化を示す測位データＤを取得する。具体的には、例えば、取得部７０１は、車両Ｃｒに搭載された端末装置Ｔから、ＧＰＳを用いて測位された車両Ｃｒの位置の時系列変化を示す測位データＤを受信することにより、当該測位データＤを取得する。
【００８７】
ここで、測位データＤは、例えば、図６に示したように、ＧＰＳを用いて所定の時間間隔で測位された３０点（Ｎ＝３０）の測位点ｑ1〜ｑ30（車両Ｃｒの位置）の座標を時系列に示す配列データである。なお、所定の時間間隔は、任意に設定可能であり、例えば、１０秒程度に設定される。
【００８８】
算出部７０２は、取得された測位データＤが示す複数の位置のうちのいずれか二つの位置から特定される移動方向（図１で説明した「移動方向ＤＲ」に相当）の基準方向に対する角度を算出する。具体的には、例えば、算出部７０２は、測位データＤから、点Ａ、点Ｂおよび点Ｃの緯度経度の座標値を取得する。
【００８９】
ここで、点Ａは、例えば、測位データＤに含まれる測位点ｑ1〜ｑ30のうちの最新の測位点ｑ30である。ただし、測位点ｑ30の欠損フラグが「０」の場合、欠損フラグが「１」となる最新の測位点が点Ａとなる。また、点Ｂは、例えば、測位データＤに含まれる測位点ｑ1〜ｑ30のうちの点Ａの直前に測位された測位点ｑ29である。ただし、測位点ｑ29の欠損フラグが「０」の場合、点Ａよりも前に測位された欠損フラグが「１」となる最新の測位点が点Ｂとなる。
【００９０】
また、点Ｃは、例えば、測位データＤに含まれる測位点ｑ1〜ｑ30のうちの最古の測位点ｑ1である。ただし、測位点ｑ1の欠損フラグが「０」の場合、欠損フラグが「１」となる最古の測位点が点Ｃとなる。また、測位データＤに含まれる測位点ｑ1〜ｑ30のうちのどの点を、点Ａ，点Ｂ，点Ｃとするかは任意に設定可能である。
【００９１】
つぎに、算出部７０２は、取得した点Ａ、点Ｂおよび点Ｃの緯度経度の座標値に基づいて、点Ｂから点Ａに向かうベクトルＶBAの大きさｒBA（＝｜ＶBA｜）と、点Ｃから点Ａに向かうベクトルＶCAの大きさｒCA（＝｜ＶCA｜）とを算出する。また、算出部７０２は、ベクトルＶBAの基準方向に対する角度を局所的角度θBAとして算出する。また、算出部７０２は、ベクトルＶCAの基準方向に対する角度を大域的角度θCAとして算出する。なお、基準方向は、事前処理で設定された基準方向と同じである。
【００９２】
抽出部７０３は、高精度ＭＭ結果ＤＢ２２０から、測位データＤが示す複数の位置のうちのいずれかの位置を含む範囲検索エリアＲ内に車両Ｃｒの位置が含まれる走行データｄを抽出する。具体的には、例えば、まず、抽出部７０３は、測位点ｑ1〜ｑ30のうちの最新の測位点ｑ30（点Ａ）を含む範囲検索エリアＲを設定する。
【００９３】
範囲検索エリアＲは、任意に設定可能である。範囲検索エリアＲは、例えば、点Ａを中心とする所定の形状（例えば、正方形、矩形、円形）の範囲である。範囲検索エリアＲの大きさは、例えば、「数十メートル（縦）×数十メートル（横）」あるいは「半径数十メートル」程度である。また、範囲検索エリアＲは、例えば、地図上を区切って分割した区域群のうちの点Ａを含む区域であってもよい。各区域は、例えば、数十メートル（縦）×数十メートル（横）程度の大きさの領域である。
【００９４】
そして、抽出部７０３は、高精度ＭＭ結果ＤＢ２２０から、設定した範囲検索エリアＲ内に車両の位置が含まれる走行データｄを抽出する。より詳細に説明すると、抽出部７０３は、例えば、高精度ＭＭ結果ＤＢ２２０から、測位点ｐ1〜ｐ30のうちの最新の測位点ｐ30（点ａ）が範囲検索エリアＲに含まれる走行データｄを抽出する（範囲検索）。
【００９５】
これにより、測位データＤが示す最新の測位点ｑ30（点Ａ）をもとに範囲検索を行って、類似検索を行う際の候補レコードとなる走行データｄを絞り込むことができる。
【００９６】
検索部７０４は、高精度ＭＭ結果ＤＢ２２０から、測位データＤに対応する走行データｄを検索する。具体的には、例えば、検索部７０４は、算出した測位データＤの局所的角度θBAおよび／または大域的角度θCAに基づいて、抽出した走行データｄの中から、測位データＤに対応する走行データｄを検索する。
【００９７】
ここで、測位データＤの局所的角度θBAに基づいて、測位データＤに対応する走行データｄを検索する場合について説明する。この場合、まず、検索部７０４は、ベクトルＶBAの大きさｒBAが、測位誤差Ｅよりも大きいか否かを判断する。測位誤差Ｅは、例えば、ＧＰＳを用いて測位される位置に含まれるＧＰＳ測位誤差である。
【００９８】
測位誤差Ｅは、任意に設定可能であり、例えば、十数メートル程度に設定される。また、測位誤差Ｅとして、３σの値を設定することにしてもよい（σは、誤差分布の標準偏差）。また、測位誤差Ｅは、場所に応じてマルチパス等の影響が異なるため、地図上をメッシュ状に区切って分割した区域ごとに設定することにしてもよい。
【００９９】
ここで、ベクトルＶBAの大きさｒBAが測位誤差Ｅより大きい場合、検索部７０４は、局所的角度θBAに基づいて、局所的角度範囲「θBA±θ’BA」を設定する。なお、「θBA±θ’BA」は、「θBA−θ’BA」以上「θBA＋θ’BA」以下の範囲を示す。θ’BAは、任意に設定可能である。例えば、θ’BAは、４５°程度の固定値であってもよい。また、θ’BAは、ベクトルＶBAの大きさｒBAをもとに算出されることにしてもよい。
【０１００】
ここで、図８を用いて、局所的角度範囲「θBA±θ’BA」のθ’BAの算出例について説明する。
【０１０１】
図８は、ベクトルＶの大きさｒと測位誤差Ｅとの関係を示す説明図である。図８の（８−１）に示すように、ベクトルＶBAの大きさｒBAが「ｒ≧２Ｅｃｏｓ（π／３６）」の場合、検索部７０４は、例えば、下記式（１）を用いて、局所的角度範囲「θBA±θ’BA」のθ’BAを算出することができる。ただし、θ’は、θ’BAを示す。また、ｒは、ｒBAを示す。
【０１０２】
θ’＝πＥ／３６ｒ      ・・・（１）
【０１０３】
また、図８の（８−２）に示すように、ベクトルＶBAの大きさｒBAが「２Ｅｃｏｓ（π／３６）＞ｒ＞Ｅ」の場合、検索部７０４は、例えば、下記式（２）を用いて、局所的角度範囲「θBA±θ’BA」のθ’BAを算出することができる。ただし、θ’は、θ’BAを示す。また、ｒは、ｒBAを示す。
【０１０４】
θ’＝ｃｏｓ-1（ｒ／２Ｅ）      ・・・（２）
【０１０５】
これにより、点Ａと点Ｂとの距離（ｒBA）と測位誤差Ｅとの関係からθ’BAを求めることができる。ただし、θ’BAが小さすぎると、局所的角度範囲「θBA±θ’BA」が非常に狭い範囲となってしまうため、θ’BAの最小値を設定することにしてもよい。θ’BAの最小値は、例えば、５°程度に設定される。すなわち、「θ’BA＜５°」となる場合は、θ’BAは「θ’BA＝５°」に設定される。
【０１０６】
図７の説明に戻り、検索部７０４は、抽出した走行データｄの中から、局所的角度θbaが局所的角度範囲「θBA±θ’BA」内、すなわち、「θBA−θ’BA」以上「θBA＋θ’BA」以下の範囲内となる走行データｄを検索する。これにより、測位データＤと局所的な移動方向が類似する走行データｄを絞り込むことができる。
【０１０７】
なお、ベクトルＶBAの大きさｒBAが測位誤差Ｅ以下の場合には、ベクトルＶBAに対する測位誤差Ｅの影響が大きく、車両Ｃｒの局所的な移動方向を判断することが難しい。したがって、ベクトルＶBAの大きさｒBAが測位誤差Ｅ以下の場合は、測位データＤの局所的角度θBAを用いた走行データｄの絞り込みは行わないことにしてもよい。
【０１０８】
つぎに、測位データＤの大域的角度θCAに基づいて、測位データＤに対応する走行データｄを検索する場合について説明する。この場合、まず、検索部７０４は、ベクトルＶCAの大きさｒCAが、測位誤差Ｅよりも大きいか否かを判断する。
【０１０９】
ここで、ベクトルＶCAの大きさｒCAが測位誤差Ｅより大きい場合、検索部７０４は、大域的角度θCAに基づいて、大域的角度範囲「θCA±θ’CA」を設定する。θ’CAは、任意に設定可能である。例えば、θ’CAは、１０°程度の固定値であってもよい。また、θ’CAは、ベクトルＶCAの大きさｒCAをもとに算出されることにしてもよい。
【０１１０】
ここで、図８を用いて、大域的角度範囲「θCA±θ’CA」のθ’CAの算出例について説明する。図８の（８−１）に示すように、ベクトルＶCAの大きさｒCAが「ｒ≧２Ｅｃｏｓ（π／３６）」の場合、検索部７０４は、例えば、上記式（１）を用いて、大域的角度範囲「θCA±θ’」のθ’を算出することができる。ただし、θ’は、θ’CAを示す。また、ｒは、ｒCAを示す。
【０１１１】
また、図８の（８−２）に示すように、ベクトルＶCAの大きさｒCAが「２Ｅｃｏｓ（π／３６）＞ｒ＞Ｅ」の場合、検索部７０４は、例えば、上記式（２）を用いて、大域的角度範囲「θCA±θ’CA」のθ’CAを算出することができる。ただし、θ’は、θ’CAを示す。また、ｒは、ｒCAを示す。
【０１１２】
これにより、点Ａと点Ｃとの距離（ｒCA）と測位誤差Ｅとの関係からθ’CAを求めることができる。ただし、θ’CAが小さすぎると、大域的角度範囲「θCA±θ’CA」が非常に狭い範囲となってしまうため、θ’CAの最小値を設定することにしてもよい。θ’CAの最小値は、例えば、５°程度に設定される。すなわち、「θ’CA＜５°」となる場合は、θ’CAは「θ’CA＝５°」に設定される。
【０１１３】
そして、検索部７０４は、抽出した走行データｄの中から、大域的角度θcaが大域的角度範囲「θCA±θ’CA」内、すなわち、「θCA−θ’CA」以上「θCA＋θ’CA」以下の範囲内となる走行データｄを検索する。これにより、測位データＤと大域的な移動方向が類似する走行データｄを絞り込むことができる。
【０１１４】
なお、ベクトルＶCAの大きさｒCAが測位誤差Ｅ以下の場合には、ベクトルＶCAに対する測位誤差Ｅの影響が大きく、車両Ｃｒの大域的な移動方向を判断することが難しい。したがって、ベクトルＶCAの大きさｒCAが測位誤差Ｅ以下の場合は、測位データＤの大域的角度θCAを用いた走行データｄの絞り込みは行わないことにしてもよい。
【０１１５】
以下の説明では、検索部７０４によって検索された走行データｄを「走行データｄｋ」と表記する場合がある（ｋ＝１，２，…）。なお、走行データｄの検索例については、図９を用いて後述する。
【０１１６】
特定部７０５は、検索された走行データｄｋに基づいて、測位データＤが示す位置に対応する道路を特定する。具体的には、例えば、まず、特定部７０５は、走行データｄｋと測位データＤとの類似度合いを示す類似度を算出する。ここで、類似度は、例えば、走行データｄｋが示す各測位点ｐと、測位データＤが示す各測位点ｑとの間のユークリッド距離から求めることができる。
【０１１７】
より具体的には、例えば、特定部７０５は、下記式（３）を用いて、走行データｄｋと測位データＤとの非類似度ＮＲ(k)を算出することにしてもよい。なお、非類似度ＮＲ(k)の逆数が、走行データｄｋと測位データＤとの類似度に相当する。
【０１１８】
ただし、（ｘi，ｙi）は、下記式（４）に示すように、測位データＤが示す測位点ｑ1〜ｑNのうち、先頭からｉ番目の測位点ｑiの座標である（ｉ＝１，２，…，Ｎ）。また、ｗiは、測位点ｑiの欠損フラグである。また、（Ｘ(k)i，Ｙ(k)i）は、下記式（５）に示すように、走行データｄｋが示す測位点ｐ1〜ｐNのうち、先頭からｉ番目の測位点ｐiの座標である。
【０１１９】
【数１】
2018115885.tif 000003
【０１２０】
（ｑ1，ｑ2，…，ｑN）＝｛（ｘ1，ｙ1），（ｘ2，ｙ2），…，（ｘN，ｙN）｝
・・・（４）
【０１２１】
（ｐ1，ｐ2，…，ｐN）＝｛（Ｘ(k)1，Ｙ(k)1），（Ｘ(k)2，Ｙ(k)2），
…，（Ｘ(k)N，Ｙ(k)N）｝      ・・・（５）
【０１２２】
そして、特定部７０５は、算出した非類似度ＮＲ(k)に基づいて、測位データＤが示す位置に対応する道路を特定する。より具体的には、例えば、特定部７０５は、算出した非類似度ＮＲ(k)が閾値α以下の場合に、高精度ＭＭ結果ＤＢ２２０を参照して、走行データｄｋに対応する道路データ（道路ＩＤ配列）が示す各道路を、測位データＤが示す各測位点ｑに対応する道路としてそれぞれ特定してもよい。
【０１２３】
すなわち、特定部７０５は、算出した非類似度ＮＲ(k)が閾値αより大きい場合には、測位データＤが示す位置に対応する道路を特定しない。閾値αは、任意に設定可能である。これにより、測位データＤと類似する走行データｄｋが存在しない場合には、測位データＤが示す位置に対応する道路を特定しないようにして、マップマッチング精度が低下するのを防ぐことができる。
【０１２４】
また、特定部７０５は、走行データｄが複数検索された場合には、算出した非類似度ＮＲ(k)が最小の走行データｄｋに対応する道路データ（道路ＩＤ配列）が示す道路を、測位データＤが示す位置に対応する道路として特定してもよい。この際、特定部７０５は、最小の非類似度ＮＲ(k)が閾値αよりも大きい場合は、測位データＤが示す位置に対応する道路を特定しないことにしてもよい。
【０１２５】
これにより、マップマッチング精度の低下を防ぎつつ、測位データＤと最も類似する走行データｄｋに対応する道路データ（道路ＩＤ配列）が示す各道路を、測位データＤが示す各測位点ｑに対応する道路としてそれぞれ特定することができる。
【０１２６】
出力部７０６は、測位データＤが示す位置と、特定された当該位置に対応する道路とを対応付けて出力する。具体的には、例えば、出力部７０６は、後述の図１０に示すように、測位データＤが示す位置の測位時刻と、特定した当該位置に対応する道路とを対応付けてあらわすマップマッチングデータ１０００を出力することにしてもよい。
【０１２７】
なお、出力部７０６の出力形式としては、例えば、メモリ３０２、ディスク３０５などの記憶装置への記憶、Ｉ／Ｆ３０３による外部のコンピュータへの送信などがある。
【０１２８】
（走行データｄの検索例）
つぎに、図９を用いて、走行データｄの検索例について説明する。
【０１２９】
図９は、走行データｄの検索例を示す説明図である。図９において、白塗り×印は、測位データＤの最新の測位点（点Ａ）を示す。黒塗り×印は、測位データＤの最新の測位点以外の測位点を示す。また、走行データ９０１〜９０６は、範囲検索によって得られた、最新の測位点が範囲検索エリアＲに含まれる走行データｄである。
【０１３０】
ここで、測位データＤの局所的角度θBAを「θBA＝４８°」とし、大域的角度θCAを「θCA＝１６０°」とする。また、θ’BAを「θ’BA＝４５°」とし、θ’CAを「θ’CA＝１０°」とする。この場合、局所的角度範囲「θBA±θ’BA」は、「３°≦θ≦９３°」となる。また、大域的角度範囲「θCA±θ’CA」は、「１５０°≦θ≦１７０°」となる。
【０１３１】
ここでは、走行データ９０１〜９０６の中から、局所的角度θbaが局所的角度範囲内「３°≦θ≦９３°」となり、かつ、大域的角度θcaが大域的角度範囲内「１５０°≦θ≦１７０°」となる走行データｄを検索する場合について説明する。
【０１３２】
まず、走行データ９０１の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（９０°，１９０°）」である。このため、走行データ９０１は、大域的角度θcaが大域的角度範囲外となり排除（非検索）される。
【０１３３】
つぎに、走行データ９０２の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（２７０°，３０４°）」である。このため、走行データ９０２は、局所的角度θbaも大域的角度θcaもそれぞれの角度範囲外となり排除される。
【０１３４】
つぎに、走行データ９０３の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（９０°，３００°）」である。このため、走行データ９０３は、大域的角度θcaが大域的角度範囲外となり排除される。
【０１３５】
つぎに、走行データ９０４の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（０°，６０°）」である。このため、走行データ９０４は、局所的角度θbaも大域的角度θcaもそれぞれの角度範囲外となり排除される。
【０１３６】
つぎに、走行データ９０５の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（１８０°，６０°）」である。このため、走行データ９０５は、局所的角度θbaも大域的角度θcaもそれぞれの角度範囲外となり排除される。
【０１３７】
つぎに、走行データ９０６の局所的角度θbaおよび大域的角度θcaは、「（θba，θca）＝（９０°，１５５°）」である。このため、走行データ９０６は、局所的角度θbaも大域的角度θcaもそれぞれの角度範囲内となり検索される。
【０１３８】
このように、図９に示した例では、走行データ９０１〜９０６の中から走行データ９０６のみが検索されることになる。この結果、類似検索を行う際に、局所的な移動方向や大域的な移動方向が測位データＤと類似しない走行データ９０１〜９０５が除去されるため、類似度計算にかかる時間や負荷を削減することができる。
【０１３９】
（マップマッチングデータ１０００の具体例）
図１０は、マップマッチングデータ１０００の具体例を示す説明図である。図１０において、マップマッチングデータ１０００は、点ＩＤ、測位時刻および道路ＩＤのフィールドを有し、各フィールドに情報を設定することで、マップマッチング結果１０００−１〜１０００−３０をレコードとして記憶する。
【０１４０】
ここで、点ＩＤは、測位点ｑを識別する識別子である。測位時刻は、測位点ｑの位置が測位された日時である。道路ＩＤは、測位点ｑの位置に対応する道路を識別する識別子である。マップマッチングデータ１０００によれば、ある車両Ｃｒが、どの時刻（測位時刻）にどの道路を走行していたのかを特定することができ、リアルタイムな道路状況の把握に役立てることができる。
【０１４１】
なお、マップマッチングデータ１０００には、各測位点ｑの座標（緯度，経度）が含まれていてもよい。また、マップマッチングデータ１０００には、車両Ｃｒまたは車両Ｃｒに搭載された端末装置Ｔを識別する識別情報が含まれていてもよい。車両Ｃｒまたは端末装置Ｔの識別情報は、例えば、測位データＤに含まれる。これにより、どの車両Ｃｒが、どの時刻（測位時刻）にどの道路を走行していたのかを特定することができる。
【０１４２】
（情報処理装置１０１の各種処理手順）
つぎに、情報処理装置１０１の各種処理手順について説明する。
【０１４３】
＜事前処理手順＞
まず、図１１を用いて、情報処理装置１０１の事前処理手順について説明する。事前処理は、例えば、２４時間等の予め決められた時間間隔で定期的に実行される。
【０１４４】
図１１は、情報処理装置１０１の事前処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、情報処理装置１０１は、処理対象となる複数の走行データｄを取得する（ステップＳ１１０１）。なお、各走行データｄには道路データｓｔがそれぞれ対応付けられている。
【０１４５】
つぎに、情報処理装置１０１は、処理対象となる複数の走行データｄから選択されていない未選択の走行データｄを選択する（ステップＳ１１０２）。そして、情報処理装置１０１は、選択した走行データｄから、点ａ、点ｂおよび点ｃの緯度経度の座標値を取得する（ステップＳ１１０３）。
【０１４６】
つぎに、情報処理装置１０１は、取得した点ａおよび点ｂの緯度経度の座標値に基づいて、点ｂから点ａに向かうベクトルｖbaの基準方向に対する局所的角度θbaを算出する（ステップＳ１１０４）。つぎに、情報処理装置１０１は、取得した点ａおよび点ｃの緯度経度の座標値に基づいて、点ｃから点ａに向かうベクトルｖcaの基準方向に対する大域的角度θcaを算出する（ステップＳ１１０５）。
【０１４７】
そして、情報処理装置１０１は、算出した局所的角度θbaおよび大域的角度θcaを、選択した走行データｄと対応付けて高精度ＭＭ結果ＤＢ２２０に登録する（ステップＳ１１０６）。つぎに、情報処理装置１０１は、処理対象となる複数の走行データｄから選択されていない未選択の走行データｄがあるか否かを判断する（ステップＳ１１０７）。
【０１４８】
ここで、未選択の走行データｄがある場合（ステップＳ１１０７：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１１０２に戻る。一方、未選択の走行データｄがない場合（ステップＳ１１０７：Ｎｏ）、情報処理装置１０１は、本フローチャートによる一連の処理を終了する。
【０１４９】
これにより、走行データｄが示す局所的な移動方向をあらわす局所的角度θbaと、走行データｄが示す大域的な移動方向をあらわす大域的角度θcaとを、走行データｄに対応付けて高精度ＭＭ結果ＤＢ２２０に登録することができる。
【０１５０】
＜リアルタイム処理手順＞
つぎに、図１２を用いて、情報処理装置１０１のリアルタイム処理手順について説明する。
【０１５１】
図１２は、情報処理装置１０１のリアルタイム処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、まず、情報処理装置１０１は、車両Ｃｒに搭載された端末装置Ｔから、車両Ｃｒの位置の時系列変化を示す測位データＤを受信したか否かを判断する（ステップＳ１２０１）。
【０１５２】
ここで、情報処理装置１０１は、測位データＤを受信するのを待つ（ステップＳ１２０１：Ｎｏ）。そして、情報処理装置１０１は、測位データＤを受信した場合（ステップＳ１２０１：Ｙｅｓ）、測位データＤから、点Ａ、点Ｂおよび点Ｃの緯度経度の座標値を取得する（ステップＳ１２０２）。
【０１５３】
つぎに、情報処理装置１０１は、取得した点Ａおよび点Ｂの緯度経度の座標値に基づいて、点Ｂから点Ａに向かうベクトルＶBAの大きさｒBAを算出する（ステップＳ１２０３）。つぎに、情報処理装置１０１は、取得した点Ａおよび点Ｃの緯度経度の座標値に基づいて、点Ｃから点Ａに向かうベクトルＶCAの大きさｒCAを算出する（ステップＳ１２０４）。
【０１５４】
そして、情報処理装置１０１は、ベクトルＶBAの基準方向に対する局所的角度θBAを算出する（ステップＳ１２０５）。つぎに、情報処理装置１０１は、ベクトルＶCAの基準方向に対する大域的角度θCAを算出する（ステップＳ１２０６）。
【０１５５】
そして、情報処理装置１０１は、測位データＤが示す位置、ベクトルＶBAの大きさｒBA、ベクトルＶCAの大きさｒCA、局所的角度θBAおよび大域的角度θCAに基づいて、範囲検索処理を実行する（ステップＳ１２０７）。なお、範囲検索処理の具体的な処理手順については、図１３〜図１５を用いて後述する。
【０１５６】
つぎに、情報処理装置１０１は、範囲検索処理により得られた候補レコード（走行データｄ）に基づいて、類似検索処理を実行する（ステップＳ１２０８）。なお、類似検索処理の具体的な処理手順については、図１６を用いて後述する。そして、情報処理装置１０１は、類似検索処理により得られたマップマッチングデータを出力して（ステップＳ１２０９）、本フローチャートによる一連の処理を終了する。
【０１５７】
これにより、測位データＤが示す車両Ｃｒの位置（測位点ｑ1〜ｑN）に対してマップマッチングを行った結果であるマップマッチングデータを出力することができる。
【０１５８】
・範囲検索処理手順
つぎに、図１３〜図１５を用いて、図１２に示したステップＳ１２０７の範囲検索処理の具体的な処理手順について説明する。
【０１５９】
図１３〜図１５は、範囲検索処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、情報処理装置１０１は、測位データＤの測位点ｑ1〜ｑNのうちの最新の測位点ｑN（点Ａ）を含む範囲検索エリアＲを設定する（ステップＳ１３０１）。
【０１６０】
つぎに、情報処理装置１０１は、高精度ＭＭ結果ＤＢ２２０から、設定した範囲検索エリアＲ内に、測位点ｑ1〜ｑNのうちの最新の測位点ｑNが含まれる走行データｄを抽出する（ステップＳ１３０２）。そして、情報処理装置１０１は、走行データｄが抽出されたか否かを判断する（ステップＳ１３０３）。
【０１６１】
ここで、走行データｄが抽出されなかった場合（ステップＳ１３０３：Ｎｏ）、情報処理装置１０１は、範囲検索エリアＲが拡大済みであるか否かを判断する（ステップＳ１３０４）。範囲検索エリアＲが拡大済みではない場合（ステップＳ１３０４：Ｎｏ）、情報処理装置１０１は、範囲検索エリアＲを拡大して（ステップＳ１３０５）、ステップＳ１３０２に戻る。
【０１６２】
なお、範囲検索エリアＲの拡大方法は任意に設定可能である。例えば、情報処理装置１０１は、範囲検索エリアＲの縦横の長さをβ倍することにより、範囲検索エリアＲを拡大することにしてもよい。βは、１より大きい値であり、例えば、「４／３」程度に設定される。
【０１６３】
一方、ステップＳ１３０４において、範囲検索エリアＲが拡大済みの場合（ステップＳ１３０４：Ｙｅｓ）、情報処理装置１０１は、エラーを出力して（ステップＳ１３０６）、本フローチャートによる一連の処理を終了する。エラーは、例えば、測位データＤのマップマッチングに失敗したことを示すものである。
【０１６４】
また、ステップＳ１３０３において、走行データｄが抽出された場合（ステップＳ１３０３：Ｙｅｓ）、情報処理装置１０１は、図１４に示すステップＳ１４０１に移行する。
【０１６５】
図１４に示すフローチャートにおいて、まず、情報処理装置１０１は、ベクトルＶBAの大きさｒBAが、測位誤差Ｅよりも大きいか否かを判断する（ステップＳ１４０１）。ここで、大きさｒBAが測位誤差Ｅよりも大きい場合（ステップＳ１４０１：Ｙｅｓ）、情報処理装置１０１は、ベクトルＶCAの大きさｒCAが、測位誤差Ｅよりも大きいか否かを判断する（ステップＳ１４０２）。
【０１６６】
ここで、大きさｒCAが測位誤差Ｅよりも大きい場合（ステップＳ１４０２：Ｙｅｓ）、情報処理装置１０１は、局所的角度範囲「θBA±θ’BA」および大域的角度範囲「θCA±θ’CA」を設定する（ステップＳ１４０３）。
【０１６７】
つぎに、情報処理装置１０１は、抽出した走行データｄの中から、局所的角度θbaが局所的角度範囲「θBA±θ’BA」内、かつ、大域的角度θcaが大域的角度範囲「θCA±θ’CA」内となる走行データｄを検索する（ステップＳ１４０４）。そして、情報処理装置１０１は、検索結果を候補レコードとして出力して（ステップＳ１４０５）、範囲検索処理を呼び出したステップに戻る。
【０１６８】
また、ステップＳ１４０２において、大きさｒCAが測位誤差Ｅ以下である場合（ステップＳ１４０２：Ｎｏ）、情報処理装置１０１は、局所的角度範囲「θBA±θ’BA」を設定する（ステップＳ１４０６）。そして、情報処理装置１０１は、抽出した走行データｄの中から、局所的角度θbaが局所的角度範囲「θBA±θ’BA」内となる走行データｄを検索して（ステップＳ１４０７）、ステップＳ１４０５に移行する。
【０１６９】
また、ステップＳ１４０１において、大きさｒBAが測位誤差Ｅ以下である場合（ステップＳ１４０１：Ｎｏ）、情報処理装置１０１は、図１５に示すステップＳ１５０１に移行する。
【０１７０】
図１５のフローチャートにおいて、まず、情報処理装置１０１は、ベクトルＶCAの大きさｒCAが、測位誤差Ｅよりも大きいか否かを判断する（ステップＳ１５０１）。ここで、大きさｒCAが測位誤差Ｅよりも大きい場合（ステップＳ１５０１：Ｙｅｓ）、情報処理装置１０１は、大域的角度範囲「θCA±θ’CA」を設定する（ステップＳ１５０２）。
【０１７１】
つぎに、情報処理装置１０１は、抽出した走行データｄの中から、大域的角度θcaが大域的角度範囲「θCA±θ’CA」内となる走行データｄを検索する（ステップＳ１５０３）。そして、情報処理装置１０１は、検索結果を候補レコードとして出力して（ステップＳ１５０４）、範囲検索処理を呼び出したステップに戻る。
【０１７２】
また、ステップＳ１５０１において、大きさｒCAが測位誤差Ｅ以下である場合（ステップＳ１５０１：Ｎｏ）、情報処理装置１０１は、抽出した全走行データｄを候補レコードとして出力して（ステップＳ１５０５）、範囲検索処理を呼び出したステップに戻る。
【０１７３】
これにより、範囲検索エリアＲを用いた範囲検索により得られた走行データｄの中から、測位データＤと局所的な移動方向や大域的な移動方向が類似する走行データｄを絞り込むことができる。
【０１７４】
・類似検索処理手順
つぎに、図１６を用いて、図１２に示したステップＳ１２０８の類似検索処理の具体的な処理手順について説明する。
【０１７５】
図１６は、類似検索処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、情報処理装置１０１は、ステップＳ１２０７において出力された候補レコード（走行データｄ）の数をパラメータＫの値に設定する（ステップＳ１６０１）。以下の説明では、ステップＳ１２０７において出力された候補レコードを「走行データ（１）〜（Ｋ）」と表記する（Ｋ：１以上の自然数）。
【０１７６】
つぎに、情報処理装置１０１は、「ｋ」を「ｋ＝１」として（ステップＳ１６０２）、走行データ（１）〜（Ｋ）から走行データ（ｋ）を選択する（ステップＳ１６０３）。そして、情報処理装置１０１は、上記式（３）を用いて、測位データＤと走行データ（ｋ）との非類似度ＮＲ(k)を算出する（ステップＳ１６０４）。
【０１７７】
つぎに、情報処理装置１０１は、「ｋ＝１」であるか否かを判断する（ステップＳ１６０５）。ここで、「ｋ＝１」の場合（ステップＳ１６０５：Ｙｅｓ）、情報処理装置１０１は、最小非類似度ＮＲminを「ＮＲmin＝ＮＲ(k)」とする（ステップＳ１６０６）。そして、情報処理装置１０１は、走行データ（ｋ）のデータＩＤを記録する（ステップＳ１６０７）。なお、データＩＤが既に記録されている場合には、情報処理装置１０１は、新たなデータＩＤで上書きする。
【０１７８】
つぎに、情報処理装置１０１は、「ｋ」をインクリメントして（ステップＳ１６０８）、「ｋ」が「Ｋ」よりも大きくなったか否かを判断する（ステップＳ１６０９）。ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１６０９：Ｎｏ）、情報処理装置１０１は、ステップＳ１６０３に戻る。
【０１７９】
また、ステップＳ１６０５において、「ｋ＝１」ではない場合（ステップＳ１６０５：Ｎｏ）、情報処理装置１０１は、算出した非類似度ＮＲ(k)が最小非類似度ＮＲmin以上であるか否かを判断する（ステップＳ１６１０）。
【０１８０】
ここで、非類似度ＮＲ(k)が最小非類似度ＮＲmin以上の場合（ステップＳ１６１０：Ｙｅｓ）、情報処理装置１０１は、ステップＳ１６０８に移行する。一方、非類似度ＮＲ(k)が最小非類似度ＮＲmin未満の場合（ステップＳ１６１０：Ｎｏ）、情報処理装置１０１は、ステップＳ１６０６に移行する。
【０１８１】
また、ステップＳ１６０９において、「ｋ」が「Ｋ」よりも大きい場合（ステップＳ１６０９：Ｙｅｓ）、情報処理装置１０１は、記録したデータＩＤの走行データｄに対応する道路データに基づいて、マップマッチングデータを生成して（ステップＳ１６１１）、類似検索処理を呼び出したステップに戻る。
【０１８２】
これにより、測位データＤと候補レコード（走行データｄ）との類似度計算を行って、測位データＤが示す各測位点ｑ1〜ｑNに対応する道路を特定することができる。
【０１８３】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、測位データＤが示す位置と、測位データＤが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度とに基づいて、高精度ＭＭ結果ＤＢ２２０から測位データＤに対応する走行データｄを検索することができる。
【０１８４】
これにより、測位データＤが示す複数の位置のうちのいずれか二つの位置から特定される移動方向に対応する走行データｄを検索することができる。
【０１８５】
また、情報処理装置１０１によれば、測位データＤが示す測位点ｑ1〜ｑNのうちの点Ａを含む範囲検索エリアＲ内に、車両の位置（例えば、最新の測位点ｐN）が含まれる走行データｄを、高精度ＭＭ結果ＤＢ２２０から抽出することができる。点Ａは、例えば、測位データＤに含まれる測位点ｑ1〜ｑNのうちの最新の測位点ｑNである。
【０１８６】
これにより、測位データＤが示す最新の測位点ｑN（点Ａ）をもとに範囲検索を行って、類似検索を行う際の候補レコードとなる走行データｄを絞り込むことができる。
【０１８７】
また、情報処理装置１０１によれば、測位データＤが示す測位点ｑ1〜ｑNのうちの点Ｂから点Ａに向かうベクトルＶBAの基準方向に対する角度（局所的角度θBA）に基づいて、抽出した走行データｄの中から、測位データＤに対応する走行データｄを検索することができる。具体的には、例えば、情報処理装置１０１は、局所的角度θBAに基づいて、局所的角度範囲「θBA±θ’BA」を設定する。そして、情報処理装置１０１は、抽出した走行データｄの中から、当該走行データｄが示す測位点ｐ1〜ｐNのうちのｂ点からａ点に向かうベクトルｖbaの基準方向に対する局所的角度θbaが局所的角度範囲「θBA±θ’BA」内となる走行データｄを検索する。
【０１８８】
これにより、測位データＤと局所的な移動方向が類似する走行データｄを絞り込むことができる。なお、点Ａは、例えば、測位データＤに含まれる測位点ｑ1〜ｑNのうちの最新の測位点ｑNである。点Ｂは、例えば、測位データＤに含まれる測位点ｑ1〜ｑNのうちの点Ａの直前に測位された測位点ｑ(N-1)である。また、点ａは、例えば、走行データｄに含まれる測位点ｐ1〜ｐNのうちの最新の測位点ｐNである。点ｂは、例えば、走行データｄに含まれる測位点ｐ1〜ｐNのうちの点ａの直前に測位された測位点ｐ(N-1)である。
【０１８９】
また、情報処理装置１０１によれば、ベクトルＶBAの大きさｒBAが測位誤差Ｅより大きい場合に、局所的角度θBAに基づいて、抽出した走行データｄの中から、測位データＤに対応する走行データｄを検索することができる。
【０１９０】
これにより、ベクトルＶBAに対する測位誤差Ｅの影響が小さい場合に、局所的角度θBAを用いた走行データｄの絞り込みを行うことができる。換言すれば、ベクトルＶBAに対する測位誤差Ｅの影響が大きく、車両Ｃｒの局所的な移動方向を判断することが難しい場合は、局所的角度θBAを用いた走行データｄの絞り込みは行わないようにすることができる。
【０１９１】
また、情報処理装置１０１によれば、測位データＤが示す測位点ｑ1〜ｑNのうちの点Ｃから点Ａに向かうベクトルＶCAの基準方向に対する角度（大域的角度θCA）に基づいて、抽出した走行データｄの中から、測位データＤに対応する走行データｄを検索することができる。具体的には、例えば、情報処理装置１０１は、大域的角度θCAに基づいて、大域的角度範囲「θCA±θ’CA」を設定する。そして、情報処理装置１０１は、抽出した走行データｄの中から、当該走行データｄが示す測位点ｐ1〜ｐNのうちのｃ点からａ点に向かうベクトルｖcaの基準方向に対する大域的角度θcaが大域的角度範囲「θCA±θ’CA」内となる走行データｄを検索する。
【０１９２】
これにより、測位データＤと大域的な移動方向が類似する走行データｄを絞り込むことができる。なお、点Ａは、例えば、測位データＤに含まれる測位点ｑ1〜ｑNのうちの最新の測位点ｑNである。点Ｃは、例えば、測位データＤに含まれる測位点ｑ1〜ｑNのうちの最古の測位点ｑ1である。また、点ａは、例えば、走行データｄに含まれる測位点ｐ1〜ｐNのうちの最新の測位点ｐNである。点ｃは、例えば、走行データｄに含まれる測位点ｐ1〜ｐNのうちの最古の測位点ｐ1である。
【０１９３】
また、情報処理装置１０１によれば、ベクトルＶCAの大きさｒCAが測位誤差Ｅより大きい場合に、大域的角度θCAに基づいて、抽出した走行データｄの中から、測位データＤに対応する走行データｄを検索することができる。
【０１９４】
これにより、ベクトルＶCAに対する測位誤差Ｅの影響が小さい場合に、大域的角度θBAを用いた走行データｄの絞り込みを行うことができる。換言すれば、ベクトルＶCAに対する測位誤差Ｅの影響が大きく、車両Ｃｒの局所的な移動方向を判断することが難しい場合は、大域的角度θCAを用いた走行データｄの絞り込みは行わないようにすることができる。
【０１９５】
また、情報処理装置１０１によれば、ベクトルＶBAの局所的角度θBAと大きさｒBAとに基づいて、上記式（１）または（２）を用いて、局所的角度範囲「θBA±θ’BA」を設定することができる。これにより、点Ａと点Ｂとの距離（ｒBA）と測位誤差Ｅとの関係からθ’BAを求めることができ、測位誤差Ｅに対する距離（ｒBA）の大きさに応じて、局所的角度範囲「θBA±θ’BA」を段階的に設定することができる。
【０１９６】
また、情報処理装置１０１によれば、ベクトルＶCAの大域的角度θCAと大きさｒCAとに基づいて、上記式（１）または（２）を用いて、大域的角度範囲「θCA±θ’CA」を設定することができる。これにより、点Ａと点Ｃとの距離（ｒCA）と測位誤差Ｅとの関係からθ’CAを求めることができ、測位誤差Ｅに対する距離（ｒCA）の大きさに応じて、大域的角度範囲「θCA±θ’CA」を段階的に設定することができる。
【０１９７】
また、情報処理装置１０１によれば、検索した走行データｄｋと測位データＤとの非類似度ＮＲ(k)を算出し、算出した非類似度ＮＲ(k)に基づいて、測位データＤが示す位置に対応する道路を特定することができる。これにより、類似検索を利用したマップマッチングを行うことができる。
【０１９８】
また、情報処理装置１０１によれば、走行データｄが複数検索された場合には、算出した非類似度ＮＲ(k)が最小の走行データｄｋに対応する道路データ（道路ＩＤ配列）が示す道路を、測位データＤが示す位置に対応する道路として特定することができる。これにより、測位データＤと最も類似する走行データｄｋに対応する道路データが示す各道路を、測位データＤが示す各測位点ｑに対応する道路としてそれぞれ特定することができる。
【０１９９】
また、情報処理装置１０１によれば、測位データＤが示す位置の測位時刻と、特定した当該位置に対応する道路とを対応付けて出力することができる。これにより、ある車両Ｃｒが、どの時刻（測位時刻）にどの道路を走行していたのかを特定することが可能となり、リアルタイムな道路状況の把握に役立てることができる。
【０２００】
これらのことから、実施の形態にかかる情報処理システム２００によれば、リアルタイム性と正確性とを両立したマップマッチングを行うことができる。また、マップマッチングを行う際に、全処理時間中に最もコストが大きくなる類似度計算にかかる時間や負荷を削減することができ、リアルタイムに処理できる車両台数を増加させることができる（車両１台当たりのＭＭ処理時間を削減）。この結果、１台のサーバ（例えば、情報処理装置１０１）でリアルタイム処理できる車両台数が数倍から１０数倍に増えることが期待でき、マップマッチングに使用するサーバ台数を数分の１から１０数分の１に削減することができる。
【０２０１】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２０２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２０３】
（付記１）車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部と、
測位された位置の時系列変化を示す測位データを取得し、取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、前記記憶部から前記測位データに対応する走行データを検索する制御部と、
を有することを特徴とする情報処理装置。
【０２０４】
（付記２）前記制御部は、
前記測位データが示す複数の位置のうちの第１の位置を含む所定の範囲内に車両の位置が含まれる走行データを前記記憶部から抽出し、
前記測位データが示す複数の位置のうちの前記第１の位置よりも前に測位された第２の位置から前記第１の位置に向かうベクトルの基準方向に対する角度を示す情報に基づいて、抽出した前記走行データの中から、前記測位データに対応する走行データを検索する、ことを特徴とする付記１に記載の情報処理装置。
【０２０５】
（付記３）前記測位データは、衛星測位システムを用いて測位された位置の時系列変化を示す測位データであり、
前記制御部は、
前記ベクトルの大きさが、前記衛星測位システムを用いて測位される位置に含まれる所定の測位誤差より大きい場合に、前記ベクトルの基準方向に対する角度を示す情報に基づいて、抽出した前記走行データの中から、前記測位データに対応する走行データを検索する、ことを特徴とする付記２に記載の情報処理装置。
【０２０６】
（付記４）前記制御部は、
前記ベクトルの基準方向に対する角度に基づいて、所定の角度範囲を設定し、
抽出した前記走行データの中から、当該走行データが示す複数の位置のうちの第３の位置よりも前に測位された第４の位置から前記第３の位置に向かうベクトルの基準方向に対する角度が前記所定の角度範囲内となる走行データを検索する、ことを特徴とする付記２または３に記載の情報処理装置。
【０２０７】
（付記５）前記第１の位置は、前記測位データが示す複数の位置のうちの最新の位置であり、
前記第２の位置は、前記測位データが示す複数の位置のうちの前記第１の位置の直前に測位された位置であり、
前記第３の位置は、前記走行データが示す複数の位置のうちの最新の位置であり、
前記第４の位置は、前記走行データが示す複数の位置のうちの前記第３の位置の直前に測位された位置である、ことを特徴とする付記４に記載の情報処理装置。
【０２０８】
（付記６）前記第１の位置は、前記測位データが示す複数の位置のうちの最新の位置であり、
前記第２の位置は、前記測位データが示す複数の位置のうちの最古の位置であり、
前記第３の位置は、前記走行データが示す複数の位置のうちの最新の位置であり、
前記第４の位置は、前記走行データが示す複数の位置のうちの最古の位置である、ことを特徴とする付記４に記載の情報処理装置。
【０２０９】
（付記７）前記記憶部は、さらに、前記走行データと、前記車両の位置に対応する道路を示す道路データとを対応付けて記憶しており、
前記制御部は、
検索した前記走行データと前記測位データとの類似度を算出し、
算出した前記類似度に基づいて、前記測位データが示す位置に対応する道路を特定する、ことを特徴とする付記１〜６のいずれか一つに記載の情報処理装置。
【０２１０】
（付記８）前記制御部は、
前記測位データが示す位置の測位時刻と、特定した当該位置に対応する道路とを対応付けて出力する、ことを特徴とする付記７に記載の情報処理装置。
【０２１１】
（付記９）前記制御部は、
前記ベクトルの基準方向に対する角度と前記ベクトルの大きさとに基づいて、前記所定の角度範囲を設定する、ことを特徴とする付記４に記載の情報処理装置。
【０２１２】
（付記１０）前記測位データに対応する走行データが複数検索された場合には、算出した前記類似度が最大の走行データに対応する道路データが示す道路を、前記測位データが示す位置に対応する道路として特定する、ことを特徴とする付記７または８に記載の情報処理装置。
【０２１３】
（付記１１）測位する機能を有する端末装置と、
前記端末装置によって測位された位置の時系列変化を示す測位データを取得し、取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する情報処理装置と、
を含むことを特徴とする情報処理システム。
【０２１４】
（付記１２）コンピュータが、
測位された位置の時系列変化を示す測位データを取得し、
取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する、
処理を実行することを特徴とする情報処理方法。
【０２１５】
（付記１３）コンピュータに、
測位された位置の時系列変化を示す測位データを取得し、
取得した前記測位データが示す位置と、前記測位データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とに基づいて、車両の位置の時系列変化を示す走行データと、前記走行データが示す複数の位置のうちのいずれか二つの位置から特定される移動方向の基準方向に対する角度を示す情報とを対応付けて記憶する記憶部から、前記測位データに対応する走行データを検索する、
処理を実行させることを特徴とする情報処理プログラム。
【符号の説明】
【０２１６】
１０１  情報処理装置
１１０  記憶部
１２０，９０１，９０２，９０３，９０４，９０５，９０６，ｄ  走行データ
１３０，Ｄ  測位データ
２００  情報処理システム
２２０  高精度ＭＭ結果ＤＢ
７０１  取得部
７０２  算出部
７０３  抽出部
７０４  検索部
７０５  特定部
７０６  出力部
１０００  マップマッチングデータ
【図１】
2018115885.tif 000004
【図２】
2018115885.tif 000005
【図３】
2018115885.tif 000006
【図４】
2018115885.tif 000007
【図５】
2018115885.tif 000008
【図６】
2018115885.tif 000009
【図７】
2018115885.tif 000010
【図８】
2018115885.tif 000011
【図９】
2018115885.tif 000012
【図１０】
2018115885.tif 000013
【図１１】
2018115885.tif 000014
【図１２】
2018115885.tif 000015
【図１３】
2018115885.tif 000016
【図１４】
2018115885.tif 000017
【図１５】
2018115885.tif 000018
【図１６】
2018115885.tif 000019