(57)【特許請求の範囲】
【請求項１】
線路の位置を規定する１以上の線路位置情報が格納される線路位置情報格納部と、
線路上の位置であり、列車が停車し得る位置を示す１以上の線路停止位置情報が格納される線路停止位置情報格納部と、
列車を識別する列車識別子と列車のサイズに関する情報とを含む１以上の列車情報が格納される列車情報格納部と、
列車識別子を含み、当該列車識別子で識別される列車の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、
前記１以上の線路位置情報と前記１以上の線路停止位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が停止している状態を示す情報であり、線路が配置される平面を構成する矩形のブロックであるタイルを識別するタイル識別子と、当該タイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成部と、
前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が走行している状態を示す情報であり、線路が走行しているタイルを識別するタイル識別子と、当該タイル上の線路を走行している列車の列車識別子と、当該列車が当該タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生成部と、
前記１以上の停止状態情報と前記１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積部とを具備するインデックス情報生成装置。
【請求項２】
前記１以上の線路位置情報と前記１以上の運行情報とを用いて、前記タイル内での列車の動きを特定する演算式である走行演算式と当該走行演算式で示される動きを行う時間帯を示す走行時間帯情報とを有する１以上の走行演算情報を生成する走行演算情報生成部をさらに具備し、
前記インデックス情報蓄積部は、
前記１以上の停止状態情報と前記１以上の走行状態情報と前記１以上の走行演算情報とを有するインデックス情報を記録媒体に蓄積する請求項１記載のインデックス情報生成装置。
【請求項３】
前記線路位置情報は、
線路上の点を示す情報であり、当該点を示す経度と緯度とを有する点情報、線路を構成する線を識別するベジエ識別子と当該線の始点と終点と制御点とを有するベジエ曲線を示すベジエ曲線情報を有し、
前記線路停止位置情報は、
ベジエ識別子と当該ベジエ識別子で識別されるベジエ曲線上における位置を示す曲線上位置情報とを有し、
前記列車情報は、
列車識別子と列車の編成を示す編成情報と列車の長さと列車の幅と内車軸間距離と外車軸間距離とを有し、
前記運行情報は、
列車識別子と、当該列車の先頭車両の位置を示す先頭位置情報と、列車が存在する１以上のベジエ識別子と、停止開始時刻と、停止終了時刻とを有する停止列車情報、
または列車識別子と、当該列車が存在する１以上のベジエ識別子と、移動開始時刻と、移動終了時刻と、移動開始時のベジエ曲線上における位置を示す移動開始曲線上位置情報と、移動終了時のベジエ曲線上における位置を示す移動終了曲線上位置情報と、通過点の位置を示す通過点位置情報と通過時刻とを有する通過情報とを有する走行列車情報である請求項１または請求項２記載のインデックス情報生成装置。
【請求項４】
前記タイルは、前記線路が描かれた地図を矩形のブロックで表現した地図タイルである請求項１ないし請求項３いずれか一項に記載のインデックス情報生成装置。
【請求項５】
前記地図タイルは、世界地図を前記ブロックで表現したタイルである基準の地図タイルを１／（２ｎ×２ｎ）（ｎ：２以上の整数）に分割し、各分割領域に含まれる地図を前記ブロックのサイズに拡大して表現した地図タイルである、前記基準の地図タイルよりもズームレベルの高い２以上の地図タイルを有し、
前記停止状態情報生成部は、前記１以上の線路位置情報と前記１以上の線路停止位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、前記２以上の地図タイルの中のいずれかの地図タイル上に停止している列車の列車識別子と、前記列車が停止している地図タイルを識別する地図タイル識別子と、前記列車が前記地図タイル識別子で識別される地図タイルに停止している停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成し、
前記走行状態情報生成部は、前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、前記２以上の地図タイルの中のいずれかの地図タイル上に存在する列車の列車識別子と、前記列車が存在する地図タイルを識別する地図タイル識別子と、前記列車が前記地図タイル識別子で識別される地図タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する
請求項４記載のインデックス情報生成装置。
【請求項６】
請求項１から請求項５いずれかに記載のインデックス情報生成装置が生成したインデックス情報を用いて、列車の移動および停止を出力する列車運行出力装置であって、
１以上の前記タイルを格納し得るタイル格納部と、
時間の情報と前記タイルの情報を受け付ける受付部と、
前記１以上の停止状態情報から、前記受付部が受け付けたタイルのタイル識別子と前記受付部が受け付けた時間に前記停止時間帯を含む停止時間帯情報とに対応付けられた１以上の列車識別子を取得する第１の列車識別子取得部と、
前記１以上の走行状態情報から、前記受付部が受け付けたタイルのタイル識別子と前記受付部が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とに対応付けられた１以上の列車識別子を取得する第２の列車識別子取得部と、
前記タイル格納部から前記受付部が受け付けたタイルのタイル識別子に対応するタイルを読み出し、そのタイルを用いて、前記第１の列車識別子取得部が取得した列車識別子に対応する１以上の列車が前記停止時間帯に各列車が走行する線路上に停止している状態を出力するとともに、前記第２の列車識別子取得部が取得した列車識別子に対応する１以上の列車が前記存在時間帯に各列車が走行する線路上を走行している状態を出力する出力部と、を具備する、列車運行出力装置。
【請求項７】
記録媒体は、線路の位置を規定する１以上の線路位置情報が格納される線路位置情報格納部と、線路上の位置であり、列車が停車し得る位置を示す１以上の線路停止位置情報が格納される線路停止位置情報格納部と、列車を識別する列車識別子と列車のサイズに関する情報とを含む１以上の列車情報が格納される列車情報格納部と、列車識別子を含み、当該列車識別子で識別される列車の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、を具備し、
停止状態情報生成部と、走行状態情報生成部と、インデックス情報蓄積部とによって実現されるインデックス情報の生産方法であって、
前記停止状態情報生成部が、前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が停止している状態を示す情報であり、線路が配置される平面を構成する矩形のブロックであるタイルを識別するタイル識別子と、当該タイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成ステップと、
前記走行状態情報生成部が、前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が走行している状態を示す情報であり、線路が走行しているタイルを識別するタイル識別子と、当該タイル上の線路を走行している列車の列車識別子と、当該列車が当該タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生ステップと、
前記インデックス情報蓄積部が、前記１以上の停止状態情報と前記１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積ステップと、を具備するインデックス情報の生産方法。
【請求項８】
コンピュータがアクセス可能な記録媒体は、線路の位置を規定する１以上の線路位置情報が格納される線路位置情報格納部と、線路上の位置であり、列車が停車し得る位置を示す１以上の線路停止位置情報が格納される線路停止位置情報格納部と、列車を識別する列車識別子と列車のサイズに関する情報とを含む１以上の列車情報が格納される列車情報格納部と、列車識別子を含み、当該列車識別子で識別される列車の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、を具備し、
前記コンピュータを、
前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が停止している状態を示す情報であり、線路が配置される平面を構成する矩形のブロックであるタイルを識別するタイル識別子と、当該タイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成部と、
前記１以上の線路位置情報と前記１以上の列車情報と前記１以上の運行情報とを用いて、列車が走行している状態を示す情報であり、線路が走行しているタイルを識別するタイル識別子と、当該タイル上の線路を走行している列車の列車識別子と、当該列車が当該タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生成部と、
前記１以上の停止状態情報と前記１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積部と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運行計画に基づいて運行される移動体の運行状態を表示するために用いるインデックス情報を生成するインデックス情報生成装置等に関するものである。
【背景技術】
【０００２】
従来、空間検索機能を有する空間データベースにおいて、任意の範囲に内包又は接触する対象物を取得する範囲指定検索の高速化を図るために、四分木、グリッドファイル、Ｒ木などの空間インデックス技術が提案されている。
【０００３】
例えば、特許文献１には、カーナビゲーション装置などの地図情報を管理する機器に搭載されている、例えば、現在地付近の飲食店や駐車場などの地点データを検索する機能に、グリッドファイルによる範囲指定検索を用いた方法や四分木による指定範囲検索を用いる方法が記載されている。
【０００４】
また、近年、例えば、鉄道の運行計画情報を基に、列車の走行位置を地図上にマッピングして表示するサービス（以下、「鉄道運行表示サービス」という。）が提供されている。例えば、「鉄道ＮＯＷ」というウェブサイトには、日本国内の鉄道を対象にして、ユーザが選択した領域の現在時刻やユーザが指定した時刻における列車の運行状況を、当該領域を含む地図タイルに描かれた線路上にマッピングして表示するサービスが行われている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１９９１５１号公報
【非特許文献】
【０００６】
【非特許文献１】“鉄道ＮＯＷ”、［online］、［2016年4月29日検索］インターネット〈URL：http://www.demap.info/tetsudonow/〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術であるＲ木や四分木などを用いて二次元（ｘ，ｙ）のインデックス情報を作成する方法は、ｘ軸とｙ軸について１次元のデータ検索を繰り返して絞り込む方法である。そのため、この方法を時間と地図タイルとで列車を特定するインデックス情報に適用しても、効果的なインデックス情報を得ることは困難である。
【０００８】
また、上記の鉄道運行表示サービスの提供においては、全ての列車に対してユーザが指定した時間帯における位置を算出し、その算出結果を用いてユーザが選択した領域の地図タイルに存在する列車を算出していた。この方法では、ユーザが選択した領域の地図タイルに存在しない列車に対してもユーザが指定した時間帯における位置を計算するので、処理効率の低下を招き、列車のマッピングまでに時間が掛かるという問題があった。
【０００９】
上記の問題の対策として、時間と地図タイルとで列車を特定するインデックス情報を作成しておき、そのインデックス情報を用いてユーザが指定した時間帯にユーザが選択した領域の地図タイルに存在する列車だけを抽出し、抽出した列車についてマッピンク処理をするという方法が考えられる。
【課題を解決するための手段】
【００１０】
本第一の発明のインデックス情報生成装置は、線路の位置を規定する１以上の線路位置情報が格納される線路位置情報格納部と、線路上の位置であり、列車が停車し得る位置を示す１以上の線路停止位置情報が格納される線路停止位置情報格納部と、列車を識別する列車識別子と列車のサイズに関する情報とを含む１以上の列車情報が格納される列車情報格納部と、列車識別子を含み、列車識別子で識別される列車の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、１以上の線路位置情報と１以上の線路停止位置情報と１以上の列車情報と１以上の運行情報とを用いて、列車が停止している状態を示す情報であり、線路が配置される平面を構成する矩形のブロックであるタイルを識別するタイル識別子と、タイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成部と、１以上の線路位置情報と１以上の列車情報と１以上の運行情報とを用いて、列車が走行している状態を示す情報であり、線路が走行しているタイルを識別するタイル識別子と、タイル上の線路を走行している列車の列車識別子と、列車がタイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生成部と、１以上の停止状態情報と１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積部とを具備するインデックス情報生成装置である。
【００１１】
かかる構成により、列車の運行状況を出力するための適切なインデックス情報を生成できる。さらに詳細には、多数の列車が異なるタイルを異なる時間帯に走行する列車の運行状況を出力するための膨大な情報の中から、要求された時間帯に要求されたタイル内の線路を走行する列車だけを抽出し、その列車の当該タイルにおける運行状況を迅速に出力するための、インデックス情報を生成できる。
【００１２】
また、本第二の発明のインデックス情報生成装置は、第一の発明に対して、１以上の線路位置情報と１以上の運行情報とを用いて、タイル内での列車の動きを特定する演算式である走行演算式と走行演算式で示される動きを行う時間帯を示す走行時間帯情報とを有する１以上の走行演算情報を生成する走行演算情報生成部をさらに具備し、インデックス情報蓄積部は、１以上の停止状態情報と１以上の走行状態情報と１以上の走行演算情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報生成装置である。
【００１３】
かかる構成により、複数のタイルに跨っている線路上を運行する列車のタイル毎の停止状態情報と走行状態情報を精度良く生成することができる。
【００１４】
また、本第三の発明のインデックス情報生成装置は、第一または第二の発明に対して、線路位置情報は、線路上の点を示す情報であり、点を示す経度と緯度とを有する点情報、線路を構成する線を識別するベジエ識別子と線の始点と終点と制御点とを有するベジエ曲線を示すベジエ曲線情報を有し、線路停止位置情報は、ベジエ識別子とベジエ識別子で識別されるベジエ曲線上における位置を示す曲線上位置情報とを有し、列車情報は、列車識別子と列車の編成を示す編成情報と列車の長さと列車の幅と内車軸間距離と外車軸間距離とを有し、運行情報は、列車識別子と、列車の先頭車両の位置を示す先頭位置情報と、列車が存在する１以上のベジエ識別子と、停止開始時刻と、停止終了時刻とを有する停止列車情報、または列車識別子と、列車が存在する１以上のベジエ識別子と、移動開始時刻と、移動終了時刻と、移動開始時のベジエ曲線上における位置を示す移動開始曲線上位置情報と、移動終了時のベジエ曲線上における位置を示す移動終了曲線上位置情報と、通過点の位置を示す通過点位置情報と通過時刻とを有する通過情報とを有する走行列車情報であるインデックス情報生成装置である。
【００１５】
かかる構成により、列車の運行状況を出力するための適切なインデックス情報を生成できる。特に、複数のタイルに跨っている線路上を運行する列車のタイル毎の停止状態情報と走行状態情報を精度良く生成することができる。
【００１６】
また、本第四の発明のインデックス情報生成装置は、第一ないし第三いずれか１つの発明に対して、タイルは、線路が描かれた地図を矩形のブロックで表現した地図タイルであるインデックス情報生成装置である。
【００１７】
かかる構成により、１又は２以上の地図タイルを用いて列車の運行状況を出力するための適切なインデックス情報を生成できる。
【００１８】
また、本第五の発明のインデックス情報生成装置は、第四の発明に対して、地図タイルは、世界地図をブロックで表現したタイルである基準の地図タイルを１／（２ｎ×２ｎ）（ｎ：２以上の整数）に分割し、各分割領域に含まれる地図をブロックのサイズに拡大して表現した地図タイルである、基準の地図タイルよりもズームレベルの高い２以上の地図タイルを有し、停止状態情報生成部は、１以上の線路位置情報と１以上の線路停止位置情報と１以上の列車情報と１以上の運行情報とを用いて、２以上の地図タイルの中のいずれかの地図タイル上に停止している列車の列車識別子と、列車が停止している地図タイルを識別する地図タイル識別子と、列車が地図タイル識別子で識別される地図タイルに停止している停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成し、走行状態情報生成部は、１以上の線路位置情報と１以上の列車情報と１以上の運行情報とを用いて、２以上の地図タイルの中のいずれかの地図タイル上に存在する列車の列車識別子と、列車が存在する地図タイルを識別する地図タイル識別子と、列車が地図タイル識別子で識別される地図タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成するインデックス情報生成装置である。
【００１９】
かかる構成により、２以上の地図タイルを用いて列車の運行状況を出力するための適切なインデックス情報を生成できる。さらに詳細には、多数の列車が異なる地図タイルを異なる時間帯に走行する列車の運行状況を出力するための膨大な情報の中から、要求された時間帯に要求された地図タイル内の線路を走行する列車だけを抽出し、その列車の当該タイルにおける運行状況を迅速に出力ための、インデックス情報を生成できる。
【００２０】
また、本第六の発明の列車運行出力装置は、第一から第五いずれかにの発明に対して、インデックス情報生成装置が生成したインデックス情報を用いて、列車の移動および停止を出力する列車運行出力装置であって、１以上のタイルを格納し得るタイル格納部と、時間の情報とタイルの情報を受け付ける受付部と、１以上の停止状態情報から、受付部が受け付けたタイルのタイル識別子と受付部が受け付けた時間に停止時間帯を含む停止時間帯情報とに対応付けられた１以上の列車識別子を取得する第１の列車識別子取得部と、１以上の停止状態情報から、受付部が受け付けたタイルのタイル識別子と受付部が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とに対応付けられた１以上の列車識別子を取得する第２の列車識別子取得部と、タイル格納部から受付部が受け付けたタイルのタイル識別子に対応するタイルを読み出し、そのタイルを用いて、第１の列車識別子取得部が取得した列車識別子に対応する１以上の列車が停止時間帯に各列車が走行する線路上に停止している状態を出力するとともに、第２の列車識別子取得部が取得した列車識別子に対応する１以上の列車が存在時間帯に各列車が走行する線路上を走行している状態を出力する出力部と、を具備する、列車運行出力装置である。
【００２１】
かかる構成により、インデックス情報を用いて、多数の列車が異なるタイルを異なる時間帯に走行する列車の運行状況を出力するための膨大な情報の中から、要求された時間帯に要求されたタイル内の線路を走行する列車だけを抽出し、その列車の当該タイルにおける運行状況を迅速に出力することができる。
【発明の効果】
【００２２】
本発明によるインデックス情報生成装置等によれば、列車の運行状況を出力するための適切なインデックス情報を生成できる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１におけるインデックス情報生成装置のブロック図
【図２】同インデックス情報生成装置に用いられる三次ベジエ曲線を説明するための図
【図３】同インデックス情報生成装置のインデックス情報の生成動作を説明するためのフローチャート
【図４】同インデックス情報生成装置の生成処理を説明するための線路の構成の一例を示す図
【図５】同図４に示す線路を運行する列車の運行情報の一例を示す図
【図６】同図４に示す線路の形状を表現する三次ベジエ曲線の一例を示す図
【図７】同インデックス情報生成装置の線路位置情報格納部に格納されている線路位置情報の一例を示す図
【図８】同インデックス情報生成装置の線路停止位置情報格納部に格納されている線路停止位置情報の一例を示す図
【図９】同インデックス情報生成装置の列車情報格納部に格納されている列車情報の一例を示す図
【図１０】同インデックス情報生成装置の列車情報格納部に格納されている列車情報の内容を説明するための図
【図１１】同インデックス情報生成装置の運行情報格納部に格納されている運行情報の一例を示す図
【図１２】同インデックス情報生成装置のインデックス情報の生成に用いる線路の形状を示す１７個のベジエ曲線の連結の構成を示す図
【図１３】同曲がっている線路を走行する列車の線路上の位置を説明するための図
【図１４】同インデックス情報生成装置が生成する停止状態情報一例を示す図
【図１５】同地図情報の線路上の列車の画像の位置を求める列車位置関数を説明するための図
【図１６】同インデックス情報生成装置の走行演算情報生成部が生成する走行演算式を説明するための図
【図１７】同インデックス情報生成装置が生成したインデックス情報の概念を示す概念図
【図１８】同インデックス情報生成装置が停止状態情報と走行状態情報から作成したインデックス情報の一例を示す図
【図１９】実施の形態２における列車運行出力装置のブロック図
【図２０】同列車運行出力装置の列車運行の出力動作を説明するためのフローチャート
【図２１】同列車運行出力装置の列車運行の出力動作に用いられる地図タイルを説明するための図
【図２２】同列車運行出力装置の列車運行の出力動作に用いられる列車の画像を説明するための図
【図２３】同列車運行出力装置の列車運行の出力動作に用いる三次元のインデックス情報の一例を示す図
【図２４】同列車運行出力装置が出力する列車の運行状態の一例を示す図
【図２５】上記実施の形態におけるインデックス情報生成装置と列車運行出力装置を実現するコンピュータシステムの概観図
【図２６】同コンピュータシステムの内部構成を示す図
【図２７】上記実施の形態１におけるインデックス情報生成装置の変形例のブロック図
【図２８】上記実施の形態２における移動体運行出力装置のブロック図
【発明を実施するための形態】
【００２４】
以下、インデックス情報生成装置の実施の形態について、図面を参照して説明する。なお、実施の形態において、同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２５】
（実施の形態１）
本実施の形態１においては、運行計画に基づいて運行される移動体として鉄道を例に、複数のタイルを用いて列車の運行状態を表示する処理に用いるためのインデックス情報を生成するインデックス情報生成装置１について説明する。
【００２６】
図１は、本実施の形態１におけるインデックス情報生成装置１のブロック図である。
【００２７】
インデックス情報生成装置１は、線路位置情報格納部１０１、線路停止位置情報格納部１０２、列車情報格納部１０３、運行情報格納部１０４、停止状態情報生成部１０５、走行状態情報生成部１０６、走行演算情報生成部１０７、インデックス情報蓄積部１０８を備える。
【００２８】
線路位置情報格納部１０１は、１または２以上の線路位置情報を格納する。線路位置情報は、線路の位置を規定する情報である。線路位置情報は、例えば、点情報とベジエ曲線情報とを有する。点情報は、線路上の点を示す情報であり、当該点を示す経度と緯度とを有する情報である。ベジエ曲線情報は、線路を構成するベジエ曲線を示す情報である。ベジエ曲線情報は、線路を構成するベジエ曲線を識別するベジエ識別子と当該ベジエ曲線の始点と終点と制御点とを有する。
【００２９】
線路位置情報は、例えば、矩形のブロックであるタイルに配置される線路上の点の位置を示す情報である。タイルは、線路だけを配置した路線図のタイルでもよいが、世界地図をブロックで表現したタイルである基準の地図タイルを１／（横２ｎ×縦２ｎ）（ｎ：２以上の整数）に分割し、各分割領域に含まれる線路が描かれた地図をブロックのサイズに拡大して表現した地図タイルを用いることは好適である。基準の地図タイルと基準の地図タイルを分割した分割領域を拡大した地図タイルとを含む地図タイルとして、例えば、Ｇｏｏｇｌｅ（登録商標）  Ｍａｐｓのオンライン地図などの地図タイルを用いることができる。
【００３０】
Ｇｏｏｇｌｅ（登録商標）  Ｍａｐｓのオンライン地図は、メルカトル投影法で投影した地球地図全体の地図から極域の一部を除外して正方形のタイル形状にした全体地図と、その地図を（横２ｎ×縦２ｎ）（ｎ：１以上の整数）個に分割した分割地図の集合である。全体地図を表示倍率「１」の地図とすると、各分割地図は、全体地図と同一のサイズに拡大した表示倍率「２ｎ×２ｎ」の地図である。ｎは、ズームレベルを示す値である。ズームレベル０の地図は、表示倍率が１倍の全体地図である。また、例えば、ズームレベル１の地図は、全体地図を４分割し、各分割領域の地図を４倍に拡大した分割地図である。地図タイル形式で作成された地図画像は、例えば、ビットマップデータでもよく、ベクターデータでもよい。地図画像のデータ構造は問わない。
【００３１】
線路位置情報は、例えば、タイル内の線路を示す点の集合でもよく、タイル上に定義された座標系において線路の位置と形状を示す関数を定義し、その関数を用いて線路上の位置を示す情報であってもよい。タイルに配置される線路は、通常、曲線であるので、タイルに配置される線路を示す関数を定義する場合、例えば、１つの三次ベジエ曲線、又は連結した２以上の三次ベジエ曲線を用いて定義することは好適である。なお、ベジエ曲線は、三次以上の次数を有するＮ次ベジエ曲線を用いてもよい。
【００３２】
ここで、三次ベジエ曲線を用いてタイルに配置される線路を示す関数を定義し、その関数を用いて線路上の位置を示す情報を生成する方法について簡単に説明する。
【００３３】
三次ベジエ曲線は、図２に示されるように、始点Ｇｓ、終点Ｇｅ、制御点Ｇｃ１、制御点Ｇｃ２の４つの制御点によって形状が決定される曲線である。タイルに配置される線路を、例えば、２以上の三次ベジエ曲線を連結した曲線で定義する場合、各三次ベジエ曲線のタイル上の配置位置は、各三次ベジエ曲線の始点Ｇｓと終点Ｇｅをタイルの線路上に配置し、始点Ｇｓから終点Ｇｅまでの曲線の形状が線路の形状と一致するように制御点Ｇｃ１と制御点Ｇｃ２をタイル上に配置して、始点Ｇｓ、終点Ｇｅ、制御点Ｇｃ１、制御点Ｇｃ２のタイル上の位置を特定することにより定義される。例えば、タイルに地図上の位置が緯度と経度を用いた座標系（例えば、世界測地系の座標）で定義される地図タイルを用いた場合、線路に沿って配置される三次ベジエ曲線の地図上の位置は、そのベジエ曲線の始点Ｇｓ、終点Ｇｅ、制御点Ｇｃ１、制御点Ｇｃ２の緯度と経度を特定することにより定義される。
【００３４】
タイルに２以上の線路が配置され、各線路が２以上の三次ベジエ曲線の連結で定義される場合は、タイル上に設定される三次ベジエ曲線の始点、終点及び制御点の数が膨大になる。タイル上に設定される制御点の数を低減するために、図２に示すように、三次ベジエ曲線Ｂの制御点Ｇｃ１を始点Ｇｓに対する方向角θｓと距離δｓで定義し、三次ベジエ曲線の制御点Ｇｃ2を終点Ｇｅに対する方向角θｅと距離δｅで定義するとよい。
【００３５】
タイルに配置された線路上の任意の位置を当該線路に定義した三次ベジエ曲線を用いて特定するには、線路上の位置を三次ベジエ曲線上の位置に変換する必要がある。三次ベジエ曲線は、媒介変数ｕ（ｕ?［０，１））を用いて、三次多項式ｘ(u)＝ａ０＋ａ１・ｕ＋ａ２・ｕ２＋ａ３・ｕ３と三次多項式ｙ(u)＝ｂ０＋ｂ１・ｕ＋ｂ２・ｕ２＋ｂ３・ｕ３とによって表される。そして、三次ベジエ曲線上の媒介変数ｕに対応する位置Ｂ(u)は、始点Ｇｓから位置Ｂ(u)までの曲線の距離ｄ(u)によって決定することができる。一方、例えば、列車が走行する線路上の始発駅、停車駅、通過点、終着駅などの位置は、基準位置（例えば、始発駅）からの線路上の距離（列車の走行距離）で表される。従って、実際の線路上の位置は、その位置の基準位置からの距離Ｄを用いてその距離Ｄに対応する媒介変数ｕと上記の三次多項式ｘ(u)，ｙ(u)を用いて三次ベジエ曲線上の位置に変換される。
【００３６】
線路位置情報が、線路を示す１または２以上の三次ベジエ曲線を定義し、それらの三次ベジエ曲線を用いて線路上の位置を示す情報の場合、線路位置情報格納部１０１には、線路を示す１または２以上の三次ベジエ曲線のタイル上の位置を特定する情報（各三次ベジエ曲線の始点Ｇｓ、終点Ｇｅ、制御点ＧＣ１の始点Ｇｓから方向角θｓと距離δｓ、制御点ＧＣ２の終点Ｇｅから方向角θｅと距離δｅ）と、各三次ベジエ曲線を識別するベジエ識別子とが格納される。
【００３７】
従って、この場合の線路位置情報は、点情報とベジエ曲線情報とを有する。ベジエ曲線情報に含まれるベジエ識別子は、タイルに設定された１以上のベジエ曲線を識別するための情報であり、例えば、識別番号や識別記号などである。また、ベジエ曲線情報は、上述したタイル上のベジエ曲線の位置を特定する情報である。
【００３８】
線路停止位置情報格納部１０２は、１または２以上の線路停止位置情報を格納する。線路停止位置情報は、線路上の位置であり、列車が停車し得る位置を示す情報である。線路停止位置情報は、例えば、列車が運行計画に基づいて始発駅から終着駅まで走行するとき、線路上の始発駅と終着駅との間で列車が停止する位置を示す情報である。列車の運行計画とは、始発駅から終着駅まで途中の駅を一時停止させながら列車を運行する場合の各駅の着時刻、発時刻、通過点の通過時刻（場合によって通過速度を含む）などを計画したものである。なお、列車の運行計画は、例えば、鉄道会社の提供により取得することができる。
【００３９】
停止する位置には停車駅と停車駅以外の位置（例えば、特急の通過を待つための待機位置など）が含まれる。なお、列車の種別が各駅停車（各停）の場合は、始発駅と終着駅の間にある全ての駅が停車駅となるので、各停の列車に対する線路停止位置情報には、各駅に設定された停止位置の情報が含まれる。一方、快速や特急などの場合は、始発駅と終着駅の間にある駅の一部は停車しない駅（通過駅）となるが、快速や特急などの列車に対する路線停止位置情報には、通過駅に設けられた停止位置の情報が通過位置の情報として含まれる。
【００４０】
例えば、タイルが地図タイルで、地図タイル上の線路が２以上のベジエ曲線の連結で定義されている場合、線路停止位置情報は、停止位置が存在するベジエ曲線を識別するベジエ識別子とそのベジエ識別子で識別されるベジエ曲線上の停止位置を示す曲線上位置情報とを有する。ベジエ曲線上の停止位置を示す曲線上位置情報とは、例えば、線路上の停止位置をベジエ曲線上の位置に変換するための情報である。
【００４１】
例えば、ベジエ識別子ｎのベジエ曲線を「Ｂｎ」とし、ベジエ曲線Ｂｎ上にある停止位置を「Ｏｊ」（ｊは、停止位置を識別する識別番号又は識別記号）とし、停止位置Ｏｊがベジエ曲線Ｂｎの始点Ｇｎｓから距離ｄ(uj)の位置にあるとする。この場合の線路停止位置情報は、停止位置Ｏｊを識別する停止位置識別子と、停止位置Ｏｊが存在するベジエ曲線を識別するベジエ識別子と、ベジエ曲線上の停止位置Ｏｊを特定する媒介変数ｕｊの情報を有する。
【００４２】
列車情報格納部１０３は、１または２以上の列車情報を格納する。列車情報は、列車を識別する列車識別子と列車のサイズに関する情報とを含む。列車識別子は、列車毎に作成される運行計画の列車を識別するための情報である。列車識別子は、編成を識別する情報でも良い。列車識別子は、通常、運行計画に定められた列車番号であるが、識別情報の種類は問わない。列車のサイズに関する情報は、列車の編成を示す編成情報と列車の長さと列車の幅と内車軸間距離と外車軸間距離とを有する。
【００４３】
編成情報は、例えば、車輌数の情報である。編成情報は、例えば、運行する列車に編成される車輌の種類と車輌数等を有する情報である。車輌数には１台の場合も含む。列車の長さと幅は、１台又は２台以上の車輌を連結して編成した列車を上面から見た帯形状における長手方向の長さと短手方向の長さである。例えば、３輛編成の列車の場合、列車の長さは、各車輌の長手方向の長さと車輌連結部の間隔を合計した長さである。
【００４４】
また、内車軸間距離は、列車の各車輌に設けられた台車間の距離である。１台の車輌には、通常、２台以上の台車が設けられているが、内車軸間距離は、車輌の先端側に設けられた台車と後端側に設けられた台車の間の距離である。また、外車軸間距離は、車輌の連結部における台車間の距離で、前側の車輌の後端側の台車と後側の車輌の先端側の台車の間の距離である。
【００４５】
運行情報格納部１０４は、１または２以上の運行情報を格納する。運行情報は、列車識別子を含み、列車識別子で識別される列車の運行に関する情報である。運行情報に含まれる列車識別子は、他の情報、例えば、列車情報と共用されていても良いことは言うまでもない。運行情報は、停止列車情報または走行列車情報である。停止列車情報は、列車の停止に関する情報である。停止列車情報は、例えば、列車識別子と、当該列車の先頭車輌の位置を示す先頭位置情報と、列車が存在する１以上のベジエ識別子と、停止開始時刻と、停止終了時刻とを有する。走行列車情報は、列車の移動に関する情報である。走行列車情報は、例えば、列車識別子と、当該列車が存在する１以上のベジエ識別子と、移動開始時刻と、移動終了時刻と、移動開始時のベジエ曲線上における位置を示す移動開始曲線上位置情報と、移動終了時のベジエ曲線上における位置を示す移動終了曲線上位置情報と、通過点の位置を示す通過点位置情報と通過時刻とを有する通過情報とを有する。
【００４６】
停止開示時刻と停止終了時刻の組は、停止開始時刻と停止時間の組でも良い。また、移動開示時刻と移動終了時刻の組は、移動開始時刻と移動時間の組でも良い。
【００４７】
停止列車情報は、列車が停止している状態を識別する停止識別子と、列車が停止している位置が存在するベジエ曲線のベジエ識別子と、停止開始時刻及び停止終了時刻と、列車の先頭車輌の位置を示す先頭位置情報とを対応付けた情報でも良い。
【００４８】
停止識別子は、列車の運行において、例えば、列車が始発駅から終着駅の間の１以上の停車駅で一時停車する場合、各停車駅における停止状態を示す情報（例えば、停止開始時刻と停止終了時刻の組の情報）を識別する識別子である。停止識別子は、例えば、識別番号や識別記号などであるが、識別子の種類は問わない。
【００４９】
列車が停止している位置が存在するベジエ曲線は、列車が走行する線路を示す２以上のベジエ曲線のうち、列車が停止している線路上の位置に対応するベジエ曲線上の位置が存在するベジエ曲線である。例えば、列車が走行する線路が３個のベジエ曲線を連結して表現されており、列車の停止している線路上の位置に対応するベジエ曲線上の位置が３番目のベジエ曲線に存在する場合、列車が停止している位置が存在するベジエ曲線のベジエ識別子は、３番目のベジエ曲線のベジエ識別子となる。
【００５０】
停止開始時刻は、列車が停車状態を開始する時刻で、通常、列車が停止位置に停止する時刻である。また、停止終了時刻は、列車が停車状態を終了する時刻で、通常、列車が停止位置から移動を開始する時刻である。先頭位置情報は、例えば、列車の先頭車輌の前側に設けられた台車（先頭台車）のベジエ曲線上の位置を示す情報である。先頭位置情報は、列車の位置を代表する位置情報である。先頭位置情報は、通常、列車の先頭台車の線路上の位置で定義されている。なお、停止列車情報は、先頭位置情報に代えて、列車の最後の車輌の最後尾の位置を示す最後尾位置情報を有しても良い。先頭位置情報や最後尾位置情報は、例えば、三次ベジエ曲線を用いて特定される線路上の位置を示す情報である。
【００５１】
また、走行列車情報は、例えば、列車が移動している状態を識別する移動識別子と、列車が移動している位置が存在するベジエ曲線のベジエ識別子と、移動開始時刻及び移動終了時刻と、移動開始時のベジエ曲線上における列車の位置を示す移動開始曲線上位置情報と、移動終了時のベジエ曲線上における列車の位置を示す移動終了曲線上位置情報と、ベジエ曲線上における列車の通過点の位置を示す情報（以下、「通過点位置情報」という。）と通過時刻とを有する通過情報とを有する情報でもよい。
【００５２】
移動識別子は、列車の運行において、例えば、列車が始発駅から終着駅の間の１以上の停車駅で一時停車する場合、停車駅間の移動状態を示す情報（例えば、移動開始時刻と移動終了時刻の組の情報）を識別する識別子である。移動識別子は、例えば、識別番号や識別記号などであるが、識別子の種類は問わない。
【００５３】
列車が移動している位置が存在するベジエ曲線とは、列車が走行する線路を示す２以上のベジエ曲線のうち、列車が移動している線路上の区間に対応するベジエ曲線上の区間が存在するベジエ曲線である。例えば、列車が走行する線路が５個のベジエ曲線を連結して表現されており、列車の走行している線路上の区間に対応するベジエ曲線上の区間が２番目と３番目のベジエ曲線に存在する場合、列車が移動している位置が存在するベジエ曲線のベジエ識別子は２番目のベジエ曲線のベジエ識別子と３番目のベジエ曲線のベジエ識別子となる。
【００５４】
移動開始時刻は、列車が移動状態を開始する時刻で、通常、列車が停止位置から移動を開始する時刻である。また、移動終了時刻は、列車が移動状態を終了する時刻で、通常、列車が停止位置に停止する時刻である。
【００５５】
移動開始曲線上位置情報とは、列車が走行する線路を示す２以上のベジエ曲線のうち、列車が移動開始時に存在している線路上の位置に対応するベジエ曲線上の位置を示す情報である。例えば、列車が走行する線路が５個のベジエ曲線を連結して表現されており、移動開始時に列車が存在している線路上の位置に対応するベジエ曲線上の位置が２番目のベジエ曲線に存在する場合、移動開始曲線上位置情報は、２番目のベジエ曲線上の移動開始時の列車の位置（停止終了位置）の情報である。なお、２番目のベジエ曲線上の移動開始時の列車の位置の情報は、２番目のベジエ曲線の基準位置（例えば、始点Ｇｓ）からの距離ｄ(u)によって定義される位置情報である。
【００５６】
移動終了曲線上情報とは、列車が走行する線路を示す２以上のベジエ曲線のうち、列車が移動終了時に存在している線路上の位置に対応するベジエ曲線上の位置を示す情報である。例えば、列車が走行する線路が５個のベジエ曲線を連結して表現されており、移動終了時に列車が存在している線路上の位置に対応するベジエ曲線上の位置が３番目のベジエ曲線に存在する場合、移動終了曲線上情報は、３番目のベジエ曲線上の移動終了時の列車の位置（停止開始位置）の情報である。なお、３番目のベジエ曲線上の移動終了時の列車の位置の情報は、３番目のベジエ曲線の基準位置（例えば、始点Ｇｓ）からの距離ｄ(u)によって定義される位置情報である。
【００５７】
通過点位置情報とは、列車が走行する線路を示す２以上のベジエ曲線のうち、列車が通過する線路上の位置に対応するベジエ曲線上の位置を示す情報である。例えば、列車が走行する線路が５個のベジエ曲線を連結して表現されており、列車が通過する位置に対応するベジエ曲線上の位置が２番目のベジエ曲線に含まれている場合、通過点位置情報は、２番目のベジエ曲線上の列車の通過点の情報である。なお、２番目のベジエ曲線上の列車の通過点の情報は、２番目のベジエ曲線の基準位置（例えば、始点Ｇｓ）からの距離ｄ(u)によって定義される位置情報である。
【００５８】
線路位置情報格納部１０１、線路停止位置情報格納部１０２、列車情報格納部１０３、運行情報格納部１０４は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でもよい。線路位置情報格納部１０１などに所定の情報が格納される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介して線路位置情報格納部１０１などに格納されてもよい。
【００５９】
停止状態情報生成部１０５は、線路位置情報格納部１０１に格納された１以上の線路位置情報と、線路停止位置情報格納部１０２に格納された１以上の線路停止位置情報と、列車情報格納部１０３に格納された１以上の列車情報と、運行情報格納部１０４に格納された１以上の運行情報とを用いて、１または２以上の停止状態情報を生成する。停止状態情報は、列車が停止している状態を示す情報である。例えば、列車が走行する線路が複数のタイルに跨っており、列車が停止する駅又は停止位置が複数のタイルに存在する場合、列車が駅又は停止位置で停止している状態は複数のタイルで生じる。停止状態情報は、運行中に列車が各停車駅又は各停車位置で停車している状態を示す情報である。従って、停止状態情報は、タイル識別子と、当該タイル識別子で識別されるタイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する。
【００６０】
停止状態情報生成部１０５は、運行情報格納部１０４に格納された運行情報から停止列車情報を取得する。次に、停止状態情報生成部１０５は、停止列車情報が有する列車識別子毎に、各列車識別子に対応付けられた１または２以上の停止位置が存在するベジエ曲線のベジエ識別子を線路停止位置情報格納部１０２から取得する。次に、停止状態情報生成部１０５は、線路位置情報格納部１０１に格納された線路位置情報のベジエ曲線情報を用いて、取得した２以上のベジエ識別子のベジエ曲線が存在する１または２以上のタイル識別子を取得する。そして、停止状態情報生成部１０５は、取得した２以上のタイル識別子のタイルに跨って存在するベジエ曲線について、当該ベジエ曲線上のタイル境界の位置に対応する位置を算出する。
【００６１】
停止状態情報生成部１０５は、ベジエ曲線を表す三次多項式ｘ(u)＝ａ０＋ａ１・ｕ＋ａ２・ｕ２＋ａ３・ｕ３、ｙ(u)＝ｂ０＋ｂ１・ｕ＋ｂ２・ｕ２＋ｂ３・ｕ３と地図上のタイル境界の位置を用いて、ベジエ曲線上のタイル境界の位置を示す媒介変数ｕを算出する。例えば、タイル境界の位置がｘ軸方向の座標Ｘｒとすると、停止状態情報生成部１０５は、ａ０＋ａ１・ｕ＋ａ２・ｕ２＋ａ３・ｕ３＝Ｘｒ、０≦ｕ≦１の条件式を解くことにより、ベジエ曲線上のタイル境界の位置を示す媒介変数ｕｒを算出する。
【００６２】
次に、停止状態情報生成部１０５は、列車停止情報から停止識別子に対応付けられた列車の先頭位置情報とベジエ識別子を取得する。列車の先頭位置情報は、停止識別子に対応する列車の停止動作における線路上の停止位置（列車の先頭位置を停車させる位置）の情報であり、ベジエ識別子は、その線路上の停止位置に対応する位置が存在するベジエ曲線の識別子である。従って、停止状態情報生成部１０５は、停止識別子毎に、列車の先頭位置の停止位置が存在するベジエ曲線の情報を取得する。
【００６３】
次に、停止状態情報生成部１０５は、列車情報格納部１０３から停止列車情報が有する列車識別子に対応付けられた列車のサイズに関する情報を取得し、停止識別子毎に、ベジエ曲線上の列車の各車輌が停止している位置を算出する。具体的には、停止状態情報生成部１０５は、ベジエ曲線上の列車の停止位置から内車軸間距離だけ離れた位置に相当するベジエ曲線上の位置を算出することにより、先頭車輌の後側の台車の停止位置を算出する。さらに、その停止位置から外車軸間距離だけ離れた位置に相当するベジエ曲線上の位置を算出することにより、２輌目の前側の台車の停止位置を算出する。以下、同様にして、２輌目の後側の台車の停止位置、３輌目の前側の台車の停止位置、３輌目の後側の台車の停止位置などを算出する。
【００６４】
そして、停止状態情報生成部１０５は、列車の最後尾の車輛の後側の台車（列車の最後尾位置）の停止位置とベジエ曲線上のタイル境界の位置を比較して、列車の最後尾位置がタイル境界の位置を超えているか否かを判別する。停止状態情報生成部１０５は、列車の最後尾位置がタイル境界の位置を超えていなければ、列車は当該列車の先頭位置が停止する停止位置が存在するタイルに停止していると判別し、列車の最後尾位置がタイル境界の位置を超えていれば、列車は当該列車の先頭位置が停止する停止位置が存在するタイルとそのタイルに隣接するタイルに跨って停止していると判別する。
【００６５】
停止状態情報生成部１０５は、停止識別子毎に、列車が停止しているときに当該列車が存在するタイル識別子の情報を取得し、停止識別子、列車が停止しているときに存在するタイルのタイル識別子、列車が停止を開始する停止開始時刻および列車が開始を終了する停止終了時刻を対応付けたリストを停止状態情報として作成する。
【００６６】
走行状態情報生成部１０６は、線路位置情報格納部１０１に格納された１以上の線路位置情報と、列車情報格納部１０３に格納された１以上の列車情報と、運行情報格納部１０４に格納された１以上の運行情報とを用いて、１または２以上の走行状態情報を生成する。走行状態情報は、列車が走行している状態を示す情報である。走行状態情報は、列車が走行しているタイルを識別するタイル識別子と、当該タイル識別子で識別されるタイル上の線路を走行している列車の列車識別子と、列車がタイル上に存在する時間帯を示す存在時間帯情報とを有する。
【００６７】
走行状態情報生成部１０６は、運行情報格納部１０４に格納された運行情報から走行列車情報を取得する。次に、走行状態情報生成部１０６は、取得した走行列車情報が有する移動識別子毎に各移動識別子に対応付けられた１または２以上のベジエ識別子を取得する。次に、走行状態情報生成部１０６は、例えば、後述する走行演算情報生成部１０７が移動識別子毎に生成する移動関数Δ(t)を用いて、走行中に列車が存在するタイルの存在時間（タイルへの進入時刻からタイルからの退出時刻の時間）を算出する。
【００６８】
列車の運行計画では、通常、列車が停車する停車駅の位置と停車駅における着時刻と発時刻が計画されるだけで、停車駅間の走行区間においては、走行位置と走行時刻が決められていない。移動関数Δ(t)は、列車の運行計画の情報を用いて、停車駅間の走行区間における列車の位置を走行時刻から算出するための関数である。移動関数Δ(t)の詳細については、後述する。
【００６９】
走行状態情報生成部１０６は、線路位置情報格納部１０１に格納された線路位置情報のベジエ曲線情報を用いて、移動識別子に対応付けられた１または２以上のベジエ識別子のベジエ曲線が存在する１または２以上のタイル識別子を取得する。そして、停止状態情報生成部１０５は、取得した１または２以上のタイル識別子のタイルのタイル境界の位置を算出する。
【００７０】
次に、走行状態情報生成部１０６は、移動識別子に対応付けられた１または２以上のタイル識別子のタイルについて、移動識別子に対して算出された移動関数Δ(t)を用いて、各タイルに列車の先頭位置が進入する時刻を算出する。例えば、移動関数Δ(t)がΔ(t)＝Ａ＋Ｂ・ｔ＋Ｃ・ｔ２＋Ｄ・ｔ３で表され、列車の先頭位置がタイルに進入するタイル境界の位置をｘ軸方向の座標Ｘｒ１とすると、走行状態情報生成部１０６は、Ａ＋Ｂ・ｔ＋Ｃ・ｔ２＋Ｄ・ｔ３＝Ｘｒ１、ｔｓ≦ｔ≦ｔｅ（ｔｓ：移動開始時刻、ｔｓ：移動終了時刻）の条件式を解くことにより、列車がタイルに進入する時刻Ｔｓを算出する。
【００７１】
次に、走行状態情報生成部１０６は、移動関数Δ(t)を用いて、列車の最後尾位置がタイルから退出する時刻を算出する。例えば、列車の最後尾位置がタイルから退出するタイル境界の位置をｘ軸方向の座標Ｘｒ２とし、列車の先頭位置から最後尾位置までの距離をΔｄとする。走行状態情報生成部１０６は、Ａ＋Ｂ・ｔ＋Ｃ・ｔ２＋Ｄ・ｔ３＝Ｘｒ２＋Δｄ、ｔｓ≦ｔ≦ｔｅ（ｔｓ：移動開始時刻、ｔｓ：移動終了時刻）の条件式を解くことにより、列車の最後尾位置がタイルから退出する時刻Ｔｅを算出する。走行状態情報生成部１０６は、同様の方法で、他のタイルについても列車の先頭位置が進入する時刻と列車の最後尾位置がタイルから退出する時刻を算出する。
【００７２】
走行状態情報生成部１０６は、移動識別子毎に、列車が走行しているときに当該列車が存在するタイル識別子の情報を取得し、移動識別子、列車が走行しているときに存在するタイルのタイル識別子、列車が移動を開始する移動開始時刻および列車が移動を終了する移動終了時刻を対応付けたリストを走行状態情報として作成する。
【００７３】
走行演算情報生成部１０７は、線路位置情報格納部１０１に格納された１または２以上の線路位置情報と運行情報格納部１０４に格納された１または２以上の運行情報とを用いて、１または２以上の走行演算情報を生成する。走行演算情報は、タイル内での列車の動きを特定する演算式である走行演算式とその走行演算式で示される動きを行う時間帯を示す走行時間帯情報とを有する。走行演算式は、タイルに配置された線路上を移動する列車（画像）の移動位置を求める演算式である。タイル内の線路上の列車（画像）の移動は、その列車の運行計画に応じた移動であるので、走行演算情報生成部１０７は、列車の運行計画を満たすように走行演算式を生成する。
【００７４】
列車の運行計画は、列車が始発駅、終着駅、始発駅と終着駅の間にある停車駅や通過位置を走行する時刻を計画したものであり、隣接する駅同士の間の走行位置については定義されていない。走行演算情報生成部１０７は、離散的な複数の制御点の間を滑らかな曲線で補間する補間式と列車の運行計画で規定された停車駅の位置と発車時刻又は通過時刻、通過位置と通過時刻などの条件を用いて、列車の走行時間帯における走行演算式を生成する。走行演算情報生成部１０７は、例えば、Ｂ−Ｓｐｌｉｎｅ補間（以下、「スプライン補間」という。）の補間式を用いて、列車の運行計画毎に、列車の走行時間帯における線路上の走行位置を特定し得る走行演算式を生成する。
【００７５】
走行演算情報生成部１０７は、運行情報格納部１０４に格納された運行情報から走行列車情報を取得する。次に、走行状態情報生成部１０６は、取得した走行列車情報が有する列車識別子に対応付けられた１または２以上の移動に関する情報（移動開始位置、移動開始時刻、移動終了位置、移動終了時刻、速度などの情報）を取得する。そして、走行状態情報生成部１０６は、移動識別子毎に、各移動識別子に対応付けられた移動に関する情報と、例えば、三次のスプライン補間式とを用いて、走行演算式を生成する。走行演算式は、上述した移動関数Δ(t)に相当する。
【００７６】
例えば、移動関数Δ(t)をΔ(t)＝Ａ＋Ｂ・ｔ＋Ｃ・ｔ２＋Ｄ・ｔ３で表し、移動識別子に対応付けられた移動に関する情報を駅Ｓ０から駅Ｓ１まで列車が走行するときの情報（駅Ｓ０の位置ｄ０、駅Ｓ０の発時刻ｔ０、出発時の速度ｖ０＝０、駅Ｓ１の位置ｄ１、駅Ｓ１の着時刻ｔ１、到着時の速度ｖ１＝０）する。走行演算情報生成部１０７は、Δ(t０)＝ｄ０、Δ(t１)＝ｄ１、ｖ０＝ｄ（Δ(t０)）／ｄｔ＝０、ｖ１＝ｄ（Δ(t１)）／ｄｔ＝０の条件式を解くことにより、移動関数Δ(t)の係数（Ａ，Ｂ，Ｃ，Ｄ）を算出する。
【００７７】
走行演算情報生成部１０７は、同様の方法で、他の移動識別子に対応付けられた走行区間に対する移動関数Δ(t)を算出し、移動識別子毎に、移動関数Δ(t)と列車の走行時間帯（走行開始時刻と走行終了時刻）の情報を有する走行演算情報を生成する。
【００７８】
インデックス情報蓄積部１０８は、停止状態情報生成部１０５が生成した１または２以上の停止状態情報と、走行状態情報生成部１０６が生成した１または２以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積する。インデックス情報は、時間帯とタイルとが指定された場合に、その時間帯に運行している列車のうちそのタイル内に存在している列車の運行状態を表示する処理するに当たり、先にその時間帯にそのタイルに存在している列車のみを検索するための情報である。インデックス情報蓄積部１０８は、走行演算情報生成部１０７が生成した、走行演算式と走行時間帯情報を有する１以上の走行演算情報をもインデックス情報として記録媒体に蓄積する。
【００７９】
停止状態情報生成部１０５、走行状態情報生成部１０６、走行演算情報生成部１０７、インデックス情報蓄積部１０８は、通常、ＭＰＵやメモリ等で実現することができる。停止状態情報生成部１０５などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。停止状態情報生成部１０５などは、ハードウェア（専用回路）で実現されてもよい。
【００８０】
次に、インデックス情報生成装置１の動作について、図３のフローチャートを用いて説明する。以下の説明では、線路位置情報格納部１０１に、線路を示す１または２以上の三次ベジエ曲線のタイル上の位置を特定する情報が格納されている場合について説明する。
【００８１】
（ステップＳ１０１）停止状態情報生成部１０５は、運行情報格納部１０４から停止ＩＤを取得する。
【００８２】
（ステップＳ１０２）停止状態情報生成部１０５は、運行情報格納部１０４から停止識ＩＤに対応付けられた列車の停止に関する停止列車情報を取得する。
【００８３】
（ステップＳ１０３）停止状態情報生成部１０５は、停止列車情報が有する列車ＩＤに対応付けられた1または２以上の停止位置が存在するベジエ曲線のベジエＩＤを線路停止位置情報格納部１０２から取得する。
【００８４】
（ステップＳ１０４）停止状態情報生成部１０５は、線路位置情報格納部１０１に格納された線路位置情報のベジエ曲線情報を用いて、取得した２以上のベジエ識別子のベジエ曲線が存在する１または２以上のタイルＩＤを取得する。
【００８５】
（ステップＳ１０５）停止状態情報生成部１０５は、取得した２以上のタイルＩＤのタイルに跨って存在するベジエ曲線について、当該ベジエ曲線上のタイル境界の位置に対応する位置を算出する。
【００８６】
（ステップＳ１０６）停止状態情報生成部１０５は、列車停止情報から停止ＩＤに対応付けられた列車の先頭位置の停止位置が存在するベジエ曲線のベジエＩＤを取得する。
【００８７】
（ステップＳ１０７）停止状態情報生成部１０５は、列車情報格納部１０３から停止列車情報が有する列車ＩＤに対応付けられた列車情報を取得し、停止ＩＤ毎に、ベジエ曲線上の列車の各車輌が停止している位置を算出する。具体的には、停止状態情報生成部１０５は、ベジエ曲線上の列車の停止位置から列車の先頭の台車に対する他の台車の相対的な距離（内車軸間距離と外車軸間距離により算出される相対的な距離）だけ離れた位置に相当するベジエ曲線上の位置を算出することにより、列車の先頭台車以外の台車の停止位置を算出する。
【００８８】
（ステップＳ１０８）停止状態情報生成部１０５は、列車の最後尾位置の停止位置とベジエ曲線上のタイル境界の位置を比較して、列車が停止しているときに当該列車が存在するタイルを算出する。
【００８９】
例えば、列車が２枚のタイルに跨って停止している場合、列車の先頭位置は、一方のタイルに存在し、列車の最後尾位置は、他方のタイルに存在することになる。停止状態情報生成部１０５は、列車の先頭位置が存在するタイル内の線路上の位置から当該線路上のタイルの境界位置までの距離を算出し、その距離が列車の先頭位置と最後尾位置の間の距離よりも長い場合、列車の最後尾位置は、一方のタイルに存在すると判断し、その距離が列車の先頭位置と最後尾位置の間の距離よりも短い場合、列車の最後尾位置は、他方のタイルに存在すると判断して、列車の最後尾位置の存在するタイルを算出する。
【００９０】
（ステップＳ１０９）停止状態情報生成部１０５は、停止ＩＤ毎に、列車が停止しているときに当該列車が存在するタイルＩＤの情報を取得し、停止ＩＤ、列車が停止しているときに存在するタイルのタイルＩＤ、列車が停止を開始する停止開始時刻および列車が開始を終了する停止終了時刻を対応付けたリストを停止状態情報として作成する。
【００９１】
（ステップＳ１１０）停止状態情報生成部１０５は、全ての停止ＩＤについて停止状態情報を作成したか否か判断する。全ての停止ＩＤについて停止状態情報を作成していなければ（Ｓ１１０：Ｎ）、ステップＳ１０１に戻り、次の停止ＩＤについて停止状態情報を作成し、全ての停止識別子について停止状態情報を作成していれば（Ｓ１１０：Ｙ）、ステップＳ１１１に進む。
【００９２】
（ステップＳ１１１）走行状態情報生成部１０６は、運行情報格納部１０４から移動ＩＤを取得する。
【００９３】
（ステップＳ１１２）走行状態情報生成部１０６は、運行情報格納部１０４から移動ＩＤに対応付けられた列車の走行に関する走行列車情報を取得する。
【００９４】
（ステップＳ１１３）走行状態情報生成部１０６は、取得した走行列車情報が有する移動ＩＤ毎に各移動ＩＤに対応付けられた１または２以上のベジエＩＤを取得する。
【００９５】
（ステップＳ１１４）走行状態情報生成部１０６は、走行列車情報が有する列車ＩＤに対応付けられた１または２以上の移動に関する情報を取得し、移動ＩＤ毎に、各移動識別子に対応付けられた移動に関する情報と、例えば、三次のスプライン補間式とを用いて、走行演算式である移動関数Δ(t)を生成する。
【００９６】
（ステップＳ１１５）走行状態情報生成部１０６は、線路位置情報格納部１０１に格納された線路位置情報のベジエ曲線情報を用いて、移動ＩＤに対応付けられた１または２以上のベジエＩＤのベジエ曲線が存在する１または２以上のタイルＩＤを取得する。そして、停止状態情報生成部１０５は、取得した１または２以上のタイルＩＤのタイルのタイル境界の位置を算出する。
【００９７】
（ステップＳ１１６）走行状態情報生成部１０６は、移動ＩＤに対応付けられた１または２以上のタイルＩＤのタイルについて、移動ＩＤに対して算出された移動関数Δ(t)を用いて、各タイルに列車の先頭位置が進入する時刻を算出する。
【００９８】
（ステップＳ１１７）走行状態情報生成部１０６は、移動関数Δ(t)と列車の先頭位置に対する最後尾位置の相対的な距離を用いて、列車の最後尾位置がタイルから退出する時刻を算出する。
【００９９】
（ステップＳ１１８）走行状態情報生成部１０６は、移動識別子毎に、列車が走行しているときに当該列車が存在するタイル識別子の情報を取得し、移動識別子、列車が走行しているときに存在するタイルのタイル識別子、列車が移動を開始する移動開始時刻および列車が移動を終了する移動終了時刻を対応付けたリストを走行状態情報として作成する。
【０１００】
（ステップＳ１１９）走行状態情報生成部１０６は、全ての移動識別子について走行状態情報を作成したか否か判断する。全ての移動識別子について走行状態情報を作成していなければ（Ｓ１１９：Ｎ）、ステップＳ１１１に戻り、次の移動識別子について走行状態情報を作成し、全ての移動識別子について走行状態情報を作成していれば（Ｓ１１９：Ｙ）、処理を終了する。
【０１０１】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１０２】
（具体例）
次に、インデックス情報生成装置１によるインデックス情報の生成処理の具体例について説明する。
【０１０３】
本具体例では、図５に示す４つの地図タイルを用いて、図４に示す時刻表で運行される列車の運行状態を表示する場合に使用するインデックス情報の生成処理について、説明する。
【０１０４】
まず、線路位置情報格納部１０１、線路停止位置情報格納部１０２及び運行情報格納部１０４に格納されている情報について説明する。
【０１０５】
図４は、図５に示す４つの地図タイルＭＴ１〜ＭＴ４に亘って配置されている複線の線路Ｒ１，Ｒ２のうち、一方の線路Ｒ１を駅Ｓ０から駅Ｓ４まで走行する２本の列車Ｆ０，Ｆ１の時刻表の一例である。列車Ｆ０は各駅停車であり、列車Ｆ１は快速である。
【０１０６】
列車Ｆ０の時刻表は、駅Ｓ０〜駅Ｓ４の各駅の着時刻と発時刻を示したものであり、列車Ｆ１の時刻表は、駅Ｓ０と駅Ｓ４の両駅について着時刻と発時刻を示したものであり、駅Ｓ１〜駅Ｓ３の各駅については通過時刻が示されている。
【０１０７】
図５に示す４つの地図タイルＭＴ１〜ＭＴ４は、所定のズームレベルの地図タイルである。駅Ｓ０と駅Ｓ１は地図タイルＭ１に存在し、駅Ｓ２と駅Ｓ３は地図タイルＭ３に存在し、駅Ｓ４は地図タイルＭＴ４に存在するが、地図タイルＭＴ２には駅は存在していない。図５において、線路Ｒ１は列車が左側から右側に走行する線路であり、線路Ｒ２は、列車が右側から左側に走行する線路である。駅Ｓ０〜駅Ｓ４の各駅には列車の停止位置ＳＴ１，ＳＴ２が設けられている。停止位置ＳＴ１は、線Ｒ１に設けられる停止位置であり、停止位置ＳＴ２は、路線Ｒ２に設けられる停止位置である。停止位置ＳＴ１，ＳＴ２は、列車が駅Ｓ０〜Ｓ４の駅で停車する場合、先頭車輌の前側の台車（先頭台車）を停止させる位置である。
【０１０８】
図５に示す駅Ｓ４には、路線Ｒ１と路線Ｒ２にそれぞれ分岐線が設けられ、複々線となっている。
【０１０９】
図６は、路線Ｒ１の駅Ｓ０から駅Ｓ４の区間に設定した２以上の三次ベジエ曲線を連結したベジエ曲線関数の一例を示す図である。
【０１１０】
図６に示すベジエ曲線関数の例は、路線Ｒ１の駅Ｓ０から駅Ｓ４の区間に１７個の連結点Ｇ０〜Ｇ１6を設け、隣り合う連結点Ｇｉ，Ｇｉ＋１（ｉは、連結点Ｇを区別するための番号。ｉ＝０，１，…１５）の間に当該区間の形状を示す三次ベジエ曲線Ｂｉ（ｉは、連結点Ｇｉ，Ｇｉ＋１の間に設定されている三次ベジエ曲線Ｂであることを示す番号。ｉ＝０，１，…１６。以下、単に「ベジエ曲線Ｂｉ」という。）を設定したものである。
【０１１１】
なお、ベジエ曲線Ｂ９，Ｂ１０，Ｂ１1は、駅Ｓ３の路線Ｒ１に設けられた各駅停車が停止するための線路に対応するので、それぞれ連結点Ｇ１１，Ｇ１２の間、連結点Ｇ１２，Ｇ１３の間、連結点Ｇ１３，Ｇ１４の間に設定されている。一方、ベジエ曲線Ｂ１６は、駅Ｓ３の路線Ｒ１に設けられた快速が通過するための線路に対応するので、連結点Ｇ９と連結点Ｇ１２の間に設定されている。
【０１１２】
１７個の連結点Ｇｉには、地図上の位置を特定するための座標が設定されている。地図上の位置の特定には、例えば、世界測地系の座標（緯度・経度の座標）が用いられている。１７個の連結点Ｇｉは（緯度Ｅｉ、経度Ｎｉ）によって地図上の位置が特定されている。
【０１１３】
連結点Ｇｉと連結点Ｇｉ＋１の間に設定されるベジエ曲線Ｂｉは、ベジエ曲線Ｂｉの始点Ｇｉｓ（添え字のｓは、始点であることを示す。以下、同じ。）と終点Ｇｉｅ（添え字のｅは、終点であることを示す。以下、同じ。）の地図上の位置をそれぞれ連結点Ｇｉと連結点Ｇｉ＋１に一致させ、ベジエ曲線Ｂｉの形状が連結点Ｇｉ，Ｇｉ＋１の区間の路線Ｒ１の形状と同一になるように、ベジエ曲線Ｂｉの制御点Ｇｊｃ１，Ｇｊｃ２の地図上の位置が設定されている。
【０１１４】
ベジエ曲線Ｂｉ−１とベジエ曲線Ｂｉを連結点Ｇｉで連結する場合、連結点Ｇｉにおけるベジエ曲線Ｂｉ−１とベジエ曲線Ｂｉの両接線の向きは一致していなければならない。連結点Ｇｉにおけるベジエ曲線Ｂｉ−１，Ｂｉの接線の向きは、路線Ｒ１の連結点Ｇｉにおける列車の進行方向に相当するものだからである。連結点Ｇｉにおけるベジエ曲線Ｂｉ−１とベジエ曲線Ｂｉの両接線の向きを合わせるために、連結点Ｇｉには、例えば、北方向を基準とした方向角ηｉが設定されている（図６の連結点Ｇ１，Ｇ2の方向角η１，η2を参照）。方向角ηｉは、路線Ｒ１の連結点Ｇｉにおける列車の進行方向を示す角度に相当する。ベジエ曲線Ｂｉの制御点Ｇｉｃ１，Ｇｉｃ２の地図上の位置は、ベジエ曲線Ｂｉの連結点Ｇｉにおける接線の方向が方向角ηｉと一致するように設定されている。
【０１１５】
なお、ベジエ曲線Ｂｉの制御点Ｇｉｃ１は座標ではなく、始点Ｇｉｓからの方向角θｉｓと距離δｉｓによって設定されている。ベジエ曲線Ｂｉの制御点Ｇｉｃ２も座標ではなく、終点Ｇｉｅからの方向角θｉｅと距離δｉｅによって設定されている。
【０１１６】
さらに、１６個のベジエ曲線Ｂｉのうち、駅Ｓ０〜駅Ｓ４の各駅に設けられた停止位置ＳＴ１を含む区間に対応しているベジエ曲線Ｂ０，Ｂ３，Ｂ６，Ｂ１０，Ｂ１５，Ｂ１６には、各ベジエ曲線Ｂｋ（ｋ＝０，３，６，１０，１５，１６）における停止位置Ｏｊ（ｊ＝０，１，…５）が設定されている。停止位置Ｏ０，Ｏ１，Ｏ２，Ｏ４は、それぞれ駅Ｓ０，Ｓ１，Ｓ２，Ｓ４の路線Ｒ１に設けられた停止位置ＳＴ１に対応する位置であり、停止位置Ｏ３は、駅Ｓ３の各駅停車が走行する路線Ｒ１に設けられた停止位置ＳＴ１に対応する位置であり、停止位置Ｏ５は、駅Ｓ３の快速停車が走行する路線Ｒ１に設けられた停止位置ＳＴ１（通過位置）に対応する位置である。
【０１１７】
駅Ｓ０〜駅Ｓ４の各駅に設けられた停止位置ＳＴ１は、路線Ｒ１に設定された基準位置からの距離Ｄによって路線Ｒ１上の位置が特定されている。媒介変数がｕのベジエ曲線上の位置Ｂ(u)と始点Ｇｓとの曲線の長さｄ(u)は、媒介変数ｕの演算式によって求めることができる。ベジエ曲線Ｂ０上の停止位置Ｏ０は、ベジエ曲線Ｂ０の始点Ｇ０ｓに対応する路線Ｒ１上の位置から駅Ｓ０の停止位置ＳＴ１までの線路の長さをＤ０とすると、Ｄ０＝ｄ(u)を満たす媒介変数ｕを求めることにより、停止位置Ｏ０のベジエ曲線Ｂ０上の位置が設定されている。他の停止位置Ｏ１〜Ｏ５についても同様である。
【０１１８】
図７は、線路位置情報格納部１０１に格納されている線路位置情報の一例を示す図である。
【０１１９】
線路位置情報格納部１０１には、路線Ｒ１に設定された連結点Ｇｉに関する情報と、連結点Ｇｉで連結されるベジエ曲線Ｂｉに関する情報が格納されている。
【０１２０】
連結点ＩＤは、地図タイルＭＴ１〜ＭＴ４の路線Ｒ１に設定された１７個の連結点Ｇ０〜Ｇ１６を識別する識別子である。図７では、連結点の符号Ｇｉを連結点ＩＤに記載している。緯度Ｅと経度Ｎは、各連結点Ｇｉの地図上の位置を示す座標の情報であり、方向角ηは、各連結点Ｇｉにおける路線Ｒ１の進行方向を示す角度の情報である。連結点Ｇｉの位置と方向角の内容は上述したので、説明を省略する。
【０１２１】
ベジエＩＤは、地図タイルＭＴ１〜ＭＴ４の路線Ｒ１に設定された１９個のベジエ曲線Ｂ０〜Ｂ１８を識別する識別子である。図７では、ベジエ曲線の符号ＢｉをベジエＩＤに記載している。始点Ｇｓと終点Ｇｅは、各ベジエ曲線の始点と終点の地図上の位置を示す座標の情報であり、方向角θｓと距離δｓは、始点Ｇｓに対する制御点Ｇｃ１の相対位置を示す位置情報であり、方向角θｅと距離δｅは、終点Ｇｅに対する制御点Ｇｃ２の相対位置を示す位置情報である。始点Ｇｓ、終点ｅ、制御点Ｇｃ１，Ｇｃ２の位置の内容は上述したので、説明を省略する。
【０１２２】
ところで、ベジエ曲線Ｂは、媒介変数ｕ（ｕ?［０，１））を用いて、三次多項式Ｅ(u)＝ａ０＋ａ１・ｕ＋ａ２・ｕ２＋ａ３・ｕ３と三次多項式Ｎ(u)＝ｂ０＋ｂ１・ｕ＋ｂ２・ｕ２＋ｂ３・ｕ３によって定義され、その形状は、三次多項式Ｅ(u)の係数ａ（ａ０，ａ１，ａ２，ａ３）と三次多項式Ｎ(u)の係数ｂ（ｂ０，ｂ１，ｂ２，ｂ３）によって決定される。ベジエ曲線Ｂｉの始点Ｇｉｓ，終点Ｇｉｅ，制御点Ｇｉｃ１，制御点Ｇｉｃ２の各座標をＧｉｓ（Ｅｉｓ，Ｎｉｓ）、Ｇｉｅ（Ｅｉｅ，Ｎｉｅ）、Ｇｉｃ１（Ｅｉｃ１，Ｎｉｃ１）、Ｇｉｃ２（Ｅｉｃ１，Ｎｉｃ１）とすると、係数ａｉ（ａｉ０，ａｉ１，ａｉ２，ａｉ３）は、
Ｅｉ(u)＝Ｅis・(1-u)３＋３Ｅic1・(1-u)２・u＋３Ｅic2・(1-u)・u２＋Ｅie・ｕ３
＝ａｉ０＋ａｉ１・ｕ＋ａｉ２・ｕ２＋ａｉ３・ｕ３
を解くことにより算出することができる。同様に、係数ｂｉ（ｂｉ０，ｂｉ１，ｂｉ２，ｂｉ３）は、
Ｎｉ(u)＝Ｎis・(1-u)３＋３Ｎic1・(1-u)２・u+３Ｎic2・(1-u)・u２+Ｎie・ｕ３
＝ｂｉ０＋ｂｉ１・ｕ＋ｂｉ２・ｕ２＋ｂｉ３・ｕ３
を解くことにより算出することができる。
【０１２３】
図７に示す線路位置情報に、ベジエＩＤに対応付けて三次多項式Ｅｉ(u)の係数ａｉ（ａｉ０，ａｉ１，ａｉ２，ａｉ３）と三次多項式Ｎｉ(u)の係数ｂｉ（ｂｉ０，ｂｉ１，ｂｉ２，ｂｉ３）を格納していてもよい。
【０１２４】
図８は、線路停止位置情報格納部１０２に格納されている線路停止位置情報の一例を示す図である。
【０１２５】
線路停止位置情報格納部１０２には、ベジエ曲線上の路線Ｒ１に設定された停止位置ＳＴ１に対応する停止位置Ｏｊに関する情報が格納されている。例えば、停止位置Ｏ０は、ベジエ曲線Ｂ０上の始点Ｇ０ｓから距離ｄ（ｕ０）の位置にあることを示している。他の停止位置Ｏ１〜Ｏ５についても同様である。
【０１２６】
図９は、列車情報格納部１０３に格納されている列車情報の一例を示す図である。
【０１２７】
列車情報は、車輌のサイズに関する情報と車輌の編成に関する情報とからなる。列車の運行では、１台の車輌だけで運行される場合もあるが、２台以上の車輌を一列に連結した車輌編成で運行されることが多い。車輌のサイズに関する情報は、列車の運行に使用する１台の車輌のサイズに関する情報である。車輌のサイズに関する情報は、車輌を識別する車輌識別子（車輌ＩＤ）、車輌のサイズ（車体長Ｌｃと車体幅Ｗｃ）、内車軸間距離ＬＢＧ１及び外車軸間距離ＬＢＧ２を有する。
【０１２８】
車体長Ｌｃは、図１０に示すように、車輌Ｃを上面から見た長方形形状の長手方向の長さであり、車体幅Ｗｃは、車輌Ｃの同長方形形状の短手方向の長さである。また、内車軸間距離ＬＢＧ１は、車輌Ｃの下面に取り付けられている２台以上の台車のうち、前側の台車ＢＧｆと後側の台車ＢＧｒの車軸間の距離である。また、外車軸間距離ＬＢＧ２は、連結されている２台の車輌Ｃの前側の車輌Ｃの後側の台車ＢＧｒと後側の車輌Ｃの前側の台車ＢＧｆの車軸間の距離である。
【０１２９】
図９に示す列車情報の例は、１５台の車輌Ｃを使用して列車の運行が行われる例である。図９に例示している車輌ＩＤがＣ０〜Ｃ２，Ｃ１４の車輌のサイズと内車軸間距離ＬＢＧ１及び外車軸間距離ＬＢＧ２が同じになっているのは、同一の形式の車輌であることを示している。実際に運行で使用される車輌には、サイズや内車軸間距離及び外車軸間距離が異なる車輌が含まれる。
【０１３０】
列車の編成に関する情報は、各運行における車輌の組み合わせを示す情報である。列車の編成に関する情報には、列車識別子（列車ＩＤ）、車輌識別子（車輌ＩＤ）及び車の番号が含まれる。列車識別子は、運行における列車を識別する識別子であり、列車の運行計画の列車番号に相当する。車輌識別子は、車輌編成に使用される車輌の識別子である。図９の例では、例えば、列車ＩＤが「Ｆ０」の車輌編成は、車輌ＩＤがＣ０、Ｃ１、Ｃ２の３台の車輌を連結して編成されていることを示し、列車ＩＤが「Ｆ１」の車輌編成は、車輌ＩＤがＣ３、Ｃ４、Ｃ５の３台の車輌を連結して編成されていることを示している。
【０１３１】
図１１は、運行情報格納部１０４に格納されている運行情報の一例を示す図である。
図１１に示す例は、図４に示す時刻表を基に列車Ｆ０と列車Ｆ１の運行情報を作成したものである。運行情報は、運行している列車が停止している状態を示す停止列車情報と走行している状態を示す走行列車情報とを含む。運行している列車が停止している状態は、例えば、列車が停車駅（又は待機位置）などに到着して一時停車した後、出発するまでの停車している状態を示す情報である。運行している列車が走行している状態は、例えば、列車が停車駅(又は待機位置)から出発して次の（停車駅又は待機位置）に到着するまでの列車が走行している状態を示す情報である。
【０１３２】
停止列車情報は、列車が停車している時間ごとに作成され、各停車時間を識別するために停車識別子が設けられている。図４に示す例では、列車Ｆ０が駅Ｓ０から駅Ｓ４までの５つの駅で停車するので、列車Ｆ０について、５つの列車停止情報が作成され、列車Ｆ１が駅Ｓ０から駅Ｓ４までの駅のうち２つの駅で停車するので、列車Ｆ１について、２つの列車停止情報が作成されている。停止ＩＤは、７つの列車停止情報を識別するための各停止列車情報に付された停止識別子である。
【０１３３】
列車ＩＤは、停止列車情報がどの編成に関する情報であるかを示す識別子である。Ｗ０からＷ４の停止ＩＤに対する列車ＩＤがＦ０となっているのは、列車Ｆ０の運行における停止列車情報であることを示し、Ｗ５とＷ６の停止ＩＤに対する列車ＩＤがＦ１となっているのは、列車Ｆ１の運行における停止列車情報であることを示している。
【０１３４】
停止位置Ｏは、ベジエ曲線上の列車が停止する位置を示す情報である。列車Ｆ０は、駅Ｓ０〜駅Ｓ４の各駅で停車するので、各駅の停止列車情報であるＷ０〜Ｗ４の停止ＩＤにはベジエ曲線上の各駅の停止位置Ｏ０〜Ｏ３，Ｏ５が対応付けられている。一方、列車Ｆ１は、駅Ｓ０と駅Ｓ４しか停車しないので、Ｗ５とＷ４の停止ＩＤにはベジエ曲線上の駅Ｓ０，Ｓ４の停止位置Ｏ０，Ｏ５が対応付けられている。
【０１３５】
停止開始時刻は、列車が停止位置に停止する時刻に相当し、列車が停止する駅の着時刻に相当する。Ｗ０〜Ｗ４の停止ＩＤには、列車Ｆ０が駅Ｓ０〜駅Ｓ４の各駅に到着する着時刻が対応付けられている。また、Ｗ５，Ｗ６の停止ＩＤには、列車Ｆ１が駅Ｓ０と駅Ｓ４に到着する着時刻が対応付けられている。
【０１３６】
停止終了時刻は、列車が停止位置から出発する時刻に相当し、列車が停止した駅の発時刻に相当する。Ｗ０〜Ｗ４の停止ＩＤには、列車Ｆ０が駅Ｓ０〜駅Ｓ４の各駅から出発する発時刻が対応付けられている。また、Ｗ５，Ｗ６の停止ＩＤには、列車Ｆ１が駅Ｓ０と駅Ｓ４から出発する発時刻が対応付けられている。
【０１３７】
ベジエＩＤは、停止位置Ｏが存在するベジエ曲線の識別子である。例えば、駅Ｓ０の路線Ｒ１に設けられた停止位置ＳＴ１は、図８に示すように、ベジエ曲線Ｂ０上に存在するので、Ｗ０の停止ＩＤにはベジエＩＤ＝Ｂ０が対応付けられている。他の停止位置Ｏについても同様である。
【０１３８】
走行列車情報は、列車が移動している時間ごとに作成され、各移動時間を識別するために移動識別子が設けられている。図４に示す例では、列車Ｆ０が駅Ｓ０から駅Ｓ４までの５つの駅の駅間を移動するので、列車Ｆ０について、４つの走行列車情報が作成され、列車Ｆ１が駅Ｓ０から駅Ｓ４までの駅のうち駅Ｓ０と駅Ｓ４の駅間を移動するので、列車Ｆ１について、１つの走行列車情報が作成されている。移動ＩＤは、５つの走行列車情報を識別するための各走行列車情報に付された移動識別子である。
【０１３９】
列車ＩＤは、走行列車情報がどの列車に関する情報であるかを示す識別子である。Ｉ０からＩ３の移動ＩＤに対する列車ＩＤがＦ０となっているのは、列車Ｆ０の運行における走行列車情報であることを示し、Ｉ４の移動ＩＤに対する列車ＩＤがＦ１となっているのは、列車Ｆ１の運行における走行列車情報であることを示している。
【０１４０】
移動開始位置Ｏｓは、ベジエ曲線上の列車が移動を開始する位置を示す情報である。列車Ｆ０は、駅Ｓ０〜駅Ｓ３の各駅で停止した後に移動を開始するので、Ｉ０〜Ｉ３の移動ＩＤにはベジエ曲線上の各駅の停止位置Ｏ０〜Ｏ３が対応付けられている。一方、列車Ｆ１は、駅Ｓ０で停止したのちに移動を開始するので、Ｉ４の移動ＩＤにはベジエ曲線上の駅Ｓ０の停止位置Ｏ０が対応付けられている。
【０１４１】
移動終了位置Ｏｅは、ベジエ曲線上の列車が移動を終了する位置を示す情報である。列車Ｆ０は、駅Ｓ１〜駅Ｓ４の各駅に到着すると停止するので、Ｉ０〜Ｉ３の移動ＩＤにはベジエ曲線上の各駅の停止位置Ｏ１〜Ｏ３，Ｏ５が対応付けられている。一方、列車Ｆ１は、駅Ｓ４に到着すると停止するので、Ｉ４の移動ＩＤにはベジエ曲線上の駅Ｓ４の停止位置Ｏ５が対応付けられている。
【０１４２】
移動開始時刻は、列車が停止位置から移動を開始する時刻に相当し、列車が出発する駅の発時刻に相当する。Ｉ０〜Ｉ３の移動ＩＤには、列車Ｆ０が駅Ｓ０〜駅Ｓ３の各駅を出発する発時刻が対応付けられている。また、Ｉ４の移動ＩＤには、列車Ｆ１が駅Ｓ０を出発する発時刻が対応付けられている。
【０１４３】
移動終了時刻は、列車が停車駅に停車する時刻に相当し、列車が到着した駅の着時刻に相当する。Ｉ０〜Ｉ３の移動ＩＤには、列車Ｆ０が駅Ｓ１〜駅Ｓ４の各駅に到着した着時刻が対応付けられている。また、Ｉ３の移動ＩＤには、列車Ｆ１が駅Ｓ４に到着した着時刻が対応付けられている。
【０１４４】
ベジエＩＤは、列車が存在するベジエ曲線の識別子である。例えば、移動ＩＤ＝Ｉ０の列車Ｆ０は、移動期間に停止位置Ｏ０と停止位置Ｏ１の間に存在するが、停止位置Ｏ０と停止位置Ｏ１の間に存在するベジエ曲線は、図８に示すように、ベジエ曲線Ｂ０〜Ｂ５であるので、Ｉ０の移動ＩＤにはＢ０〜Ｂ３のベジエＩＤが対応付けられている。他の移動ＩＤについても同様である。
【０１４５】
列車が移動している期間に列車が存在しているベジエ曲線上の位置は、曲線となる。その曲線が多数のベジエ曲線を連結したものになっている場合は、移動ＩＤの対応付けられるベジエＩＤの数が多くなり、煩雑となる。
【０１４６】
図１２は、地図タイルＭＴ１〜ＭＴ４の路線Ｒ１に設定された１７個のベジエ曲線Ｂ０〜Ｂ１６の連結の構成を示す図である。
【０１４７】
連結点Ｇ０と連結点Ｇ９の間はベジエ曲線Ｂ０〜Ｂ８が一列に連結され、連結点Ｇ１２と連結点Ｇ１６の間はベジエ曲線Ｂ１２〜Ｂ１５が一列に連結されている。一方、連結点Ｇ９と連結点Ｇ１2の間は、ベジエ曲線Ｂ９〜Ｂ１１を一列に連結したベジエ曲線とベジエ曲線Ｂ１６が並列に連結されている。列車が路線Ｒ1を走行する経路を考えると、その経路は、連結点Ｇ０と連結点Ｇ９の間を走行する経路Ｅ０（＝{Ｂ０，Ｂ１，…Ｂ８}）と、連結点Ｇ１１と連結点Ｇ１４の間を各駅停車が走行する経路Ｅ１（＝{Ｂ９，Ｂ１０，Ｂ１１}）と、連結点Ｇ９と連結点Ｇ１２の間を快速が走行する経路Ｅ２（＝{Ｂ１８}）と、連結点Ｇ１２と連結点Ｇ１５の間を走行する経路Ｅ３（＝{Ｂ１２，Ｂ１３，…Ｂ１５}）の組み合わせによって考えることができる。各駅停車が走行する経路は、（Ｅ０＋Ｅ１＋Ｅ３）の経路であり、快速列車が走行する経路は、（Ｅ０＋Ｅ２＋Ｅ３）の経路である。
【０１４８】
各駅停車の駅Ｓ０から駅Ｓ４までの運行における走行位置は、経路Ｅ０、経路Ｅ１及び経路Ｅ３によって特定でき、快速列車の駅Ｓ０から駅Ｓ４までの運行における走行位置は、経路Ｅ０、経路Ｅ２及び経路Ｅ３によって特定できるから、運行情報におけるベジエＩＤを経路の情報に置き換えてベジエ曲線との対応関係の情報を簡素化するようにしてもよい。
【０１４９】
運行情報におけるベジエＩＤを経路の情報に置き換えた場合は、Ｗ０〜Ｗ２の停止ＩＤに対する経路はＥ０（＝{Ｂ０，Ｂ１，…Ｂ８}）、Ｗ３の停止ＩＤに対する経路はＥ１（＝{Ｂ９，Ｂ１０，Ｂ１１}）、Ｗ４の停止ＩＤに対する経路はＥ３（＝{Ｂ１２，Ｂ１３，…Ｂ１５}）、Ｗ５の停止ＩＤに対する経路はＥ０、Ｗ６の停止ＩＤに対する経路はＥ３となる。また、Ｉ０，Ｉ１の移動ＩＤに対する経路はＥ０、Ｉ２の停止ＩＤに対する経路はＥ０とＥ１、Ｉ３の停止ＩＤに対する経路はＥ１とＥ３、Ｉ４の移動ＩＤに対する経路はＥ０、Ｅ２、Ｅ３となる。
【０１５０】
次に、停止状態情報生成部１０５の停止状態情報の生成処理について、説明する。
【０１５１】
停止状態情報生成部１０５は、線路位置情報格納部１０１に格納されている線路位置情報と、地図タイルＭＴ１〜ＭＴ４を用いて、路線Ｒ１上の地図タイル間の境界に対応する境界位置を求め、ベジエ曲線上のその境界位置に対応する境界位置Ｑ０，Ｑ１，Ｑ２を求める。境界位置Ｏ０は、地図タイルＭＴ１，ＭＴ２の境界に対応する位置であり、境界位置Ｏ１は、地図タイルＭＴ２，ＭＴ３の境界に対応する位置であり、境界位置Ｏ２は、地図タイルＭＴ３，ＭＴ４の境界に対応する位置である。なお、地図タイルの情報は、図示省略の地図情報格納部に格納していてもよく、ネットワークを通して取得するようにしてもよい。
【０１５２】
例えば、地図タイルＭＴ１〜ＭＴ４のタイルＩＤがそれぞれ１４／１４５５５／−６４５３、１４／１４５５６／−６４５３、１４／１４５５７／−６４５３、１４／１４５５８／−６４５３であるとすると、停止状態情報生成部１０５は、地図タイルＭＴ１，ＭＴ２の境界位置の経度Ｅｒ０を求める。ズームレベル１４では、経度方向の地図タイルの数は２１４＝１６３８４枚であるから、停止状態情報生成部１０５は、３６０×（１４５５５／１６３８４）−１８０［°］の演算式により境界位置の経度Ｅｒ０＝１３９．８３［°］を算出する。同様にして、停止状態情報生成部１０５は、地図タイルＭＴ２，ＭＴ３の境界位置の経度Ｅｒ１と地図タイルＭＴ３，ＭＴ４の境界位置の経度Ｅｒ２を算出する。
【０１５３】
地図タイルＭＴ１，ＭＴ２の境界位置は、ベジエ曲線Ｂ５上にあるので、停止状態情報生成部１０５は、線路位置情報格納部１０１からベジエ曲線Ｂ５の始点Ｇ５ｓと終点Ｇ５ｅの位置情報を取得する。そして、停止状態情報生成部１０５は、始点Ｇ５ｓの位置情報を用いて制御点Ｃ５ｃｓ１の緯度Ｎ５ｃｓ１と経度Ｅ５ｃｓ１を算出し、終点Ｇ５ｅの位置情報を用いて制御点Ｃ５ｃｓ２の緯度Ｎ５ｃｓ２と経度Ｅ５ｃｓ２を算出する。
【０１５４】
次に、停止状態情報生成部１０５は、線路位置情報格納部１０１からベジエ曲線Ｂ５の始点Ｇ５ｓ、終点Ｇ５ｅ、制御点Ｇｃｓ１、制御点Ｇｃｓ２に位置情報を用いて、
Ｅ５(u)＝Ｅ5s・(1-u)３＋３Ｅ5c1・(1-u)２・u＋３Ｅ5c2・(1-u)・u２＋Ｅ5e・ｕ３
＝ａ５０＋ａ５１・ｕ＋ａ５２・ｕ２＋ａ５３・ｕ３
を解くことにより、係数ａ５（ａ５０，ａ５１，ａ５２，ａ５３）を算出する。
【０１５５】
さらに、停止状態情報生成部１０５は、
ａ５０＋ａ５１・ｕ＋ａ５２・ｕ２＋ａ５３・ｕ３＝Ｅｒ０
０≦ｕ≦１
を満たす媒介変数ｕを解くことにより、ベジエ曲線Ｂ５上の境界位置Ｏ０に対応する媒介変数ｕ０を算出する。そして、停止状態情報生成部１０５は、媒介変数ｕ０を用いてベジエ曲線Ｂ５の始点Ｇ５ｓからの曲線上の距離ｄ(u0)を算出し、ベジエ曲線Ｂ５上の境界位置Ｏ０の位置を算出する。
【０１５６】
停止状態情報生成部１０５は、同様の演算をして、ベジエ曲線Ｂ７上の境界位置Ｏ１とベジエ曲線Ｂ１３上の境界位置Ｏ２を算出する。
【０１５７】
次に、停止状態情報生成部１０５は、Ｗ０〜Ｗ６の停止ＩＤに対する停止状態情報（停止状態のインデックス情報）を生成する。各停止ＩＤに対する停止状態情報の生成方法は同じであるので、ここでは、Ｗ２の停止ＩＤに対する停止状態情報の生成方法を例に説明する。
【０１５８】
停止状態情報生成部１０５は、運行情報格納部１０４から停止ＩＤ＝Ｗ２に対応付けられた列車ＩＤ＝Ｆ０を取得し、列車情報格納部１０３からＦ０の列車ＩＤに対応付けられた車ＩＤの車輌に関する情報を取得する。図９に示す列車情報によれば、列車ＩＤ＝Ｆ０に対応付けられた車ＩＤは、Ｃ０，Ｃ１，Ｃ２であるので、停止状態情報生成部１０５は、Ｃ０，Ｃ１，Ｃ２の車ＩＤに対応付けられ車輌のサイズ（車体長Ｌと車体幅Ｗ）、内車軸間距離ＬＢＧ１、外車軸間距離ＬＢＧ２の情報を取得する。
【０１５９】
停止状態情報生成部１０５は、列車Ｆ０に用いられる車輌Ｃ０，Ｃ１，Ｃ２のサイズ等の情報を用いて各車輌Ｃ０，Ｃ１，Ｃ２のベジエ曲線上の位置を算出する。
【０１６０】
列車Ｆ０が駅Ｓ２に停止するときは、先頭の車輌Ｃ０の前側の台車（先頭台車）を駅Ｓ２の路線Ｒ１の停止位置ＳＴ１に合わせるように停止するから、停止状態情報生成部１０５は、先頭台車の位置を駅Ｓ２の停止位置ＳＴ１に設定する。車輌Ｃ０の後側の台車は、先頭台車から内車軸間距離ＬＢＧ１だけ後方の位置にあるので、停止状態情報生成部１０５は、停止位置ＳＴ１より内車軸間距離ＬＢＧ１だけ後方の位置に先頭の車輌Ｃ０の後側の台車の停止位置を設定する。２番目の車輌Ｃ１の前側の台車は、先頭台車から（内車軸間距離ＬＢＧ１＋外車軸間距離ＬＢＧ２）だけ後方の位置にあるので、停止状態情報生成部１０５は、停止位置ＳＴ１より（内車軸間距離ＬＢＧ１＋外車軸間距離ＬＢＧ２）だけ後方の位置に２番目の車輌Ｃ１の前側の台車の停止位置を設定する。以下、同様にして２番目の車輌Ｃ１の後側の台車と３番目の車輌Ｃ２の前後の台車の停止位置を設定する。
【０１６１】
なお、図１３に示すように、曲がっている線路Ｒ上に車輌Ｃが停止する場合は、車輌Ｃの前側の台車ＢＧｆの停止位置から後側の台車ＢＧｒの停止位置までの線路上の距離ＬＢＧが車輌Ｃの内車軸間距離ＬＢＧ１よりも長くなる。この場合は、二分探索によって車輌Ｃの前側の台車ＢＧｆに対する後側の台車ＢＧｒの線路Ｒ上の最適な位置を算出するようにするとよい。
【０１６２】
停止状態情報生成部１０５は、３台の車輌Ｃ０，Ｃ１，Ｃ２の各台車について算出した停止位置を境界位置Ｏ０と比較して列車Ｆ０の各車輌Ｃ０，Ｃ１，Ｃ２が停止している地図タイルを求める。例えば、先頭車輌Ｃ０の前後の台車と２番目の車輌Ｃ１の前側の台車の停止位置が境界位置Ｏ０よりも右側にあれば、列車Ｆ０は地図タイルＴＭ２と地図タイルＴＭ３に跨って停止していることが分かる。
【０１６３】
従って、停止状態情報生成部１０５は、停止ＩＤ＝Ｗ２に対する停止状態情報（停止状態のインデックス情報）として、停止開始時刻Ｔ４から停止終了時刻Ｔ５までの間、列車Ｆ０が地図タイルＴＭ２と地図タイルＴＭ３に存在するという情報を生成する。
【０１６４】
停止状態情報生成部１０５は、他の停止ＩＤ＝Ｗ０，Ｗ１，Ｗ３〜Ｗ６についても同様の方法で停止状態情報を生成する。
【０１６５】
図１４は、停止ＩＤ＝Ｗ０〜Ｗ６に対する停止状態情報の一例を示す図である。
【０１６６】
図１４に示す停止状態情報は、列車Ｆ０が駅Ｓ０と駅Ｓ１に停止している期間は、地図タイルＭＴ１上に存在し、列車Ｆ０が駅Ｓ２に停止している期間は、地図タイルＭＴ２と地図タイルＭＴ３とに跨って存在し、列車Ｆ０が駅Ｓ３と駅Ｓ４に停止している期間は、それぞれ地図タイルＭＴ３上と地図タイルＭＴ４上に存在するということを示している。
【０１６７】
次に、走行状態情報生成部１０６は、Ｉ０〜Ｉ６の移動ＩＤに対する走行状態情報（走行状態のインデックス情報）を生成する。
【０１６８】
例えば、移動ＩＤ＝Ｉ０は、列車Ｆ０が駅Ｓ０の停止位置ＳＴ１から次の駅Ｓ１の停止位置ＳＴ２まで走行していることを示す情報である。図４に示すように、列車Ｆ０の運行計画では駅Ｓ０の発時刻と駅Ｓ１の着時刻が決められているだけで、列車Ｆ０が駅Ｓ０と駅Ｓ１の間を走行している間の任意の時刻における列車Ｆ０の走行位置は定義されていない。Ｉ１〜Ｉ３の移動ＩＤについても同様である。
【０１６９】
そこで、走行状態情報の生成に当たり、走行演算情報生成部１０７は、列車Ｆ０が駅Ｓｉと駅Ｓｉ＋１の駅間を走行している期間の任意の時刻における走行位置を求めるための移動関数Δ(t)を生成する。具体的には、走行演算情報生成部１０７は、移動関数Δ(t)の係数を求める。
【０１７０】
本具体例では、図１５（ｂ）に示すように、駅Ｓｉと駅Ｓｉ＋１の駅間の位置を求める移動関数Δｉ(t)を三次のスプライン補間の補間式によって定義している。移動関数Δｉ(t)は、走行演算情報生成部１０７が生成する走行演算式に相当している。なお、図１５（ａ）は、時刻表によって設定されている駅Ｓ０〜Ｓ４の各駅の位置と列車Ｆが各駅を走行する時刻ｔを示す図であり、同図（ｂ）は，駅間の列車の走行位置を補間する補間式を設定した図である。
【０１７１】
図１５において、縦軸は、駅Ｓ０〜駅Ｓ４の路線Ｒ１上の位置を基準位置からの距離ｄで示したものである。また、横軸は、列車Ｆ０の走行時刻である。列車Ｆ０は、駅Ｓ０〜駅Ｓ４の各駅で一時停車するので、停車時間が存在するが、図１５では、停車時間を無視し、駅Ｓ０〜駅Ｓ４の各駅を通過する時刻ｔ０，ｔ１，ｔ２，ｔ３，ｔ４を記載している。
【０１７２】
三次のスプライン補間式である移動関数Δｉ(t)は、Δｉ(t)＝Ａｉ＋Ｂｉ・ｔ＋Ｃｉ・ｔ２＋Ｄｉ・ｔ３で表されるので、駅Ｓ０〜駅Ｓ４までの各駅間における列車の走行位置を求める４つの移動関数Δ０(t)，Δ１(t)，Δ２(t)，Δ３(t)は、
Δ０(t)＝Ａ０＋Ｂ０・ｔ＋Ｃ０・ｔ２＋Ｄ０・ｔ３  ｔ０≦ｔ＜ｔ１
Δ１(t)＝Ａ１＋Ｂ１・ｔ＋Ｃ１・ｔ２＋Ｄ１・ｔ３  ｔ１≦ｔ＜ｔ２
Δ２(t)＝Ａ２＋Ｂ２・ｔ＋Ｃ２・ｔ２＋Ｄ２・ｔ３  ｔ２≦ｔ＜ｔ３
Δ３(t)＝Ａ３＋Ｂ３・ｔ＋Ｃ３・ｔ２＋Ｄ３・ｔ３  ｔ３≦ｔ＜ｔ４
で表される。
【０１７３】
走行演算情報生成部１０７は、移動ＩＤ＝Ｉｉ（ｉ＝０，１，…３）に対する移動関数Δｉ(t)の係数（Ａｉ，Ｂｉ，Ｃｉ，Ｄｉ）を算出する。走行演算情報生成部１０７は、移動ＩＤ＝Ｉｉに対する移動関数Δｉ(t)（ｉ＝０．１，２，３）を以下の方法によって算出する。
【０１７４】
図１５に示す走行時刻ｔ０〜ｔ４の各時刻における距離ｄ０〜ｄ４は、路線Ｒ１の連結点Ｇ０の設定位置を基準位置（距離０ｍ）とすると、時刻ｔ０と時刻ｔ１の区間に対応する移動関数Δ０(t)は、Δ０(t０)＝ｄ０、Δ０(t１)＝ｄ１を満たす。また、列車Ｆ０は、駅Ｓ０と駅Ｓ１では停止するから、移動ＩＤ＝Ｉ０に対応する列車Ｆ０の速度をｖ０＝ｄ（Δ０(t)）／ｄｔとすると、ｖ(t０)＝０、ｖ(t１)＝０を満たす。
【０１７５】
走行演算情報生成部１０７は、
Δ０(t０)＝Ａ０＋Ｂ０・ｔ０＋Ｃ０・ｔ０２＋Ｄ０・ｔ０３＝ｄ０
Δ０(t１)＝Ａ０＋Ｂ０・ｔ１＋Ｃ０・ｔ１２＋Ｄ０・ｔ１３＝ｄ１
ｖ０(t０)＝Ｂ０＋２・Ｃ０・ｔ０＋３・Ｄ０・ｔ０２＝０
ｖ０(t１)＝Ｂ０＋２・Ｃ０・ｔ１＋３・Ｄ０・ｔ１２＝０
の４つの連立方程式を解くことにより、移動関数Δ０(t)の係数（Ａ０，Ｂ０，Ｃ０，Ｄ０）を算出する。走行演算情報生成部１０７は、同様の方法で移動関数Δ１(t)，Δ２(t)，Δ３(t)の各係数（Ａ１，Ｂ１，Ｃ１，Ｄ１），（Ａ２，Ｂ２，Ｃ２，Ｄ３），（Ａ３，Ｂ３，Ｃ３，Ｄ３）を算出する。
【０１７６】
次に、走行演算情報生成部１０７は、移動ＩＤ＝Ｉ４に対する移動関数Δ４(t)を以下の方法によって算出する。
【０１７７】
移動ＩＤ＝Ｉ４に対応する列車Ｆ１は、駅Ｓ０と駅Ｓ４だけで停止し、駅Ｓ１、駅Ｓ２及び駅Ｓ３は通過するので、移動ＩＤ＝Ｉ４に対する移動関数Δ４(t)は、Δ４(t)＝Δ４０(t)＋Δ４１(t)＋Δ４２(t)＋Δ４３(t)（Δ４０(t)の添え字の「４」は、Ｉ４の移動ＩＤに対応するものであることを示す。Δ４１(t)，Δ４２(t)，Δ４３(t)についても同様。）で表される。移動関数Δ４(t)に含まれる４つの移動関数Δ４０(t)，Δ４１(t)，Δ４２(t)，Δ４３(t)は、以下の条件を満たす。なお、列車Ｆ１が距離ｄ０，ｄ１，ｄ２，ｄ３，ｄ４を走行する時刻をそれぞれｔ５，ｔ６，ｔ７，ｔ８，ｔ９とする。また、ｖ４ｉ’(t)は、速度ｖ４ｉ(t)の微分値ｖ４ｉ’(t)＝ｄ（ｖ４ｉ(t)）／ｄｔである。
Δ４０(t５)＝Ａ４０＋Ｂ４０・ｔ５＋Ｃ４０・ｔ５２＋Ｄ４０・ｔ５３＝ｄ０
Δ４０(t６)＝Ａ４０＋Ｂ４０・ｔ６＋Ｃ４０・ｔ６２＋Ｄ４０・ｔ６３＝ｄ１
Δ４１(t６)＝Ａ４１＋Ｂ４１・ｔ６＋Ｃ４１・ｔ６２＋Ｄ４１・ｔ６３＝ｄ１
Δ４１(t７)＝Ａ４１＋Ｂ４１・ｔ７＋Ｃ４１・ｔ７２＋Ｄ４１・ｔ７３＝ｄ２
Δ４２(t７)＝Ａ４２＋Ｂ４２・ｔ７＋Ｃ４２・ｔ７２＋Ｄ４２・ｔ７３＝ｄ２
Δ４２(t８)＝Ａ４２＋Ｂ４２・ｔ８＋Ｃ４２・ｔ８２＋Ｄ４２・ｔ８３＝ｄ３
Δ４３(t８)＝Ａ４３＋Ｂ４３・ｔ８＋Ｃ４３・ｔ８２＋Ｄ４３・ｔ８３＝ｄ３
Δ４３(t９)＝Ａ４３＋Ｂ４３・ｔ９＋Ｃ４３・ｔ９２＋Ｄ４３・ｔ９３＝ｄ４
ｖ４０(t５)＝ｖ４３(t９)＝０
ｖ４０(t６)＝Δ４１(t６)、ｖ０’(t６)＝Δ４１’(t６)
ｖ４１(t７)＝Δ４２(t７)、ｖ１’(t７)＝Δ４２’(t７)
ｖ４２(t８)＝Δ４３(t８)、ｖ２’(t８)＝Δ４３’(t８)
【０１７８】
走行演算情報生成部１０７は、上記の条件式を解くことにより、移動関数Δ４(t)を構成する関数Δ４０(t)の係数（Ａ４０，Ｂ４０，Ｃ４０，Ｄ４０）、関数Δ４１(t)の係数（Ａ４１，Ｂ４１，Ｃ４１，Ｄ４１）、関数Δ４２(t)の係数（Ａ４２，Ｂ４２，Ｃ４２，Ｄ４２）、関数Δ４３(t)の係数（Ａ４３，Ｂ４３，Ｃ４３，Ｄ４３）を算出する。
【０１７９】
走行状態情報生成部１０６は、走行演算情報生成部１０７が生成した移動ＩＤ＝Ｉｉ（ｉ＝０，１，…３）に対する移動関数Δｉ(t)を用いて、列車Ｆ０が各地図タイルＭＴ１に存在している時間の情報を生成する。
【０１８０】
図１１に示す走行列車情報によれば、移動ＩＤ＝Ｉ０では列車Ｆ０が存在するベジエ曲線はベジエ曲線Ｂ０〜Ｂ３であるが、これらのベジエ曲線Ｂ０〜Ｂ３は地図タイルＭＴ１に存在する。従って、移動ＩＤ＝Ｉ１では列車Ｆ０は、地図タイルＭＴ１上に存在する。
【０１８１】
移動ＩＤ＝Ｉ１では列車Ｆ０が存在するベジエ曲線はベジエ曲線Ｂ３〜Ｂ６であるが、これらのベジエ曲線Ｂ３〜Ｂ６は地図タイルＭＴ３に跨って存在する。そこで、走行状態情報生成部１０６は、移動関数Δ１(t)と線路Ｒ１上の地図タイルＭＴ１，ＭＴ２の境界位置ｄｒ１を用いて列車Ｆ０が地図タイルＭＴ１から地図タイルＭＴ２に進入する時刻ｔｓ１を算出する。
【０１８２】
走行状態情報生成部１０６は、Δ１(t)＝Ａ１＋Ｂ１・ｔ＋Ｃ１・ｔ２＋Ｄ１・ｔ３＝ｄｒ１を解くことにより、列車Ｆ０の先頭位置が地図タイルＭＴ２に進入する時刻ｔＳ１を算出する。同様に、走行状態情報生成部１０６は、移動関数Δ１(t)と線路Ｒ１上の地図タイルＭＴ２，ＭＴ３の境界位置ｄｒ２を用いて、Δ１(t)＝Ａ１＋Ｂ１・ｔ＋Ｃ１・ｔ２＋Ｄ１・ｔ３＝ｄｒ２を解くことにより、列車Ｆ０が地図タイルＭＴ２から地図タイルＭＴ３に進入する時刻ｔｓ２を算出する。
【０１８３】
次に、走行状態情報生成部１０６は、列車Ｆ０の最後尾位置（３番目の車輌Ｃ３の後側の台車の位置）が地図タイルＭＴ１，ＭＴ２の境界位置ｄｒ１を通過するときの列車Ｆ０の先頭位置ｄｒ１’を算出する。列車Ｆ０の先頭台車と最後尾の台車の間の距離Δｄは、Δｄ＝ＬＢＧ１＋ＬＢＧ２＋ＬＢＧ１＋ＬＢＧ２＋ＬＢＧ１＝３・ＬＢＧ１＋２・ＬＢＧ２であるので、走行状態情報生成部１０６は、列車Ｆ０の最後尾位置が地図タイルＭＴ１，ＭＴ２の境界位置ｄｒ１を通過するときの列車Ｆ０の先頭位置ｄｒ１’＝ｄｒ１＋Δｄ＝ｄｒ１＋３・ＬＢＧ１＋２・ＬＢＧ２を算出する。
【０１８４】
そして、走行状態情報生成部１０６は、Δ１(t)＝Ａ１＋Ｂ１・ｔ＋Ｃ１・ｔ２＋Ｄ１・ｔ３＝ｄｒ１＋Δｄを解くことにより、列車Ｆ０の最後尾位置が地図タイルＭＴ２に進入する時刻（列車Ｆ０の最後尾位置が地図タイルＭＴ１から退出する時刻）ｔＳ１’を算出する。同様にして、走行状態情報生成部１０６は、Δ１(t)＝Ａ１＋Ｂ１・ｔ＋Ｃ１・ｔ２＋Ｄ１・ｔ３＝ｄｒ２＋Δｄを解くことにより、列車Ｆ０の最後尾位置が地図タイルＭＴ３に進入する時刻（列車Ｆ０の最後尾位置が地図タイルＭＴ２から退出する時刻）ｔＳ２’を算出する。
【０１８５】
走行状態情報生成部１０６は、同様の方法で、列車Ｆ０の先頭位置が地図タイルＭＴ３に進入する時刻ｔＳ３と列車Ｆ０の最後尾位置が地図タイルＭＴ４に進入する時刻ｔＳ３’（列車Ｆ０の最後尾位置が地図タイルＭＴ３から退出する時刻ｔＳ３’）を算出する。
【０１８６】
また、走行状態情報生成部１０６は、走行演算情報生成部１０７が生成した移動ＩＤ＝Ｉ４に対する移動関数Δ４(t)と地図タイルＭＴ１〜ＭＴ４の各タイルの境界位置とを用いて、列車Ｆ１の先頭位置が地図タイルＭＴ２，ＭＴ３，ＭＴ４に進入する時刻ｔＳ４，ｔＳ５，ｔＳ６と列車Ｆ１の最後尾位置が地図タイルＭＴ２，ＭＴ３，ＭＴ４に進入する時刻（列車Ｆ１の最後尾位置が地図タイルＭＴ２，ＭＴ３，ＭＴ４から退出する時刻）ｔＳ４’，ｔＳ５’，ｔＳ６’を算出する。
【０１８７】
図１６は、走行状態情報生成部１０６が生成した移動ＩＤ＝Ｉ０〜Ｉ４に対する走行状態情報の一例を示す図である。
【０１８８】
図１６に示す走行状態情報は、列車Ｆ０が地図タイルＭＴ１に存在している時間は、駅Ｓ０を出発した時刻Ｔ１から列車Ｆ０の最後尾位置が地図タイルＭＴ１を退出する時刻ｔｓ１’までの時間であり、列車Ｆ０が地図タイルＭＴ２に存在している時間は、列車Ｆ０の先頭位置が地図タイルＭＴ２に進入する時刻ｔｓ１から列車Ｆ０の最後尾位置が地図タイルＭＴ２を退出する時刻ｔｓ２’までの時間であることを示している。また、列車Ｆ０が地図タイルＭＴ３に存在している時間は、列車Ｆ０の先頭位置が地図タイルＭＴ３に進入する時刻ｔｓ２から列車Ｆ０の最後尾位置が地図タイルＭＴ３を退出する時刻ｔｓ３’までの時間であり、列車Ｆ０が地図タイルＭＴ４に存在している時間は、列車Ｆ０の先頭位置が地図タイルＭＴ４に進入する時刻ｔｓ３から列車Ｆ０が駅Ｆ４に停車する時刻Ｔ８までの時間であることを示している。
【０１８９】
インデックス情報蓄積部１０８は、停止状態情報生成部１０５が生成した１以上の停止状態情報と、走行状態情報生成部１０６が生成した１以上の走行状態情報とを用いてインデックス情報を生成し、記録媒体に蓄積する。
【０１９０】
図１７は、インデックス情報蓄積部１０８が生成するインデックス情報の概念を示す概念図である。
【０１９１】
停止状態情報生成部１０５が生成した停止状態情報と走行状態情報生成部１０６が生成した走行状態情報を用いると、運行している列車が存在する地図タイルとその時間帯を知ることができる。従って、地図タイル毎に時間軸を設け、各地図タイル上の線路を運行する全ての列車について、各地図タイルに存在する時間帯を対応付けたインデックス情報を作成すると、そのインデックス情報を用いれば、ユーザが選択した時間帯にユーザが選択した地図タイルに存在する列車だけを検索することができる。
【０１９２】
図１７に示すインデックス情報は、地図タイル毎に、所定の時間幅δｔ（秒）単位で各時間幅δｔ（以下、この時間幅δｔを「タイムチャンク」という。）に各地図タイル内の線路上に存在する列車を対応付けた三次元のインデックス情報である。図１７は、地図タイルＭＴに対して、タイル面に垂直な方向にタイムチャンク軸を設けたｘｙｔの三次元座標系を設定し、タイムチャンク軸の各目盛の位置に列車ＩＤが対応付けられた地図タイルＭＴを配置したものである。
【０１９３】
例えば、タイムチャンクを２０秒とし、００：００：００から２４：００：００までの時間の範囲で地図タイルにタイムチャンク軸を設けるとすると、図１７に示すタイムチャンク軸の目盛０、１、２、…は、それぞれ０＝［００：００：００〜００：００：２０］、１＝［００：００：２０〜００：００：４０］、２＝［００：００：４０〜００：０１：００］、…に対応している。
【０１９４】
インデックス情報蓄積部１０８は、停止状態情報生成部１０５が停止ＩＤ毎に生成した停止状態情報に含まれる停止開始時刻と停止終了時刻をタイムチャンクに変換することにより、各停止ＩＤに対応するタイムチャンクを生成する。例えば、図１４に示す停止状態情報の停止ＩＤ＝Ｗ０に対応する停止開始時刻Ｔ０と停止終了時刻Ｔ１がＴ０＝００：００：３５、Ｔ０＝００：０１：１８とする。インデックス情報蓄積部１０８は、ｆｌｏｏｒ（３５／２０）＝ｆｌｏｏｒ（１．７５）＝１、ｆｌｏｏｒ（７８／２０）＝ｆｌｏｏｒ（３．９）＝３を演算することにより、停止開始時刻Ｔ０＝００：００：３５をタイムチャンク１に変換し、停止終了時刻Ｔ１＝００：０１：１８をタイムチャンク３に変換する。このタイムチャンクの変換処理により、停止ＩＤ＝Ｗ０に対応する停止状態では、列車がタイルＭＴ１に存在するタイムチャンクは、０，１，２，３となる。
【０１９５】
同様の方法で、インデックス情報蓄積部１０８は、停止状態情報の停止ＩＤ＝Ｗ１〜Ｗ５についても停止開始時刻と停止終了時刻をタイムチャンクに変換して各停止ＩＤにおける列車がタイルＭＴに存在するタイムチャンクを算出する。
【０１９６】
また、インデックス情報蓄積部１０８は、走行状態情報生成部１０６が移動ＩＤ毎に生成した走行状態情報に含まれる存在開始時刻と存在終了時刻をタイムチャンクに変換することにより、各移動ＩＤに対応するタイムチャンクを生成する。例えば、図１６に示す走行状態情報の移動ＩＤ＝Ｉ０に対応する存在開始時刻Ｔ1と存在終了時刻ｔｓ１’がＴ１＝００：０１：１８、ｔｓ１’＝００：０３：２４とする。インデックス情報蓄積部１０８は、ｆｌｏｏｒ（７８／２０）＝ｆｌｏｏｒ（３．９）＝３、ｆｌｏｏｒ（２０４／２０）＝ｆｌｏｏｒ（１０.２）＝１０を演算することにより、存在開始時刻Ｔ１＝００：０１：１８をタイムチャンク３に変換し、存在終了時刻ｔｓ１’＝００：０３：２４をタイムチャンク１０に変換する。このタイムチャンクの変換処理により、移動ＩＤ＝Ｉ０に対応する走行状態では、列車がタイルＭＴ１に存在するタイムチャンクは、３，４，…１０となる。
【０１９７】
図１８は、停止状態情報から作成した停止状態のインデックス情報と走行状態情報から作成した走行状態のインデックス情報の一例を示す図である。図１８（ａ）は、停止状態のインデックス情報であり、図１８（ｂ）は、走行状態のインデックス情報である。
【０１９８】
図１８に示すインデックス情報を用いて、地図タイルＩＤ毎に各タイムチャンクに存在する列車ＩＤを対応付けると、図１７に示す三次元のインデックス情報を作成することができる。例えば、地図タイルＩＤ＝ＭＴ１については、列車Ｆ０がタイムチャンク０〜３、１０〜１３に停止した状態で存在し、タイムチャンク３〜１０に走行している状態で存在する。また、列車Ｆ１がタイムチャンク１２０〜１２２に停止した状態で存在し、タイムチャンク１２２〜１３０（図１８では省略している）に走行している状態で存在する。従って、インデックス情報蓄積部１０８は、これらの情報を地図タイルＭＴ１のタイムチャンク軸の対応するタイムチャンクに対応付けることにより、図１７に示す三次元のインデックス情報を作成する。
【０１９９】
以上説明したように、本実施の形態１によるインデックス情報生成装置１によれば、列車の運行状況を出力するための適切なインデックス情報を生成することができる。より詳細には、多数の列車が異なるタイルを異なる時間帯に走行する列車の運行状況を出力するための膨大な情報の中から、例えば、ユーザから要求された時間帯にユーザから要求されたタイル内の線路を走行している列車だけを抽出し、その列車の当該タイルにおける運行状況を迅速に出力するための、インデックス情報を生成することができる。
【０２００】
特に、タイル内の線路上の列車の位置の算出処理は非常に負荷の思い処理であるが、列車の運行状況の表示に必要のない列車については、ユーザから要求された時間帯に当該列車が存在する位置の演算処理をしないので、列車の運行状況の表示処理の負荷を大幅に軽減することができるインデックス情報を生成することができる。
【０２０１】
また、インデックス情報の生成においては、タイルに配置された線路をベジエ曲線で表現しているので、タイル内の線路上における列車の位置を正確に算出することができる。さらに、列車の運行計画では線路上の列車の位置と存在時刻が離散的に定義されているが、定義されていない時刻における線路上の位置をスプライン補間の補間式を用いた走行演算式である移動関数Δ(t)によって算出するようにしているので、移動関数Δ(t)とベジエ曲線を用いることにより、運行時間内の任意の時刻におけるタイル内の線路上の列車の位置をより正確に算出することができる。これにより、列車の運行状況を出力するために最適なインデックス情報を生成することができる。
【０２０２】
上記具体例では、運行情報格納部１０４に予め運行情報を保持しているが、処理時に必要な運行情報を鉄道会社などから取得して運行情報格納部１０４に格納するようにしてもよい。
【０２０３】
また、上記具体例では、地図タイル上の線路の形状を表す関数として、三次ベジエ曲線を用いているが、これに限定されるものではなく、線路の形状を表すことができる関数であれば、他の関数であってもよい。
【０２０４】
また、上記具体例では、スプライン補間によって移動関数Δ(t)を作成しているが、これに限定されるものではなく、列車の実際の運行計画を模した移動位置を算出することができる移動関数であれば、他の関数であってもよい。
【０２０５】
（実施の形態２）
次に、実施の形態２において、実施の形態１に係るインデックス情報生成装置１が生成したインデックス情報を用いて、列車の移動および停止を出力する列車運行出力装置２について説明する。
【０２０６】
図１９は、実施の形態２における列車運行出力装置２のブロック図である。
【０２０７】
列車運行出力装置２は、インデックス情報生成装置１、タイル格納部２０１、受付部２０２、第１の列車識別子取得部２０３、第２の列車識別子取得部２０４、出力部２０５を備える。
【０２０８】
インデックス情報生成装置１は、１以上の停止状態情報と１以上の走行状態情報を有するインデックス情報を生成する。インデックス情報の生成方法は、実施の形態１に係るインデックス情報１の説明で説明しているので省略する。
【０２０９】
タイル格納部２０１は、１以上のタイルを格納し得る。タイルは、１以上の線路が配置された矩形のブロックである。タイルは、線路だけを配置した路線図のタイルでもよいが、線路が描かれた、例えば、Ｇｏｏｇｌｅ（登録商標）  Ｍａｐｓのオンライン地図などの地図タイルを用いることは好適である。地図タイル形式の地図の画像は、ビットマップデータでも良いし、ベクターデータなどであっても良い。
【０２１０】
タイル格納部２０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でもよい。タイル格納部２０１に所定の情報が格納される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介してタイル格納部２０１に格納されてもよい。
【０２１１】
受付部２０２は、時間の情報とタイルの情報を受け付ける。時間の情報とは、例えば、出力部２０５に出力させる列車が運行されている時間に関する情報である。タイルの情報とは、列車が運行されている線路が配置されているタイルの情報である。時間の情報は、標準時で表した時刻（例えば、○年○月○日○時○分○秒の時刻）でもよく、時間帯（例えば、○年○月○日○時○分〜○時△分の時間帯）で表した情報であっても良い。
【０２１２】
受け付けとは、キーボードなどの入力デバイスから入力される情報の受け付け、有線もしくは無線の通信回線を介して送信される情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出される情報の受け付けなどを含む概念である。指示や情報の入力デバイスは、キーボード、マウス、タッチパネル等、何でも良い。受付部２０２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【０２１３】
第１の列車識別子取得部２０３は、１以上の列車識別子を取得する。列車識別子は、列車の運行計画で運行される列車を識別する識別情報である。列車識別子は、通常、運行計画における車番であるが、列車識別子の形式は問わない。第１の列車識別子取得部２０３が取得する列車識別子は、受付部２０２が受け付けたタイルのタイル識別子と受付部２０２が受け付けた時間に停止時間帯を含む停止時間帯情報とに対応付けられた列車識別子である。タイル識別子は、タイルを識別する情報である。
【０２１４】
受付部２０２が受け付けた時間に停止時間帯を含む停止時間帯情報とは、インデックス情報生成装置１が生成した停止状態情報が有する停止時間帯のうち、受付部２０２が受け付けた時間に含まれる停止時間帯の情報である。受付部２０２が受け付けた時間が、例えば、１０：００〜１０：１５の時間帯で、停止状態情報が１０：０５〜１０：０８の停止時間帯を有している場合、受付部２０２が受け付けた時間に停止時間帯を含む停止時間帯情報は、１０：０５〜１０：０８の停止時間帯の情報である。
【０２１５】
第１の列車識別子取得部２０３は、インデックス情報生成装置１が生成し、記録媒体に蓄積されている１以上の停止状態情報から１以上の列車識別子を取得する。
【０２１６】
第２の列車識別子取得部２０４は、１以上の列車識別子を取得する。第２の列車識別子取得部２０４が取得する列車識別子は、受付部２０２が受け付けたタイルのタイル識別子と受付部２０２が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とに対応付けられた１以上の列車識別子を取得する。受付部２０２が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とは、インデックス情報生成装置１が生成した走行状態情報が有する列車の存在時間時間帯のうち、受付部２０２が受け付けた時間に含まれる列車の存在時間帯の情報である。受付部２０２が受け付けた時間が、例えば、１０：００〜１０：１５の時間帯で、走行状態情報が１０：０８〜１０：１０の存在時間帯（列車が走行している時間帯）を有している場合、受付部２０２が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報は、１０：０８〜１０：１０の列車の存在時間帯の情報である。
【０２１７】
第２の列車識別子取得部２０４は、インデックス情報生成装置１が生成し、記録媒体に蓄積されている１以上の走行状態情報から１以上の列車識別子を取得する。
【０２１８】
受付部２０２、第１の列車識別子取得部２０３、第２の列車識別子取得部２０４は、通常、ＭＰＵやメモリ等で実現することができる。受付部２０２などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。受付部２０２は、ハードウェア（専用回路）で実現されてもよい。
【０２１９】
出力部２０５は、タイル格納部２０１から受付部２０２が受け付けたタイルのタイル識別子に対応するタイルを読み出す。そして、出力部２０５は、そのタイルを用いて、第１の列車識別子取得部２０３が取得した列車識別子に対応する１以上の列車が停止時間帯に各列車が走行する線路上に停止している状態を出力する。列車が線路上に停止している状態とは、タイルに配置された線路上の列車の停止位置に当該列車が停止している状態である。
【０２２０】
また、出力部２０５は、タイルを用いて、第２の列車識別子取得部が取得した列車識別子に対応する１以上の列車が存在時間帯に各列車が走行する線路上を走行している状態を出力する。列車が線路上を走行している状態とは、タイルに配置された線路上を列車が走行している状態である。
【０２２１】
出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。実施の形態２では、通常、表示手段に列車が線路上に停止している状態と列車が線路上を走行している状態とを表示することである。列車は、運行計画に基づいて駅での停止と駅間の走行とを交互に繰り返して始発駅から終着駅まで運行されるので、出力部２０５は、列車の運行における当該列車が停止している状態と走行している状態とをタイル上に表示する。
【０２２２】
出力部２０５は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部２０５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０２２３】
次に、列車運行出力装置２の出力動作について、図２０のフローチャートを用いて説明する。
【０２２４】
（ステップＳ２０１）受付部２０２は、時間の情報とタイルの情報を有する出力指示を受け付けたか否かを判断する。受付部２０２が出力指示を受け付けると（Ｓ２０１：Ｙ）、ステップＳ２０２に進み、受付部２０２が出力指示を受け付けなければ（Ｓ２０１：Ｎ）、ステップＳ２０１に戻る。
【０２２５】
（ステップＳ２０２）第１の列車識別子取得部２０３は、記録媒体に蓄積されている１または２以上の停止状態情報から、受付部２０２が受け付けたタイルのタイルＩＤと受付部２０２が受け付けた時間に停止時間帯を含む停止時間帯情報とに対応付けられた１または２以上の列車ＩＤを取得する。
【０２２６】
（ステップＳ２０３）第２の列車識別子取得部２０４は、記録媒体に蓄積されている１または２以上の走行状態情報から、受付部２０２が受け付けたタイルのタイルＩＤと受付部２０２が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とに対応付けられた１または２以上の列車ＩＤを取得する。
【０２２７】
（ステップＳ２０４）出力部１０７は、受付部１０４が受け付けた出力指示に含まれるタイルの情報を用いて、タイル格納部２０１から当該タイルの情報に対応するタイルを取得し、例えば、そのタイルの画像を列車運行出力装置２のディスプレイに表示する。
【０２２８】
（ステップＳ２０５）出力部２０５は、時間を計時する計時カウンタを受付部２０２が受け付けた時間を設定する。出力部２０５は、受付部２０２が受け付けた時間が時間幅を有する時間帯の場合は、時間幅の開始時刻を計時カウンタに設定する。
【０２２９】
（ステップＳ２０６）出力部２０５は、取得した全ての列車ＩＤに対応する列車の計時カウンタに設定されている時刻ｔにおけるタイル上の位置ｄ(t)を算出する。出力部２０５は、列車ＩＤに対応付けられている時刻ｔの移動関数Δ(t)を用いてタイル上の位置ｄ(t)を算出する。
【０２３０】
（ステップＳ２０７）出力部２０５は、列車ＩＤに対応付けられている列車のサイズなどの列車情報を用いて、タイル上に表示する列車の画像を作成し、タイル上の位置ｄ(t)に表示する。
【０２３１】
（ステップＳ２０８）出力部２０５は、計時カウンタを所定の時間だけ進める。所定の時間は、タイル上の列車の移動位置を更新するための時間ピッチである。
【０２３２】
（ステップＳ２０９）出力部２０５は、計時カウンタが所定の出力終了時間になったか否かを判別する。出力終了時間は、受付部２０２が受け付けた時間が時刻の場合は、予め決められた経過時間（例えば、５分間）であり、受付部２０２が受け付けた時間が時間帯の場合は、その時間帯の終了時間である。
【０２３３】
出力部２０５は、計時カウンタが所定の出力終了時間になっていなければ（Ｓ２０９：Ｎ）、ステップＳ２０６に戻って、タイル上に表示している列車の表示位置の更新処理を行い、計時カウンタが所定の出力終了時間になっていれば（Ｓ２０９：Ｙ）、出力処理を終了する。
【０２３４】
なお、図２０のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２３５】
図１９のフローチャートでは、取得した全ての列車ＩＤに対応する列車に対して、タイル上の出力位置を算出した後に全ての列車のタイル上への出力処理をしているが、各列車について、タイル上の出力位置を算出してタイル上に出力する処理を繰り返すようにしてもよい。
【０２３６】
（具体例）
次に、列車運行出力装置２による列車の運行状況の出力処理の具体例について説明する。
【０２３７】
まず、タイル格納部２０１に格納されているタイルの情報について説明する。
【０２３８】
タイル格納部２０１には、例えば、図２１に示すＧｏｏｇｌｅ（登録商標）  Ｍａｐｓのオンライン地図などに用いられている表示倍率の異なる多数の地図タイルが格納されている。
【０２３９】
表示倍率の異なる多数の地図タイルは、「ズームレベル」によって識別されるようになっている。ズームレベル０の地図タイルは、表示倍率１の地球地図全体の地図タイルである。「ズームレベルｎ」（ｎは１以上の整数）の地図タイルは、（２ｎ×２ｎ）個の地図タイルが正方陣を構成するように配置された地図タイル群となる。
【０２４０】
同一ズームレベルの複数の地図レベルは、正方陣内の配置によって識別される。具体的には、正方陣の左上隅に配置される地図タイルの位置を（０，０）とし、右横方向のタイル位置にｘの正方向座標を割り当て、下方向のタイル位置にｙの負方向座標を割り当てて、（ｘ，ｙ）の座標によって同一ズームレベルの複数の地図レベルは識別される。
【０２４１】
従って、表示倍率の異なる多数の地図タイルは、ズームレベルｎをｚ座標に割り当て、（ｚ，ｘ，ｙ）の座標によって識別される。各地図タイルには、「ｚ／ｘ／−ｙ」と表記されるタイル識別子が付されている。地図タイルに描かれる地図は、ＷＧＳ８４測地系（ＥＰＳＧ４３２６）を用いて測定された地図である。従って、地図タイル上の任意の位置は、緯度と経度で定義されている。
【０２４２】
地図タイルには、地図タイルに描かれた１以上の線路に対して、各線路を示す２以上の三次ベジエ曲線を連結した関数が設定されている。ベジエ曲線を用いた関数の内容については、インデックス情報生成装置１の具体例で説明したので、省略する。
【０２４３】
次に、地図タイルに表示する列車の画像について説明する。
【０２４４】
出力部２０５は、地図タイルの線路上を走行する列車の画像を、複数の車輌が連結された実際の列車を模した画像で出力する。このため、列車の画像は、図２２に示すように、複数の短冊状の車輌の画像ＧＣを連結した形状を有している。出力部２０５は、インデックス情報生成装置１の列車情報格納部１０３に格納されている列車情報に含まれる車輌に関する情報（図９参照）を用いて車輌の画像ＧＣを作成する。車輌の画像ＧＣには、２つの台車の位置を示す台車位置ＰＤＦ，ＰＤＲが設定されている。台車位置ＰＤＦは、前側の台車の位置であり、台車位置ＰＤＲは、後側の台車の位置である。複数の車輌を連結した車輌編成の先頭の車輌の台車位置ＰＤＦは、車輌編成の先頭位置であり、車輌編成の最後尾の車輌の台車位置ＰＤＲは、車輌編成の最後尾位置である。
【０２４５】
受付部２０２が、例えば、入力デバイスにより入力されたタイルの情報と時間帯の情報を有する出力指示を受け付けると、第１の列車識別子取得部２０３は、記録媒体に蓄積されているインデックス情報に含まれる停止状態情報から、受付部２０２が受け付けたタイルのタイル識別子と受付部２０２が受け付けた時間帯に停止時間帯を含む停止時間帯情報とに対応付けられた１または２以上の列車識別子を取得する。
【０２４６】
例えば、受付部２０２が受け付けたタイルの情報がタイルＭＴＡの場合、第１の列車識別子取得部２０３は、タイルＭＴＡの三次元のインデックス情報のうち、図２３に示すように、受付部２０２が受け付けた時間帯を含むタイムチャンクの三次元のインデックス情報を用いて、受付部２０２が受け付けた時間帯にタイルＭＴＡ上に停止している列車の列車識別子を取得する。図２３の例では、停止状態情報（図１４参照）を用いて、タイムチャンク１からタイムチャンクｎまでのｎ枚のタイルＭＴＡのインデックス情報にタイルＭＴＡ上に停止している列車の列車ＩＤが対応付けられている。第１の列車識別子取得部２０３は、タイムチャンク１〜ｎのｎ枚のタイルＭＴ１のインデックス情報から各タイルＭＴＡに対応付けられている、停止状態にある全ての列車の列車ＩＤを取得する。
【０２４７】
また、第２の列車識別子取得部２０４は、記録媒体に蓄積されている１または２以上の走行状態情報から、受付部２０２が受け付けたタイルのタイル識別子と受付部２０２が受け付けた時間に列車が存在する時間帯を含む存在時間帯情報とに対応付けられた１または２以上の列車識別子を取得する。
【０２４８】
図２３の例では、走行状態情報（図１６参照）を用いて、タイムチャンク１からタイムチャンクｎまでのｎ枚のタイルＭＴＡのインデックス情報にタイルＭＴＡ上を走行している列車の列車ＩＤが対応付けられている。第２の列車識別子取得部２０４は、タイムチャンク１〜ｎのｎ枚のタイルＭＴＡのインデックス情報から各タイルＭＴＡに対応付けられている、走行状態にある全ての列車の列車ＩＤを取得する。
【０２４９】
出力部１０７は、受付部１０４が受け付けた出力指示に含まれるタイルの情報を用いて、タイル格納部２０１から当該タイルの情報に対応するタイルを取得し、例えば、そのタイルの画像を列車運行出力装置２のディスプレイに表示する。例えば、受付部２０２が受け付けたタイルの情報がタイルＭＴＡの場合、出力部２０５は、図２４に示すように、タイルＭＴＡの画像をディスプレイに表示する。
【０２５０】
出力部２０５は、受付部２０２が受け付けた時間帯の開始時間ｔｓと、取得した全ての列車ＩＤに対応付けられている停止列車情報（図１１参照）とを用いて、各列車のタイル上の停止位置を算出する。なお、図１１に示す列車の停止位置は、列車Ｆの先頭車輌の停止位置であるので、出力部２０５は、当該列車Ｆの列車情報（図９参照）を用いて２輛目と３輛目の停止位置を算出する。
【０２５１】
また、出力部２０５は、受付部２０２が受け付けた時間帯の開始時間ｔｓと、取得した全ての列車ＩＤに対応付けられている走行列車情報（図１１参照）と、開始時間ｔｓを含む移動区間に対応付けられた移動関数Δ(t)とを用いて、各列車がタイル上を移動しているときの存在位置を算出する。この場合も、移動関数Δ(t)を用いた列車の移動位置は、列車Ｆの先頭車輌のタイル上の存在位置であるので、出力部２０５は、当該列車Ｆの列車情報（図９参照）を用いて２輛目と３輛目のタイル上の存在位置を算出する。
【０２５２】
そして、出力部２０５は、各列車ＩＤに対応する列車の画像（図２２参照）を作成し、その列車の画像を、図２４に示すように、各列車ＩＤ毎に算出したタイル上の停止位置又は存在位置に表示する。
【０２５３】
なお、図２４は、受付部２０２が受け付けた時間帯にタイルＭＴＡの路線Ｒ１を駅Ｓに向かって走行している列車の画像ＧＴＡと路線Ｒ２を駅Ｓに向かって走行している列車の画像ＧＴＢを表示した例である。駅Ｓに停止している列車がある場合は、その停止状態も表示されるが、タイルＭＴＡのズームレベルでは、駅Ｓの画像に列車の画像が隠れることになるので、実質的に表示されないことになる。
【０２５４】
出力部２０５は、開始時間ｔｓから所定の時間Δｔが経過すると、タイルＭＴＡに表示している全ての列車について、時刻（ｔｓ＋Δｔ）におけるタイル上の位置を算出し、タイルＭＴＡ上に存在する全ての列車の表示位置を更新する。列車が停止している場合は、タイルＭＴＡ上の位置が変化せず、その列車は同一位置に表示されるので、タイル上に列車が停止している状態が表示されることになる。
【０２５５】
出力部２０５は、タイルＭＴＡに存在する全ての列車について、受付部２０２が受け付けた時間帯の終了時間ｔｅまでタイルＭＴＡ上の列車位置の更新と表示位置の更新を繰り返す。この更新処理により、例えば、図２４の例では、列車の画像ＴＧＡと列車の画像ＧＴＢが駅Ｓに進入する様子が表示されることになる。
【０２５６】
以上説明したように、本実施の形態２の列車運行出力装置２によれば、ユーザが指示した時間にユーザが指示したタイル上に存在する列車の運行状況を表示する処理において、インデックス情報生成装置１が生成した三次元のインデックス情報を用いて、ユーザが指示した時間とタイルの条件を満たす１または２以上の列車だけを抽出した後、その列車について、列車の運行状況を表示する処理を行うので、迅速に列車の運行状況を表示することができる。
【０２５７】
また、タイルに配置された線路をベジエ曲線で表現するとともに、列車の画像を長さを有する列車の画像にしているで、タイル内の線路上を実際の列車の走行している状況を模した表示をすることができる。
【０２５８】
上記実施の形態１，２において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【０２５９】
また、上記実施の形態１，２において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０２６０】
また、上記実施の形態１におけるインデックス情報生成装置１を実現するソフトウェアは、以下のようなプログラムである。
【０２６１】
すなわち、コンピュータがアクセス可能な記録媒体は、線路の位置を規定する１以上の線路位置情報が格納される線路位置情報格納部と、線路上の位置であり、列車が停車し得る位置を示す１以上の線路停止位置情報が格納される線路停止位置情報格納部と、列車を識別する列車識別子と列車のサイズに関する情報とを含む１以上の列車情報が格納される列車情報格納部と、列車識別子を含み、当該列車識別子で識別される列車の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、を具備し、コンピュータを、１以上の線路位置情報と１以上の列車情報と１以上の運行情報とを用いて、列車が停止している状態を示す情報であり、線路が配置される平面を構成する矩形のブロックであるタイルを識別するタイル識別子と、当該タイル上の線路に存在する列車の列車識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成部と、１以上の線路位置情報と１以上の列車情報と１以上の運行情報とを用いて、列車が走行している状態を示す情報であり、線路が走行しているタイルを識別するタイル識別子と、当該タイル上の線路を走行している列車の列車識別子と、当該列車が当該タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生成部と、１以上の停止状態情報と１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積部として機能させるためのプログラムである。
【０２６２】
なお、上記プログラムにおいて、ハードウェアでしか行われない処理は少なくとも含まれない。また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、上記プログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【０２６３】
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。すなわち、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
【０２６４】
また、図２５は、上記のプログラムを実行して、上記実施の形態１のインデックス情報生成装置１を実現するコンピュータシステム９００の概観図である。上記実施の形態１は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
【０２６５】
図２５において、コンピュータシステム９００は、ＣＤ−ＲＯＭドライブ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０２６６】
図２６は、コンピュータシステム９００の内部構成を示す図である。図２６において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ（Ｍｉｃｒｏ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮやＷＡＮ等への接続を提供する図示しないネットワークカードを備えていてもよい。
【０２６７】
コンピュータシステム９００に、実施の形態１による列車位置出力装置１の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。また、ＣＤ−ＲＯＭ９２１に代えて他の記録媒体（例えば、ＤＶＤ等）を介して、プログラムがコンピュータシステム９００に読み込まれてもよい。
【０２６８】
プログラムは、コンピュータ９０１に、実施の形態１によるインデックス情報生成装置１の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０２６９】
上記の実施の形態では、地図タイルを用いて列車の運行状態を表示する処理に用いるためのインデックス情報を生成するインデックス情報生成装置１について説明したが、本発明に係るインデックス情報生成装置は、鉄道以外の、運行計画に基づいて運行されるバス、船舶、航空機などの移動体の運行状態を表示する処理に用いるためのインデックス情報を生成するインデックス情報生成装置にも広く適用することができる。
【０２７０】
つまり、上述した線路は、線路やバス等が走行する道路や船舶や航空機の航路等を含む走行路でも良い。また、上述した線路位置情報は、走行路の位置を規定する走行路位置情報も良い。また、上述した線路位置情報格納部は、走行路位置情報格納部でも良い。また、上述した列車識別子は、移動体識別子でも良い。
【０２７１】
よって、上述したインデックス情報生成装置は、例えば、走行路の位置を規定する１以上の走行路位置情報が格納される走行路位置情報格納部と、走行路上の位置であり、移動体が停車し得る位置を示す１以上の走行路停止位置情報が格納される走行路停止位置情報格納部と、移動体を識別する移動体識別子と移動体のサイズに関する情報とを含む１以上の移動体情報が格納される移動体情報格納部と、移動体識別子を含み、当該移動体識別子で識別される移動体の運行に関する情報である１以上の運行情報が格納される運行情報格納部と、前記１以上の走行路位置情報と前記１以上の走行路停止位置情報と前記１以上の移動体情報と前記１以上の運行情報とを用いて、移動体が停止している状態を示す情報であり、走行路が配置される領域（通常、平面である）を構成する矩形のブロックであるタイルを識別するタイル識別子と、当該タイル上の走行路に存在する移動体の移動体識別子と、停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成する停止状態情報生成部と、前記１以上の走行路位置情報と前記１以上の移動体情報と前記１以上の運行情報とを用いて、移動体が走行している状態を示す情報であり、走行路が走行しているタイルを識別するタイル識別子と、当該タイル上の走行路を走行している移動体の移動体識別子と、当該移動体が当該タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成する走行状態情報生成部と、前記１以上の停止状態情報と前記１以上の走行状態情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報蓄積部とを具備するインデックス情報生成装置である。
【０２７２】
また、上記インデックス情報生成装置において、前記１以上の走行路位置情報と前記１以上の運行情報とを用いて、前記タイル内での移動体の動きを特定する演算式である走行演算式と当該走行演算式で示される動きを行う時間帯を示す走行時間帯情報とを有する１以上の走行演算情報を生成する走行演算情報生成部をさらに具備し、前記インデックス情報蓄積部は、前記１以上の停止状態情報と前記１以上の走行状態情報と前記１以上の走行演算情報とを有するインデックス情報を記録媒体に蓄積するインデックス情報生成装置でも良い。
【０２７３】
また、上記インデックス情報生成装置において、前記走行路位置情報は、走行路上の点を示す情報であり、当該点を示す経度と緯度とを有する点情報、走行路を構成する線を識別するベジエ識別子と当該線の始点と終点と制御点とを有するベジエ曲線を示すベジエ曲線情報を有し、前記走行路停止位置情報は、ベジエ識別子と当該ベジエ識別子で識別されるベジエ曲線上における位置を示す曲線上位置情報とを有し、前記移動体情報は、移動体識別子と移動体の編成を示す編成情報と移動体の長さと移動体の幅と内車軸間距離と外車軸間距離とを有し、前記運行情報は、移動体識別子と、当該移動体の先頭車両の位置を示す先頭位置情報と、移動体が存在する１以上のベジエ識別子と、停止開始時刻と、停止終了時刻とを有する停止移動体情報、または移動体識別子と、当該移動体が存在する１以上のベジエ識別子と、移動開始時刻と、移動終了時刻と、移動開始時のベジエ曲線上における位置を示す移動開始曲線上位置情報と、移動終了時のベジエ曲線上における位置を示す移動終了曲線上位置情報と、通過点の位置を示す通過点位置情報と通過時刻とを有する通過情報とを有する走行移動体情報であっても良い。
【０２７４】
また、上記インデックス情報生成装置において、前記タイルは、前記走行路が描かれた地図を矩形のブロックで表現した地図タイルであっても良い。
【０２７５】
また、上記インデックス情報生成装置において、前記地図タイルは、世界地図を前記ブロックで表現したタイルである基準の地図タイルを１／（２ｎ×２ｎ）（ｎ：２以上の整数）に分割し、各分割領域に含まれる地図を前記ブロックのサイズに拡大して表現した地図タイルである、前記基準の地図タイルよりもズームレベルの高い２以上の地図タイルを有し、前記停止状態情報生成部は、前記１以上の走行路位置情報と前記１以上の走行路停止位置情報と前記１以上の移動体情報と前記１以上の運行情報とを用いて、前記２以上の地図タイルの中のいずれかの地図タイル上に停止している移動体の移動体識別子と、前記移動体が停止している地図タイルを識別する地図タイル識別子と、前記移動体が前記地図タイル識別子で識別される地図タイルに停止している停止時間帯を示す停止時間帯情報とを有する１以上の停止状態情報を生成し、前記走行状態情報生成部は、前記１以上の走行路位置情報と前記１以上の移動体情報と前記１以上の運行情報とを用いて、前記２以上の地図タイルの中のいずれかの地図タイル上に存在する移動体の移動体識別子と、前記移動体が存在する地図タイルを識別する地図タイル識別子と、前記移動体が前記地図タイル識別子で識別される地図タイル上に存在する時間帯を示す存在時間帯情報とを有する１以上の走行状態情報を生成するものでも良い。
【０２７６】
また、上述した列車運行出力装置は、上記インデックス情報生成装置が生成したインデックス情報を用いて、移動体の移動および停止を出力する移動体運行出力装置であって、１以上の前記タイルを格納し得るタイル格納部と、時間の情報と前記タイルの情報を受け付ける受付部と、前記１以上の停止状態情報から、前記受付部が受け付けたタイルのタイル識別子と前記受付部が受け付けた時間に前記停止時間帯を含む停止時間帯情報とに対応付けられた１以上の移動体識別子を取得する第１の移動体識別子取得部と、前記１以上の停止状態情報から、前記受付部が受け付けたタイルのタイル識別子と前記受付部が受け付けた時間に移動体が存在する時間帯を含む存在時間帯情報とに対応付けられた１以上の移動体識別子を取得する第２の移動体識別子取得部と、前記タイル格納部から前記受付部が受け付けたタイルのタイル識別子に対応するタイルを読み出し、そのタイルを用いて、前記第１の移動体識別子取得部が取得した移動体識別子に対応する１以上の移動体が前記停止時間帯に各移動体が走行する走行路上に停止している状態を出力するとともに、前記第２の移動体識別子取得部が取得した移動体識別子に対応する１以上の移動体が前記存在時間帯に各移動体が走行する走行路上を走行している状態を出力する出力部と、を具備する、移動体運行出力装置でも良い。
【０２７７】
図２７は、鉄道、バス、船舶、航空機などの移動体の運行状態を表示する処理に用いるためのインデックス情報を生成するインデックス情報生成装置１Ａのブロック図を示す図である。また、図２８は、インデックス情報生成装置１Ａが生成したインデックス情報を用いて、移動体の移動および停止を出力する移動体運行出力装置２Ａのブロック図である。
【０２７８】
図２７に示すインデックス情報生成装置１Ａは、図１に示すインデックス情報生成装置１のブロック図に対して、線路位置情報格納部１０１、線路停止位置情報格納部１０２及び列車情報格納部１０３をそれぞれ走行路位置情報格納部１１１、走行路停止位置情報格納部１１２、移動体情報格納部１１３に置き換えたものである。走行路位置情報格納部１１１、走行路停止位置情報格納部１１２、移動体情報格納部１１３の各部の基本的な機能は、上述した列車位置情報格納部１０１、列車停止位置情報格納部１０２、列車情報格納部１０３の各部の基本的な機能と同じであるので、詳細な説明は省略する。
【０２７９】
また、図２８に示すインデックス情報生成装置２Ａは、図１９に示す列車運行出力装置２のブロック図に対して、インデックス情報生成装置１を図２７に示すインデックス情報生成装置１Ａに置き換え、第１の列車識別子取得部２０３、第２の列車識別子取得部２０４をそれぞれ第１の移動体識別子取得部２１３、第２の移動体識別子取得部２１４に置き換えたものである。第１の移動体識別子取得部２１３、第２の移動体識別子取得部２１４の各部の基本的な機能は、上述した第１の列車識別子取得部２０３、第２の列車識別子取得部２０４の各部の基本的な機能と同じであるので、詳細な説明は省略する。
【０２８０】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２８１】
以上のように、本発明にかかるインデックス情報生成装置は、列車の運行状況を出力するための適切なインデックス情報を生成できるという効果を有し、インデックス情報生成装置等として有用である。
【符号の説明】
【０２８２】
１，１Ａ  インデックス情報生成装置
１０１  線路位置情報格納部
１０２  線路停止位置情報格納部
１０３  列車情報格納部
１０４  運行情報格納部
１０５  停止状態情報生成部
１０６  走行状態情報生成部
１０７  走行演算情報生成部
１０８  インデックス情報蓄積部
１１１  走行路位置情報格納部
１１２  走行路停止位置情報格納部
１１３  移動体情報格納部
２  列車運行出力装置
２Ａ  移動体運行出力装置
２０１  タイル格納部
２０２  受付部
２０３  第１の列車識別子取得部
２０４  第２の列車識別子取得部
２０５  出力部
２１３  第１の移動体識別子取得部
２１４  第２の移動体識別子取得部
【図１】
0006704603.tif 000002
【図２】
0006704603.tif 000003
【図３】
0006704603.tif 000004
【図４】
0006704603.tif 000005
【図５】
0006704603.tif 000006
【図６】
0006704603.tif 000007
【図７】
0006704603.tif 000008
【図８】
0006704603.tif 000009
【図９】
0006704603.tif 000010
【図１０】
0006704603.tif 000011
【図１１】
0006704603.tif 000012
【図１２】
0006704603.tif 000013
【図１３】
0006704603.tif 000014
【図１４】
0006704603.tif 000015
【図１５】
0006704603.tif 000016
【図１６】
0006704603.tif 000017
【図１７】
0006704603.tif 000018
【図１８】
0006704603.tif 000019
【図１９】
0006704603.tif 000020
【図２０】
0006704603.tif 000021
【図２１】
0006704603.tif 000022
【図２２】
0006704603.tif 000023
【図２３】
0006704603.tif 000024
【図２４】
0006704603.tif 000025
【図２５】
0006704603.tif 000026
【図２６】
0006704603.tif 000027
【図２７】
0006704603.tif 000028
【図２８】
0006704603.tif 000029