(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
図1は、本実施の形態における移動軌跡特定装置の一実施の形態の構成を示すブロック図である。移動軌跡特定装置100は、ユーザが所持する情報端末であって、ここではタブレット端末を用いる例について説明する。本実施の形態では、
図1に示すタブレット端末に、以下に説明する種々の処理を実行するための移動軌跡特定用アプリケーションをインストールすることにより、タブレット端末を本実施の形態における移動軌跡特定装置100として動作させることができる。なお、移動軌跡特定用アプリケーションのプログラムは、インターネットを介して接続されたサーバ上で公開されることにより提供され、ユーザがこれをダウンロードにより入手し、移動軌跡特定装置100にあらかじめインストールされているものとする。あるいは、移動軌跡特定用アプリケーションのプログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されて提供されるようにしてもよい。
【0009】
移動軌跡特定装置100は、タッチパネル101と、GPS(Global Positioning System)モジュール102と、制御装置103と、記録媒体104とを備えている。
【0010】
タッチパネル101は、液晶パネル等の表示装置とタッチパッドのような位置入力装置を組み合わせた電子部品であり、画面上の表示を押すことで機器を操作することができる入力装置である。例えば、移動軌跡特定装置100のユーザは、液晶パネル上に表示されたボタンやメニュー等の表示項目を指やタッチペンを用いてタッチまたはスライドさせることにより、移動軌跡特定装置100を操作することができる。タッチパネル101は、ユーザによるタッチやスライドといった操作を検出して、その検出信号を制御装置103へ出力する。
【0011】
GPSモジュール102は、GPS衛星と通信を行って、GPS衛星から現在位置を特定するための測位情報を受信するためのモジュールであり、GPS衛星と通信を行うためのアンテナや制御回路等が含まれる。
【0012】
制御装置103は、CPU、メモリ、およびその他の周辺回路によって構成され、移動軌跡特定装置100の全体を制御する。なお、制御装置103を構成するメモリは、例えばSDRAM等の揮発性のメモリである。このメモリは、CPUがプログラム実行時にプログラムを展開するためのワークメモリや、データを一時的に記録するためのバッファメモリとして使用される。
【0013】
記録媒体104は、移動軌跡特定装置100が蓄える種々のデータや、制御装置103が実行するためのプログラムのデータ等を記録するための不揮発性の記録媒体であり、例えばフラッシュメモリ等が用いられる。記録媒体104には、移動軌跡特定装置100を動作させるためのファームウェアや種々のアプリケーションを動作させるためのソフトウェアのプログラムデータが記録される。本実施の形態では、この不揮発性のメモリに、上述した移動軌跡特定用アプリケーションのプログラムが記録されている。なお、ここでは移動軌跡特定装置100が記録媒体104を備える例について説明するが、移動軌跡特定装置100にメモリカードスロット等のインターフェースを搭載し、該インターフェースを介して記録媒体を接続する構成としてもよい。また、移動軌跡特定装置100としてパソコンを用いる場合には、記録媒体として、HDD(Hard Disk Drive)やSSD(Solid State Drive)等を搭載すればよい。
【0014】
本実施の形態における移動軌跡特定装置100では、記録媒体104に地図データが記録されており、その地図データで表される地図上には、メッシュ状に細分化された複数の細分化領域が設定される。細分化領域の設定方法の一例を以下に説明する。
【0015】
細分化領域は、例えば、世界地図や日本地図など、移動軌跡特定装置100を所持したユーザが移動する可能性がある地域を含むかたちで1つの大きな正方形の領域を設定した後に、それを4等分して4つの細分化領域を設定した第1の設定パターンを作成する。本実施の形態では、ここで設定された4つの細分化領域をレベル1の細分化領域と呼ぶ、さらに、レベル1の細分化領域のそれぞれを4等分して16の細分化領域を設定した第2の設定パターンを作成する。本実施の形態では、ここで設定された16の細分化領域をレベル2の細分化領域と呼ぶ、その後、各細分化領域を4等分する処理を複数回繰り返し、より細分化した細分化領域を設定していく。本実施の形態では、この4等分処理をn回繰り返して設定された4
n個の細分化領域をレベルnの細分化領域と呼ぶ。
【0016】
図2は、上述した細分化領域の設定例を模式的に示した図である。
図2(A)に示すように、移動軌跡特定装置100が移動する可能性がある地域を含むように設定された正方形の領域を4等分することにより、
図2(B)に示すようなレベル1の細分化領域が設定される。このレベル1の細分化領域によって、地図上には、4
1=4個の細分化領域がメッシュ状に設定される。
【0017】
また、レベル1の細分化領域をそれぞれ4等分することにより、
図2(C)に示すようなレベル2の細分化領域が設定される。このレベル2の細分化領域によって、地図上には、4
2=16個の細分化領域がメッシュ状に設定される。
【0018】
さらに、レベル2の細分化領域をそれぞれ4等分することにより、
図2(D)に示すようなレベル3の細分化領域が設定される。このレベル3の細分化領域によって、地図上には、4
3=64個の細分化領域がメッシュ状に設定される。
【0019】
本実施の形態では、例えばレベル20の細分化領域まで設定する。この場合、細分化領域の数は4
20個、すなわち1,099,511,627,776個の細分化領域が設定されることになる。なお、レベル20の細分化領域のそれぞれは、例えば、1辺が36mの正方形であるものとする。よって、1つ上のレベルのレベル19の細分化領域は1辺が72mの正方形となり、レベル19の細分化領域は1辺が144mの正方形となる。
【0020】
設定された複数のレベルの細分化領域に関する設定情報は記録媒体104に記録される。このように、地図上に複数のレベルの細分化領域が設定された地図データが記録された移動軌跡特定装置100では、制御装置103は、移動軌跡特定用アプリケーションのプログラムの実行が開始されると、上記の複数のレベルの細分化領域のうち、いずれか一つのレベルの細分化領域を選択し、以下に説明する処理を行って、測位時点における地図上における移動軌跡特定装置100の現在位置を特定するとともに、各時点における測位結果に基づいて、出発地から到達地までの移動軌跡特定装置100の移動軌跡を特定する。なお、ここで選択するレベルは、後述するように、制御装置103がユーザの移動速度に応じたものを自動的に選択すればよい。以下、制御装置103によって実行される処理について、詳細に説明する。
【0021】
制御装置103は、あらかじめ設定された所定時間間隔、例えば1分間隔で、GPSモジュール102で受信された測位情報に基づいて、移動軌跡特定装置100の現在位置、すなわち移動軌跡特定装置100を所持するユーザの現在位置を特定する。そして、制御装置103は、メモリに記録されている地図データに基づいて、地図上におけるユーザの現在位置を特定する。これにより、所定時間間隔で地図上におけるユーザの現在位置を特定して、地図上におけるユーザの現在位置の変化を検出することができる。
【0022】
本実施の形態では、各時点におけるユーザの現在位置の検出結果に基づいて、出発地から到達地までのユーザの移動軌跡を特定し、移動軌跡を示す軌跡情報を記録媒体104に記録する。ここでは、例えば、細分化領域が設定された地図上において、ユーザの現在位置が
図3に示すように変化した場合を想定して、制御装置103による処理の具体例について説明する。
【0023】
図3では、地図上において、各時点におけるユーザの現在位置は、地点3a〜3kの順に変化している。従来から用いられているユーザの移動軌跡の特定方法としては、検出したユーザの各時点における現在位置を地図上にプロットし、例えば、ブレゼンハムのアルゴリズムのような、直線を描画するためのアルゴリズムを用いて、各時点における現在位置をその通過順に沿って直線で結ぶことによって、
図3の点線で示すような移動軌跡を演算して特定する方法が一般的であった。この場合、ユーザの移動軌跡を特定するためには、地点3a〜3kの通過順を特定するための情報として、通過した順序を示す情報や各地点の通過時刻、および地点3a〜3kの地図上における位置を特定するための情報として、各地点の緯度・経度情報や地図上における座標値等を記録しておく必要があった。この場合、ユーザの移動が長時間に及んだり、記録するデータ件数が増えたりした場合には、それにしたがって記録するデータ量が膨大になり、記録媒体や記録媒体の容量を圧迫する可能性があった。
【0024】
そこで、本実施の形態では、制御装置103は、このような問題を解決するために、以下のようにユーザの移動軌跡を特定して、移動軌跡を示す軌跡情報を記録媒体104に記録する。
【0025】
制御装置103は、地点3a〜3kのうち、現在位置の検出時点が連続する2つの地点を対象とし、該2つの地点の位置関係を数値で表すことにより、該2つの地点間の移動軌跡を特定する。具体的には、制御装置103は、
図4に示すように、現在位置の検出時点が連続する2つの地点のうち、検出時点が早い方の地点が含まれる細分化領域(現在位置領域)を基準として、その周囲に位置する8つの細分化領域に対して0〜7の数値を割り当て、検出時点が遅い方の地点が含まれる細分化領域に割り当てられた数値を、検出時点が早い方の地点から検出時点が遅い方の地点への移動情報として特定する。
図4に示す例では、地点3aから地点3bへの移動情報として「2」が特定される。
図3に示した例においては、この数値を用いた移動情報の特定を、地点3aと地点3b、地点3bと地点3c、地点3cと地点3dといったように、地点3jと地点3kの組まで繰り返して行うことにより、出発地3aから到達地3kまでの移動軌跡を数値を用いて特定することができる。
【0026】
なお、本実施の形態では、検出時点が早い方の地点が含まれる細分化領域を中央位置としたときの周辺領域に検出時点が遅い方の地点が含まれることが好ましいため、制御装置103は、現在位置を検出する時間間隔や、ユーザの移動速度に応じて、各地点について、検出時点が遅い方の地点が検出時点が早い方の地点が含まれる細分化領域の周辺領域に含まれるように、地図上に設定する細分化領域のレベルを設定することが好ましい。
【0027】
本実施の形態では、現在位置の検出時点が連続する2つの地点間の移動軌跡を数値を用いて特定するために、制御装置103は、次式(1)〜(17)に示す演算を行う例について説明する。ここでは、現在位置の検出時点が連続する2つの地点のうち、検出時点が早い方の地点の地図上における座標値が(x0,y0)、検出時点が遅い方の地点の地図上における座標値が(x1,y1)である場合について演算例を示す。なお、以下の説明では、説明の簡略化のために、検出時点が早い方の地点を第一地点と呼び、検出時点が遅い方の地点を第二地点と呼ぶ。
【0028】
まず、制御装置103は、地図上における第一地点と第二地点のx軸方向の差分dxと、y軸方向の差分dyを次式(1)、(2)により算出する。
dx=x1−x0 ・・・(1)
dy=y1−y0 ・・・(2)
【0029】
制御装置103は、式(1)で算出したdxの絶対値と、式(2)で算出したdyの絶対値とが、次式(3)に示す関係を満たすか否かを判断する。
|dy|>|dx| ・・・(3)
【0030】
制御装置103は、dxの絶対値と、dyの絶対値とが、式(3)に示す関係を満たすと判断した場合には、次式(4)により変数Dを算出する。
D=2×|dy|−|dx| ・・・(4)
【0031】
制御装置103は、式(4)で算出したDが次式(5)を満たす場合には、次式(6)〜(9)により、第一地点と第二地点間の移動軌跡を示す数値Pを特定する。
D>0 ・・・(5)
x1>x0かつdy>0のとき、P=2 ・・・(6)
x1<x0かつdy>0のとき、P=0 ・・・(7)
x1>x0かつdy<0のとき、P=4 ・・・(8)
x1<x0かつdy<0のとき、P=6 ・・・(9)
【0032】
一方、制御装置103は、式(4)で算出したDが式(5)を満たさない場合には、次式(10)、(11)により、第一地点と第二地点間の移動軌跡を示す数値Pを特定する。
x1>x0のとき、P=3 ・・・(10)
x1<x0のとき、P=7 ・・・(11)
【0033】
また、制御装置103は、dxの絶対値と、dyの絶対値とが、式(3)に示す関係を満たさないと判断した場合には、上記の式(4)により変数Dを算出した後、以下のように処理を行う。
【0034】
制御装置103は、式(4)で算出したDが上記の式(5)を満たす場合には、次式(12)〜(15)により、第一地点と第二地点間の移動軌跡を示す数値Pを特定する。
y1>y0かつdx>0のとき、P=2 ・・・(12)
y1<y0かつdx>0のとき、P=4 ・・・(13)
y1>y0かつdx<0のとき、P=0 ・・・(14)
y1<y0かつdx<0のとき、P=6 ・・・(15)
【0035】
一方、制御装置103は、式(4)で算出したDが式(5)を満たさない場合には、次式(16)、(17)により、第一地点と第二地点間の移動軌跡を示す数値Pを特定する。
y1>y0のとき、P=1 ・・・(16)
y1<y0のとき、P=5 ・・・(17)
【0036】
制御装置103は、上記演算を行って特定したPを出発地から到達地までの通過順で並べた情報を、出発地から到達地までの移動軌跡を示す移動軌跡情報として作成する。例えば、
図3に示す例において、地点3aと地点3b間の移動情報が「2」、地点3bと地点3c間の移動情報が「3」、地点3cと地点3d間の移動情報が「1」、地点3dと地点3e間の移動情報が「2」、地点3eと地点3f間の移動情報が「0」、地点3fと地点3g間の移動情報が「7」、地点3gと地点3h間の移動情報が「6」、地点3hと地点3i間の移動情報が「1」、地点3iと地点3j間の移動情報が「0」、地点3jと地点3k間の移動情報が「5」と算出されたとする。この場合、制御装置103は、これらの移動情報を並べて表した「2312076105」を、地点3aから地点3kまでの移動軌跡情報として作成する。
【0037】
制御装置103は、このように作成した移動軌跡情報を記録媒体104に記録する。このとき、移動情報を並べた「2312076105」をそのまま記録してもよいし、各移動情報を二進数で表して記録するようにしてもよい。例えば、「2312076105」の各数値を3ビットの二進数で表した移動軌跡情報は、「010011001010000111110001000101」となる。
【0038】
図5は、本実施の形態における移動軌跡特定装置100で実行される処理の流れを示すフローチャートである。
図5に示す処理は、移動軌跡特定装置100上で移動軌跡特定用アプリケーションのプログラムが実行されると起動するプログラムとして、制御装置103によって実行される。なお、
図5においては、あらかじめ出発地から到達地までの各時点における現在位置は特定されており、各時点における現在位置の地図上の位置は記録媒体104に記録されているものとする。
【0039】
ステップS10において、制御装置103は、記録媒体104に記録されている出発地から到達地までの各時点における現在位置の中から、現在位置の検出時点が連続する2つの地点を演算対象として選択する。その後、ステップS20へ進む。
【0040】
ステップS20では、制御装置103は、ステップS10で選択した現在位置の検出時点が連続する2つの地点を対象として、式(1)〜(17)により上述した演算を行って、第一地点と第二地点間の移動軌跡を示す数値Pを移動情報として算出する。その後、ステップS30へ進む。
【0041】
ステップS30では、制御装置103は、出発地から到達地までの間で現在位置が検出された全ての地点を対象として、ステップS20の処理が完了したか否かを判断する。ステップS30で否定判断した場合には、ステップS40へ進む。
【0042】
ステップS40では、制御装置103は、ステップS20の処理が完了していない地点の中から現在位置の検出時点が連続する2つの地点を演算対象として選択して、ステップS20へ戻る。
【0043】
これに対して、ステップS30で肯定判断した場合には、ステップS50へ進む。ステップS50では、制御装置103は、ステップS20の処理で特定した各地点間の移動情報の数値を出発地から到達地までの通過順で並べて、出発地から到達地までの移動軌跡を示す移動軌跡情報を作成する。その後、ステップS60へ進む。
【0044】
ステップS60では、制御装置103は、ステップS50で作成した移動軌跡情報を記録媒体104に記録する。その後、処理を終了する。
【0045】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)制御装置103は、所定時間間隔で現在位置を測位して、各時点における地図上の現在地点を特定し、地図上にメッシュ状に細分化して設定された複数の細分化領域のうち、第一の時点における現在地点(第一地点)を含む細分化領域を現在位置領域として特定して、第一の時点よりも後の第二の時点における現在地点(第二地点)が、現在位置領域の周囲に設定されている8つの細分化領域のいずれに属するかを特定し、特定した周囲領域に割り当てられている数値を第一地点から第二地点への移動情報として特定するようにした。このように、第一地点から第二地点への移動情報として数値を用いることによって、移動情報のデータ量を削減することができる。
【0046】
(2)制御装置103は、出発地から到達地までの間における各時点間の移動情報を時系列で並べて、出発地から到達地までの移動軌跡を示す移動軌跡情報を作成し、移動軌跡情報を記録媒体に記録するようにした。これによって、出発地から到達地までの経路を数値を時系列で並べた情報により表すことができ、移動軌跡情報として複数桁の数値を記録すればよいため、記録媒体の使用量を削減することができる。
【0047】
(3)制御装置103は、移動情報を二進数で表して時系列で並べることにより、移動軌跡情報を作成するようにした。これによって、出発地から到達地までの経路を0と1のデジタル信号により記録することができる。また、このように移動経路情報を0と1のデータで表した場合、データを圧縮した際の圧縮効果が大きくなるため、より小さいデータ量で移動経路情報を記録媒体104に記録することができる。
【0048】
(4)制御装置103は、第一地点を含む現在位置領域の周囲に設定されている8つの細分化領域のそれぞれに0〜7の数値を割り当て、第二地点を含む細分化領域に割り当てられている数値を移動情報として特定するようにした。これによって、第一地点を含む領域と第二地点を含む領域の位置関係を0〜7の数値を用いて簡易に特定することができる。
【0049】
―変形例―
なお、上述した実施の形態の移動軌跡特定装置100は、以下のように変形することもできる。
(1)上述した実施の形態では、移動軌跡特定装置100としてタブレット端末を用いる例について説明した。しかしながら、
図1に示した構成よりなる他の端末、例えば、スマートフォンやパソコン等の情報端末を用いてもよい。
【0050】
(2)上述した実施の形態では、地図データおよび複数のレベルの細分化領域に関する設定情報は、記録媒体104に記録されている例について説明した。しかしながら、地図データおよび複数のレベルの細分化領域に関する設定情報は、移動軌跡特定装置100から通信回線を介してアクセス可能な外部の装置に記録しておき、制御装置103は、外部装置から地図データおよび複数のレベルの細分化領域に関する設定情報をダウンロードして利用するようにしてもよい。
【0051】
(3)上述した実施の形態において、
図4では、現在位置領域を基準として、周囲に位置する8つの細分化領域に対して0〜7の数値を割り当てるに当たり、現在位置領域の左上に位置する細分化領域に0を割り当て、そこから右回りに1ずつ増加するように、各細分化領域に数値を割り当てる例について説明した。しかしながら、各細分化領域への数値の割り当て方法はこれに限定されない。
【0052】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。