<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。
まず、第1実施形態に係る情報処理システム1の概要について説明する。情報処理システム1は、後述する情報処理端末2のユーザーが滞在したある滞在場所(出発地点の滞在場所)から、当該滞在場所の次に滞在した他の滞在場所(到着地点の滞在場所)までの交通機関による移動経路のうち、当該ユーザーが実際に利用したであろう移動経路を示す情報を推定する。情報処理システム1は、推定した移動経路を示す情報や、当該移動経路の出発地点における交通機関の乗降場所を示す情報、到着地点における交通機関の乗降場所を示す情報等を表示する。また、情報処理システム1は、推定した当該移動経路の経費(運賃)を示す情報を表示する。
これらにより、情報処理システム1は、情報処理端末2のユーザーが実際に利用した乗降場所や移動経路等を示す情報を当該ユーザー自身に入力させることなく、当該ユーザーが実際に利用した移動経路の経費を算出し、算出した経費を示す情報をユーザーに提供することができる。その結果、情報処理システム1は、ユーザーが利用した移動経路の経費をユーザー自身が算出する手間を軽減することができる。
なお、以下では、説明の便宜上、出発地点の滞在場所を、第1滞在場所と称し、到着地点の滞在場所を、第2滞在場所と称して説明する。また、以下では、第1滞在場所と第2滞在場所の間の区間を、移動区間と称して説明する。また、以下では、出発地点の乗降場所を、第1乗降場所と称し、到着地点の乗降場所を第2乗降場所と称して説明する。また、以下では、ある対象Xの位置を示す情報と、対象Xの名称を示す情報とを、まとめて対象Xを示す情報と称して説明する。例えば、ある滞在場所を示す情報には、当該滞在場所の位置を示す情報と、当該滞在場所の名称を示す情報とが含まれる。また、以下では、情報処理端末2のユーザーを、単にユーザーと称して説明する。
ここで、ユーザーは、例えば、企業における得意先回りの営業部員や、巡回医療の医師、事務機器の修繕を行うメンテナンス要員等を示す。また、ユーザーが滞在する滞在場所は、営業部員であれば営業先の企業、巡回医療の医師であれば患者の自宅、事務機器の修繕を行うメンテナンス要員であればメンテナンス契約先の企業等を示す。以下では、説明の便宜上、情報処理端末2のユーザーを、単にユーザーと称して説明する。また、以下では、ユーザーが滞在した滞在場所を、単に滞在場所と称し、ユーザーがこれから滞在する予定の滞在場所を、滞在予定場所と称して説明する。また、ユーザーが滞在場所に滞在し始めた時刻を、滞在開始時刻と称して説明する。
また、交通機関とは、例えば、電車や、バス、船等の予め決められた移動経路に沿って移動する乗り物を示す。また、予め決められた移動経路とは、交通機関が電車やバスであれば路線を示し、交通機関が船であれば航路を示す。また、乗降場所とは、交通機関が電車であれば駅を示し、バスであればバス停を示し、船であれば船着き場を示す。
ここから、図1を参照して、情報処理システム1の構成について説明する。図1は、本実施形態に係る情報処理システム1の一例を示す構成図である。情報処理システム1は、情報処理端末2と、情報処理装置3とがネットワークWを介して互いに接続されて構成される。ネットワークWとは、無線による通信網である。ネットワークWには、インターネットやイントラネット等が含まれる。より具体的には、ネットワークWとは、WAN(Wide Area Network)及びLAN(Local Area Network)等によって構成される情報通信ネットワークである。このWANには、例えば、移動体通信網、専用通信回線網、及びVPN(Virtual Private Network)等が含まれる。
情報処理端末2は、ユーザーが滞在場所に滞在する際に携帯する機器であり、この一例において、多機能携帯電話端末(スマートフォン)である。なお、情報処理端末2は、これに代えて、携帯電話端末、タブレットPC(Personal Computer)、ノートPC、電子書籍リーダー、PDA(Personal Digital Assistant)、デスクトップPC等であってもよい。
この情報処理端末2は、複数のユーザーがそれぞれ携帯する。ここでは、N人(Nは自然数)のユーザーが存在する場合に、それぞれのユーザーが情報処理端末2を1台ずつ携帯する場合を例にして説明する。この場合、第1のユーザーは情報処理端末2−1を、第2のユーザーは情報処理端末2−1をそれぞれ携帯する。また、第Nのユーザーは、情報処理端末2−Nを携帯する。なお、以下では、情報処理端末2−1〜情報処理端末2−Nを区別する必要が無い限り、まとめて情報処理端末2と称して説明する。
情報処理端末2は、液晶ディスプレイ等の表示部を備えており、この表示部に前述の移動経路を示す情報や、当該移動経路の経費を示す情報等を表示する。情報処理端末2は、情報処理装置3から、前述の移動経路を示す情報や、当該移動経路の経費を示す情報等を含む経路情報を、ネットワークWを介して情報処理装置3から取得する。経路情報の詳細については後述する。情報処理端末2は、取得した経路情報に基づいて、表示部に表示させるGUI(Graphical User Interface)を生成する。また、情報処理端末2は、表示部に表示させたGUIを介して受け付けたユーザーからの操作に基づいて、取得した経路情報の一部又は全部を補正する。情報処理端末2は、補正したことを示す補正情報を情報処理装置3へ送信する。
情報処理装置3は、経路情報を情報処理端末2に送信するサーバーである。情報処理装置3は、滞在場所を示す情報を情報処理端末2から取得する。情報処理装置3は、取得した滞在場所を示す情報に基づいて経路情報を生成する。そして、情報処理装置3は、生成した経路情報を情報処理端末2に送信する。また、情報処理装置3は、情報処理端末2から取得した補正情報に基づいて経路情報の一部又は全部を補正する。
以下、図2と図3を参照して、情報処理端末2が経路情報に基づいて生成するGUI(Graphical User Interface))について説明する。図2と図3はそれぞれ、情報処理端末2が経路情報に基づいて生成するGUIの一例を示す図である。図2には、移動経路の経費を算出した年月日を選択するカレンダーが表示された状態のGUIの一例を示す。図3には、図2に示したカレンダーを介して年月日が選択された後の状態のGUIの一例を示す。
図2に示したように、カレンダーC1には、ある年月(この一例において、2014年10月)のカレンダーが表示される。また、カレンダーC1には、当該年月の日にち(この一例において、2014年10月1日〜2014年10月31日)に加えて、前月の日にちが表示される。なお、前月の日にちは、所定日(この一例において、10日)まで表示される。これは、交通費の入力の奥は、月末から月初にかけて行われることが多いためである。
また、カレンダーC1には、更にボタンB1及びボタンB2が表示されている。ユーザーは、ボタンB1を押下する操作(クリック等)を行うことにより、カレンダーC1に翌月の日にちを表示する。一方、ユーザーは、ボタンB2を押下する操作(クリック等)を行うことにより、カレンダーC1に前月の日にちを表示する。
また、カレンダーC1の各日にちを示す枠の中には、それぞれの日にちにおいてユーザーが実際に利用した移動経路の経費が表示されている。この移動経路の経費は、図3に示した画面から算出される。ユーザーがカレンダーC1の中から、ある日にちを選択する操作(例えば、クリック等)を行うことにより、ユーザーは、選択した日にちに利用した移動経路の経費を算出又は修正するGUIを表示することができる。例えば、ユーザーが2014年10月30日を選択する操作を行った場合(図2において、枠D1によってユーザーが選択した日にちを示した)、図2に示したGUIの状態は、図3に示したGUIの状態へ移行する。
図3に示したGUIには、少なくとも、順路地図画像P1と、移動経路表示画像P2と、経路追加画像P3と、経費表示画像P4が含まれる。図3(A)には、ボタンB2を押下する操作が行われる前のGUIの状態を示す。図3(B)には、ボタンB2を押下する操作が行われた後のGUIの状態を示す。
図3(A)において、順路地図画像P1には、ある第1滞在場所から第2滞在場所への移動を示す情報が地図画像M上に重ねて表示される。例えば、第1滞在場所がT1であり、第2滞在場所がT2である場合について説明する。図3において、印t1は、第1滞在場所T1の位置を示す。また、印t2は、第2滞在場所T2の位置を示す。
また、順路地図画像P1において、第1滞在場所T1から第2滞在場所T2までの移動区間を示す情報は、第1滞在場所T1を示す印t1と、到着地点の滞在場所T2を示す印t2とを結ぶ線分R1を表示することによって表される。
ここで、例えば、ユーザーが第1滞在場所T1から第2滞在場所T2へ移動した後、次の第1滞在場所T3から次の第2滞在場所T4へ移動した場合、ユーザーは、移動経路表示画像P2に表示されているボタンB3とボタンB4を利用して、第1滞在場所T3から第2滞在場所T4への移動を示す情報を地図画像M上に重ねて表示させることができる。ユーザーは、ボタンB3を押下する操作を行うことにより、現在順路地図画像P1に表示されている第1滞在場所T1から第2滞在場所T2への移動を示す情報から、第1滞在場所T3から第2滞在場所T4への移動を示す情報に表示される内容を変更することができる。一方、ユーザーは、第1滞在場所T1から第2滞在場所T2への移動を示す情報から、第1滞在場所T3から第2滞在場所T4への移動を示す情報に順路地図画像P1に表示される内容を変更した後、ボタンB4を押下する操作を行うことにより、再び順路地図画像P1に第1滞在場所T1から第2滞在場所T2への移動を示す情報を表示することができる。
また、順路地図画像P1に現在表示されている移動を示す情報が、どの移動を示す情報であるかを示す情報は、移動経路表示画像P2に表示されている。移動経路表示画像P2におけるインジケーターL1は、複数の印のうちの色や模様が変化した印の位置によって、現在の順路地図画像P1に表示されている移動を示す情報を表す。例えば、図3(A)において、最左端の印L2の色が変化しているため、インジケーターL1は、順路地図画像P1に現在表示されている移動を示す情報は、2014年10月31日におけるユーザーの最初の移動である第1滞在場所T1から第2滞在場所T2への移動を示す情報が表示されていることを表している。
情報処理端末2は、順路地図画像P1における地図画像Mのような地図画像を、インターネット上の地図検索サーバー等から検索して取得する。そして、情報処理端末2は、情報処理装置3から取得する経路情報に含まれる複数の滞在場所を示す情報と、当該複数の滞在場所それぞれにおける滞在開始時刻を示す情報と、取得した地図画像に基づいて順路地図画像P1を生成する。
移動経路表示画像P2には、上記で説明したインジケーターL1の他に、第1滞在場所から第2滞在場所までの移動区間においてユーザーが実際に利用したであろうと推定される移動経路を示す情報が表示される。例えば、図2において、移動経路表示画像P2には、第1滞在場所T1から、第2滞在場所T2までの移動区間においてユーザーが実際に利用したであろうと推定される移動経路を示す情報が表示されている。この移動経路を示す情報は、すなわち、順路地図画像P1情の線分R1が表す移動区間においてユーザーが実際に利用したであろうと推定される移動経路を示す情報である。以下では、説明の便宜上、ユーザーが実際に利用したであろうと推定される移動経路を推定移動経路と称して説明する。
図2において点線S1によって囲まれた領域には、推定移動経路を示す情報が表示されている。以下、説明の便宜上、図3において、交通機関が電車であり、乗降場所が駅である場合について説明する。なお、交通機関は、これに代えて、バスや船等であってもよく、乗降場所は、バス停や船着き場等であってもよい。推定移動経路を示す情報は、例えば、推定移動経路における出発駅と、到着駅と、乗り換えを行う駅とのそれぞれの駅名を通過順に示すテキスト情報と、それらの駅間の移動に利用される路線名を示すテキスト情報と、それぞれの駅における出発時間とのそれぞれを示すテキスト情報等を含む。以下では、説明の便宜上、移動経路における出発駅から到着駅までの乗り換えを行う駅を含むすべての駅を、移動経路の駅と称して説明する。
この一例において、移動経路表示画像P2には、推定移動経路を示す情報として、出発駅の幡ヶ谷駅、到着駅の新宿駅のそれぞれを示すテキスト情報が、通過順に表示されている。また、移動経路表示画像P2には、大久保駅と新宿駅の間の移動に利用される路線名を示すテキスト情報として、xxxxx線を示すテキスト情報が表示されている。なお、移動経路表示画像P2には、出発駅と、到着駅と、乗り換えを行う駅とのそれぞれにおける発着時刻を示すテキスト情報とが表示されてもよい。
また、移動経路表示画像P2では、線分R1が表す移動区間における推定移動経路とは異なる他の推定移動経路を示す情報をユーザーが選択して表示させることができる。移動経路表示画像P2には、移動経路を選択するタブ2が表示されている。例えば、ユーザーがタブS2に含まれている複数のタブのうち、現在選択されているタブとは異なる他のタブの1つを選択する操作を行った場合、移動経路表示画像P2に、点線S1に表示されている推定移動経路(この一例において、xxxxx線)が、他の路線に変更される。
また、移動経路表示画像P2には、点線S3の領域において、出発駅を示す情報と、到着駅を示す情報と、乗換を行う駅を示す情報とが表示される。なお、図3において、ユーザーが乗換を行っていない場合を説明しているため、点線S3の領域には、乗換を行う駅が表示されていない。点線S3の領域における出発駅を示す情報と、到着駅を示す情報と、乗換を行う駅を示す情報とはそれぞれ、ユーザーの操作により選択されると、プルダウンメニューが表示される。このプルダウンメニューには、第1滞在場所T1における他の駅の候補や、第2滞在場所T2における他の駅の候補が表示される。
例えば、図3において、ユーザーが点線S3に表示された出発駅である幡ヶ谷駅を選択する操作を行うと、第1滞在場所T1の周囲に存在する幡ヶ谷駅とは異なる他の駅の候補がプルダウンメニューとして表示される。また、図3において、ユーザーが点線S3に表示された到着駅である新宿駅を選択する操作を行うと、第2滞在場所T2の周囲に存在する新宿とは異なる他の駅の候補がプルダウンメニューとして表示される。
また、移動経路表示画像P2には、経路追加画面P3を表示させるボタンB5が表示される。ユーザーは、ボタンB5を押下する操作を行うことにより、図3(B)に示した経路追加画面P3を表示させることができる。
経路追加画面P3には、タクシー等の予め決められた経路を移動する交通機関ではない他の交通機関を利用した場合に、ユーザーが出発地点の滞在場所を示す情報と、到着地点の滞在場所を示す情報と、当該交通機関を利用した時刻と、当該交通機関の種別と、当該交通機関の経費等をそれぞれ入力する欄が表示される。以下では、説明の便宜上、経路追加画面P3を介してユーザーから入力された情報を、追加情報と称して説明する。
経費表示画面P4には、移動経路表示画面P2に表示されている推定移動経路の経費を示す情報と、経路追加画面P3から入力された追加情報に含まれる経費とを合計した総経費を示す情報とが表示される。経費表示画面P4において表示されている総経費が、ユーザーが支払った経費と一致した場合、ユーザーは、経費確定ボタンB6を押下する操作を行うことにより総経費を確定する。
ユーザーにより経費確定ボタンB6を押下されることにより総経費を確定した場合、図2に示したカレンダーC1には、該当する年月日(この一例において、2014年10月30日)の枠内に、総経費を示す情報が表示される。例えば、カレンダーC1の枠D1内には、ユーザーにより経費確定ボタンB6が押下されたことにより、経費表示画面P4に表示された総経費(880円)が表示されている。なお、図3に示したGUIは、他の画像や機能を有していてもよい。
次に、図4を参照して、情報処理端末2の機能構成について説明する。図4は、情報処理端末2の機能構成の一例を示す図である。情報処理端末2は、例えば、位置情報取得部21と、記憶部22と、タッチパネル(入力受付部23と表示部25)と、通信部24と、制御部26を備える。
位置情報取得部21は、情報処理端末2の位置を示す位置情報を取得する。位置情報取得部21は、この一例において、GPS(Global Positioning System)受信機である。従って、位置情報取得部21は、位置情報として、GPSを利用して情報処理端末2の緯度及び経度を示す情報を取得する。なお、位置情報取得部21は、他のハードウェアであってもよい。
記憶部22は、例えば、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含み、情報処理端末2が処理する各種情報やプログラムを格納する。なお、記憶部22は、情報処理端末2に内蔵されるものに代えて、外付け型の記憶装置でもよい。
通信部24は、例えば、イーサネット(登録商標)ポート等を含んで構成されるが、さらに、USB(Universal Serial Bus)等のデジタル入出力ポート等を含んで構成されてもよい。また、通信部24は、移動体通信網を利用した通信を行う機能を有していてもよい。
制御部26は、情報処理端末2の全体を制御する。制御部26は、この一例において、表示制御部27と、補正部28と、滞在場所情報制御部29を備える。これらの制御部26が備える機能部のうち一部又は全部は、例えば、図示しないCPU(Central Processing Unit)が、記憶部22に記憶された各種プログラムを実行することで実現される。また、これらの制御部26が備える機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
表示制御部27は、ユーザーによる入力操作を補助するGUI(Graphical User Interface)を生成する。表示制御部27は、生成したGUIを表示部25に表示させる。このGUIには、図2及び図3に示したGUIや、ユーザーが滞在場所に到着した時刻(すなわち、滞在開始時刻)と、ユーザーが滞在場所から離れる時刻(すなわち、滞在終了時刻)とを示す情報を対応付けた滞在場所情報を情報処理装置3に送信するGUI等が含まれる。以下では、ユーザーがある滞在場所Aに滞在開始時刻に到着してから滞在終了時刻に離れたことを示す情報として、滞在場所Aについての滞在場所情報を情報処理端末2から情報処理装置3に送信することを、滞在場所Aへのチェックインと称して説明する。なお、表示制御部27は、出力制御部の一例である。
補正部28は、表示制御部27が表示したGUIであって、図2及び図3に示したGUIを介して受け付けたユーザーからの操作に基づいて経路情報の一部又は全部を、変更又は削除する。そして、補正部28は、経路情報の一部又は全部を、変更又は削除したことを示す情報を補正情報として生成する。補正部28は、生成した補正情報を情報処理装置3へ通信部24に送信させる。なお、補正部28は、経路補正部の一例である。
滞在場所情報制御部29は、表示制御部27により表示部25に表示されたGUIであって、ユーザーがチェックインするGUIを介してユーザーから受け付けた操作に基づいて滞在場所情報を生成する。例えば、ユーザーは、滞在場所Aに到着した時にGUIの滞在開始ボタンを押下する操作を行い、滞在場所Aから離れる時にGUIの滞在終了ボタンを押下する操作を行うことにより、滞在場所情報制御部29に滞在場所情報を生成させる。滞在場所情報制御部29は、この滞在場所情報を生成する際、位置情報取得部21から位置情報を取得する。また、滞在場所情報制御部29は、図示しない計時部を備えており、滞在場所情報を生成する際、計時部から現在の時刻を示す情報を、滞在開始時刻を示す情報と、滞在終了時刻を示す情報として取得する。
また、滞在場所情報制御部29は、予め記憶されたユーザーを識別する情報に基づいて、ネットワークWを介して情報処理装置3から当該ユーザーの予定情報を取得する。なお、以下では、ユーザーを識別する情報がユーザーIDである場合について説明するが、これに代えて、他の情報であってもよい。また、予定情報の詳細については後述するが、ここで簡単に説明すると、その日の滞在予定場所を示す情報を含む情報である。なお、滞在予定場所を示す情報には、滞在予定場所の位置を示す情報と、滞在予定場所の名称を示す情報とが含まれる。
滞在場所情報制御部29は、取得した位置情報と、取得した予定情報と、取得した滞在開始時刻とに基づいて滞在場所情報を生成する。滞在場所情報とは、ユーザーIDと、滞在場所を示す情報と、滞在開始時刻を示す情報と、滞在終了時刻を示す情報とを含む情報である。滞在位置情報制御部29は、生成した滞在場所情報を情報処理装置3へ通信部24に送信させる。なお、滞在場所情報は、滞在位置情報の一例である。また、滞在場所情報制御部29は、滞在位置情報算出部の一例である。
次に、図5を参照して、情報処理装置3の機能構成について説明する。図5は、情報処理装置3の機能構成の一例を示す図である。情報処理装置3は、例えば、記憶部32と、入力受付部23と、通信部34と、表示部35と、制御部36を備える。
記憶部32は、例えば、SSD、EEPROM、ROM、RAMなどを含み、情報処理装置3が処理する各種情報やプログラムを格納する。なお、記憶部32は、情報処理装置3に内蔵されるものに代えて、外付け型の記憶装置でもよい。また、記憶部32は、記憶領域の一部を利用し、位置情報記憶部41と、予定情報記憶部42と、滞在位置情報記憶部43と、乗降場所情報記憶部44と、経路情報記憶部45と、ユーザー情報記憶部47を備える。
予定情報記憶部42は、予定情報テーブルを記憶する。ここで、図6を参照して、予定情報テーブルについて説明する。図6は、予定情報テーブルT42の一例を示す図である。図5に示したように、予定情報テーブルT42には、ユーザーIDと、当該ユーザーの予定情報を識別する情報と、当該ユーザーの滞在予定場所を示す情報とが対応付けられて格納される。
なお、ユーザーの予定情報を識別する情報は、例えば、滞在予定場所に滞在し始める滞在開始予定時刻を含む予定IDであるが、これに代えて、他の情報であっても良い。他の情報の場合、予定情報テーブルT42には、予定IDとは別に、滞在予定場所に滞在し始める滞在開始予定時刻を示す情報が含んでもよく、含まなくてもよい。また、滞在予定場所を示す情報に含まれる滞在予定場所の位置を示す情報は、この一例において、滞在場所の緯度及び経度を示す情報であるとするが、これに代えて、住所等の他の情報であってもよい。
滞在場所情報記憶部43は、滞在場所情報テーブルを記憶する。ここで、図7を参照して、滞在場所情報テーブルについて説明する。図7は、滞在場所情報テーブルT43の一例を示す図である。滞在場所情報テーブルT43には、制御部36が通信部34を介して情報処理端末2から取得する滞在場所情報が格納される。図7に示したように、滞在場所情報テーブルT43は、滞在場所情報に含まれる情報を格納する。なお、滞在場所情報は、制御部36により滞在場所情報テーブルT43に格納される際、他の情報を付加されてもよい。
乗降場所情報記憶部44は、乗降場所情報テーブルを記憶する。ここで、図8を参照して、乗降場所情報テーブルについて説明する。図8は、乗降場所情報テーブルT44の一例を示す図である。乗降場所情報テーブルT44は、乗降場所情報を格納する。乗降場所情報には、乗降場所を識別する情報と、当該乗降場所を示す情報と、当該乗降場所の名称の読み仮名を示す情報と、当該乗降場所の交通機関の種別を示す情報と、当該乗降場所が存在する都道府県を識別する情報と、当該乗降場所が存在する都道府県の名称を示す情報とを含む。なお、乗降場所を識別する情報は、例えば、乗降場所を識別するIDであるが、他の情報であっても良い。また、乗降場所情報は、これらの情報のうちの一部を含む構成であってもよく、他の情報を含んでもよい。
経路情報記憶部45は、経路情報テーブルを記憶する。経路情報と、経路情報テーブルとについては、後述する。
ユーザー情報記憶部47は、ユーザー情報テーブルを記憶する。ここで、図9を参照して、ユーザー情報テーブルについて説明する。図9は、ユーザー情報テーブルT47の一例を示す図である。ユーザー情報テーブルT47は、ユーザー情報を格納する。ユーザー情報には、ユーザーIDと、当該ユーザーが所持している交通機関の定期の利用可能区間における移動経路を示す情報と、当該ユーザーが移動経路を選択する際の優先条件を示す情報と、当該ユーザーが移動経路を選択する際の制限条件とを含む。
ユーザーが移動経路を選択する際の優先条件とは、乗換に関する条件と、経費に関する条件と、時間に関する条件とのいずれかを示す。乗換に関する条件とは、乗換が最も少ない移動経路を優先的に選択する条件である。経費に関する条件とは、経費が最も少ない移動経路を優先的に選択する条件である。時間に関する条件とは、移動時間が最も短い移動経路を優先的に選択する条件である。また、ユーザーが移動経路を選択する際の制限条件とは、ユーザーが選択することが可能な移動経路を制限する条件である。例えば、出張規定等により、ユーザーが30キロメートル以上の移動以外では特急を利用することができない場合、30キロメートル以上の移動以外では特急を利用することができないことを示す情報が、上記の制限条件となる。なお、ユーザー情報は、他の情報を含んでもよい。また、以下、この一例において、情報処理システム1が優先条件を利用し、制限条件を利用しない場合について説明するが、情報処理システム1が制限条件を利用する構成であってもよい。
入力受付部33は、例えば、キーボードである。なお、入力受付部23は、これに代えて、マウスやタッチパッド、その他の入力装置であってもよく、それらの一部又は全部を含んでもよい。
通信部34は、例えば、イーサネット(登録商標)ポート等を含んで構成されるが、さらに、USB等のデジタル入出力ポート等を含んで構成されてもよい。また、通信部24は、移動体通信網を利用した通信を行う機能を有していてもよい。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
制御部36は、情報処理装置3の全体を制御する。制御部36は、通信部34により情報処理端末2から受信した滞在場所情報を滞在場所情報記憶部43に記憶させる。制御部36は、この一例において、乗降場所検出部51と、移動経路検索部52と、乗降場所推定部54と、移動経路推定部55と、経路情報生成部56と、通信制御部58を備える。
これらの制御部36が備える機能部のうち一部又は全部は、例えば、図示しないCPUが、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの制御部36が備える機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
乗降場所検出部51は、滞在場所情報記憶部43から所定期間内の滞在場所情報の一部又は全部を読み込む。以下では、一例として、乗降場所検出部51が滞在場所情報記憶部43から所定期間内の滞在場所情報の全部を読み込む場合について説明する。所定期間とは、例えば、前日の1日間であるが、他の期間であってもよい。また、乗降場所検出部51は、乗降場所情報記憶部44から乗降場所情報を読み込む。乗降場所検出部51は、読み込んだ複数の滞在場所情報と、読み込んだ乗降場所情報とに基づいて、複数の滞在場所のそれぞれ毎に、滞在場所の近傍に含まれる乗降場所を検出(又は検索)する。滞在場所の近傍に含まれる乗降場所とは、滞在場所の近くに位置する乗降場所を示す。滞在場所の近傍については、後述する。
移動経路検索部52は、ある移動区間における第1乗降場所を示す情報と第2乗降場所を示す情報とに基づいて当該移動区間における1以上の移動経路と、当該1以上の移動経路それぞれの経費とを検索して取得する。移動経路検索部52は、1以上の移動経路と、当該1以上の移動経路それぞれの経費とを検索する際、例えば、インターネット上の移動経路検索サーバーに、第1乗降場所を示す情報と第2乗降場所を示す情報とを送信して検索する。なお、移動経路検索部52は、移動経路検索部52が移動経路検索サーバーの機能を有しており、その機能を利用し、ある移動区間における第1乗降場所を示す情報と第2乗降場所を示す情報とに基づいて当該移動区間における1以上の移動経路と、当該1以上の移動経路それぞれの経費とを検索する構成であってもよい。
乗降場所推定部54は、経路情報記憶部45から、すべてのユーザーのうちの一部又は全部についての過去の経路情報を、履歴情報として取得する。乗降場所推定部54は、取得したそれらの履歴情報に基づいて、ある移動区間における1以上の第1乗降場所のうち、ユーザーが実際に利用したであろう第1乗降場所を、第1推定乗降場所として推定する。また、乗降場所推定部54は、当該履歴情報に基づいて、ある移動区間における1以上の第2乗降場所のうち、ユーザーが実際に利用したであろう第2乗降場所を、第2推定乗降場所として推定する。
移動経路推定部55は、乗降場所推定部54により推定された第1推定乗降場所を示す情報と、乗降場所推定部54により推定された第2推定乗降場所を示す情報とを含む1以上の経路情報のうち、ユーザーが実際に利用したであろうと推定される移動経路を含む経路情報を抽出する。そして、移動経路推定部55は、抽出した経路情報に含まれる推定フラグを1にする。推定フラグについては、後述する。値が1の推定フラグを含む経路情報に含まれる移動経路は、推定移動経路を示す。また、値が1の推定フラグを含む経路情報に含まれる第1乗降場所は、第1推定乗降場所を示す。また、値が1の推定フラグを含む経路情報に含まれる第2乗降場所は、第2推定乗降場所を示す。なお、移動経路推定部55は、経路推定部の一例である。
経路情報生成部56は、滞在場所情報記憶部43から読み込んだ滞在場所情報と、乗降場所検出部51が検出した1以上の第1乗降場所を示す情報と、乗降場所検出部51が検出した1以上の第2乗降場所を示す情報と、移動経路検索部52が検索した1以上の移動経路を示す情報とに基づいて、経路情報を生成する。
通信制御部57は、経路情報生成部56が生成した経路情報を情報処理端末2へ通信部24に送信させる。
補正部58は、情報処理端末2から通信部34を介して取得した補正情報に基づいて、経路情報への補正を、経路情報記憶部43に記憶された経路情報に反映させる。
以下、図10を参照して、情報処理端末2がチェックインする際の制御部26の処理について説明する。図10は、情報処理端末2がチェックインする際の制御部26の処理の流れの一例を示すフローチャートである。なお、図10に示したフローチャートは、ユーザーが予定情報に含まれるある滞在予定場所に到着した後に、チェックインするGUIを介してユーザーから滞在開始ボタンを押下する操作を受け付け、その後、ユーザーから滞在終了ボタンを押下する操作を受け付けた後の処理の流れの一例を示す。
まず、制御部26は、位置情報取得部21から位置情報を取得する(ステップS100)。次に、滞在場所情報制御部29は、通信部24を介して情報処理装置3から予定情報を取得する(ステップS110)。次に、滞在場所情報制御部29は、予めユーザーから受け付けた滞在開始ボタンを押下する操作を受け付けた際に計時部から取得した滞在開始時刻と、予めユーザーから受け付けた滞在終了ボタンを押下する操作を受け付けた際に計時部から取得した滞在終了時刻とを示す情報をメモリー等から読み込む(ステップS120)。次に、滞在場所情報制御部29は、ステップS100において制御部26が取得した位置情報と、ステップS110において取得した予定情報と、ステップS120において取得した滞在開始時刻を示す情報と、滞在終了時刻を示す情報とに基づいて滞在場所情報を生成する(ステップS130)。
ここで、滞在場所情報制御部29による滞在場所情報の生成処理について説明する。滞在場所情報制御部29は、予約情報からユーザーの1以上の滞在予定場所を示す情報を抽出する。滞在場所情報制御部29は、抽出した滞在予定場所を示す情報の中から、以下の第1検出条件を満たす滞在予定場所を示す情報を検出する。
第1検出条件:滞在予定場所の位置を含む第1所定範囲内に、位置情報が示す位置が含まれること
第1所定範囲とは、例えば、滞在予定場所の位置を中心とした第1所定半径の円形範囲を示す。なお、第1所定範囲は、円形範囲に代えて、他の形状の範囲であってもよい。第1所定半径は、例えば、100メートルであるが、他の半径であってもよい。滞在場所情報制御部29は、上記の第1検出条件を満たす滞在予定場所の位置を含む滞在予定場所を示す情報を検出する。
滞在場所情報制御部29は、検出した滞在予定場所を示す情報に基づいて、予定情報から当該滞在予定場所を示す情報に含まれる滞在予定場所の名称を抽出する。そして、滞在場所情報制御部29は、検出した滞在予定場所の位置を、ユーザーが現在滞在している滞在場所の位置として特定し、抽出した滞在予定場所の名称を、ユーザーが現在滞在している滞在場所の名称として特定する。滞在場所情報制御部29は、ユーザーIDと、特定した滞在場所を示す情報(滞在場所の位置を示す情報と、特定した滞在場所の名称を示す情報)と、ステップS120において読み込んだ滞在開始時刻を示す情報と、ステップS120において読み込んだ滞在終了時刻とを対応付けた滞在場所情報を生成する。
ステップS130において滞在場所情報を生成した後、滞在場所情報制御部29は、生成した滞在場所情報を情報処理装置3へ通信部24に送信させる(ステップS130)。
以下、図11を参照して、制御部36が経路情報を生成する処理について説明する。図11は、制御部36が経路情報を生成する処理の流れの一例を示すフローチャートである。
図11に示したフローチャートでは、制御部36が、所定期間内の滞在場所情報をすでに情報処理端末2から取得している場合について説明する。
まず、制御部36は、ユーザー情報記憶部47のユーザー情報テーブルT47に含まれるユーザーIDを参照し、ユーザー毎にステップS210からステップS330までの処理を繰り返し行う(ステップS200)。以下では、説明の便宜上、ステップS200において選択されたユーザーを、対象ユーザーと称して説明する。
次に、制御部36は、対象ユーザーのユーザーIDに基づいて、滞在場所情報記憶部43から所定期間内の対象ユーザーの滞在場所情報をすべて読み込む(ステップS210)。次に、乗降場所検出部51は、乗降場所記憶部44から乗降場所情報を読み込む(ステップS220)。次に、乗降場所検出部51は、ステップS210において読み込んだすべての滞在場所情報のそれぞれ毎に、ステップS240からステップS250までの処理を繰り返し行う(ステップS230)。以下では、説明の便宜上、ステップS230において選択された滞在場所情報を、第1対象滞在場所情報と称して説明する。
乗降場所検出部51は、第1対象滞在場所情報に含まれる滞在場所を示す情報を抽出する。そして、乗降場所検出部51は、抽出した滞在場所を示す情報と、ステップS220において読み込んだ乗降場所情報とに基づいて、当該滞在場所の近傍に含まれる1以上の乗降場所を検出する(ステップS240)。
ここで、図12を参照して、乗降場所検出部51による滞在場所の近傍に含まれる1以上の乗降場所の検出処理について説明する。図12は、乗降場所検出部51による滞在場所の近傍に含まれる1以上の乗降場所の検出処理について説明するための図である。乗降場所検出部51は、第1対象滞在場所情報から滞在場所を示す情報を抽出する。乗降場所検出部51は、抽出した滞在場所を示す情報に含まれる滞在場所の位置を含む第2所定範囲内に含まれる乗降場所の位置であって、ステップS220において読み込んだ乗降場所情報に含まれる1以上の乗降場所それぞれの位置を検出する。この検出された1以上の乗降場所それぞれの位置は、当該滞在場所の近傍に含まれる1以上の乗降場所それぞれの位置を示す。従って、前述の滞在場所の近傍とは、第2所定範囲内を示す。
ここで、第2所定範囲とは、例えば、滞在場所の位置を中心とした第2所定半径の円形範囲を示す。なお、第2所定範囲は、円形範囲に代えて、他の形状の範囲であってもよい。第2所定半径は、例えば、1000メートルであるが、他の半径であってもよい。
図12では、一例として、3つの滞在場所Y1〜Y3それぞれの位置を、縦軸を緯度、横軸を経度によって表す地図M2上の点Y1〜点Y3のそれぞれによって示す。より具体的には、点Y1は、滞在場所y1の位置を示す。点Y2は、滞在場所y2の位置を示す。点Y3は、滞在場所y3の位置を示す。
また、図12では、滞在場所y1〜y3のそれぞれに対応する第2所定範囲を円C1〜円C3のそれぞれによって示す。より具体的には、円C1は、点Y1が示す滞在場所y1の位置を中心とした第2所定範囲を示す。また、円C2は、点Y2が示す滞在場所y2の位置を中心とした第2所定範囲を示す。また、円C3は、点Y3が示す滞在場所y3の位置を中心とした第2所定範囲を示す。
また、図12では、乗降場所st1〜st5それぞれの位置を、円ST1〜円ST5のそれぞれによって示す。より具体的には、円ST1は、乗降場所st1の位置を示す。また、円ST2は、乗降場所st2の位置を示す。また、円ST3は、乗降場所st3の位置を示す。また、円ST4は、乗降場所st4の位置を示す。また、円ST5は、乗降場所st5の位置を示す。
ここで、円ST1が示す乗降場所st1の位置と、円ST2が示す乗降場所st2の位置とは、円C1の範囲内に含まれている。従って、乗降場所検出部51は、乗降場所st1の位置と、乗降場所st2の位置とのそれぞれを、点Y1が示す滞在場所y1の近傍に含まれる乗降場所の位置として検出する。
また、円ST3が示す乗降場所st3の位置は、円C2の範囲内に含まれている。従って、乗降場所検出部51は、乗降場所st3の位置を、点Y2が示す滞在場所y2の近傍に含まれる乗降場所の位置として検出する。また、円ST5が示す乗降場所st5の位置は、円C3の範囲内に含まれている。従って、乗降場所検出部51は、乗降場所st5の位置を、点Y3が示す滞在場所y3の近傍に含まれる乗降場所の位置として検出する。なお、円ST4が示す乗降場所st4は、前述の第2所定範囲を表す円に含まれていない。乗降場所検出部51は、乗降場所st4のような乗降場所を検出しない。
次に、乗降場所検出部51は、滞在場所情報テーブルT43における第1対象滞在場所情報のレコードに、ステップS240において検出した1以上の乗降場所それぞれを示す情報を格納するフィールドを追加する。そして、乗降場所検出部51は、追加したフィールドにステップS240において検出した1以上の乗降場所それぞれを示す情報を格納する(ステップS250)。これにより、滞在場所情報には、滞在場所情報に含まれるそれぞれの情報に対して、ステップS240において検出した1以上の乗降場所それぞれを示す情報が対応付けられる。
より具体的には、ステップS240において検出した1以上の乗降場所それぞれを示す情報が対応付けられた滞在場所情報は、ユーザーIDと、滞在場所を示す情報と、滞在開始時刻を示す情報と、滞在終了時刻を示す情報と、1以上の乗降場所それぞれを示す情報とを含む。
次に、移動経路検索部52は、滞在場所情報記憶部43から所定期間内の対象ユーザーの滞在場所情報をすべて読み込む。そして、移動経路検索部52は、読み込んだすべての滞在場所情報それぞれの滞在開始時刻を参照し、滞在開始時刻が古いものから1つずつ順に選択する。移動経路検索部52は、選択した滞在場所情報に基づいて、ステップS270からステップS290までの処理を繰り返し行う(ステップS260)。以下では、説明の便宜上、ステップS260において選択された滞在場所情報を、第2対象滞在場所情報と称して説明する。
次に、移動経路検索部52は、ステップS260において第2対象滞在場所情報の次に選択される滞在場所情報を、第3対象滞在場所情報として選択する(ステップS270)。なお、第3対象滞在場所情報に該当する滞在場所情報が無い場合、制御部36は、ステップS260からステップS290までの繰り返し処理を終了する。
次に、移動経路検索部52は、第2対象滞在場所情報に含まれる1以上の乗降場所のそれぞれと、第3対象滞在場所情報に含まれる1以上の乗降場所のそれぞれとの組み合わせをすべて導出する(ステップS280)。ここで、第2対象滞在場所情報に含まれる1以上の乗降場所は、第1乗降場所である。また、第3対象滞在場所情報に含まれる1以上の乗降場所は、第2乗降場所である。
例えば、第2対象滞在場所情報に含まれる1以上の乗降場所が、乗降場所K1と乗降場所K2であり、第3対象滞在場所情報に含まれる1以上の乗降場所が、乗降場所K3であった場合について説明する。この場合、移動経路検索部52は、第2対象滞在場所情報に含まれる1以上の乗降場所のそれぞれと、第3対象滞在場所情報に含まれる1以上の乗降場所のそれぞれとの組み合わせとして、以下の2つの組み合わせを導出する。
・第1乗降場所である乗降場所K1と第2乗降場所である乗降場所K3との組み合わせ
・第1乗降場所である乗降場所K2と第2乗降場所である乗降場所K3との組み合わせ
次に、乗降場所推定部54は、経路情報記憶部45から、すべてのユーザーのうちの一部又は全部についての過去の経路情報を、履歴情報として取得する(ステップS290)。次に、乗降場所推定部54は、ステップS290において取得した履歴情報に基づいて、ステップS280において移動経路検索部52が導出した1以上の第1乗降場所と第2乗降場所との組み合わせのうち、ユーザーが実際に利用したであろう第1乗降場所と第2乗降場所との組み合わせを推定する。(ステップS300)。
ここで、乗降場所推定部54による第1乗降場所と第2乗降場所の組み合わせの推定処理について説明する。乗降場所推定部54は、移動経路検索部52が導出した1以上の第1乗降場所と第2乗降場所との組み合わせのうち、以下に示した3つの条件のいずれかであって、ステップS290において読み込んだ履歴情報に基づく乗降場所推定条件を満たす組み合わせを検出する。
乗降場所推定条件1:対象ユーザーが過去に実際に利用した第1乗降場所と第2乗降場所の組み合わせであること
乗降場所推定条件2:乗降場所推定条件1を満たせない場合であって、すべてのユーザーのうちの一部又は全部が過去に実際に利用した第1乗降場所と第2乗降場所の組み合わせのうち、最も利用回数が多い組み合わせであること
乗降場所推定条件3:乗降場所推定条件1及び乗降場所推定条件2の両方を満たせない場合であって、ステップS280において最初に検索された移動経路における第1乗降場所と第2乗降場所の組み合わせであること
なお、これらの乗降場所推定条件は、あくまでも一例に過ぎず、他の条件であってもよい。また、乗降場所推定条件1を満たせない場合とは、例えば、第1乗降場所と第2乗降場所の組み合わせのすべてが、過去に対象ユーザーにより利用されていない場合である。また、乗降場所推定条件1及び乗降場所推定条件2の両方を満たせない場合とは、例えば、第1乗降場所と第2乗降場所の組み合わせのすべてが、過去にすべてのユーザーにより利用されていない場合である。以下では、ステップS300において、乗降場所推定条件1を満たす第1乗降場所と第2乗降場所の組み合わせが検出された場合について説明する。
ステップS300において、乗降場所推定条件1を満たす第1乗降場所と第2乗降場所の組み合わせが検出された場合、乗降場所推定部54は、検出された組み合わせを、ユーザーが実際に利用した第1乗降場所と第2乗降場所の組み合わせであると推定(特定)する。
次に、移動経路検索部52は、ステップS300において乗降場所推定部54が推定した第1乗降場所と第2乗降場所との組み合わせにおける1以上の移動経路を検索する(ステップS310)。より具体的には、移動経路検索部52は、当該組み合わせにおける第1乗降場所を示す情報と、第2乗降場所を示す情報とを、インターネット上の移動経路検索サーバーに送信して検索させる。そして、移動経路検索部52は、検索された結果、移動経路検索サーバーからの応答として、1以上の移動経路を示す情報と、当該1以上の移動経路それぞれの経費を示す情報とを取得する。なお、移動経路検索部52は、ユーザー情報記憶部47からユーザー情報を読み込み、読み込んだユーザー情報に基づいて、移動経路検索サーバーにユーザーが所持している定期の利用可能区間の経費を、検索した経費から減算する構成であってもよい。
次に、移動経路推定部55は、ステップS310において検索された1以上の移動経路に含まれる移動経路のうち、以下に示した3つの条件のいずれかであって、ステップS290において読み込んだ履歴情報に基づく移動経路推定条件を満たす組み合わせを検出する(ステップS320)。
移動経路推定条件1:対象ユーザーが過去に実際に利用した移動経路であること
移動経路推定条件2:移動経路推定条件1を満たせない場合であって、すべてのユーザーのうちの一部又は全部が過去に実際に利用した移動経路のうち、最も利用回数が多い移動経路であること
移動経路推定条件3:移動経路推定条件1及び移動経路推定条件2の両方を満たせない場合であって、ステップS280において最初に検索された移動経路であること
なお、これらの移動経路推定条件は、あくまでも一例に過ぎず、他の条件であってもよい。また、移動経路推定条件1を満たせない場合とは、例えば、ステップS310において移動経路検索部52が検索した1以上の移動経路のすべてが、過去に対象ユーザーにより利用されていない場合である。また、移動経路推定条件1及び移動経路推定条件2の両方を満たせない場合とは、例えば、ステップS310において移動経路検索部52が検索した1以上の移動経路のすべてが、過去にすべてのユーザーにより利用されていない場合である。以下では、ステップS320において、移動経路推定条件1を満たす移動経路が検出された場合について説明する。
経路情報生成部56は、ステップS280において導出された1以上の組み合わせであって、第1乗降場所と第2乗降場所の組み合わせと、ステップS300において推定されたユーザーが実際に利用したであろう第1乗降場所と第2乗降場所との組み合わせと、ステップS310において検索された1以上の移動経路と、ステップS320において推定されたユーザーが実際に利用したであろう移動経路とに基づいて、1以上の経路情報を生成する(ステップS330)。
ここで、図13を参照して、経路情報記憶部45において経路情報を格納する経路情報テーブルについて説明する。図13は、経路情報テーブルT45の一例を示す図である。経路情報テーブルT45は、経路情報を格納する。なお、以下では、説明の便宜上、第2対象滞在場所情報に含まれる滞在場所を示す情報(すなわち、第1滞在場所を示す情報)と、第3対象滞在場所情報に含まれる滞在場所を示す情報(すなわち、第2滞在場所を示す情報)との移動区間を、対象移動区間と称して説明する。
経路情報には、ユーザーIDと、対象移動区間を識別する情報と、対象移動区間における第1滞在場所を示す情報と、対象移動区間における第1滞在場所から移動を開始した移動開始時刻を示す情報と、対象移動区間における第2滞在場所を示す情報と、対象移動区間における第2滞在場所までの移動を終了した移動終了時刻を示す情報と、対象移動区間における移動経路を識別する情報と、当該移動経路を示す情報と、当該移動経路の第1乗降場所を示す情報と、当該移動経路の第2乗降場所を示す情報と、当該移動経路の経費を示す情報と、当該移動経路が推定移動経路であるか否かを示す確定フラグを含む。すなわち、経路情報とは、経路情報テーブルT45のそれぞれのレコードに含まれる複数の情報を示す。
なお、移動区間を識別する情報は、例えば、移動区間IDであるが、他の情報であってもよい。また、各移動区間における移動経路を識別する情報は、例えば、移動区間IDが同じ複数のレコードにおいて互いに異なるIDであって、移動経路を識別する移動経路IDであるが、移動区間IDが同じ複数のレコードにおいて互いに異なる情報であれば他の情報であってもよい。
また、第1滞在場所を示す情報が格納されているフィールドには、第1滞在場所の位置を示す情報と、第1滞在場所の名称を示す情報とが含まれている。また、第2滞在場所を示す情報が格納されているフィールドには、第2滞在場所の位置を示す情報と、第2滞在場所の名称を示す情報とが含まれている。また、第1乗降場所を示す情報が格納されているフィールドには、第1乗降場所の位置を示す情報と、第1乗降場所の名称を示す情報とが含まれている。また、第2乗降場所を示す情報が格納されているフィールドには、第2乗降場所の位置を示す情報と、第2乗降場所の名称を示す情報とが含まれている。
また、移動経路を示す情報が格納されているフィールドには、例えば、当該移動経路における出発地点の乗降場所を示す情報と、到着地点の乗降場所を示す情報と、乗り換えを行う乗降場所を示す情報と、それぞれの乗降場所の名称を示す情報と、それらの乗降場所間の移動に利用される経路名(例えば、電車の場合、路線名)を示す情報と、それぞれの乗降場所における交通機関の出発時間を示す情報等を含む。
ここで、経路情報生成部56による経路情報の生成処理について説明する。経路情報生成部56は、ステップS200において選択されたユーザーIDと、第2対象滞在場所情報に含まれる滞在場所を示す情報(すなわち、第1滞在場所を示す情報)と、第3対象滞在場所情報に含まれる滞在場所を示す情報(すなわち、第2滞在場所を示す情報)と、第2対象滞在場所情報に含まれる乗降場所を示す情報(すなわち、第1乗降場所を示す情報)と、第3対象滞在場所情報に含まれる乗降場所を示す情報(すなわち、第2乗降場所を示す情報)と、ステップS310において取得した移動経路を示す情報と、ステップS310において取得した当該移動経路の経費を示す情報とをそれぞれ組み合わせた情報を生成する。また、経路情報生成部56は、生成した情報に対して、移動区間IDと、移動経路IDと、確定フラグとを対応付けて、経路情報として経路情報テーブルT45に格納する。また、経路情報生成部56は、ステップS300において推定した第1乗降場所と第2乗降場所の組み合わせと、ステップS320において推定した移動経路を示す情報とを含む経路情報のレコードに含まれる確定フラグに1を格納し、その他のレコードの確定フラグに0を格納する。
これにより、情報処理システム1は、確定フラグの値により、経路情報に含まれる第1乗降場所が、ユーザーが実際に利用したであろうと推定される第1乗降場所であるか否かを判断することができる。また、情報処理システム1は、確定フラグの値により、経路情報に含まれる第2乗降場所が、ユーザーが実際に利用したであろうと推定される第2乗降場所であるか否かを判断することができる。また、情報処理システム1は、確定フラグの値により、経路情報に含まれる移動経路が、ユーザーが実際に利用したであろうと推定される移動経路であるか否かを判断することができる。
以下、図14を参照して、経路情報に関して情報処理端末2と情報処理装置3との間で行われる処理について説明する。図14は、経路情報に関して情報処理端末2と情報処理装置3との間で行われる処理の流れの一例を示すシーケンス図である。なお、図14に示したシーケンス図では、情報処理装置3がすでに経路情報を生成している場合について説明する。
まず、情報処理端末2の制御部26は、経路情報を表示させるGUIを介してユーザーから受け付けられた操作に基づいて、情報処理装置3へ経路情報の取得の要求を送信する(ステップS500)。次に、情報処理装置3の通信制御部57は、情報処理端末2からの要求に応じて、情報処理端末2のユーザーIDを参照し、当該ユーザーの所定期間内における経路情報を一部又は全部を情報処理端末2へ通信部34に送信させる(ステップS510)。以下では、情報処理装置3の通信制御部57が当該ユーザーの所定期間内における経路情報の全部を情報処理端末2へ通信部34に送信させる場合について説明する。
次に、情報処理端末2の制御部26は、情報処理装置3から1以上の経路情報を受信する。そして、情報処理端末2の表示制御部27は、受信した経路情報に基づいて、例えば、図2に示したような経路情報を表示するGUIを生成する。情報処理端末2の表示制御部27は、生成したGUIを表示部25に表示させる(ステップS520)。ここで、以下では、ステップS520において情報処理端末2の表示制御部27が表示した経路情報に含まれる推定移動経路が、ユーザーが実際に利用していない移動経路であった場合について説明する。
次に、情報処理端末2の経路補正部28は、ステップS520において表示したGUIを介して受け付けられたユーザーからの操作に基づいて、移動経路の補正(例えば、第1乗降場所、第2乗降場所、移動経路等の変更)を行う。情報処理端末2の経路補正部28は、行った補正を示す情報を、補正情報として生成する(ステップS530)。次に、情報処理装置3の補正部58は、情報処理端末2から補正情報を受信する。そして、情報処理装置3の補正部58は、補正情報に基づいて、情報処理端末2においてユーザーにより行われた経路情報に対する補正を、経路情報記憶部45に記憶された経路情報テーブルT45に対して反映させる(ステップS550)。
ステップS550からしばらく時間が経ったとして、情報処理端末2の制御部26は、ステップS520において表示されたGUIを介して受け付けられたユーザーからの操作に基づいて、移動経路を確定する(ステップS560)。次に、情報処理端末2の制御部26は、当該GUIに表示された移動経路が、ユーザーが実際に利用した移動経路であるとして確定したことを示す確定情報を情報処理装置3へ送信する(ステップS570)。この確定情報には、当該GUIに表示されている移動経路を含む経路情報を示す情報と、当該経路情報のレコードに含まれる確定フラグの値を1とし、他のレコードの確定フラグを0とすることを要求する情報とが含まれている。
情報処理装置3の制御部36は、情報処理端末2から確定情報を受信する。そして、情報処理装置3の制御部36は、確定情報に基づいて、該当する経路情報のレコードに含まれる確定フラグの値を1に変更し、他のレコードの確定フラグを0に変更する(ステップS580)。なお、確定フラグは、経路情報に含まれていなくてもよい。その場合、他の情報により、ある経路情報に含まれている各種の情報が、ユーザーの実際の移動経路や利用した乗降場所と一致していること示す。
以下、図15を参照して、制御部26が経路情報を表示し、補正情報を情報処理装置3に送信するまでの処理について説明する。図15は、補正情報を情報処理装置3に送信するまでの処理の流れの一例を示すフローチャートである。なお、図15に示したフローチャートでは、制御部26が、情報処理端末2のユーザーの所定期間内における経路情報をすでに情報処理装置3から取得している場合について説明する。
まず、表示制御部27は、情報処理装置3から取得した経路情報に基づいて、経路情報を表示する図2に示したようなGUIを生成する。そして、表示制御部27は、生成したGUIを表示部25に表示させる(ステップS600)。次に、経路補正部28は、ステップS600において表示したGUIを介して受け付けられたユーザーからの操作に基づいて、経路情報に含まれる移動経路(すなわち、経路情報)を補正する(ステップS610)。
次に、経路補正部28は、ステップS610において行った補正を示す補正情報を生成する(ステップS620)。次に、通信制御部29は、ステップS620において生成した補正情報を、情報処理装置3へ通信部24に送信させる(ステップS630)。
なお、情報処理装置3の制御部36が備える各機能部のうちの一部又は全部は、情報処理端末2が備えていてもよい。例えば、情報処理端末2が単体で情報処理システム1の機能を有する構成であってもよい。その場合、制御部26が備える滞在場所情報制御部29は、滞在場所情報を生成するのみであり、生成した滞在場所情報を情報処理装置3へ通信部24に送信させることは無い。
以上説明したように、本実施形態における情報処理システム1は、滞在場所情報と、乗降場所情報とに基づいて、ある前記滞在場所から他の前記滞在場所への交通機関による移動経路を推定し、推定した移動経路を示す情報をユーザーに対して出力する情報処理端末の出力部に出力させ、推定した移動経路を示す情報を、ユーザーから受け付けられた操作に基づいて補正した補正情報を生成する。これにより、情報処理システム1は、ユーザーが移動中に利用した移動経路における交通機関の経費を算出することができる。
<第2実施形態>
以下、本発明の第2実施形態について、図面を参照して説明する。第2実施形態に係る情報処理システム1aは、第1実施形態に係る情報処理端末2が滞在場所情報を情報処理装置3へ送信するのに代えて、情報処理端末2aが情報処理端末2a自身の位置を示す位置情報を予め決められた周期が経過する毎に情報処理装置3a送信する。そして、情報処理装置3aは、情報処理端末2aから取得した位置情報に基づいて滞在場所情報を生成する。この点において、第2実施形態に係る情報処理システム1aは、第1実施形態に係る情報処理システム1と異なる。
すなわち、情報処理システム1aは、ユーザーが滞在した滞在場所においてチェックインをユーザーに行わせることなく、予め決められた周期が経過する毎に情報処理装置3へ送信される情報処理端末2の位置情報に基づいて、ユーザーが滞在した滞在場所を推定する。そして、情報処理システム1aは、推定した滞在場所についての滞在場所情報を生成する。情報処理システム1aは、生成した滞在場所情報に基づいて経路情報を生成する。
以下では、第1実施形態に係る情報処理システム1と異なる部分に焦点を合わせて、情報処理システム1aについて説明する。なお、第1実施形態に係る情報処理システム1と同様な情報処理システム1aの機能部に対しては、同じ符号を付して説明を省略する。
次に、図16を参照して、情報処理端末2aの機能構成について説明する。図16は、情報処理端末2aの機能構成の一例を示す図である。情報処理端末2aは、例えば、位置情報取得部21と、記憶部22と、タッチパネル(入力受付部23と表示部25)と、通信部24と、制御部26aを備える。
制御部26aは、表示制御部27と、経路補正部28と、位置情報制御部29aを備える。
位置情報制御部29aは、予め決められた周期が経過する毎に、位置情報取得部21から位置情報を取得する。また、滞在場所情報制御部29aは、図示しない計時部を備えており、位置情報に対して、計時部から現在の時刻を示す情報を、滞在位置時刻を示す情報を対応付ける(含める)。そして、位置情報制御部29aは、滞在位置時刻を示す情報を対応付けた位置情報を、情報処理装置3へ通信部24に送信させる。以下では、滞在位置時刻を示す情報を対応付けた位置情報を、単に位置情報と称して説明する。
次に、図17を参照して、情報処理装置3aの機能構成について説明する。図17は、情報処理装置3aの機能構成の一例を示す図である。情報処理装置3aは、例えば、記憶部32aと、入力受付部23と、通信部34と、表示部35と、制御部36aを備える。
記憶部32aは、予定情報記憶部42と、滞在場所情報記憶部43と、乗降場所情報記憶部44と、経費情報記憶部45と、ユーザー情報記憶部47と、位置情報記憶部48を備える。
位置情報記憶部48は、予め決められた周期が経過する毎に情報処理端末2aから取得される位置情報を記憶する。
制御部36aは、乗降場所検出部51と、移動経路検索部52と、乗降場所推定部54と、移動経路推定部55と、経路情報生成部56と、通信制御部57と、補正部58と、滞在場所情報生成部59を備える。
滞在場所情報生成部59は、位置情報記憶部48から所定期間内の位置情報を読み込む。滞在場所情報生成部59は、読み込んだ位置情報に基づいて滞在場所情報を生成する。滞在場所情報生成部59は、生成した滞在場所情報を滞在場所情報記憶部43の滞在場所情報テーブルT43に格納する。
以下、図18を参照して、制御部36aが位置情報に基づいて滞在場所情報を生成する処理について説明する。図18は、制御部36aが位置情報に基づいて滞在場所情報を生成する処理の流れの一例を示すフローチャートである。なお、図18に示したフローチャートでは、制御部36aが、情報処理端末2aの所定期間内における位置情報をすでに情報処理端末2aから取得している場合について説明する。
まず、滞在場所情報生成部59は、ユーザー情報記憶部47のユーザー情報テーブルT47に含まれるユーザーIDを参照し、ユーザー毎にステップS710からステップS730までの処理を繰り返し行う(ステップS700)。以下では、ステップS700において選択されたユーザーを、対象ユーザーと称して説明する。
滞在場所情報生成部59は、対象ユーザーの所定期間内における位置情報を、位置情報記憶部48からすべて取得する(ステップS710)。次に、滞在場所情報生成部59は、ステップS710において取得した位置情報の一部又は全部に基づいて、滞在場所情報を生成する(ステップS720)。
ここで、滞在位置情報記憶部43による滞在場所情報の生成処理について説明する。滞在場所情報生成部59は、位置情報記憶部48から読み込んだ位置情報に基づいて、位置情報に含まれる滞在位置時刻であって、互いに異なる時刻の位置情報のそれぞれが示す情報処理端末2の位置から、所定条件を満たす複数の位置の集まりを1つのクラスターとして検出する。そして、滞在場所情報生成部59は、検出した複数のクラスターのそれぞれを、ユーザーの滞在場所として特定する。
なお、以下では、説明の便宜上、位置情報に含まれる滞在位置時刻を、位置情報の時刻と称して説明する。また、以下では、ある滞在位置時刻Gを含む位置情報を、時刻Gの位置情報と称して説明する。また、以下では、滞在場所情報生成部59によるクラスターの検出処理を、クラスター検出処理と称して説明する。この一例において、滞在場所情報生成部59がクラスターを検出するためのクラスター検出条件には、以下の2つのクラスター検出条件が含まれる。なお、クラスター検出条件は、他の条件であってもよい。
クラスター検出条件1:ある時刻の位置情報が示す位置から、当該時刻よりも新しい時刻の位置情報が示す位置が、所定領域内に所定数以上含まれていること
クラスター検出条件2:当該所定領域内に含まれている位置情報が示す位置を、第1所定時間の経過毎に時系列順に並べることが可能であること。すなわち、当該所定領域内に含まれる各位置情報の時刻のうち、ある時刻G1と、時刻G1の次に新しい(又は古い)時刻G2とは、必ず第1所定時間だけ離れていること
上述の所定領域は、この一例において、半径100メートルの円形領域であるとするが、これに代えて、他の大きさや形状の領域であってもよい。本実施形態において、滞在場所情報生成部59は、この所定領域に含まれる範囲をクラスター、すなわちユーザーが滞在した滞在場所として特定する構成であるとするが、これに代えて、検出されたクラスターに基づく他の範囲を当該滞在場所として特定する構成であってもよい。また、上述の所定数は、例えば、3であるとするが、これに代えて、2以上の他の数であってもよい。
ここで、図19を参照して、滞在場所情報生成部59によるクラスター検出処理について説明する。図19は、滞在場所情報生成部59によるクラスター検出処理の一例について説明するための図である。図19に示した空間M1は、ある時間帯における対象ユーザーの位置情報が示す情報処理端末2aの位置を、横軸を経度、縦軸を緯度としてプロットした仮想空間である。
空間M1上における点P1〜点P12はそれぞれ、位置情報が示す情報処理端末2aの位置を示す。なお、点P1〜点12は、位置情報の時刻が古い方から新しい方に向けて順に番号が付与されている。つまり、空間M1上において点P1が最も古い情報処理端末2aの位置を示し、空間M1上において点P12が最も新しい情報処理端末2aの位置を示す。
図19において、円C11及び円C12のそれぞれに囲まれた点は、滞在場所情報生成部59により検出された1つのクラスターとして検出された情報処理端末2aの位置を示す。例えば、図19に示した点P3〜点P6は、所定領域内に含まれている。これにより、点P3〜点P6は、上記のクラスター検出条件1を満たす。また、点P3〜点P6は、第1所定時刻毎に順に情報処理端末2aから情報処理装置3aへ送信された位置情報が示す位置を示している。これにより、点P3〜点P6は、上記のクラスター検出条件2を満たす。従って、滞在場所情報生成部59は、点P3〜点P6を1つのクラスターとして検出する。滞在場所情報生成部59は、点P9〜点P12に関しても、点P3〜点P6に対する理由と同様の理由により、1つのクラスターとして検出する。
一方、図19における点P1、点P2、点P7、点P8のそれぞれは、上記のクラスター検出条件1及びクラスター検出条件2のいずれも満たさない。そのため、滞在場所情報生成部59は、点P1、点P2、点P7、点P8の一部又は全部を含む情報処理端末2aの位置の集まりをクラスターとして検出しない。なお、点P7は、点P9〜点P12とともに所定領域内に含めることができる。しかし、点P7は、点P7が示す位置情報の時刻と、点P9が示す位置情報の時刻とが第1所定時間の2倍だけ離れているため、上記のクラスター検出条件2を満たさない。そのため、滞在場所情報生成部59は、点P7を、円R2が表すクラスターに含めない。
複数のクラスターを検出した後、滞在場所情報生成部59は、前述したように各クラスターを対象ユーザーの滞在場所として特定する。以下では、説明の便宜上、滞在場所として特定したクラスターを、単に滞在場所と称して説明する。対象ユーザーの滞在場所を特定した後、滞在場所情報生成部59は、各滞在場所を表す所定領域に基づいて、各滞在場所の位置を算出する。この一例において、各滞在場所を表す所定領域が円形領域である。そのため、滞在場所情報生成部59は、例えば、各滞在場所を表す所定領域の中心の位置を、各滞在場所の位置として算出する。なお、滞在場所情報生成部59は、滞在場所の位置を、位置情報が示す位置と同様に、緯度及び経度によって示す。
滞在場所情報生成部59は、滞在場所として特定したクラスター毎に、各クラスターに含まれる最も古い時刻の位置情報の滞在位置時刻を当該クラスターが表す滞在場所についての滞在開始時刻として特定する。また、滞在場所情報生成部59は、インターネット上の地図検索サーバーに滞在場所の位置を示す情報(すなわち、クラスターの位置を示す情報)を送信し、滞在場所の名称を示す情報を検索する。滞在場所情報生成部59は、検索した結果、地図検索サーバーからの応答として、滞在場所の名称を示す情報を取得する。なお、滞在場所情報生成部59による滞在場所の名称の検索は、他の方法によって行われてもよい。
滞在場所情報生成部59は、対象ユーザーのユーザーIDと、特定した滞在場所(すなわち、クラスター)の位置を示す情報と、取得した当該滞在場所の名称を示す情報と、当該滞在場所について特定した滞在開始時刻を示す情報とを対応付けて、滞在場所情報を生成する。なお、滞在場所情報生成部59は、滞在場所として特定したクラスター毎に、各クラスターに含まれる最も新しい時刻の位置情報の滞在位置時刻を当該クラスターが表す滞在場所についての滞在終了時刻として特定する構成であってもよい。その場合、滞在場所情報には、滞在終了時刻が含まれる。
なお、情報処理装置3aの制御部36aが備える各機能部のうちの一部又は全部は、情報処理端末2aが備えていてもよい。例えば、情報処理端末2aが単体で情報処理システム1aの機能を有する構成であってもよい。その場合、制御部26aが備える位置情報制御部29aは、位置情報を生成するのみであり、生成した位置情報を情報処理装置3aへ通信部24に送信させることは無い。
以上説明したように、本実施形態における情報処理システム1aは、情報処理端末2が滞在場所情報を情報処理装置3に送信するのに代えて、情報処理端末2aが位置情報を予め決められた周期が経過する毎に情報処理装置3aに送信し、情報処理装置3aが受信した位置情報に基づいて滞在場所情報を生成する。これにより、情報処理システム1aは、ユーザーが滞在した滞在場所においてチェックインをユーザーに行わせることなく、予め決められた周期が経過する毎に情報処理装置3aへ送信される情報処理端末2aの位置情報に基づいて、ユーザーが滞在した滞在場所を推定することができる。その結果、情報処理システム1aは、推定した滞在場所に基づいて滞在場所情報を生成することができ、第1実施形態と同様な効果を得ることができる。
<第3実施形態>
以下、本発明の第3実施形態について図面を参照して説明する。第3実施形態に係る情報処理システム1bは、第1実施形態に係る情報処理システム1と、第2実施形態に係る情報処理システム1aとを組み合わせた構成である。すなわち、第3実施形態に係る情報処理システム1bは、情報処理端末2bが情報処理端末2b自身の位置を示す位置情報を予め決められた周期が経過する毎に情報処理装置3bに送信する。そして、情報処理装置3bは、情報処理端末2bから取得した位置情報に基づいて滞在場所情報を生成する。情報処理装置3bは、生成した滞在場所情報に基づいて経路情報を生成する。
また、情報処理システム1bは、何らかの理由により、情報処理端末2bが位置情報を情報処理装置3bに送信できない場合、情報処理端末2bが滞在場所情報を生成する。そして、情報処理端末2bは、生成した滞在場所情報を情報処理装置3bへ送信する。情報処理装置3bは、受信した滞在場所情報に基づいて情報処理装置3bが経路情報を生成する。なお、第1実施形態に係る情報処理システム1及び第2実施形態に係る情報処理システム1aと同様な情報処理システム1bの機能部に対しては、同じ符号を付して説明を省略する。
次に、図20を参照して、情報処理端末2bの機能構成について説明する。図20は、情報処理端末2bの機能構成の一例を示す図である。情報処理端末2bは、例えば、位置情報取得部21と、記憶部22と、タッチパネル(入力受付部23と表示部25)と、通信部24と、制御部26bを備える。
制御部26bは、表示制御部27と、経路補正部28と、滞在場所情報制御部29と、位置情報制御部29aを備える。
次に、図21を参照して、情報処理装置3bの機能構成について説明する。図21は、情報処理装置3bの機能構成の一例を示す図である。情報処理装置3bは、例えば、記憶部32aと、入力受付部23と、通信部34と、表示部35と、制御部36bを備える。
制御部36bは、乗降場所検出部51と、移動経路検索部52と、乗降場所推定部54と、移動経路推定部55と、経路情報生成部56と、通信制御部57と、補正部58と、滞在場所情報生成部59を備える。また、制御部36bは、通信部34により情報処理端末2bから受信した滞在場所情報を滞在場所情報記憶部43に記憶させる。
なお、情報処理装置3bの制御部36bが備える各機能部のうちの一部又は全部は、情報処理端末2bが備えていてもよい。例えば、情報処理端末2bが単体で情報処理システム1bの機能を有する構成であってもよい。
以上説明したように、本実施形態における情報処理システム1bは、上記で説明したように、第1実施形態に係る情報処理システム1と、第2実施形態に係る情報処理システム1aとを組み合わせた構成である。これにより、情報処理システム1bは、何らかの理由により、情報処理端末2bが位置情報を情報処理装置3bに送信できない場合であっても、第1実施形態と同様な効果を得ることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、情報処理端末2の制御部26、26a、情報処理装置3の制御部36、36a)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。