(57)【要約】【課題】一部区間の測定位置が欠落した場合のマップマッチングの精度を向上させる。【解決手段】情報処理装置１０は、測定位置が記録された区間１３ａと測定位置が欠落している区間１３ｂとが存在する軌跡データ１３を取得し、測定された進行方向の変化を示す方向データ１４を取得する。情報処理装置１０は、データベースから、区間１３ａの測定位置と参照位置との間の比較に基づいて軌跡データ１５，１７を抽出する。情報処理装置１０は、方向データ１４の中の区間１３ｂに対応する区間１４ｂと、軌跡データ１５，１７に対応付けられた方向データ１６，１８の中の区間１３ｂに対応する区間１６ｂ，１８ｂとの間の比較に基づいて、軌跡データ１５を選択する。情報処理装置１０は、軌跡データ１５を用いて、軌跡データ１３の区間１３ｂに対して道路の情報を補完する。【選択図】図１
2017142168.tif 000002
【特許請求の範囲】
【請求項１】
道路についての参照位置を含む複数の第２の軌跡データと、前記道路に沿って移動する場合の進行方向の変化を示す複数の第２の方向データとを対応付けて記憶する記憶部と、
移動物について測定された測定位置を含み、前記測定位置が記録された第１の区間と前記測定位置が欠落している第２の区間とが存在する第１の軌跡データを取得し、また、前記移動物について測定された進行方向の変化を示す第１の方向データを取得し、
前記第１の区間の前記測定位置と前記参照位置との間の比較に基づいて、前記複数の第２の軌跡データのうち２以上の第２の軌跡データを抽出し、
前記第１の方向データの中の前記第２の区間に対応する区間と、前記抽出した２以上の第２の軌跡データに対応付けられた第２の方向データの中の前記第２の区間に対応する区間との間の比較に基づいて、前記抽出した２以上の第２の軌跡データの１つを選択し、
前記選択した１つの第２の軌跡データを用いて、前記第１の軌跡データの前記第２の区間に対して、前記移動物が移動した道路の情報を補完する演算部と、
を有する情報処理装置。
【請求項２】
前記演算部は、進行方向の範囲と記号の種類とを対応付けた記号化ルールを用いて、取得した前記第１の方向データを第１の記号列に変換し、
前記複数の第２の方向データそれぞれは第２の記号列を含み、
前記演算部は、前記第１の記号列と前記第２の記号列との間の比較に基づいて、前記抽出した２以上の第２の軌跡データの１つを選択する、
請求項１記載の情報処理装置。
【請求項３】
前記第１の方向データは、前記移動物の進行方向について前記移動物が有するセンサデバイスを用いて異なる時刻に測定された複数の角度を含み、
前記演算部は、前記複数の角度を前記第１の記号列に変換する、
請求項２記載の情報処理装置。
【請求項４】
情報処理装置が実行する軌跡情報補正方法であって、
移動物について測定された測定位置を含み、前記測定位置が記録された第１の区間と前記測定位置が欠落している第２の区間とが存在する第１の軌跡データを取得し、また、前記移動物について測定された進行方向の変化を示す第１の方向データを取得し、
道路についての参照位置を含む複数の第２の軌跡データと前記道路に沿って移動する場合の進行方向の変化を示す複数の第２の方向データとを対応付けて記憶するデータベースから、前記第１の区間の前記測定位置と前記参照位置との間の比較に基づいて、前記複数の第２の軌跡データのうち２以上の第２の軌跡データを抽出し、
前記第１の方向データの中の前記第２の区間に対応する区間と、前記抽出した２以上の第２の軌跡データに対応付けられた第２の方向データの中の前記第２の区間に対応する区間との間の比較に基づいて、前記抽出した２以上の第２の軌跡データの１つを選択し、
前記選択した１つの第２の軌跡データを用いて、前記第１の軌跡データの前記第２の区間に対して、前記移動物が移動した道路の情報を補完する、
軌跡情報補正方法。
【請求項５】
コンピュータに、
移動物について測定された測定位置を含み、前記測定位置が記録された第１の区間と前記測定位置が欠落している第２の区間とが存在する第１の軌跡データを取得し、また、前記移動物について測定された進行方向の変化を示す第１の方向データを取得し、
道路についての参照位置を含む複数の第２の軌跡データと前記道路に沿って移動する場合の進行方向の変化を示す複数の第２の方向データとを対応付けて記憶するデータベースから、前記第１の区間の前記測定位置と前記参照位置との間の比較に基づいて、前記複数の第２の軌跡データのうち２以上の第２の軌跡データを抽出し、
前記第１の方向データの中の前記第２の区間に対応する区間と、前記抽出した２以上の第２の軌跡データに対応付けられた第２の方向データの中の前記第２の区間に対応する区間との間の比較に基づいて、前記抽出した２以上の第２の軌跡データの１つを選択し、
前記選択した１つの第２の軌跡データを用いて、前記第１の軌跡データの前記第２の区間に対して、前記移動物が移動した道路の情報を補完する、
処理を実行させる軌跡情報補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、軌跡情報補正方法および軌跡情報補正プログラムに関する。
【背景技術】
【０００２】
ＧＰＳ（Global Positioning System）などの測位システムを用いて、車両などの移動物の位置を測定することが可能となっている。位置は、例えば、緯度および経度によって表現される。ただし、測位システムによって測定される位置には、１０メートルから数十メートル程度の誤差が含まれることがある。そこで、測定した位置と道路地図とをマッチングし、移動物が存在する道路（例えば、車両が走行中の道路または測定時に車両が走行していた道路）を判定するマップマッチングの技術が提案されている。
【０００３】
例えば、車両が現在走行している道路を判定するナビゲーション装置が提案されている。提案のナビゲーション装置は、ＧＰＳを用いて継続的に車両の位置を測定し、最新の測定位置と前回の測定位置に基づいて車両の進行方向を算出する。ナビゲーション装置は、道路地図を参照して、最新の測定位置から所定範囲内にある複数の道路を検索する。ナビゲーション装置は、複数の道路それぞれについて車両の進行方向と道路の直線との間の角度を算出し、角度が閾値以下である道路に絞り込む。ナビゲーション装置は、絞り込んだ道路のうち最新の測定位置から最も近い道路を選択する。
【０００４】
また、ＧＰＳを用いて車両の位置を測定する衛星航法と、加速度センサなどの車載センサを用いて車両の位置を推定する自律航法の両方を実行可能なナビゲーション装置が提案されている。提案のナビゲーション装置は、車両が道路から外れてＧＰＳ信号の届かない場所に進入した場合、その場所に隣接する道路を道路地図から検索して記憶しておく。ナビゲーション装置は、車両が当該場所から脱出した直後に行うマップマッチングにおいて、登録しておいた道路に車両を優先的にマッチングさせる。
【０００５】
また、道路を１本の直線で表現した道路地図を用いる場合に、直線が複数の車線の何れに対応するか推定するナビゲーション装置が提案されている。提案のナビゲーション装置は、ＧＰＳによって測定された測定位置と、マップマッチングによって求めた直線上の補正位置との間の補正距離を算出する。また、ナビゲーション装置は、道路種別に基づいて走行中の道路の車線幅を特定する。また、ナビゲーション装置は、車載カメラを用いて道路上の白線を検出し、車両が走行している車線を特定する。ナビゲーション装置は、補正距離と車線幅と走行中の車線から、道路地図の直線に対応する車線を推定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３４６６６２号公報
【特許文献２】特開２００７−１２７４３９号公報
【特許文献３】特開２０１２−３７４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
測位システムを利用したマップマッチングにおいては、複数の比較用移動軌跡をデータベースに蓄積しておき、これら比較用移動軌跡の中から移動物について測定された移動軌跡に最も類似するものを検索する方法が考えられる。測定された移動軌跡および比較用移動軌跡それぞれは、位置情報の列として表すことができる。
【０００８】
しかし、移動物が通過した場所によっては、測位システムを利用した位置測定が一時的に行われないことがある。例えば、トンネルや地下などＧＰＳ信号が届きづらい場所では、ＧＰＳを利用した位置測定が行われないことがある。このため、移動物の移動軌跡の中に、位置情報が欠落している区間が存在することがある。
【０００９】
位置情報が欠落している区間について、移動物が通った可能性のある経路が２つ以上存在する場合がある。その場合、測定された移動軌跡と比較用移動軌跡の間で位置情報を比較するだけでは、移動物が通った経路を十分に絞り込むことが難しい。よって、マップマッチングの精度が低下することがあるという問題がある。
【００１０】
１つの側面では、本発明は、一部区間の位置情報が欠落した場合のマップマッチングの精度を向上させる情報処理装置、軌跡情報補正方法および軌跡情報補正プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの態様では、記憶部と演算部とを有する情報処理装置が提供される。記憶部は、道路についての参照位置を含む複数の第２の軌跡データと、道路に沿って移動する場合の進行方向の変化を示す複数の第２の方向データとを対応付けて記憶する。演算部は、移動物について測定された測定位置を含み、測定位置が記録された第１の区間と測定位置が欠落している第２の区間とが存在する第１の軌跡データを取得し、また、移動物について測定された進行方向の変化を示す第１の方向データを取得する。演算部は、第１の区間の測定位置と参照位置との間の比較に基づいて、複数の第２の軌跡データのうち２以上の第２の軌跡データを抽出する。演算部は、第１の方向データの中の第２の区間に対応する区間と、抽出した２以上の第２の軌跡データに対応付けられた第２の方向データの中の第２の区間に対応する区間との間の比較に基づいて、抽出した２以上の第２の軌跡データの１つを選択する。演算部は、選択した１つの第２の軌跡データを用いて、第１の軌跡データの第２の区間に対して、移動物が移動した道路の情報を補完する。
【００１２】
また、１つの態様では、情報処理装置が実行する軌跡情報補正方法が提供される。また、１つの態様では、コンピュータに実行させる軌跡情報補正プログラムが提供される。
【発明の効果】
【００１３】
１つの側面では、一部区間の測定位置が欠落した場合のマップマッチングの精度を向上できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の情報処理装置の例を示す図である。
【図２】第２の実施の形態の交通分析システムの例を示す図である。
【図３】車載装置のハードウェア例を示すブロック図である。
【図４】交通分析装置のハードウェア例を示すブロック図である。
【図５】参照軌跡を用いたマップマッチングの例を示す図である。
【図６】欠損点のあるクエリ軌跡と参照軌跡の比較例を示す図である。
【図７】交通分析装置の機能例を示すブロック図である。
【図８】クエリデータの例を示す図である。
【図９】地図データの例を示す図である。
【図１０】参照データテーブルの例を示す図である。
【図１１】検索結果データの例を示す図である。
【図１２】角度と文字の対応例を示す図である。
【図１３】方向文字データの例を示す図である。
【図１４】マッチング結果データの例を示す図である。
【図１５】マップマッチングの手順例を示すフローチャートである。
【図１６】クエリ点の文字列と参照点の文字列の比較例を示す図である。
【図１７】道路判定の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１６】
図１は、第１の実施の形態の情報処理装置の例を示す図である。
第１の実施の形態の情報処理装置１０は、車両などの移動物についてマップマッチングを行い、移動物が移動した道路を判定する。情報処理装置１０は、移動物からデータを収集して分析するサーバ装置でもよい。その場合、情報処理装置１０は、交通管制システムに利用することもできる。また、情報処理装置１０は、ユーザが操作する端末装置でもよい。その場合、情報処理装置１０は、移動物に搭載されていてもよい。
【００１７】
情報処理装置１０は、記憶部１１および演算部１２を有する。
記憶部１１には、データベースが形成されている。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性の記憶装置でもよい。なお、第１の実施の形態では情報処理装置１０がデータベースを有することとしたが、情報処理装置１０は情報処理装置１０の外部にあるデータベースを参照するようにしてもよい。
【００１８】
演算部１２は、マップマッチングを行う。演算部１２は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１１でもよい）に記憶されたプログラムを実行する。プログラムには、以下に説明する処理を記載した軌跡情報補正プログラムが含まれる。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼ぶこともある。
【００１９】
記憶部１１は、複数の軌跡データ（第２の軌跡データ）と複数の方向データ（第２の方向データ）とを対応付けて記憶する。複数の軌跡データには軌跡データ１５，１７が含まれる。複数の方向データには方向データ１６，１８が含まれる。軌跡データ１５と方向データ１６とが対応付けられ、軌跡データ１７と方向データ１８とが対応付けられている。
【００２０】
複数の軌跡データそれぞれは、参照位置の列を含む。参照位置の列は、１または２以上の道路を経由する移動経路を示す。各参照位置は、例えば、緯度と経路を含む地球座標系の座標によって表される。複数の方向データそれぞれは、参照位置の列が示す１または２以上の道路に沿って移動した場合の進行方向の変化を示す。例えば、複数の方向データそれぞれは、参照位置の列に対応する進行方向の列を含む。
【００２１】
進行方向は、直進と左折と右折など少数の種類に分類されていてもよい。一例として、方向データ１６は、直進・直進・直進・左折・右折・直進という進行方向の変化を示している。方向データ１８は、直進・直進・直進・右折・左折・直進という進行方向の変化を示している。複数の方向データそれぞれは、進行方向の列を少数の種類の記号を用いて表した記号列（第２の記号列）を含んでいてもよい。
【００２２】
演算部１２は、分析対象の移動物について、軌跡データ１３（第１の軌跡データ）および方向データ１４（第１の方向データ）を取得する。軌跡データ１３は、移動物について異なる時刻に測定された測定位置の列を含む。軌跡データ１３は、例えば、ＧＰＳなどの測位システムを利用して移動物によって生成され、移動物から受信される。各測定位置は、例えば、緯度と経路を含む地球座標系の座標によって表される。
【００２３】
ただし、軌跡データ１３には、測定位置が記録された区間１３ａ（第１の区間）と測定位置が欠落している区間１３ｂ（第２の区間）とが存在する。区間１３ｂは、例えば、トンネルや地下や高層ビルに囲まれた場所など、測位システムを利用した位置測定が難しい場所を移動物が通った区間である。区間１３ｂでは、測定位置が記録されるべきタイミングに対して測定位置が記録されていない。
【００２４】
方向データ１４は、移動物について測定された進行方向の変化を示す。方向データ１４は、例えば、異なる時刻に測定された進行方向の列を含む。方向データ１４は、例えば、移動物に搭載されたセンサデバイスを利用して移動物によって生成され、移動物から受信される。センサデバイスの例として、角速度を測定するジャイロセンサや、ハンドルの回転角度を検出するセンサなどが挙げられる。方向データ１４は、移動物の直進方向からの進行方向のずれを示す角度データを含んでもよい。一例として、方向データ１４は、直進・直進・直進・左折・右折・直進という進行方向の変化を示している。
【００２５】
ここで、測位システムを利用した位置測定が行われないときでも、センサデバイスを利用した進行方向の測定は行うことができるものとする。よって、方向データ１４には、測定位置が欠落している区間１３ｂに対応する区間１４ｂについても、進行方向の変化が記録されている。一方、方向データ１４には、測定位置が記録されている区間１３ａに対応する区間については、進行方向の変化が記録されていなくてもよい。
【００２６】
軌跡データ１３と方向データ１４を取得すると、演算部１２は、軌跡データ１３の区間１３ａの測定位置と、記憶部１１に記憶された軌跡データそれぞれの参照位置とを比較する。例えば、演算部１２は、区間１３ａの測定位置と、区間１３ａに対応する軌跡データ１５の区間１５ａの参照位置とを比較する。区間１３ｂに対応する軌跡データ１５の区間の参照位置は、区間１３ｂの測定位置が欠落しているため比較に使用しなくてもよい。また、例えば、演算部１２は、区間１３ａの測定位置と、区間１３ａに対応する軌跡データ１７の区間１７ａの参照位置とを比較する。区間１３ｂに対応する軌跡データ１７の区間の参照位置は、区間１３ｂの測定位置が欠落しているため比較に使用しなくてもよい。
【００２７】
演算部１２は、上記の軌跡データ同士の比較に基づいて、記憶部１１に記憶された複数の軌跡データのうち２以上の軌跡データを抽出する。例えば、演算部１２は、記憶部１１に記憶された複数の軌跡データそれぞれについて、上記の比較に基づいて類似度を算出する。例えば、演算部１２は、類似度が高い方から所定数の軌跡データまたは類似度が閾値以上の軌跡データを抽出する。抽出される２以上の軌跡データは、記憶部１１に記憶された複数の軌跡データの全部でもよいし一部でもよい。記憶部１１に多数の軌跡データが記憶されている場合、通常、抽出される軌跡データはそれら多数の軌跡データの一部である。ここでは、軌跡データ１５，１７が抽出されたとする。
【００２８】
軌跡データ１５，１７が記憶部１１から抽出されると、演算部１２は、方向データ１４から測定位置が欠落している区間１３ｂに対応する区間１４ｂを抽出する。また、演算部１２は、軌跡データ１５，１７に対応付けられた方向データ１６，１８を記憶部１１から取得する。演算部１２は、方向データ１６から区間１３ｂに対応する区間１６ｂを抽出し、方向データ１８から区間１３ｂに対応する区間１８ｂを抽出する。
【００２９】
そして、演算部１２は、方向データ１４の区間１４ｂと方向データ１６，１８の区間１６ｂ，１８ｂとを比較して、軌跡データ１５，１７の１つを選択する。例えば、演算部１２は、区間１４ｂと区間１６ｂ，１８ｂとの間の比較に基づいて、方向データ同士の類似度を算出する。例えば、演算部１２は、類似度が最も高い方向データを選択し、選択した方向データに対応付けられている軌跡データを選択する。ここでは、区間１４ｂは左折・右折・直進を表し、区間１６ｂは左折・右折・直進を表し、区間１８ｂは右折・左折・直進を表している。よって、方向データ１６の方が方向データ１８よりも方向データ１４に類似しており、その結果、軌跡データ１５，１７のうち軌跡データ１５が選択される。
【００３０】
方向データ同士の比較にあたり、演算部１２は、方向データ１４を、進行方向の列を少数の種類の記号を用いて表した記号列（第１の記号列）に変換してもよい。例えば、演算部１２は、方向データ１４に含まれる角度データが示す角度を、直進・左折・右折などの少数の種類の進行方向に分類し、進行方向の種類に対応する記号に変換する。その場合、演算部１２は、区間１４ｂを表す記号列と区間１６ｂ，１８ｂを表す記号列とを比較する。記号列同士を比較することで、進行方向の類似性を簡潔に判定できる。
【００３１】
演算部１２は、選択した軌跡データ１５を用いて、軌跡データ１３の区間１３ｂに対して、移動物が移動した道路の情報を補完する。例えば、演算部１２は、区間１３ｂの測定位置が記録されるべきタイミングに対して、軌跡データ１５の中の参照位置を対応付け、当該参照位置に紐付けられた道路の情報を付与する。
【００３２】
第１の実施の形態の情報処理装置１０によれば、測定位置が記録された区間１３ａと測定位置が欠落している区間１３ｂとが存在する軌跡データ１３が取得され、測定された進行方向の変化を示す方向データ１４が取得される。軌跡データ１３の区間１３ａに基づいて、データベースから軌跡データ１５，１７が抽出される。区間１３ｂに対応する方向データ１４の区間１４ｂに基づいて、軌跡データ１５が選択される。
【００３３】
これにより、測定位置が記録された区間１３ａに対して軌跡データ１５，１７の両方が類似する場合であっても、マップマッチングに用いる軌跡データを軌跡データ１５に絞り込むことができる。すなわち、測定位置が欠落した区間１３ｂに対して軌跡データ１５，１７が異なる経路を示している場合であっても、方向データ１４を用いて、移動物が区間１３ｂで移動した経路を軌跡データ１５が示す経路に絞り込むことができる。よって、区間１３ｂに対して道路の情報を適切に補完でき、マップマッチングの精度が向上する。
【００３４】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の交通分析システムの例を示す図である。
【００３５】
第２の実施の形態の交通分析システムは、車両２０，２０ａを含む複数の車両、ネットワーク３０および交通分析装置１００を有する。交通分析装置１００は、第１の実施の形態の情報処理装置１０に対応する。
【００３６】
車両２０，２０ａは、例えば、人が運転する四輪自動車である。車両２０には、車載装置２００が搭載されている。車両２０ａには、車載装置２００ａが搭載されている。車載装置２００，２００ａは、走行制御を行う組み込み装置でもよいし、ナビゲーション装置などユーザが操作する端末装置でもよい。車載装置２００，２００ａは、無線リンクによってネットワーク３０に接続される。
【００３７】
車載装置２００は、ＧＰＳを利用して車両２０の位置を測定する。また、車載装置２００は、ジャイロセンサなどのセンサデバイスを利用して、車両２０の進行方向の角度を測定する。角度は、車両２０の正面（ハンドルを回転させない場合に車両２０が通常進む直進方向）からの進行方向のずれを示す。測定される角度は、単位時間当たりの回転角度（degree per second）で表現されてもよい。車載装置２００は、車両２０の位置や角度を示すデータを、ネットワーク３０を介して交通分析装置１００に送信する。同様に、車載装置２００ａは、ＧＰＳを利用して車両２０ａの位置を測定する。また、車載装置２００ａは、車両２０ａの進行方向の角度を測定する。車載装置２００ａは、車両２０ａの位置や角度を示すデータを、ネットワーク３０を介して交通分析装置１００に送信する。
【００３８】
交通分析装置１００は、道路上の車両の走行状況を分析するサーバ装置である。交通分析装置１００は、ネットワーク３０に接続されている。交通分析装置１００は、ネットワーク３０を介して、複数の車両それぞれから位置や角度のデータを収集する。交通分析装置１００は、交通管制システムに用いられてもよい。例えば、交通分析装置１００の分析結果を、道路上の信号の制御など交通管制に利用することができる。
【００３９】
図３は、車載装置のハードウェア例を示すブロック図である。
車載装置２００は、ＣＰＵ２０１、ＲＡＭ２０２、不揮発性メモリ２０３、ＧＰＳ測定部２０４、ジャイロセンサ２０５、ディスプレイ２０６、入力デバイス２０７、媒体リーダ２０８および通信インタフェース２０９を有する。車載装置２００が有するこれらのユニットは、バス２１０に接続されている。車載装置２００ａも、車載装置２００と同様のハードウェアを用いて実装することができる。
【００４０】
ＣＰＵ２０１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ２０１は、不揮発性メモリ２０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ２０２にロードし、プログラムを実行する。
【００４１】
ＲＡＭ２０２は、ＣＰＵ２０１が実行するプログラムやＣＰＵ２０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、車載装置２００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００４２】
不揮発性メモリ２０３は、ＯＳ（Operating System）やドライバソフトウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。不揮発性メモリ２０３として、ＲＯＭ（Read Only Memory）を用いてもよいし、フラッシュメモリなどの書き換え可能メモリを用いてもよい。また、車載装置２００は、ＨＤＤなどの他の種類の不揮発性の記憶装置を有してもよく、複数種類の不揮発性の記憶装置を有してもよい。
【００４３】
ＧＰＳ測定部２０４は、定期的にＧＰＳ衛星からＧＰＳ信号を受信し、受信したＧＰＳ信号に基づいて車載装置２００の位置を測定する。車載装置２００の位置は、緯度と経度を含む地球座標系の座標を用いて表される。第２の実施の形態では、ＧＰＳ測定部２０４は、１秒周期で車載装置２００の位置を測定する。ただし、測定された位置はＣＰＵ２０１によって１０分の１にサンプリングされ、１０秒周期の情報に変換される。また、車載装置２００の周囲の環境によっては、ＧＰＳ測定部２０４は、ＧＰＳ信号が正しく受信されず位置の測定に失敗することがある。例えば、車両２０がトンネルまたは地下にいる場合や車両２０の周囲に高層ビルが存在する場合、位置の測定に失敗することがある。その場合、その時刻に対応する座標は欠落する。また、車載装置２００の周囲の環境によって、測定された位置には１０メートルから数十メートルの誤差が含まれることがある。
【００４４】
ジャイロセンサ２０５は、角速度（単位時間当たりの回転角度）を測定するセンサデバイスである。ジャイロセンサ２０５を利用して、車両２０の進行方向の変化を示す角度データが生成される。車両２０が正面方向に直進しているときの角度は０°である。後述するように、車両２０が左折しているときの角度は正の値であり、車両２０が右折しているときの角度は負の値である。ジャイロセンサ２０５は、少なくとも、ＧＰＳ測定部２０４による位置測定と同じタイミング（１秒周期）またはサンプリング後の位置測定と同じタイミング（１０秒周期）で角度を測定する。ジャイロセンサ２０５は、ＧＰＳの位置測定に失敗しているときでも角速度を測定することができる。
【００４５】
なお、第２の実施の形態の交通分析システムは、後述するように、車両２０の進行方向を左折・右折・それ以外（直進またはほぼ直進）の３通りに分類できればよい。そこで、車載装置２００は、ジャイロセンサ２０５のデータ以外のデータを用いて、車両２０の進行方向を推定することもできる。例えば、車載装置２００は、車両２０が備えるハンドルの回転角度を用いて角度データを生成してもよい。また、車載装置２００は、車両２０が備える左右ウィンカーの点灯状況を用いて角度データを生成してもよい。
【００４６】
ディスプレイ２０６は、ＣＰＵ２０１からの指示に従って画像を表示する。ディスプレイ２０６として、例えば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。ただし、ディスプレイ２０６が車載装置２００の外に存在してもよい。
【００４７】
入力デバイス２０７は、ユーザの操作を検出し、検出した操作を示す入力信号をＣＰＵ２０１に出力する。入力デバイス２０７として、例えば、キーパッドやタッチパネルなどを用いることができる。車載装置２００は、複数種類の入力デバイスを有してもよい。また、入力デバイス２０７が車載装置２００の外に存在してもよい。
【００４８】
媒体リーダ２０８は、記録媒体２１１に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体２１１として、例えば、半導体メモリ、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）などを使用できる。媒体リーダ２０８は、例えば、記録媒体２１１から読み取ったプログラムやデータをＲＡＭ２０２または不揮発性メモリ２０３に格納する。
【００４９】
通信インタフェース２０９は、無線リンクによってネットワーク３０に接続され、ネットワーク３０を介して交通分析装置１００と通信を行う無線通信インタフェースである。通信インタフェース２０９は、ＣＰＵ２０１からの指示に従って、時刻とＧＰＳ測定部２０４を用いて測定された座標とジャイロセンサ２０５を用いて測定された角度とを対応付けたデータを、交通分析装置１００に送信する。通信インタフェース２０９は、座標のサンプリング周期（１０秒周期）でデータを送信してもよいし、複数時刻のデータを纏めて送信してもよい。例えば、通信インタフェース２０９は、３０個の時刻（１０秒×３０＝３００秒＝５分）のデータを纏めて５分に１回送信してもよい。
【００５０】
図４は、交通分析装置のハードウェア例を示すブロック図である。
交通分析装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。交通分析装置１００が有するこれらのユニットは、バス１０８に接続されている。ＣＰＵ１０１は、第１の実施の形態の演算部１２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。
【００５１】
ＣＰＵ１０１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、交通分析装置１００は複数のプロセッサを備えてもよい。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と言うこともある。
【００５２】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。
ＨＤＤ１０３は、ＯＳやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、軌跡情報補正プログラムが含まれる。なお、交通分析装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよい。
【００５３】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、交通分析装置１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなど任意のディスプレイを用いることができる。
【００５４】
入力信号処理部１０５は、交通分析装置１００に接続された入力デバイス１１２から入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１１２としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、交通分析装置１００に、複数の種類の入力デバイスが接続されていてもよい。
【００５５】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。媒体リーダ１０６は、記録媒体１１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００５６】
通信インタフェース１０７は、ネットワーク３０に接続され、ネットワーク３０を介して他の装置と通信を行うインタフェースである。通信インタフェース１０７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【００５７】
次に、交通分析装置１００が行うマップマッチングについて説明する。
図５は、参照軌跡を用いたマップマッチングの例を示す図である。
ここでは、交通分析装置１００は、車両２０に搭載された車載装置２００からデータを受信し、受信したデータに基づいて各時刻に車両２０が存在した道路を判定する場合を考える。交通分析装置１００は、クエリ軌跡４１を取得する。クエリ軌跡４１は、５分間にＧＰＳによって測定された座標（測定位置）の列である。ただし、測定された各座標は誤差を含む可能性があるため、正確に道路上を指しているとは限らない。また、クエリ軌跡４１では、測定失敗により一部の時刻の座標が欠落していることがある。前述のサンプリング周期の場合、クエリ軌跡４１は最大で３０個の座標を含む。
【００５８】
また、交通分析装置１００は、複数の参照軌跡と各参照軌跡に対応付けられた道路データとを含むデータベースを有している。図５には、一例として、参照軌跡４２〜４４および道路データ４５〜４７が記載されている。道路データ４５は参照軌跡４２に対応する。道路データ４６は参照軌跡４３に対応する。道路データ４７は参照軌跡４４に対応する。
【００５９】
参照軌跡４２〜４４それぞれは、ある車両（車両２０と異なる車両でよい）が過去に走行したときに、５分間に測定された座標の列に基づいて生成されたものであり、参照用の座標（参照位置）の列である。参照軌跡４２〜４４それぞれは、３０個の座標を含む。参照軌跡４２〜４４に含まれる座標は、過去のマップマッチングの結果が反映されており、過去に測定された座標から道路上の適切な座標に補正されている。
【００６０】
道路データ４５〜４７それぞれは、１つの参照軌跡の座標の列に対応する道路の識別子の列である。道路データ４５〜４７それぞれは、３０個の識別子を含む。道路データ４５〜４７に含まれる道路の識別子は、過去のマップマッチングの結果が反映されており、ある時刻に車両が走行していた道路（参照位置の属する道路）を示す。
【００６１】
参照軌跡４２に含まれる１つの座標と道路データ４５に含まれる１つの識別子とが対応する。参照軌跡４３に含まれる１つの座標と道路データ４６に含まれる１つの識別子とが対応する。参照軌跡４４に含まれる１つの座標と道路データ４７に含まれる１つの識別子とが対応する。車両は５分間に複数の道路に跨がって走行する可能性があるため、道路データ４５〜４７それぞれは複数の道路の識別子を含む可能性がある。
【００６２】
以下では、クエリ軌跡によって表されるべき点をクエリ点と言うことがある。１つのクエリ軌跡は、所定数の時刻に対応する所定数（例えば、３０個）のクエリ点を含む。所定数のクエリ点のうち、ＧＰＳによる位置測定に失敗して座標が欠落した点を欠損点と言うことがある。また、参照軌跡によって表されるべき点を参照点と言うことがある。１つの参照軌跡は、所定数の時刻に対応する所定数（例えば、３０個）の参照点を含む。所定数の参照点の中には、座標が欠落した点は存在しないものとする。
【００６３】
交通分析装置１００は、クエリ軌跡４１を取得すると、データベースに記憶された複数の参照軌跡の中からクエリ軌跡４１と類似度の高い参照軌跡を検索する。１つのクエリ軌跡と１つの参照軌跡との間の類似度は、時刻の早い方から順に１番目のクエリ点と１番目の参照点、２番目のクエリ点と２番目の参照点のように、先頭からの順序が同じクエリ点の座標と参照点の座標とを比較して算出する。
【００６４】
第２の実施の形態では、類似度の指標として、クエリ軌跡と参照軌跡の間の「距離」を用いる。軌跡間の距離が小さいほど類似度が高いことを意味し、軌跡間の距離が大きいほど類似度が低いことを意味する。軌跡間の距離は、対応するクエリ点と参照点との間の距離を合計したものである。点間の距離として、ユークリッド距離の二乗を用いることができる。ユークリッド距離の二乗は、緯度の差の二乗と経度の差の二乗の和である。
【００６５】
例えば、交通分析装置１００は、１番目のクエリ点の座標と１番目の参照点の座標との間で、緯度の差の二乗と経度の差の二乗の和を算出し、１番目の点間の距離とする。交通分析装置１００は、２番目のクエリ点の座標と２番目の参照点の座標との間で、緯度の差の二乗と経度の差の二乗の和を算出し、２番目の点間の距離とする。交通分析装置１００は、最大で３０個の点間の距離を算出し、それら点間の距離の合計を軌跡間の距離とする。ただし、クエリ軌跡の中に欠損点がある場合、欠損点については点間の距離を算出せずに無視する。クエリ軌跡に含まれる３０個のクエリ点のうち５個が欠損点である場合、交通分析装置１００は、２５個の点間の距離を合計して軌跡間の距離とする。
【００６６】
このようにして、クエリ軌跡４１と類似度の高い参照軌跡を検索すると、交通分析装置１００は、検索された参照軌跡に対応する道路データを抽出する。ここでは、参照軌跡４４が選択され、道路データ４７が抽出されたとする。すると、交通分析装置１００は、クエリ軌跡４１に含まれる各クエリ点に対して、すなわち、クエリ軌跡４１が示す各時刻に対して、道路データ４７に含まれる道路の識別子を対応付ける。
【００６７】
交通分析装置１００は、１番目のクエリ点に対して、１番目の参照点に相当する１番目の道路の識別子を対応付ける。また、交通分析装置１００は、２番目のクエリ点に対して、２番目の参照点に相当する２番目の道路の識別子を対応付ける。座標が測定されなかった欠損点であるクエリ点に対しても道路の識別子が対応付けられる。これにより、クエリ軌跡４１に対して、各時刻に車両２０が走行していた道路の情報を補完することができる。すなわち、クエリ軌跡４１に対するマップマッチングを完了することができる。
【００６８】
図６は、欠損点のあるクエリ軌跡と参照軌跡の比較例を示す図である。
車両２０がトンネル内の道路や地下にある道路などを走行した場合、欠損点が連続する区間が長くなることがある。その場合、マップマッチングに次のような問題が生じる。ここでは、交通分析装置１００は、クエリ軌跡５１を取得したとする。また、データベースには、参照軌跡５２，５３と道路データ５４，５５が登録されているとする。道路データ５４は参照軌跡５２に対応し、道路データ５５は参照軌跡５３に対応する。
【００６９】
クエリ軌跡５１は、車両２０が道路Ｌ１を走行していたときに測定された座標と、車両２０が道路Ｌ４を走行していたときに測定された座標とを含む。道路Ｌ１と道路Ｌ４との間には、道路Ｌ２，Ｌ３が存在する。車両２０が道路Ｌ１から道路Ｌ４に移動するには、道路Ｌ２と道路Ｌ３の何れか一方を経由することになる。しかし、クエリ軌跡５１には、車両２０が道路Ｌ２または道路Ｌ３を走行していたときの座標が欠落している。
【００７０】
参照軌跡５２は、道路Ｌ１上の参照点と、道路Ｌ２上の参照点と、道路Ｌ４上の参照点とを含む。参照軌跡５２は、道路Ｌ３上の参照点を含まない。道路データ５４は、参照軌跡５２に沿って移動した場合に、道路Ｌ１と道路Ｌ２と道路Ｌ４を走行することを示す。参照軌跡５３は、道路Ｌ１上の参照点と、道路Ｌ３上の参照点と、道路Ｌ４上の参照点とを含む。参照軌跡５３は、道路Ｌ２上の参照点を含まない。道路データ５５は、参照軌跡５３に沿って移動した場合に、道路Ｌ１と道路Ｌ３と道路Ｌ４を走行することを示す。
【００７１】
クエリ軌跡５１と参照軌跡５２，５３とを比較するにあたり、クエリ軌跡５１は途中の区間のクエリ点が欠損点になっている。そこで、クエリ軌跡５１の欠損点でないクエリ点と、それに対応する参照軌跡５２，５３の参照点とが比較される。すなわち、道路Ｌ１に関するクエリ点と参照点とが比較され、また、道路Ｌ４に関するクエリ点と参照点とが比較される。道路Ｌ２，Ｌ３に関するクエリ点と参照点とは比較されない。
【００７２】
その結果、参照軌跡５２と参照軌跡５３の両方が、クエリ軌跡５１と類似度が高いと判定される。比較される道路Ｌ１に関するクエリ点の座標と参照点の座標とが近く、また、比較される道路Ｌ４に関するクエリ点の座標と参照点の座標とが近いためである。しかし、クエリ軌跡５１に含まれる座標のみからは、参照軌跡５２，５３の何れが適切か判断することは難しい。参照軌跡５２と参照軌跡５３とでは、道路Ｌ１と道路Ｌ４の間の区間の経路が異なるものの、その区間の情報がクエリ軌跡５１に欠落しているためである。
【００７３】
そこで、交通分析装置１００は、車両２０，２０ａで測定された進行方向の角度を用いて、欠損点が連続する区間に走行していた道路を推定することとする。以降、第２の実施の形態では、進行方向に基づいて道路を推定する方法を中心に説明する。
【００７４】
図７は、交通分析装置の機能例を示すブロック図である。
交通分析装置１００は、地図データ記憶部１２１、参照データ記憶部１２２、クエリデータ受信部１２３、参照データ抽出部１２４、類似検索部１２５、文字列化部１２６および道路判定部１２７を有する。地図データ記憶部１２１および参照データ記憶部１２２は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域を用いて実装される。クエリデータ受信部１２３、参照データ抽出部１２４、類似検索部１２５、文字列化部１２６および道路判定部１２７は、例えば、ＣＰＵ１０１が実行するプログラムモジュールを用いて実装される。
【００７５】
地図データ記憶部１２１は、道路地図を示す地図データを記憶する。道路地図は、複数のエリアに分割されている。そこで、地図データは、各エリアの緯度の範囲および経度の範囲を示すエリアデータを含む。また、道路地図に記載された道路は、交差点などの基準点を示すノードと、２つのノードを結んだリンクによって表現される。各車両が存在する道路は、リンクの識別子を用いて表すことができる。そこで、地図データは、各ノードの緯度および経度を示すノードデータと、各リンクを示すリンクデータとを含む。
【００７６】
参照データ記憶部１２２は、交通分析装置１００に形成されたデータベースである。参照データ記憶部１２２は、複数の参照軌跡に関する参照データを記憶する。参照データは、過去に複数の車両から収集したクエリデータや過去のマップマッチングの結果に基づいて生成することができる。参照データは、各参照軌跡として参照点の列を含む。参照点の座標は、マップマッチングにより補正された後の道路上の座標である。複数の参照軌跡は、複数のエリアに分類されている。また、参照データは、各参照点の属する道路を示す道路データを含む。また、参照データは、参照点と対応付けて、車両の進行方向を１文字で表した方向文字データを含む。方向文字データは、直進と左折と右折とを区別する。
【００７７】
クエリデータ受信部１２３は、車両２０，２０ａを含む複数の車両それぞれからクエリデータを受信する。クエリデータは、クエリ軌跡に含まれる所定数のクエリ点について、ＧＰＳによって測定された座標を含む。例えば、サンプリング周期が１０秒であり、クエリデータは５分間に測定された最大３０個の座標を含む。ただし、一部のクエリ点が、座標の測定に失敗した欠損点である場合がある。また、クエリデータは、各クエリ点の時刻における車両の進行方向の角度を示す角度データを含む。
【００７８】
参照データ抽出部１２４は、クエリデータ受信部１２３がクエリデータを受信すると、クエリデータを送信した車両の近くにある道路に関する参照データを参照データ記憶部１２２から抽出する。具体的には、参照データ抽出部１２４は、クエリ軌跡の最後の座標を取得し、地図データ記憶部１２１を参照して最後の座標の属するエリアを特定する。参照データ抽出部１２４は、特定したエリアに関する参照データを参照データ記憶部１２２から抽出する。そして、参照データ抽出部１２４は、クエリ軌跡の最後の座標と各参照軌跡の最後の座標とを比較し、クエリ軌跡の最後の座標から所定範囲内に参照軌跡の最後の座標が存在するような参照データを絞り込んで出力する。
【００７９】
類似検索部１２５は、クエリデータに含まれるクエリ軌跡と参照データ抽出部１２４が出力した複数の参照軌跡とを比較し、各参照軌跡の類似度（クエリ軌跡との距離）を算出する。類似検索部１２５は、複数の参照軌跡のうち類似度の高い（距離が小さい）方からＫ個の参照軌跡を選択し、検索結果データを出力する。「Ｋ」は予め設定された２以上の整数であり、例えば、３や５などとしておく。検索結果データには、選択したＫ個の参照軌跡それぞれに対応する道路データと方向文字データが含まれる。
【００８０】
文字列化部１２６は、クエリデータに含まれる角度データを、参照データ記憶部１２２に記憶された方向文字データと同様の変換ルールに従って、方向文字データに変換する。測定された１つの角度が、直進と左折と右折の何れかを示す１文字に変換される。第２の実施の形態では、直進を「Ｎ」、左折を「Ｌ」、右折を「Ｒ」で表現することとする。角度範囲と文字との対応関係の例については後述する。文字列化部１２６が生成する方向文字データは、クエリ点の列に対応する文字列（例えば、長さ３０の文字列）である。前述のように、ＧＰＳを利用した座標の測定に失敗したときでも、角度の測定は行われる。よって、方向文字データは、欠損点に対応する文字も含む。
【００８１】
道路判定部１２７は、クエリデータと、類似検索部１２５が出力する検索結果データと、文字列化部１２６が出力する方向文字データとに基づいて、各時刻に車両が走行していた道路を判定するマップマッチングを行う。道路判定部１２７は、クエリ軌跡の方向文字データ（文字列）とＫ個の参照軌跡の方向文字データ（文字列）とを比較し、文字列の類似度を示す「コスト」を算出する。「コスト」は、文字列間の「距離」と言うこともでき、一方の文字列を他方の文字列に修正するための「編集コスト」と言うこともできる。
【００８２】
道路判定部１２７は、Ｋ個の参照軌跡の中から、類似度が最も高い（コストが最も小さい）文字列に対応する参照軌跡を選択する。道路判定部１２７は、選択した参照軌跡に対応付けられた道路データを用いて、クエリデータの各クエリ点に対して道路の識別子を補完したマッチング結果データを生成する。マッチング結果データにより、車両が各時刻に走行していた道路を１つに特定することができる。道路判定部１２７は、マッチング結果データを出力する。マッチング結果データは、ディスプレイ１１１に表示されてもよい。また、マッチング結果データは、参照データ記憶部１２２に格納されてもよい。
【００８３】
なお、第２の実施の形態では、交通分析装置１００がクエリデータの中の角度を文字に変換している。これに対し、車載装置２００，２００ａが角度を文字に変換し、文字列を含むクエリデータを交通分析装置１００に送信してもよい。
【００８４】
図８は、クエリデータの例を示す図である。
クエリデータ１３１は、車両２０に搭載された車載装置２００からクエリデータ受信部１２３によって受信される。クエリデータ１３１は、クエリ点ＩＤ、時刻、座標、フラグおよび角度の項目を有する。クエリ点ＩＤは、クエリ点を識別する識別子である。クエリデータ１３１は、所定数（例えば、３０個）のクエリ点ＩＤを含む。
【００８５】
クエリデータ１３１の時刻は、ＧＰＳ測定部２０４によって座標が測定されるべき時刻である。クエリデータ１３１は、所定のサンプリング周期（例えば、１０秒周期）の時刻を含む。クエリデータ１３１の座標は、ＧＰＳ測定部２０４によって測定された座標であり、緯度と経度を用いて表される。座標には誤差が含まれている可能性がある。測定に失敗した時刻に対応する座標、すなわち、欠損点に対応する座標は（０，０）とする。
【００８６】
フラグは、座標が測定されたか否か、すなわち、クエリ点が欠損点であるか否かを示すビットである。フラグが「１」であるクエリ点は欠損点でない（座標が測定された）ことを示し、フラグが「０」であるクエリ点は欠損点である（座標が欠落している）ことを示す。フラグは、クエリ軌跡と参照軌跡との間の距離を算出するときに、重みとして用いることができる。また、フラグは、方向文字データである文字列の間のコストを算出するときに、比較範囲を絞り込むフィルタ条件として用いることができる。
【００８７】
クエリデータ１３１の角度は、ＧＰＳ測定部２０４によって座標が測定されるべき時刻に、ジャイロセンサ２０５によって測定された進行方向の角度である。クエリデータ１３１には、フラグが「０」であるクエリ点（欠損点）に対応する角度も含まれている。前述ように、車両２０の正面の直進方向が０°であり、左折方向が正の角度であり、右折方向が負の角度である。急峻な左折ほど角度が大きく、急峻な右折ほど角度が小さくなる。
【００８８】
図９は、地図データの例を示す図である。
エリアテーブル１３２は、地図データ記憶部１２１に記憶されている。エリアテーブル１３２は、エリアＩＤ、座標１および座標２の項目を有する。エリアＩＤは、道路地図を約１０キロメートル×１０キロメートルのエリアの集合に分割したときの各エリアに付与される識別子である。座標１は、エリアを囲む４つの端点のうちの１つの座標である。座標２は、座標１が示す端点の対角にある他の端点の座標である。座標１および座標２は、緯度と経度を用いて表される。なお、エリアテーブル１３２は、エリアを囲む４つの端点を示す４つの座標を含むようにしてもよい。
【００８９】
ノードテーブル１３３は、地図データ記憶部１２１に記憶されている。ノードテーブル１３３は、ノードＩＤおよび座標の項目を有する。ノードＩＤは、道路地図に記載された道路上の基準点（交差点など）であるノードに付与された識別子である。ノードテーブル１３３の座標は、ノードの位置を示す座標であり、緯度と経度を用いて表される。
【００９０】
リンクテーブル１３４は、地図データ記憶部１２１に記憶されている。リンクテーブル１３４は、リンクＩＤ、ノード１およびノード２の項目を有する。リンクＩＤは、２つのノードを結ぶ直線であるリンクに付与された識別子である。ノード１の項目には、リンクの一端のノードに付与されたノードＩＤが記載される。ノード２の項目には、リンクの他端のノードに付与されたノードＩＤが記載される。
【００９１】
図１０は、参照データテーブルの例を示す図である。
参照データテーブル１３５は、参照データ記憶部１２２に記憶されている。参照データテーブル１３５は、軌跡ＩＤ、エリアＩＤ、座標、道路および方向文字の項目を有する。軌跡ＩＤは、参照軌跡に付与された識別子である。エリアＩＤの項目には、エリアテーブル１３２に定義されたエリアのうち参照軌跡が属するエリアの識別子が記載される。
【００９２】
座標の項目には、参照軌跡に含まれる複数の参照点の座標が列挙される。例えば、座標の項目には、５分間に相当する３０個の参照点の座標が列挙される。各参照点の座標は、緯度と経度を用いて表される。各参照点の座標は、過去に測定された座標から補正されたものであり、何れかの道路上の点を指している。
【００９３】
道路の項目には、複数の参照点と対応付けて道路の識別子が列挙される。例えば、道路の項目には、３０個の参照点に対応する３０個の道路の識別子が列挙される。道路の識別子としては、リンクテーブル１３４に定義されたリンクＩＤが用いられる。１つの参照点に対応する１つの道路は、当該１つの参照点の属する道路であり、過去のマップマッチングによって判定されたものである。方向文字の項目には、複数の参照点と対応付けて文字列が記載される。例えば、方向文字の項目には、３０個の参照点に対応する長さ３０の文字列が記載される。各文字は、直進を示すＮ、左折を示すＬ、右折を示すＲの何れかである。１つの参照点に対応する１つの文字は、過去に座標が測定されたときの車両の進行方向を示し、クエリ点の文字と同様の方法で生成できる。
【００９４】
図１１は、検索結果データの例を示す図である。
検索結果データ１３６は、類似検索部１２５によって生成される。検索結果データ１３６は、Ｋ個の参照軌跡について参照データテーブル１３５から抽出されたデータを含む。検索結果データ１３６は、Ｋ個の参照軌跡それぞれについて、参照点ＩＤ、道路および方向文字の項目を有する。参照点ＩＤは、参照点を識別する識別子である。検索結果データ１３６は、１つの参照軌跡につき所定数（例えば、３０個）の参照点ＩＤを含む。
【００９５】
道路の項目には、参照データテーブル１３５において参照点に対応付けられた道路の識別子が記載される。方向文字の項目には、参照データテーブル１３５において参照点に対応付けられた文字（Ｎ、ＬまたはＲ）が記載される。
【００９６】
ここで、進行方向の角度の文字列化について説明する。
図１２は、角度と文字の対応例を示す図である。
文字列化部１２６は、クエリデータに含まれる角度θが、角度範囲６１〜６３の何れに属するか判定する。角度範囲６１は、−６０°より大きく＋６０°より小さい範囲（−６０°＜θ＜＋６０°）である。角度範囲６２は、＋６０°以上の範囲（θ≧＋６０°）である。角度範囲６３は、−６０°以下の範囲（θ≦−６０°）である。
【００９７】
θ＝＋６０°は、進行方向が正面から左に６０°ずれていることを示す。θ＝−６０°は、進行方向が正面から右に６０°ずれていることを示す。角度θが角度範囲６２に属するとき、車両２０は左折していたと言える。角度θが角度範囲６３に属するとき、車両２０は右折していたと言える。角度θが角度範囲６１に属するとき、車両２０は直進またはほぼ直進していたと言える。そこで、文字列化部１２６は、角度θが角度範囲６１に属する場合、角度θを文字「Ｎ」に変換する。文字列化部１２６は、角度θが角度範囲６２に属する場合、角度θを文字「Ｌ」に変換する。文字列化部１２６は、角度θが角度範囲６３に属する場合、角度θを文字「Ｒ」に変換する。
【００９８】
なお、図１２では角度を３つの角度範囲に分類したが、４つ以上の角度範囲に分類し、４種類以上の文字を用いて文字列化してもよい。また、図１２では角度の閾値として＋６０°と−６０°を用いたが、他の角度を閾値として用いてもよい。参照データテーブル１３５に含まれる文字列も、同様の変換ルールに基づいて生成できる。
【００９９】
図１３は、方向文字データの例を示す図である。
文字列化部１２６は、クエリデータ１３１が示すクエリ点ＩＤと角度の対応関係から、クエリ点ＩＤと文字を対応付けた方向文字データ１３７を生成する。文字列化部１２６は、各クエリ点ＩＤに対応する角度を、図１２の変換ルールに従って１文字に変換する。
【０１００】
一例として、クエリデータ１３１は、３．２°、７０．１°、１０．５°、−８０．５°、−５．１°、１．０°、−６８．８°、１２．７°、１．８°という角度の列を含む。この場合、文字列化部１２６によって生成される方向文字データ１３７は、Ｎ、Ｌ、Ｎ、Ｒ、Ｎ、Ｎ、Ｒ、Ｎ、Ｎという文字列を含む。
【０１０１】
図１４は、マッチング結果データの例を示す図である。
マッチング結果データ１３８は、道路判定部１２７によって生成される。マッチング結果データ１３８は、クエリ点ＩＤ、時刻、座標および道路の項目を有する。マッチング結果データ１３８のクエリ点ＩＤ、時刻および座標は、クエリデータ１３１のクエリ点ＩＤ、時刻および座標である。道路の項目には、道路判定部１２７によって各時刻に対して補完された道路の識別子（すなわち、リンクＩＤ）が記載される。マッチング結果データ１３８により、車両２０が各時刻に何れの道路を走行していたか特定できる。
【０１０２】
次に、交通分析装置１００が実行する処理の手順について説明する。
図１５は、マップマッチングの手順例を示すフローチャートである。
（Ｓ１）クエリデータ受信部１２３は、１つの車載装置（例えば、車両２０の車載装置２００）からネットワーク３０を介してクエリデータ１３１を受信する。
【０１０３】
（Ｓ２）参照データ抽出部１２４は、クエリデータ１３１に含まれる複数の座標のうち最後の座標（時刻が最も遅い座標）を抽出する。参照データ抽出部１２４は、地図データ記憶部１２１に記憶されたエリアテーブル１３２を参照して、抽出した最後の座標の属するエリアを特定する。特定するエリアは、抽出した最後の座標の緯度と経度の両方が、「座標１」よりも大きくかつ「座標２」よりも小さいエリアである。
【０１０４】
（Ｓ３）参照データ抽出部１２４は、参照データ記憶部１２２に記憶された参照データテーブル１３５から、特定したエリアに属する複数の参照軌跡を抽出する。
（Ｓ４）参照データ抽出部１２４は、抽出した最後の座標を中心とする検索窓を設定する。検索窓の一辺は３σ＝約１００メートルとする。σはＧＰＳ誤差の標準偏差である。
【０１０５】
（Ｓ５）参照データ抽出部１２４は、検索窓の中に最後の参照点が入っている参照軌跡が存在するか判断する。該当する参照軌跡が存在する場合はステップＳ７に処理が進み、該当する参照軌跡が存在しない場合はステップＳ６に処理が進む。
【０１０６】
（Ｓ６）参照データ抽出部１２４は、検索窓の一辺をσだけ拡大する。そして、ステップＳ５に戻って該当する参照軌跡が存在するか再度判断する。
（Ｓ７）参照データ抽出部１２４は、ステップＳ３で抽出した参照軌跡のうち、検索窓の中に最後の参照点が入っている参照軌跡を選択する。すなわち、参照データ抽出部１２４は、抽出した最後の座標に近い参照軌跡を選択する。
【０１０７】
（Ｓ８）類似検索部１２５は、クエリデータ１３１が示すクエリ軌跡とステップＳ７で選択した参照軌跡それぞれとの間の類似度を算出する。具体的には、類似検索部１２５は、クエリデータ１３１に記載されたクエリ点の列と参照データテーブル１３５に記載された参照点の列との間で、順序が同じ点同士を比較し、前述の方法により軌跡間の距離（例えば、点間のユークリッド距離の二乗の合計）を算出する。ただし、座標が欠落している欠損点であるクエリ点と当該欠損点に対応する参照点については無視する。
【０１０８】
（Ｓ９）類似検索部１２５は、クエリ軌跡との類似度が高い方からＫ個の参照軌跡、すなわち、ステップＳ８で算出した距離が小さい方からＫ個の参照軌跡を選択する。類似検索部１２５は、選択した参照軌跡に関する参照データ（道路データと方向文字データを含む）から検索結果データ１３６を生成する。
【０１０９】
（Ｓ１０）文字列化部１２６は、クエリデータ１３１に含まれる複数の角度それぞれを、前述の変換ルールに従って１文字に変換する。文字列化部１２６は、クエリ点の列に対応する文字列を含む方向文字データ１３７を生成する。例えば、１つの角度が、直進を示す「Ｎ」、左折を示す「Ｌ」、右折を示す「Ｒ」の何れかに変換される。
【０１１０】
（Ｓ１１）道路判定部１２７は、クエリデータ１３１と、ステップＳ９で生成された検索結果データ１３６と、ステップＳ１０で生成された方向文字データ１３７とを用いて、複数のクエリ点それぞれに対応する道路を判定する。道路判定の詳細は後述する。
【０１１１】
（Ｓ１２）道路判定部１２７は、クエリデータ１３１に対して、クエリデータ１３１を送信した車載装置が存在した道路の識別子を補完し、マッチング結果データ１３８を生成する。道路判定部１２７は、マッチング結果データ１３８を出力する。道路判定部１２７は、マッチング結果データ１３８をディスプレイ１１１に表示してもよいし、マッチング結果データ１３８を参照データ記憶部１２２などに保存してもよい。
【０１１２】
次に、ステップＳ１１の道路判定について説明する。
図１６は、クエリ点の文字列と参照点の文字列の比較例を示す図である。
一例として、道路判定部１２７は、文字列７１，７３，７５およびフラグ列７２を取得する。文字列７１は、方向文字データ１３７に含まれる文字列、すなわち、クエリ軌跡に対応する文字列である。フラグ列７２は、クエリデータ１３１に含まれるフラグの列である。フラグ列７２は、クエリ軌跡のクエリ点のうち何れが欠損点であるかを示す。
【０１１３】
文字列７３は、検索結果データ１３６に含まれる参照軌跡ＳＴ１の文字列、すなわち、類似検索部１２５によって選択された参照軌跡ＳＴ１に対応する文字列である。文字列７５は、検索結果データ１３６に含まれる参照軌跡ＳＴ２の文字列、すなわち、類似検索部１２５によって選択された参照軌跡ＳＴ２に対応する文字列である。
【０１１４】
具体的には、文字列７１は、Ｎ、Ｌ、Ｎ、Ｒ、Ｎ、Ｎ、Ｒ、Ｎ、Ｎである。フラグ列７２は、１、１、０、０、０、０、０、１、１である。文字列７３は、Ｎ、Ｎ、Ｌ、Ｎ、Ｒ、Ｎ、Ｒ、Ｎ、Ｎである。文字列７５は、Ｎ、Ｒ、Ｎ、Ｌ、Ｎ、Ｎ、Ｌ、Ｎ、Ｎである。
【０１１５】
道路判定部１２７は、クエリ軌跡に対応する文字列７１の中から、欠損点に相当する文字を抽出する。欠損点に相当する文字は、フラグが「０」であるクエリ点に対応する文字である。クエリ軌跡の中の欠損点が連続する区間は、欠損区間と言うことができる。同様に、道路判定部１２７は、参照軌跡ＳＴ１に対応する文字列７３の中から、欠損点に相当する文字（欠損区間の文字）を抽出する。また、道路判定部１２７は、参照軌跡ＳＴ２に対応する文字列７５の中から、欠損点に相当する文字（欠損区間の文字）を抽出する。
【０１１６】
具体的には、道路判定部１２７は、文字列７１から、３〜７番目の文字であるＮ、Ｒ、Ｎ、Ｎ、Ｒを抽出する。また、道路判定部１２７は、文字列７３から、３〜７番目の文字であるＬ、Ｎ、Ｒ、Ｎ、Ｒを抽出する。また、道路判定部１２７は、文字列７５から、３〜７番目の文字であるＮ、Ｌ、Ｎ、Ｎ、Ｌを抽出する。
【０１１７】
道路判定部１２７は、文字列７１の欠損区間と文字列７３の欠損区間の間で、対応する文字同士を比較してコストを算出する。このとき、欠損区間外にある文字についてコストを算出しなくてよい。道路判定部１２７は、参照軌跡ＳＴ１についてコストを合計した合計コスト７４を算出する。また、道路判定部１２７は、文字列７１の欠損区間と文字列７５の欠損区間の間で、対応する文字同士を比較してコストを算出する。道路判定部１２７は、参照軌跡ＳＴ２についてコストを合計した合計コスト７６を算出する。
【０１１８】
比較する２つの文字の間のコストは、一方の文字を他方の文字に修正するための編集コストである。２つの文字が一致している場合、コストは０である。２つの文字が隣接する２つの角度範囲に相当する場合、コストは１である。２つの文字が隣接しない２つの角度範囲に相当する場合、コストは２（または３以上）である。これは、左折と右折のように進行方向が全く異なる場合のコストを大きくする趣旨である。
【０１１９】
具体的には、ＮとＮ、ＬとＬ、ＲとＲの間のコストは０である。ＮとＬ、ＮとＲの間のコストは１である。ＬとＲの間のコストは２である。よって、文字列７３の欠損区間のコストは１、１、１、０、０となり、合計コスト７４は３と算出される。文字列７５の欠損区間のコストは０、２、０、０、２となり、合計コスト７６は４と算出される。文字列７１と異なる文字の数は、文字列７３の欠損区間が３個であるのに対し、文字列７５の欠損区間が２個であり、文字列７５の方が少ない。しかし、文字列７５の合計コスト７６の方が、文字列７３の合計コスト７４よりも大きくなっている。これは、文字列７５が、文字列７１とは正反対の進行方向を示す傾向にあるためである。
【０１２０】
その結果、文字列７３，７５のうち合計コストが小さい文字列７３の方が、文字列７１に類似していると判定される。よって、参照軌跡ＳＴ１，ＳＴ２のうち参照軌跡ＳＴ１の方が、クエリデータ１３１を送信した車両の移動経路に近いと判断される。
【０１２１】
図１７は、道路判定の手順例を示すフローチャートである。
（Ｓ２１）道路判定部１２７は、クエリデータ１３１の中にフラグ＝０のクエリ点（欠損点）が存在するか判断する。欠損点が存在する場合はステップＳ２３に処理が進み、欠損点が存在しない場合はステップＳ２２に処理が進む。
【０１２２】
（Ｓ２２）道路判定部１２７は、検索結果データ１３６に記載されたＫ個の参照軌跡のうち、類似検索部１２５によって算出された類似度が最大（距離が最小）の参照軌跡を選択する。Ｋ個の参照軌跡の類似度が、検索結果データ１３６に記載されていてもよい。また、道路判定部１２７が類似検索部１２５に、Ｋ個の参照軌跡の類似度または類似度が最大の参照軌跡を問い合わせてもよい。そして、ステップＳ２９に処理が進む。
【０１２３】
（Ｓ２３）道路判定部１２７は、検索結果データ１３６に記載されたＫ個の参照軌跡の中から１つの参照軌跡を選択する。
（Ｓ２４）道路判定部１２７は、方向文字データ１３７に記載された文字列から、欠損点に対応する文字を全て抽出する。
【０１２４】
（Ｓ２５）道路判定部１２７は、ステップＳ２３で選択した参照軌跡について検索結果データ１３６に記載された文字列から、欠損点に対応する参照点の文字を全て抽出する。
（Ｓ２６）道路判定部１２７は、ステップＳ２４で抽出したクエリ軌跡の文字とステップＳ２５で抽出した参照軌跡の文字とを欠損点毎に比較し、コストを算出する。２つの文字がＮとＮ、ＬとＬまたはＲとＲである場合、コストが０である。２つの文字がＮとＬまたはＮとＲである場合、コストが１である。２つの文字がＬとＲである場合、コストが２である。道路判定部１２７は、欠損点毎のコストを合計した合計コストを算出する。
【０１２５】
（Ｓ２７）道路判定部１２７は、ステップＳ２３においてＫ個の参照軌跡を全て選択したか判断する。Ｋ個の参照軌跡を全て選択した場合はステップＳ２８に処理が進み、未選択の参照軌跡がある場合はステップＳ２３に処理が進む。
【０１２６】
（Ｓ２８）道路判定部１２７は、Ｋ個の参照軌跡のうち、ステップＳ２６で算出した合計コストが最小の参照軌跡を選択する。
（Ｓ２９）道路判定部１２７は、検索結果データ１３６から、ステップＳ２２またはステップＳ２８で選択した１つの参照軌跡についての道路データを取得する。道路判定部１２７は、取得した道路データをクエリデータ１３１に対応付ける。すなわち、道路判定部１２７は、クエリデータ１３１に記載された各クエリ点に対して、当該クエリ点に対応する参照点の属する道路の識別子（リンクＩＤ）を対応付ける。
【０１２７】
第２の実施の形態の交通分析システムによれば、時刻とＧＰＳの座標とを対応付けたクエリデータ１３１に対して、マップマッチングにより道路の識別子が補完される。これにより、車両２０，２０ａが各時刻に走行していた道路を１つに特定することができる。
【０１２８】
また、クエリデータ１３１の中にＧＰＳの座標が欠落した欠損区間が存在する場合であっても、ジャイロセンサ２０５などを用いて測定された角度を用いて、車両２０，２０ａの移動軌跡を絞り込むことができる。よって、欠損区間に対しても道路の識別子を補完することが可能となり、マップマッチングの精度が向上する。また、車両２０，２０ａの進行方向の変化が、少数の種類の文字（例えば、Ｎ、Ｌ、Ｒの３種類）で表した文字列に変換されてデータベースの文字列と比較される。これにより、複数通りの経路を互いに区別するのに十分な精度を維持しつつ、比較処理を簡略化することができる。
【０１２９】
なお、前述のように、第１の実施の形態の情報処理は、情報処理装置１０にプログラムを実行させることで実現できる。第２の実施の形態の情報処理は、交通分析装置１００や車載装置２００，２００ａにプログラムを実行させることで実現できる。
【０１３０】
プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体１１３，２１１）に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体（例えば、ＨＤＤ１０３や不揮発性メモリ２０３）にプログラムをコピーして実行してもよい。
【符号の説明】
【０１３１】
１０  情報処理装置
１１  記憶部
１２  演算部
１３，１５，１７  軌跡データ
１３ａ，１３ｂ，１４ｂ，１５ａ，１６ｂ，１７ａ，１８ｂ  区間
１４，１６，１８  方向データ
【図１】
2017142168.tif 000003
【図２】
2017142168.tif 000004
【図３】
2017142168.tif 000005
【図４】
2017142168.tif 000006
【図５】
2017142168.tif 000007
【図６】
2017142168.tif 000008
【図７】
2017142168.tif 000009
【図８】
2017142168.tif 000010
【図９】
2017142168.tif 000011
【図１０】
2017142168.tif 000012
【図１１】
2017142168.tif 000013
【図１２】
2017142168.tif 000014
【図１３】
2017142168.tif 000015
【図１４】
2017142168.tif 000016
【図１５】
2017142168.tif 000017
【図１６】
2017142168.tif 000018
【図１７】
2017142168.tif 000019