以下、本発明を実施するための形態について説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[第1の実施の形態]
第1の実施の形態について説明する。図1は、本第1の実施の形態における情報処理システム10の構成例を表している。情報処理システム10は、他の装置100と、人工衛星、及び情報処理装置500を備える。
他の装置100は、例えば、スマートフォンやフィーチャーフォンなどの端末装置である。他の装置100は、人工衛星200から送信されたGPS信号を受信して第1乃至第3の連続した位置情報を取得し、取得した第1乃至第3の位置情報を情報処理装置500へ送信する。この場合、第1乃至第3の位置情報は、他の装置100の位置情報を表している。
情報処理装置500は、人工衛星200から送信されたGPS信号を受信して第1乃至第3の連続した位置情報を取得してもよい。この場合の第1乃至第3の位置情報は、情報処理装置500の位置情報を表している。情報処理装置500は、自局で取得した第1乃至第3の位置情報、或いは、他の装置100において取得された第1乃至第3の位置情報を入力する。
情報処理装置500はプロセッサ520を備える。プロセッサ520は、人工衛星200を利用して自装置で取得した、又は、他の装置100により取得された第1乃至第3の連続した位置情報を入力する。プロセッサ520は、第1の位置情報に対応する第1の測定点と第2の位置情報に対応する第2の測定点とを結ぶ第1の辺と、第2の測定点と第3の位置情報に対応する第3の測定点とを結ぶ第2の辺によりなす第1の角度を第1乃至第3の位置情報に基づいて算出する。そして、プロセッサ520は、算出した第1の角度に基づいて第2の位置情報を補正する。この際、プロセッサ520は、第1及び第3の測定点にそれぞれ対応する第1及び第3の位置情報を補正してもよい。或いは、プロセッサ520は、第1の測定点を始点、第2の測定点を終点とし、第1及び第2の位置情報を補正しなくてもよい。
このように本第1の実施の形態において、情報処理装置100は、第1の角度に基づいて第2の測定点に対応する第2の位置情報を補正するようにしている。例えば、情報処理装置100は、第2の測定点における第1の角度が第1の閾値より小さいときに第2の位置情報を補正し、第1の角度が第1の閾値以上のときは第2の位置情報を補正しないようにする。例えば、第1の角度が第1の閾値より小さい鋭角的な角度であるとき、情報処理装置500や他の装置100の移動軌跡がそのような鋭角的な角度で移動する可能性は一定の場合より低く、第2の位置情報には一定の場合以上の誤差が含まれていると判別することができる。このような場合、情報処理装置100では、第2の位置情報を補正するようにしているため、第2の位置情報を補正しない場合と比較して、第2の位置情報に含まれる誤差が低減され、移動軌跡の誤差も低減されてその精度の向上を図ることができる。
[第2の実施の形態]
次に第2の実施の形態について説明する。
<情報処理システムの構成例>
図2は本第2の実施の形態における情報処理システム10の構成例を表す図である。情報処理システム10は、端末装置(以下、「端末」と称する場合がある)100、人工衛星200、基地局装置300(以下、「基地局」と称する場合がある)、データ管理サーバ400、及びパーソナルコンピュータ(以下、「PC」と称する場合がある)500を備える。基地局300とデータ管理サーバ400、及びパーソナルコンピュータ500はネットワーク600を介して接続される。
端末100は、フィーチャーフォンやスマートフォン、タブレット端末などの情報処理装置である。このような情報処理装置はモバイル通信機器と呼ばれる場合もある。端末100は、人工衛星200から送信されたGPS(Global Positioning System)信号を受信し、受信したGPS信号に基づいて端末100の位置情報を取得する。位置情報の取得は公知の方法でもよい。端末100は、4つの人工衛星200から受信したGPS信号に基づいて位置情報を取得することもできるし、3つ以下の人工衛星200から取得したGPS信号に基づいて位置情報を取得することもできる。また、端末100は、取得した位置情報とともに、当該位置における時刻情報や品質情報などを測定してもよい。時刻情報は、例えば、GPS信号を受信した受信時刻でもよい。受信時刻は、例えば、端末100の内部タイマなどにより測定される。また、品質情報としては、例えば、当該位置において端末100と基地局300の間の無線区間における通信品質である。品質情報は、例えば、基地局300から送信された無線信号に基づいて端末100の通信部によって測定されてもよい。
本第2の実施の形態では、位置情報、時刻情報、品質情報などを含むデータを測定データと称する場合がある。端末100は測定データを生成し、生成した測定データを、基地局300を介してデータ管理サーバ400へ送信する。なお、取得した位置情報を地図画面上にプロットしたときの位置を、例えば、測定ポイントと称する場合がある。位置情報は、例えば、2次元の位置座標として表されてもよい。本第2の実施の形態では、端末100はこのような測定データを所定時間間隔毎に順次生成していく。
基地局300は、端末100と無線通信を行う通信装置でもあり、データ管理サーバ400と有線による通信を行う通信装置でもある。基地局300は、端末100から送信された無線信号を受信して、受信した無線信号から測定データなどを抽出し、抽出した測定データなどをデータ管理サーバ400へ送信する。また、基地局300は、自局が生成した制御信号や、データ管理サーバ400などから受け取ったデータなどを無線信号に変換し、変換した無線信号を端末100へ送信してもよい。基地局300は、無線信号とデータとを交換するインターフェースの役割を果たす。
データ管理サーバ400は、例えば、基地局300から送信された測定データを記憶し、記憶した測定データを管理する情報処理装置である。データ管理サーバ400は、端末100から送信された測定データを受信し、受信した測定データを内部の記憶部などに記憶する。データ管理サーバ400は、複数の端末100から送信された測定データを受信して記憶部などに記憶してもよい。その場合、図2に示す端末100も複数台あってもよい。また、データ管理サーバ400は、PC500などから読み出し指示などを受けると、記憶部に記憶した測定データを読み出してPC500へ送信する。
PC500は、例えば、測定データに含まれる位置情報を補正する情報処理装置である。PC500は移動可能なPCでもよい。PC500は、データ管理サーバ400から測定データを適宜読み出して、測定データに含まれる位置情報を補正し、補正した位置情報に対応する測定ポイントを地図画面上に表示する。位置情報の補正の詳細は動作例で説明する。
図3は情報処理システム10における各装置100,400,500の機能やデータの流れを表す図である。図3では、端末100としてスマートフォン、ネットワーク600としてインターネットを例にした情報処理システム10の例を表している。
スマートフォン100は、人工衛星200を利用して位置情報を取得し、取得した位置情報を内部メモリなどにデータベースとして保存する。スマートフォン100は位置情報を含む測定データを生成して、基地局300とインターネット600を介してデータ管理サーバ400へ送信する。例えば、データ管理サーバ400は測定データをデータベースとして保存し、PC500はデータ管理サーバ400から測定データを読み出すことができる。PC500は、データ管理サーバ400から測定データを読み出し、位置情報を補正して、画面上に表示させる。
図4は情報処理システム10の他の構成例である。情報処理システム10は、人工衛星200と端末100を備える。この場合、端末100において、取得した位置情報に対して補正を行い、補正後の位置情報に対応する測定ポイントを地図画面上に表示させることができる。この例では、図2の例と比較して、データ管理サーバ400やPC500などはなく、端末100単独で補正と表示を行う。図5は端末100としてスマートフォンを例にした場合の情報処理システム10の例を表している。この場合、スマートフォン100は、人工衛星200により位置情報を取得し、取得した位置情報を補正し、補正した位置情報に対応する測定ポイントを表示する。
なお、図2に示す情報処理システム10や図4に示す情報処理システム10のいずれについても、例えば、端末100はタクシーやバス、電車などに設置されて、数時間或いは数日間に亘って測定データを取得するようにしてもよい。これにより、例えば、PC500では一定時間内の一定範囲の複数の測定データに基づいて平均的な移動軌跡を算出したり、同一時刻の同一場所における複数の測定データに基づいて当該時刻の当該場所における平均的な品質情報を決定したりすることができる。
なお、図2及び図3に示す情報処理システム10を実施例1、図4及び図5に示す情報処理システム10を実施例2として説明する。実施例1の構成例と動作例を説明した後、実施例2の構成例と動作例を説明する。
<実施例1>
次に、実施例1(例えば図2及び図3)の情報処理システム10における各装置100,300,400,500の構成例について説明する。
<端末装置100の構成例>
図6は端末100の構成例を表す図である。端末100は、GPS部110、入力部120、表示部130、プロセッサ140、メモリ150、及び通信部160を備える。
GPS部110は、人工衛星200から送信されたGPS信号を受信し、受信したGPS信号に基づいて位置情報を取得する。GPS部110は、取得した位置情報をプロセッサ140又はメモリ150へ出力する。
入力部120は、例えば、表示部130に表示されたタッチセンサなどである。ユーザは入力部120を操作することで、端末100に文字を入力したり、タップやスワイプなどのタッチ操作などで端末100に対して各種指示を行ったり、表示部130に表示された画面自体を大きくさせたりすることができる。
表示部130は、例えば、液晶画面であって、文字や映像などを表示させる。表示部130は、例えば、位置情報を含む測定データを表示させたり、位置情報に対応する測定ポイントを地図画面上に表示させたりすることもできる。
プロセッサ140は、GPS部110、入力部120、表示部130、メモリ150、及び通信部160を制御する。例えば、プロセッサ140は以下の制御を行う。すなわち、GPS部110からGPS部110から位置情報を受け取ると、受け取った時刻を、内部タイマなどを利用して時刻情報として取得する。また、プロセッサ140は、通信部160に対して通信品質の取得を指示する。プロセッサ140は、通信部160から品質情報を受け取ると、品質情報、位置情報、及び時刻情報などを含む測定データを生成し、生成した測定データをメモリ150に記憶する。プロセッサ140は、メモリ150に記憶された測定データを読み出して通信部160へ出力し、測定データをデータ管理サーバ400へ送信するよう通信部160へ指示する。測定データは基地局300を介してデータ管理サーバ400へ送信される。
メモリ150は、測定データを記憶したり、プロセッサ140で実行されるプログラムを記憶したりする。プロセッサ140はメモリ150から読み出したプログラムを実行することで上述した処理を含む様々な処理を実行する。
通信部160は基地局300との間で無線信号を交換する。すなわち、通信部160は、プロセッサ140からの指示を受けて、基地局300から送信された無線信号を受信して、受信した無線信号からデータや制御信号などを抽出し、抽出したデータや制御信号などをプロセッサ140やメモリ150へ出力する。また、通信部160は、プロセッサ140からの指示を受けて、プロセッサ140やメモリ150などから受け取ったデータや制御信号などを無線信号に変換し、当該無線信号を基地局300へ送信する。このような変換が行われるよう、通信部160には変調回路や復調回路、周波数変換回路などが含まれてもよい。さらに、通信部160は、プロセッサ140からの指示を受けて、基地局300との間の通信品質を取得する。通信部160は、例えば、基地局300から送信された無線信号に基づいて通信品質を測定してもよいし、基地局300において測定された通信品質を受け取ってこれを通信品質としてもよい。
<基地局300の構成例>
次に基地局300の構成例について説明する。図7は基地局300の構成例を表す図である。基地局300は通信部310、プロセッサ320、メモリ330、入力部340、表示部350、記憶部360を備える。
通信部310は、端末100との間で無線信号を交換し、更に、データ管理サーバ400との間でデータなどを交換する。
すなわち、通信部310は、プロセッサ320からの指示により、端末100から送信された無線信号を受信し、受信した無線信号からデータや制御信号などを抽出し、抽出したデータや制御信号などをプロセッサ320やメモリ330へ出力する。また、通信部310は、プロセッサ320からの指示により、プロセッサ320やメモリ330などからデータや制御信号などを受け取ると、データや制御信号などを無線信号に変換し、無線信号を端末100へ送信する。このような変換が行われるよう、通信部310は変調回路や復調回路、周波数変換回路などが含まれてもよい。
また、通信部310は、プロセッサ320の指示により、プロセッサ320やメモリ330からデータなどを受け取ると、当該データなどを含むパケットデータを生成し、生成したパケットデータをデータ管理サーバ400へ送信する。また、通信部310は、プロセッサ320の指示により、データ管理サーバ400から送信されたパケットデータを受信し、受信したパケットデータからデータなどを抽出し、抽出したデータなどをプロセッサ320やメモリ330へ出力する。通信部310ではこのような変換処理が行われるよう、変換回路などを備えるようにしてもよい。
プロセッサ320は、通信部310、メモリ330、入力部340、表示部350、及び記憶部360などを制御する。メモリ330は、データなどを記憶する。入力部340は、キーボードや表示部350に表示されたタッチセンサなどである。基地局300を操作する操作者などによって入力部340を介して種々の情報などが入力されてもよい。記憶部360は、例えば、ハードディスクなどの大容量記憶媒体である。記憶部360は、例えば、CD−ROM(Compact Disk Read Only Memory)などの可搬型記憶媒体も装填可能であって、CD−ROMに記憶されたプログラムやデータなどを読み出して記憶部360に記憶されてもよい。
<データ管理サーバ400の構成例>
次に、データ管理サーバ400の構成例を説明する。図8はデータ管理サーバ400の構成例を表す図である。データ管理サーバ400は、通信部410、プロセッサ420、メモリ430、入力部440、表示部450、記憶部460を備える。
通信部410は、基地局300との間でデータなどを交換し、また、PC500との間でデータなどを交換する。すなわち、通信部410は、プロセッサ420からの指示により、基地局300やPC500から送信されたパケットデータを受信し、受信したパケットデータからデータなどを抽出し、抽出したデータなどをプロセッサ420やメモリ430、記憶部460へ出力する。また、通信部410は、プロセッサ420からの指示により、プロセッサ420やメモリ430、記憶部460からデータなどを受け取ると、当該データなどを含むパケットデータを生成し、生成したパケットデータを基地局300やPC500へ送信する。通信部410ではこのような変換処理が行われるよう、変換回路などを備えるようにしてもよい。
プロセッサ420は、通信部410、メモリ430、入力部440、表示部450、及び記憶部460を制御する。例えば、プロセッサ420は通信部410を介して基地局300から測定データを受け取ると記憶部460に記憶する。また、プロセッサ420は、例えば、通信部410を介してPC500から測定データの読み出し指示を受け取ると記憶部460から該当する測定データを読み出して、当該測定データを、通信部410を介してPC500へ送信する。
メモリ430は、例えば、プログラムやデータなどを記憶する。プロセッサ420は、メモリ430に記憶されたプログラムを読み出して実行することで、上述した処理を含む様々な処理を実行する。メモリ430には、端末100から送信された測定データが記憶されてもよい。
入力部440は、例えば、キーボードや表示部450に表示されたタッチセンサなどである。操作者はキーボードなどを介してデータ管理サーバ400に種々の情報を入力したり指示を行ったりすることができる。
表示部450は、例えば、液晶モニタであり、測定データに含まれる位置情報や品質情報などを表示することもできる。
記憶部460は、例えば、大容量記憶媒体であり、測定データなど記憶する。また、記憶部460はCD−ROMなどの可搬型記憶媒体を装填可能であり、CD−ROMに記憶されたプログラムやデータなどを読み出して記憶部460に記憶させたり、メモリ430に記憶させたりすることもできる。
<PC500の構成例>
次に、PC500の構成例を説明する。PC500は、通信部510、プロセッサ520、メモリ530、入力部540、表示部550、記憶部560を備える。
通信部510は、データ管理サーバ400とデータなどを交換する。すなわち、通信部510は、プロセッサ520からの指示により、データ管理サーバ400からパケットデータを受信し、受信したパケットデータからデータなどを抽出し、抽出したデータなどをプロセッサ520やメモリ530、記憶部560へ出力する。また、通信部510は、プロセッサ520の指示により、プロセッサ520やメモリ530、記憶部560からデータや指示などを受け取ると、当該データや指示などを含むパケットデータを生成し、生成したパケットデータをデータ管理サーバ400へ送信する。通信部510ではこのような変換処理が行われるよう、変換回路を備えるようにしてもよい。
プロセッサ520は、通信部510、メモリ530、入力部540、表示部550、記憶部560を制御する。本第2の実施の形態においては、例えば、プロセッサ520は測定データに含まれる位置情報に対して3つの補正手順(補正手順1から補正手順3)を行うことで補正処理を行う。この際、プロセッサ520は、メモリ530に記憶されたプログラムを読み出して実行することで補正処理を行ってもよい。補正処理の詳細は動作例において説明する。
メモリ530は、例えば、プログラムやデータなどを記憶する。メモリ530は、例えば、測定データを記憶してもよい。
入力部540は、例えば、キーボードや表示部550に表示されたタッチセンサなどである。操作者はキーボードなどを介して、測定データの読み出し指示をPC500へ入力したり、各種情報などをPC500へ入力したりすることができる。
表示部550は、例えば、液晶モニタであり、測定データに含まれる時刻情報や位置情報、品質情報などを表示したり、測定データに対応する測定ポイントを地図画面上に表示したりする。
記憶部560は、例えば、大容量記憶媒体であり、地図情報に関する地図データや様々なデータなどを記憶する。また、記憶部560はCD−ROMなどの可搬型記憶媒体を装填可能であり、CD−ROMに記憶されたプログラムやデータなどを読み出して記憶部560に記憶させたり、メモリ530に記憶させたりする。
<動作例>
次に、実施例1における動作例について説明する。上述したように、実施例1では端末100が位置情報を含む測定データを取得し、データ管理サーバ400は当該測定データを一時的に記憶し、PC500は当該測定データに対して補正処理を行う。以下の動作例では、PC500がデータ管理サーバ400に記憶された測定データを読み出してメモリ530に記憶されているものとして説明する。この場合、測定データは記憶部560に記憶されてもよい。
図12は補正前の測定データの例を表している。測定データは、時刻情報、位置情報、品質情報など含む。位置情報は、例えば、経度(Gx)と緯度(Gy)の2次元座標(Gx,Gy)として表されている。また、品質情報には、例えば、周波数や受信信号強度など、複数種類の品質情報が含まれている。
本第2の実施の形態においては、補正処理は3つの補正手順(補正手順1、補正手順2、補正手順3)を含む。補正手順1においてPC500は、測定データに対して補正対象となる補正対象データを算出(又は抽出)する処理を行う。そして、補正手順2において、PC500は補正対象データではない測定ポイントに対してその周囲に一定以上の補正対象データの測定ポイントが存在する場合も当該測定ポイントを補正対象データとして追加する処理を行う。最後に、補正手順3において、PC500は抽出した補正対象データに含まれる位置情報を補正する処理を行う。以下、この順番で説明する。
<1.補正対象データの算出(補正手順1)>
最初に補正手順1について説明する。PC500は、端末100において人工衛星200を利用して取得された第1乃至第3の連続した位置情報を入力し、第2の位置情報に対応する測定点における角度を第1乃至第3の位置情報に基づいて算出する処理を行う。最初に、図10(A)から図11を用いて、補正手順1の算出例について説明し、次に、図13を用いて補正手順1の動作例について説明する。
図10(A)は、地図画面上に表示された測定ポイントの例を表している。上述したように測定ポイントは、例えば、位置情報に対応する測定点であって、測定点を地図画面上に表示した測定点を表す。各測定ポイントにおいては測定データが存在している、と考えることもできる。また、端末100は一定時間間隔毎に位置情報を取得する。一定時間間隔は、例えば、1秒である。ただし、1秒は一例であって、数秒単位であってもよいし、数分単位であってもよい。図10(A)に示される測定ポイントは、例えば、1秒ごとの測定ポイントとなっている。図10(A)において各測定ポイントは矢印の順番で地図画面上にプロットされる。
ここで、3つの測定ポイントを時間順にGs,Gt,Geとし、3つの測定ポイントGs,Gt,Geを以下のように表す。
ここで、図10(A)や図10(B)に示すように、測定ポイントGsと測定ポイントGtとを結んだ辺GtGsと、測定ポイントGtと測定ポイントGeとを結んだ辺GtGeによりなす角度をθ[rad]する。この角度θを、例えば、測定ポイントGtにおける角度と称する場合がある。PC500は以下の式を用いて測定ポイントGtにおける角度θを算出する。
例えば、メモリ530に式(4)が記憶され、プロセッサ520が処理の際に式(4)をメモリ530から読み出し、各測定ポイントGt,Gs,Geの位置情報を式(4)に代入することで角θを算出する。
そして、PC500は、算出した角θと第1の閾値Taとを比較して、例えば、角θが第1の閾値Taよりも小さいとき、各測定ポイントGt,Gs,Geを補正対象の測定ポイント(以下、「補正対象ポイント」と称する場合がある)とする。補正対象ポイントとなった各測定ポイントGt,Gs,Geにおける各測定データは、例えば、補正対象データとなる。
例えば、端末100が1秒ごとに移動しているときにおいて端末100が鋭角的に移動する状況は考えにくい。実際にはそのように端末100が移動した場合もあるかもしれない。しかし、本第2の実施の形態において、PC500は、そのように鋭角的に端末100が移動するような測定ポイントが得られたとき、そのような測定ポイントを有する位置情報には一定以上の誤差が含まれ、測定ポイントとしての信頼度も一定の場合よりも低いと判別する。そして、そのような場合、PC500では、鋭角的な角θを有する3つの測定ポイントGt,Gs,Geを補正対象ポイントとしている。
一方、PC500は、角θが鋭角的ではないとき、各測定ポイントGt,Gs,Geにおける各測定データを補正対象データとはしないようにする。この場合は、PC500では、端末100が1秒間隔で鋭角的に移動するものではないため、端末100で取得した位置情報に含まれる誤差も一定以下となり、位置情報の信頼度も一定の場合以上となっていると判別する。
なお、PC500は、対象となる測定ポイントGtが、最も早い時刻情報を有する測定データにおける測定ポイント(図10(A)ではG1)のときは、測定ポイントGtを補正対象ポイントとはしない。また、PC500は、対象となる測定ポイントGtが、最も遅い時刻情報を有する測定データにおける測定ポイント(図10(A)ではGf)のときも、測定ポイントGtを補正対象ポイントとはしない。2つの測定ポイントG1,Gfにおいてはこれらの測定ポイントG1,Gfにおけるなす角を算出することができないからである。
第1の閾値Taは、例えば、補正処理が行われる前にユーザによって任意に設定された固定値であってもよい。例えば、第1の閾値Taは、Ta=0.785[rad](=45度)としてもよい。この場合、例えば、ユーザは入力部540を介して第1の閾値Taを入力して、メモリ530に記憶されて、プロセッサ520によって適宜読み出される。
また、第1の閾値Taは、測定ポイントGtにおいて端末100が移動する速度に基づいて可変としてもよい。例えば、端末100の速度が5km/時のとき、Ta=1.047[rad](=60度)、端末100の速度が10km/時のとき、Ta=0.959[rad](=55度)、端末100の速度が15km/時のとき、Ta=0.872[rad](=50度)としてもよい。例えば、PC100では、1秒ごとに位置情報が取得されるため、当該測定ポイントGtにおける位置情報とGtより1つ前の測定ポイントGsにおける位置情報に基づいて端末100の速度を算出してもよい。
さらに、第1の閾値Taは、端末100が設置された車両の種類などに基づいて可変にしてもよく、その場合はユーザによって入力部540を介してメモリ530に記憶されるようにしてもよい。
図11は補正対象ポイントの例を表す図である。補正対象ポイントは黒丸で表されている。一方、補正対象ポイントではない測定ポイント(例えば、「補正非対象ポイント」と称する場合がある)は白丸で表されている。
図11に示すように、3つの測定ポイントGs,Gt,Geは補正対象ポイントとなっている。また、点線で示されるように、8つの測定ポイントが連続して補正対象ポイントとなっている部分もある。いずれも、対象となる測定ポイントにおける角θが第1の閾値Ta以下となっている。補正手順1では、このような補正対象ポイントの算出(又は抽出)が行われる。
図13はPC500で行われる補正対象データの算出(又は抽出)処理の動作例を表すフローチャートである。図13に示す各処理は、例えば、主にPC500におけるプロセッサ520において行われる。
PC500は処理を開始する(S10)、nに「1」を代入する(S11)。nは、例えば、測定ポイントGのカウント値を表している。例えば、プロセッサ520はメモリ530において「n」の値を記憶する領域に「1」を記憶する。
次に、PC500は、測定ポイントGnが先頭データか否かを判別する(S12)。例えば、プロセッサ520は、メモリ530にアクセスして「n」の値(例えば「1」)を読み出して、対象となる測定ポイントGn(例えばG1)における測定データが、メモリ530に記憶された測定データのうち最も早い時刻情報を有する測定データであるか否かにより判別してもよい。
PC500は、測定ポイントGnが先頭ポイントのとき(S12でYES)、測定ポイントGnを補正対象外とする(S13)。例えば、プロセッサ520は、測定ポイントGn(例えばG1)における測定データが最も早い時刻情報を有する測定データのとき、補正対象を示すフラグ情報としてオフ(又は「0」)をメモリ530に記憶するようにしてもよい。例えば、プロセッサ520は、補正対象を示すフラグ情報によって、当該測定ポイントの測定データが補正対象か否かの判別が可能となる。
次に、PC500は、nに「1」を加算する(S14)。例えば、プロセッサ520は、メモリ530の「n」の値を記憶する領域に記憶された値に「1」を加算する。処理対象となる測定ポイントはGn+1となる。
次に、PC500は、処理対象の測定ポイントGn+1の次の測定ポイントGn+2が最終ポイントか否かを判別する(S15)。例えば、プロセッサ520は、測定ポイントGn+2における測定データがメモリ530に記憶された測定データのうち最も遅い時刻情報を有する測定データであるか否かにより判別する。
PC500は、測定ポイントGn+2が最終ポイントではないとき(S15でNO)、3つの測定ポイントGs,Gt,Geを選択し、Gs=Gn,Gt=Gn+1,Ge=Gn+2とする(S16)。例えば、プロセッサ520は、測定ポイントGn+2における測定データが最も遅い時刻情報を有する測定データではないとき、メモリ530にアクセスして以下の処理を行う。すなわち、プロセッサ520は、測定ポイントGn(例えばG2)対して1つ後の時間の測定ポイントGn+1(例えばG3)、更に1つ後の時間の測定ポイントGn+2(例えばG4)を、時刻情報に基づいて選択し、順番にGs,Gt,Geとする。
次に、PC500は辺GsGtと辺GtGeのなす角θを求める(S17)。例えば、プロセッサ520は、メモリ530から3つの測定ポイントGs,Gt,Geの位置座標を読み出して、式(4)に代入することでなす角θを求める。
次に、PC500は、なす角θが第1の閾値Ta以上か否かを判別する(S18)。例えば、プロセッサ520は、メモリ530に記憶された第1の閾値Taを読み出して、S17で算出した角θが第1の閾値Ta以上となっているか否かを判別する。
PC500は、なす角θが第1の閾値より小さいとき(S18でNO)、3つの測定ポイントGs,Gt,Geを補正対象ポイントとし、3つの測定ポイントGs,Gt,Geにおける各測定データを補正対象データとする(S19)。例えば、プロセッサ520は、メモリ530に記憶された3つの測定ポイントGs,Gt,Geにおける各測定データに対して、補正対象フラグ情報がオンとなった当該フラグ情報をメモリ530に記憶してもよい。
そして、PC500はnに「1」を加算し(S14)、上述した処理を繰り返す。なお、PC500では、Gs=Gtのとき(なす角θが存在しないとき)、測定ポイントGtを補正対象ポイントとしてもよい。
一方、PC500は、なす角θが第1の閾値Ta以上のとき(S18でYES)、3つの測定ポイントGs,Gt,Geを補正対象ポイントとすることなく、nに「1」を加算する(S14)。例えば、プロセッサ520は、なす角θが第1の閾値Ta以上となっているとき、測定ポイントGtにおける測定データに対して補正対象フラグ情報をオフにした当該フラグ情報をメモリ530に記憶してもよい。
PC500は、以上の処理を各測定ポイントGnに対して繰り返し(S15でNoからS14までのループ)、測定ポイントGnが最終ポイントになると(S15でYES)、最終ポイントを補正対象外にして(S20)、補正手順2へ移行する。
なお、補正手順1において、処理対象の測定ポイントGn+1(図13のS14)であり、次の測定ポイントGn+2が最終ポイントのとき(S15でYES)、測定ポイントGn+2を補正対象外とした(S20)。その場合、プロセッサ520は、処理対象の測定ポイントGn+1に対して、S16からS19までの処理を行って、測定ポイントGn+1に対する角θに基づいて測定ポイントGn+1を補正対象ポイントとするか否かを判別するようにしてもよい。その場合、プロセッサ520は、角θが第1の閾値Taより小さいときであっても(S18でNO)、角θが第1の閾値以上(S18でYES)であっても、先頭ポイントと最終ポイントを補正対象外とする(S20)。
<2.補正対象データの追加(補正手順2)>
次に、補正手順2の例について説明する。補正手順2は、例えば、補正対象データではない測定ポイントについてその周囲に一定個数以上の補正対象ポイントが存在する場合、当該測定ポイントを補正対象ポイントして追加して、当該補正ポイントにおける測定データを補正対象に追加する処理である。
図14は補正手順1により補正対象となった補正対象ポイントの例を表している。図15は補正手順1により補正対象とはならなかった測定ポイントの例を矢印で表している。
図15に示すように、最初の補正非対象ポイント(補正非対象(1))は1つであり、前後にそれぞれ3つの補正対象ポイントが存在する。
例えば、周囲に一定上の補正対象ポイントがあるにも拘わらず1つだけ補正非対象ポイントが存在する場合、補正非対象ポイントは補正手順1の処理によって補正対象とならなっただけであり、直感的には位置情報の誤差を含み得る測定ポイントと考えることができる。他方、このような測定ポイントを補正対象外として補正手順3によって補正処理が行われると、1つだけ測定ポイントが残った状態で補正処理が行われることになる。このような場合、補正後の測定ポイントを結んだ移動軌跡の形状(又は動線)がジグザグ形状となって滑らかな形状とはならない場合がある。
そこで、本第2の実施の形態では、PC500は、補正非対象となっている測定ポイントの連続した数が第2の閾値Tb以下のとき、測定ポイントを補正対象ポイントに含めるようにする。PC500は、そのような補正非対象ポイントについて、位置情報としての信頼性も一定の場合よりも低いと判別している。
図15の例では、第2の閾値Tbを「2」とした場合、補正非対象(1)の測定ポイントについては個数が「1」であり第2の閾値Tb以下となっているため、PC500は当該測定ポイントGnを補正対象ポイントに追加する。また、補正非対象(2)の測定ポイントの個数は「2」であり、第2の閾値Tb以下となっているため、PC500は当該2つの測定ポイントを補正対象ポイントに追加する。さらに、補正非対象(3)における測定ポイントの個数は「1」であり、第2の閾値Tb以下となっているため、PC500は当該測定ポイントを補正対象ポイントに追加する。補正対象ポイントに追加された測定ポイントの測定データは、補正対象データとなる。
図16は、これらの測定ポイントを補正対象ポイントに含めた場合の補正対象ポイントの例を表している。図16に示すように、いくつかの補正非対象ポイントが補正対象ポイントに追加されている。
この第2の閾値Tbについても、例えば、第1の閾値Taと同様に、補正処理が行われる前にユーザによって設定された固定値であってもよいし、測定ポイントGnの速度に基づいて可変値としてもよい。例えば、端末100の速度が5km/時のとき、第2の閾値Tbを「2」としたり、端末100の速度が10km/時のとき、第2の閾値Tbを「2」としたり、速度が15km/時のとき、第2の閾値Tbを「1」としてもよい。第2の閾値Tbも、例えば、ユーザによって入力部540を介してメモリ530や記憶部560などに記憶されてもよい。
図17は補正手順2の動作例を表すフローチャートである。図17に示す各処理は、例えば、主にプロセッサ520において行われる。
PC500は、補正手順2を開始すると(S30)、nに「1」を代入し、補正候補列Gcを初期化する(S31)。例えば、プロセッサ520は、メモリ530にアクセスして、S11と同様にnの値が記憶される領域に「1」を記憶し、補正候補列Gcが記憶される領域をクリアする。補正候補列Gcは、例えば、補正非対象ポイントの測定データをまとめたものである。
次に、PC500は、測定ポイントGnは先頭ポイントであるか否かを判別する(S32)。
PC500は測定ポイントGnが先頭ポイントであれば(S32でYES)、nの値を「1」加算する(S33)。
一方、PC500は、測定ポイントGnが先頭ポイントでないとき(S32でNO)、測定ポイントGnが最終ポイントであるか否かを判別する(S34)。
PC500は、測定ポイントGnが最終ポイントでないとき(S34でYES)、対象となっている測定ポイントGnが補正対象ポイントか否かを判別する(S35)。例えば、プロセッサ520はメモリ530にアクセスして、測定ポイントGnにおける測定データについて補正対象ポイントを示すフラグ情報がオンになっているか否かにより判別してもよい。
PC500は、測定ポイントGnが補正対象データではないとき(S35でNO)、測定ポイントGnを補正候補列Gcに追加する(S36)。例えば、図15の例では、測定ポイントGnがGn1+1のとき、当該補正ポイントを補正候補列Gcに追加する。例えば、プロセッサ520は、測定ポイントGnに対応する測定データについて補正対象ポイントを示すフラグ情報がオフになっているとき、所定領域に記憶された当該測定ポイントGnにおける測定データを測定候補列Gcが記憶された領域に記憶する。
次に、PC500は、nに対して「1」を加算する(S37)。そして、処理はS35へ移行する。
一方、PC500は、測定ポイントGnが補正対象ポイントであるとき(S35でYES)、補正候補列Gcの要素数が、1以上であり、かつ、第2の閾値Tb以下となっているか否かを判別する(S38)。例えば、図15の例において、補正候補列Gcに1つの補正非対象ポイントGn1+1が含まれているとき、その要素数が「1」であるため、PC500はその要素数「1」は、1以上であり、かつ、第2の閾値Tb以下となっているか否かを判別する。例えば、プロセッサ520はメモリ530から第2の閾値Tbを読み出して、補正候補列Gcの領域に記憶された要素数が1以上であり、かつ、第2の閾値Tb以下となっているか否かにより判別してもよい。
PC500は、補正候補列Gcの要素数が1以上で、かつ、第2の閾値Tb以下ではないとき(S38でNO)、補正候補列Gcを初期化する(S40)。これは、補正候補列Gcの要素数が第2の閾値Tbよりも多いとき、連続して第2の閾値Tbよりも多くの個数の補正非対象の測定ポイントが存在する場合である。連続して第2の閾値Tbよりも多くの個数の補正非対象の測定ポイントが存在するため、補正非対象の測定ポイントの位置情報には誤差が含まれず、信頼度も一定の場合よりも十分高いと考えられる。この場合、PC500では補正候補列Gcに含まれる補正非対象の測定データを補正対象外としている。また、PC500は、補正候補列Gcの要素数が「0」のときも補正候補列Gcそのものが存在しないため、このような場合も補正候補列Gcを初期化してもよい。
一方、PC500は、補正候補列Gcの要素数が1以上で、かつ、第2の閾値Tb以下のとき(S38でYES)、補正候補列Gcに含まれる要素の測定データを補正対象とする(S39)。この場合、補正候補列Gcの要素数が1以上で第2の閾値Tb以下となっているため、補正候補列Gcに含まれる測定ポイントにおける測定データは信頼性が一定よりも低く、位置情報に誤差が含まれていると考えられる。例えば、プロセッサ520は、メモリ530にアクセスして、補正候補列Gcの要素数が1以上、かつ、第2の閾値Tb以下となっているとき、補正候補列Gcに含まれる測定データを確認し、当該測定データに対して、補正対象を示すフラグ情報をオンにした当該フラグ情報をメモリ530に記憶する。
次に、PC500は補正候補列Gcを初期化し(S40)、上述した処理を繰り返す。
一方、測定ポイントGnが最終ポイントのとき(S34でYES)、PC500は補正手順3を行う(S41)。
<3.補正処理(補正手順3)>
次に補正手順3について説明する。補正手順3においてPC500は、補正手順1及び補正手順2で抽出及び追加した補正対象ポイントにおける測定データを補正する処理を行う。具体的には、PC500は、当該測定データに含まれる位置情報を補正して、補正対象ポイントの外側にある補正非対象ポイントを始点及び終点とし、補正対象ポイントを始点と終点を結ぶ直線上に等間隔に再配置する。
図18(A)は補正対象ポイントの例を表す図である。始点Sは、例えば、補正対象ポイントのうち最も早い時刻情報を有する補正対象ポイントよりも1つ前(例えば1秒前)の時刻情報を有する補正非対象ポイントとする。また、終点Eは、例えば、補正対象ポイントのうち最も遅い時刻情報を有する補正対象ポイントよりも1つ後(例えば1秒後)の時刻情報を有する補正非対象ポイントとする。この場合、始点と終点との間に含まれる補正対象ポイントの個数は1つでもよいし複数でもよい。
PC500は、始点Sと終点Eを特定すると、始点Sと終点Eによりなす角rと、始点Sと終点Eとの距離dを算出する。
図18(B)は角rと距離dの例を表す図である。始点Sと終点Eによりなす角rは、例えば、ある点を原点Oとしたとき、始点Sと原点Oとを結んだ辺SOと、原点Oと終点Eとを結んだ辺EOとによりなす角度を表している。
始点Sの位置情報を(S.x, S.y)とし、終点Eの位置情報を(E.x, E.y)とすると、PC500は、始点Sと終点Eによりなす角rと、始点Sと終点Eとの距離dを、以下の式を用いて算出する。
次に、PC500は始点Sと終点Eとを結ぶ直線上に補正対象ポイントを再配置する。図19は補正対象ポイントを再配置した後(又は補正後)の測定ポイントの例を表す図である。補正対象ポイントの個数をNとし、n番目の補正対象データの補正対象ポイントをGnとすると、PC500は補正後の補正対象ポイントGnの位置情報(Gn.x, Gn.y)を以下の式を用いて算出する。
PC500は、式(7)と式(8)を用いて、補正対象ポイントの位置情報を補正して、補正後の位置情報に対応する地図画面上の位置に測定ポイントをプロットする。PC500は、補正対象ポイントの全てに対してこのような処理を繰り返す。PC500は、始点Sから終点Eまでの区間において補正後の位置座標に基づいて測定ポイントを再配置することで、図19に示すように、滑らかな移動軌跡の表示が可能となる。
図20は、補正手順3の動作例を表すフローチャートである。図20に示す各処理は、例えば、主にプロセッサ520において行われる。
PC500は補正手順3の処理を開始すると(S50)、再配置データGrを初期化する(S51)。再配置データGrは、例えば、補正対象データをまとめたものであり、図18(A)の例では黒丸で表された補正対象ポイントの測定データが含まれる。例えば、プロセッサ520はメモリ530の所定領域に記憶された再配置データGrをクリアする。
次に、PC500は、nに「1」を代入する(S52)。
次に、PC500は、測定ポイントGnが最終ポイントか否かを判別する(S53)。
PC500は、測定ポイントGnが最終データではないとき(S53でNO)、測定ポイントGnが補正対象ポイントであるか否かを判別する(S54)。例えば、プロセッサ520は、測定ポイントGnが最も遅い時刻情報を有する測定データの測定ポイントではないとき、メモリ530にアクセスして当該測定ポイントGnの測定データについて補正対象を示すフラグ情報がオンになっているか否かを判別する。
PC500は、測定ポイントGnが補正対象ポイントではないとき(S54でNO)、始点Sが設定済か否かを判別する(S55)。例えば、プロセッサ520は、メモリ530にアクセスして、測定ポイントGnの測定データについて補正対象を示すフラグ情報がオフになっているとき、当該測定データについて始点Sを示すフラグ情報がオンになっているか否かを判別する。
PC500は、測定ポイントGnについて始点Sが設定されていないとき(S55)、測定ポイントを始点Sに設定する(S56)。例えば、対象となっている測定ポイントGnについて、最終データではなく(S53でNO)、補正対象データでもなく(S54でNO)、始点Sが設定されていないとき(S55でNO)、PC500は測定ポイントGnが始点Sであると判別する。例えば、プロセッサ520は、メモリ530にアクセスして、測定ポイントGnの測定データに対して始点Sを示すフラグ情報がオフになっているとき、始点Sを示すフラグ情報をオンにした当該フラグ情報をメモリ530に記憶する。
次に、PC500は、nに「1」を加算し(S57)、S53の処理へ移行する。
一方、PC500は、対象となっている測定ポイントGnが補正対象ポイントのとき(S54でYES)、補正対象ポイントGnの測定データを再配置データGrに追加する(S58)。例えば、PC500は、対象となる測定ポイントが最終ポイントではなく(S53でNO)、補正対象ポイントであるとき(S54でYES)、補正対象ポイントの測定データを再配置データGrに追加する。例えば、プロセッサ520は、メモリ530にアクセスして、測定ポイントGnの測定データついて補正対象を示すフラグ情報がオンになっているとき、所定領域に記憶された当該測定データを読み出して再配置データGrが記憶された領域に記憶する。
そして、PC500は、nに「1」を加算し(S59)、S53の処理へ移行する。このように、PC500は、補正対象ポイントGnの測定データを再配置データGrに追加していくことになる。PC500は、補正対象ポイントがなくなるまで(S53でYES)、当該測定ポイントGnの測定データを再配置データGrに追加することになる。
一方、PC500は、測定ポイントGnについて補正対象データではなく(S54でNO)、始点Sが設定済のとき(S55)、測定ポイントを終点に設定する(S60)。この場合は、例えば、補正対象ポイントの測定データが再配置データGrに順次追加され、測定ポイントGnが補正対象ポイントではなくなった場合である。このような場合、PC500は測定ポイントGnを終点Eに設定する。例えば、プロセッサ520は、メモリ530にアクセスし、測定ポイントGnの測定データに対して始点Sを示すフラグ情報がオンになっていることを確認すると、測定ポイントGnの測定データに対して終点を示すフラグ情報を記憶する。
次に、PC500は、再配置データGrの要素数が「2」以上か否かを判別する(S61)。例えば、プロセッサ520はメモリ530にアクセスして、再配置データGrに記憶された測定データの個数を確認し、その個数が「2」以上か否かを判別する。
PC500は、再配置データGrの要素数が「2」以上あれば(S61でYES)、再配置データGrに含まれる測定データの位置情報を補正し、再配置データGrの測定ポイントを、補正した位置情報に対応する測定ポイントに再配置する(S63)。例えば、プロセッサ520は、メモリ530にアクセスし、再配置データGrの要素数が「2」以上あることを確認すると、メモリ530から読み出した式(5)から式(8)を用いて再配置データGrに含まれる測定データの位置情報を補正する。そして、例えば、プロセッサ520は、補正後の位置情報に対応する地図画面上の位置に補正後の測定ポイントをプロットし、そのような地図画面を表示部550に表示させる。これにより、例えば、図19に示すように滑らかな移動軌跡の表示が可能となる。
そして、PC500は、再配置データGrを初期化する(S62)。
一方、PC500は、再配置データGrの要素数が「2」以上存在しないとき(S61でNO)、再配置データGrを初期化する(S62)。この場合は、再配置データGrに含まれる補正対象ポイントの個数が「2」以下と少ないため、PC500は補正対象データに対する補正を行わないようにしている。
なお、S61では再配置データGrの要素数について「2」を判別指標とする例を表しているが、例えば、再配置データGrの要素数について「1」を判別指標としてもよい。この場合、PC500は、再配置データGrに含まれる補正対象データの要素数が始点Sと終点Eとの間に1つでもあれば(S61でYES)、当該補正対象データに対して補正を行ってもよい(SS63)。この場合、再配置データGrに補正対象データが1つもない場合(S61でNO)、PC500は補正を行うことなく再配置データGrを初期化してもよい。
そして、PC500は、nに「1」を加算し(S59)、S53の処理へ移行する。
一方、PC500は、測定ポイントGnが最終ポイントのとき(S53でYES)、S61とS63の処理(X)を行う(S65)。すなわち、PC500は、測定ポイントが測定データのうち最後の測定データの測定ポイントであるとき、当該測定ポイントを終点に設定し、再配置データGrに含まれる要素数に基づいて(S61)、再配置データGrに含まれる測定データに対して補正を行う(S61でYES、S63)。一方、PC500は、再配置データGrに含まれる要素数が「2」以上存在しないとき、とくに補正を行うことなく本処理(S65)を終了する(S61でNO)。この場合も、再配置データGrに含まれる要素数の指標として「1」であってもよい。
そして、PC500は補正を完了し、一連の処理を終了させる(S66)。
図21は補正後の測定データの例を表す図である。図21に示すように、GPS測定位置情報(緯度)とGPS測定位置情報(経度)の各位置情報が補正されている。
図22(A)は補正前の測定ポイントの例、図22(B)は補正後の測定ポイントの例をそれぞれ表している。この例では、端末100を所持するユーザが電車に乗って移動した場合の測定ポイントの例を表している。図22(A)の四角の黒枠で示すように、GPSにより取得した位置情報に誤差が発生して測定ポイントにバラツキが生じている。補正後の結果、図22(B)の四角の黒枠で示すように測定ポイントが補正され、端末100の移動軌跡が滑らかな移動経路となって表されている。この結果からも、PC500による補正処理によって、補正前と比較して走行軌跡の誤差を低減して走行軌跡の精度を向上させることができる。
このように本第2の実施の形態においては、測定ポイントにおける角度が第1の閾値Ta以下となっているときは、測定ポイントの位置情報には一定以上の誤差が含まれているとして当該位置情報を補正対象としている。PC500は角度に基づいて位置情報を補正するようにしているため、一定以上の角度よりも大きい角度で移動するような移動軌跡を補正することができる。従って、補正後の移動軌跡は、移動軌跡を補正しない場合と比較して、移動軌跡の誤差を低減させ、その精度を向上させることができる。また、PC500は補正に関して始点と終点を結ぶ直線上に補正後の測定ポイントを配置させるため、表示部550に表示される移動軌跡は滑らかな軌跡となる。
なお、実施例1の情報処理システム10については、例えば、データ管理サーバ400がなくてもよい。この場合、端末100から送信された測定データはPC500に送信される。PC500は受信した測定データに基づいて上述した補正手順を行えばよい。
また、上述した補正手順1から補正手順3において、メモリ530に式(1)から式(8)が記憶されたり、測定データが記憶されたり、処理に伴うデータや情報などが記憶されたりするものとして説明した。例えば、メモリ530に代えて、記憶部560において、式(1)から式(8)や測定データ、処理に伴うデータや情報などが記憶されてもよい。この場合、プロセッサ520は記憶部560にアクセスして補正手順1から補正手順3を行えばよい。
<実施例2>
次に、実施例2について説明する。実施例2では、例えば図4や図5などに示されるように、端末100において位置情報の補正を行い、補正後の位置情報に基づいて移動軌跡を表示する。
実施例2における端末100の構成例は、実施例1と同様であり、例えば図6に示される。また、実施例2における補正手順も、実施例1と同様であり、例えば図10(A)から図20に示される。
この場合、端末100は測定データを収集し、測定データに含まれる位置情報に対して、補正手順1(例えば図10(A)から図13)、補正手順2(例えば図14から図17)、及び補正手順3(図18から図20)を行う。具体的には、例えば、端末100のプロセッサ140が補正手順1から補正手順3を行い、メモリ150には補正手順1から補正手順3で用いられる式(1)から式(8)などが記憶される。
実施例2においても、端末100においては実施例1で説明した補正手順1から補正手順3が行われる。従って、端末100においても、実施例1と同様に、補正しない場合と比較して表示部130に表示される移動軌跡はその誤差が低減され、移動軌跡の精度の向上を図ることができる。
端末100は、例えば、スマートフォン以外にも、タブレット端末や、移動可能であって無線通信可能なパーソナルコンピュータであってもよい。タブレット端末やパーソナルコンピュータであっても、例えば、図6に示す構成例によってスマートフォンの場合と同様に実施することができる。
[その他の実施の形態]
端末100のプロセッサ140は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、FPGA(Field Programmable Gate Array)などのコントローラであってもよい。基地局300のプロセッサ320、データ管理サーバ400のプロセッサ420、PC500のプロセッサ520も、例えば、CPUやMPU、FPGAなどのコントローラであってもよい。
以上まとめると付記のようになる。
(付記1)
人工衛星を利用して取得した又は他の装置により取得された第1乃至第3の連続した位置情報を入力し、前記第1の位置情報に対応する第1の測定点と前記第2の位置情報に対応する第2の測定点とを結ぶ第1の辺と、前記第2の測定点と前記第3の位置情報に対応する第3の測定点とを結ぶ第2の辺によりなす第1の角度を前記第1乃至第3の位置情報に基づいて算出し、前記第1の角度に基づいて前記第2の位置情報を補正するプロセッサ
を備えることを特徴とする情報処理装置。
(付記2)
前記プロセッサは前記第1の角度が第1の閾値よりも小さいとき、前記第2の位置情報を補正することを特徴とする付記1記載の情報処理装置。
(付記3)
前記プロセッサは、前記第1の位置情報が前記人工衛星を利用して取得した又は前記他の装置により取得された位置情報のうち最も早い時刻に取得された位置情報のとき、前記第1の位置情報を補正しないようにし、前記第1の位置情報が前記位置情報のうち最も早い時刻に取得された位置情報ではないとき、前記第1の位置情報を前記第1の角度に基づいて補正することを特徴とする付記1記載の情報処理装置。
(付記4)
前記プロセッサは、前記第3の位置情報が前記人工衛星を利用して取得した又は前記他の装置により取得された位置情報のうち最も遅い時刻に取得された位置情報のとき、前記第3の位置情報を補正しないようにし、前記第3の位置情報が前記位置情報のうち最も遅い時刻に取得された位置情報ではないとき、前記第3の位置情報を前記第1の角度に基づいて補正することを特徴とする付記1記載の情報処理装置。
(付記5)
前記プロセッサは、前記第1及び第3の位置情報の間に前記第2の位置情報と更に第4の位置情報が含まれて、前記第2及び第4の位置情報を補正し、前記第2及び第4の位置情報の間に補正対象に含まれない位置情報が含まれるときにおいて、当該位置情報の個数が第2の閾値以下のとき、当該位置情報を補正することを特徴とする付記1記載の情報処理装置。
(付記6)
前記プロセッサは、前記第1の測定点と原点とを結ぶ第3の辺と前記原点と前記第3の測定点とを結ぶ第4の辺とによりなす第2の角度と、前記第1の測定点と前記第3の測定点と間の距離に基づいて、前記第2の位置情報を補正することを特徴とする付記1記載の情報処理装置。
(付記7)
前記プロセッサは、
前記第1の測定点において前記第1の位置情報を取得した時刻を表す第1の時刻情報と前記第1の測定点において前記情報処理装置と無線通信を行う基地局装置と前記情報処理装置との間の第1の無線区間における第1の品質情報を含む第1の測定データを生成し、
前記第2の測定点において前記第2の位置情報を取得した時刻を表す第2の時刻情報と前記第2の測定点において前記情報処理装置と無線通信を行う前記基地局装置と前記情報処理装置との間の第2の無線区間における第2の品質情報を含む第2の測定データを生成し、
前記第3の測定点において前記第3の位置情報を取得した時刻を表す第3の時刻情報と前記第3の測定点において前記情報処理装置と無線通信を行う前記基地局装置と前記情報処理装置との間の第3の無線区間における第3の品質情報を含む第3の測定データを生成する、
ことを特徴とする付記1記載の情報処理装置。
(付記8)
前記第1の閾値は、固定値又は前記情報処理装置の移動速度に応じた可変値であることを特徴とする付記1記載の情報処理装置。
(付記9)
前記第2の閾値は、固定値又は前記情報処理装置の移動速度に応じた可変値であることを特徴とする付記5記載の情報処理装置。
(付記10)
前記他の装置は端末装置であり、前記情報処理装置はパーソナルコンピュータであることを特徴とする付記1記載の情報処理装置。
(付記11)
プロセッサを有する情報処理装置における位置情報補正方法であって、
前記プロセッサにより、人工衛星を利用して取得した又は他の装置により取得された第1乃至第3の連続した位置情報を入力し、前記第1の位置情報に対応する第1の測定点と前記第2の位置情報に対応する第2の測定点とを結ぶ第1の辺と、前記第2の測定点と前記第3の位置情報に対応する第3の測定点とを結ぶ第2の辺によりなす第1の角度を前記第1乃至第3の位置情報に基づいて算出し、前記第1の角度に基づいて前記第2の位置情報を補正する
ことを特徴とする位置情報補正方法。
(付記12)
人工衛星を利用して第1乃至第3の連続した位置情報を取得する第1の情報処理装置と、
前記第1の情報処理装置から送信された前記第1乃至第3の位置情報を入力し、前記第1の位置情報に対応する第1の測定点と前記第2の位置情報に対応する第2の測定点とを結ぶ第1の辺と、前記第2の測定点と前記第3の位置情報に対応する第3の測定点とを結ぶ第2の辺によりなす第1の角度を前記第1乃至第3の位置情報に基づいて算出し、前記第1の角度に基づいて前記第2の位置情報を補正する第2の情報処理装置と
を備える情報処理システム。
(付記13)
情報処理装置におけるコンピュータに実行させるプログラムであって、
人工衛星を利用して取得した又は他の装置により取得された第1乃至第3の連続した位置情報を入力し、前記第1の位置情報に対応する第1の測定点と前記第2の位置情報に対応する第2の測定点とを結ぶ第1の辺と、前記第2の測定点と前記第3の位置情報に対応する第3の測定点とを結ぶ第2の辺によりなす第1の角度を前記第1乃至第3の位置情報に基づいて算出し、前記第1の角度に基づいて前記第2の位置情報を補正する処理
を前記コンピュータに実行させるプログラム。