列車ダイヤ表示処理方法、列車ダイヤ表示処理システム、および列車ダイヤ表示処理プログラム

【課題】列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行する。
【解決手段】駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトを生成し格納する処理と、所定駅に関する駅構内の描画指示の有無検知と第3分割レイアウトにおける所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理と、所定駅に関する駅構内の描画指示が無く尚かつ駅間エリアに駅構内の描画要素があると検知した場合、所定駅に関連する駅間の第3分割レイアウトを読み出し隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理等とを実行する。
【解決手段】駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトを生成し格納する処理と、所定駅に関する駅構内の描画指示の有無検知と第3分割レイアウトにおける所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理と、所定駅に関する駅構内の描画指示が無く尚かつ駅間エリアに駅構内の描画要素があると検知した場合、所定駅に関連する駅間の第3分割レイアウトを読み出し隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理等とを実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、列車ダイヤ表示処理方法、列車ダイヤ表示処理システム、および列車ダイヤ表示処理プログラムに関するものであり、具体的には、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる技術に関する。
【背景技術】
【0002】
鉄道関係者らが利用する列車ダイヤ図は、一般的にそれを構成する情報量が膨大で、ディスプレイ等での表示サイズも大きくなることが多い。したがって、この列車ダイヤ図を情報処理装置で表示しようとした場合、ディスプレイやウィンドウなどでの所定の表示範囲に列車ダイヤ図が収まりきらないことがある。その場合、前記情報処理装置は、例えばスクロールバーやスクロールボックスによる表示範囲の変遷処理などを行うことで、ユーザからの表示要求に応えている。例えば、前記スクロールボックスにおける縦横2次元のうち、1次元は距離関係の軸を表示し、あと1次元は時間軸を示す。一般的に、列車ダイヤ図では、距離関係の次元として、列車ダイヤ図で示す各線区に対して駅の流れ(連なり)を示すものが広く使われている。
【0003】
こうした列車ダイヤ図には、列車情報として、時間軸における時間経過に応じて運行していく列車の軌跡を斜め線で表したものが記載される。一般的にこの斜め線は「スジ」と呼ばれる。この列車ダイヤ図にはさらに、列車運転状況を表す記号も記載される。これら列車ダイヤ図で表示される各種の列車情報は、駅間に関する情報および駅構内に関する情報に分かれる。以後の説明では、駅内で行う列車運転状態の変更、例えば列車が停車する番線、折り返しで利用する番線といった情報などに関する情報を「駅構内情報」と定義する。以下、前記駅構内情報の表示手法について一般的なものを参考として述べておく。
【0004】
(1)駅構内エリアの表示について
一般的に、上記で定義した駅構内情報を表示するため、駅構内ダイヤ図が広く使われている。この駅構内ダイヤ図において、縦横2次元のうち一方の1次元は時間経過を示し、他方の1次元は対象駅の番線を示す。以後の説明では、列車ダイヤ図の一部分として表示されている駅構内ダイヤ図の表示領域を、列車ダイヤ図での駅構内エリアと定義する。この駅構内エリアの例として図4での(6211)、(6214)、(6217)などが想定できる。
【0005】
(2)駅構内エリアの表示位置について
なお、列車ダイヤ図上に上記で定義した駅構内エリアを表示するには2種類の手法が従来からある。1つは、駅構内エリアを列車ダイヤ図上における固定位置で表示するもの(固定レイアウト)であり、他の1つは、駅構内エリアを列車ダイヤ図での対象駅の表示位置に合わせて表示するもの(可変レイアウト)となる。
【0006】
(3)固定レイアウト、可変レイアウトについて
上述のように駅構内エリアを固定位置で表示する方法がある。この場合、駅構内エリア表示用のウィンドウなどのレイアウトサイズは、表示する駅構内エリアの距離および時間帯によって予め決まっている。したがって列車ダイヤ図のレイアウトも固定レイアウトとなる。
【0007】
一方、駅構内エリアを固定位置で表示しない、可変レイアウトを採用した手法もある。この場合、駅構内エリアを対象駅の位置と合わせて繋ぎ、表示することになる。この手法では、駅構内エリアを列車ダイヤ図における途中位置に挿入し、複数の駅構内エリアを同時に表示することが可能である。また、列車ダイヤ図上に駅構内表示をするか否かはユーザが選択でき、駅構内エリアの表示数および駅構内エリアのサイズによって、レイアウトサイズは変化する。そのため列車ダイヤ図のレイアウトは可変レイアウトとなる。
【0008】
なお、表示処理技術として、文字や表示ウィンドウのサイズ設定などによって、レイアウトが変わる表示システムでも、少ない処理時間およびリソースで、高速かつ精度の良いスクロールバーの表示制御を実現する技術(特許文献1参照)などが提案されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−330700号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら上述したような従来の状況においてはいくつか課題があった。例えば、上述の「可変レイアウト」に関する課題として、以下のようなものがある。例えば、駅構内エリアの表示/非表示の切り替え、表示数の変更など各種レイアウト変更が実施される際、GUI処理に時間がかかり、列車ダイヤのGUIの反応が遅くなることがある。
【0011】
このようにGUI処理に時間がかかる理由としては、例えば、駅構内エリアの表示/非表示の変更に伴い、変更対象の駅構内エリアのサイズによって列車ダイヤ図全体のレイアウトサイズが変わることがある。こうした状況では、列車ダイヤ図全体のレイアウトサイズを予め計算しておくことはできず、実際に表示させる時に各描画要素をレイアウトしなおす必要がある。また、列車ダイヤ図の描画要素数が多ければ多いほど、そのレイアウト処理に時間かかるという問題も出てくる。なお、以後の説明において、列車ダイヤ図をディスプレイに表示するための必要な描画内容(例えば、直線描画、文字列描画、円描画、塗りつぶし円描画、多角形描画などが考えられる)に関してそれぞれを「描画要素」と定義する。
【0012】
また、他の課題として、駅構内エリア非表示の状態であっても、駅構内情報に関連する描画を列車ダイヤ図上に表示する場合の課題がある。例えば、ユーザが或る駅を選択し、その駅構内情報を表示させようとする際、該当駅表示の直下に駅構内情報に関する描画要素を表示することだけではなく、該当駅の線(距離方向の軸線=駅線)の位置上にも描画要素を追加したり、削除したりすることもある。こうした状況の例を図14に示す。図14における構内情報14120、14130は「折返し」の情報を示す描画である。この折返し情報は、駅構内エリアが非表示の状態でも表示されるものとなる。一方、この折返し情報を駅構内エリアにて表示する場合は、駅間のエリアから当該折り返し関連の描画を削除しなければならない。
【0013】
なお、列車ダイヤ図の表示を例えば駅毎に分割する方法として、駅線にて分割する方法が一般的である。この駅線は、列車ダイヤ図における該当駅の距離次元での位置を示している線を言う。図面14の例の駅線では(14140)、(14150)、(14160)の線がそれにあたる。
【0014】
例えば、全駅の駅構内エリアを表示するため、駅線を基準にした分割方法にて列車ダイヤ図を分割し、分割された列車ダイヤ図を駅構内エリアと組み合わせたとする。その場合、図面14の表示14210の例のように折返し描画14220、14230が表示されたまま組み合わせられるため、列車ダイヤとしては誤った、連続性のない表示となってしまう。
【0015】
また、他の課題として、駅間のエリアまたは、駅構内エリアを跨る描画がある場合に生じるものがあった。列車ダイヤ図の分割に際して、駅を基準して駅構内エリアと駅間エリアとで単純に分割することが考えられるが、駅間エリアまたは駅構内エリアを跨る記号、列車番号などの描画が発生することがある。この場合、前記跨る描画が前記駅間エリアまたは駅構内エリアで分割されてしまうため、前記記号や列車番号などの描画内容によっては、前記エリアを跨って組合せて再描画するのが困難となる場合もある。こうしたエリアを跨って組み合わせが困難な描画要素の例としては、例えば、図7における列車番号3110や、列車分割記号3120や、列車番号3130などがあげられる。例えば図7に例示する状況で、「B駅」の駅構内エリアを表示する場合、列車番号や列車分割記号等は割れて表示されることとなる。
【0016】
また、他の課題として、イベント発生に伴う再レイアウト処理の課題がある。例えば、列車情報の変更として、列車の時刻、列車の折り返し情報といったものの変更が生じた際に、該当の変更がなされた新たな列車情報を表示するための再レイアウト処理をすることがある。この場合やはり、GUI処理に時間がかかり、列車ダイヤ図のGUIの反応が遅くなるという問題も出てくる。
【0017】
一方、例えば上述の特許文献1に示す技術を適用しようとしても、そもそも列車ダイヤ図においてレイアウトを複数分割し、各レイアウトを跨る描画が存在するといった列車ダイヤ図特有の状況に対応できない。また、一般的に列車ダイヤ図の列車情報にはタグなどの表示用の区切り情報に相当するものがなく、適用ができない。
【0018】
そこで本発明の目的は、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる技術を提供することにある。
【課題を解決するための手段】
【0019】
上記課題を解決する本発明の列車ダイヤ表示処理方法は、列車ダイヤの表示処理を行う情報処理装置が、以下の処理A〜Eを実行するものである。すなわち、前記情報処理装置が、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aを実行する。
【0020】
また、前記情報処理装置が、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bを実行する。
【0021】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cを実行する。
【0022】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dを実行する。
【0023】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eを実行する。
【0024】
また、本発明の列車ダイヤ表示処理システムは、列車ダイヤの表示処理を行う情報処理装置であって、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する手段と、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する手段と、を備えることを特徴とする。
【0025】
また、本発明の列車ダイヤ表示処理プログラムは、列車ダイヤの表示処理を行う情報処理装置に、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、を実行させることを特徴とする。
【発明の効果】
【0026】
本発明によれば、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる。
【図面の簡単な説明】
【0027】
【図1】本実施形態における列車ダイヤ表示処理システムの構成図である。
【図2】本実施形態の列車ダイヤ表示処理方法の処理手順例1を示すフロー図である。
【図3】本実施形態の列車ダイヤ表示処理方法の処理手順例2を示すフロー図である。
【図4】本実施形態における分割レイアウト例を示す図である。
【図5】本実施形態における列車情報管理テーブルの例を示す図である。
【図6】本実施形態における表示管理テーブルの例を示す図である。
【図7】本実施形態の分割レイアウトを跨る描画要素例を示す図である。
【図8】本実施形態の列車ダイヤ表示処理例を示す図である。
【図9】本実施形態における作業エリア例を示す図である。
【図10】本実施形態における表示部品例を示す図である。
【図11】本実施形態の列車ダイヤ表示処理方法の処理手順例3を示す図である。
【図12】処理時間の比較結果を示す図である。
【図13】本実施形態の列車ダイヤ表示処理方法の処理手順例4を示す図である。
【図14】列車ダイヤ表示における従来の課題例を示す図である。
【発明を実施するための形態】
【0028】
−−−システム構成例−−−
以下、図面を適宜参照しつつ本発明の実施形態について説明する。図1は、列車ダイヤ表示処理システムの構成図である。本実施形態の列車ダイヤ表示処理システム200は、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる情報処理装置であり、PCやサーバなどの情報処理装置を想定する。以下、この列車ダイヤ表示処理システム200が備える構成、機能について説明する。
【0029】
前記列車ダイヤ表示処理システム200(以下、システム200)は、情報処理装置として当然備える、装置の制御やデータの計算・加工を行う中央演算処理装置であるCPU(Central Processing Unit)204と、データやプログラムを一時的に記憶しCPU204が直接読み書き可能であるメモリ203と、電源を切ってもデータやプログラムが消えないように保存する不揮発性の記憶部201と、ユーザに対しデータの計算・加工の結果をディスプレイなどに表示するための出力装置206と、ユーザからのキーボード入力やマウス入力などを受け付けるための入力装置205を具備したハードウェア構成をとる。前記CPU204は、記憶部201などに予め格納されているプログラム202を読み出して実行することで、本実施形態で必要な機能部を実装することになる。
【0030】
また、起動の際に前記システム200は前記記憶部201から、列車情報データ(列車情報管理テーブル2110より)、基礎情報データ(基礎情報管理テーブル2120より)、表示設定データ(表示設定情報管理テーブル2130より)を読み取る。これらデータは既存の列車ダイヤ表示システムでも利用されているものと同様である。なお、前記列車情報データは、例えば、列車番号情報、折り返しに際しての列車と列車のつなぎ情報、使用する番線情報、分割・併合情報などのデータである。また、前記基礎情報データ、各線区に関する線区内の駅の位置順序のデータである。また、前記表示設定データは、線区および線区の位置順序のデータである。他の例として、他の装置から、通信ネットワークを介して、これらのデータを取得してもよい。
【0031】
なお、描画要素管理テーブル2140およびGUI表示データ2150は、前記プログラム202が起動してから生成されるデータであるため、プログラム起動時にのみ管理される。従って、これらデータは読み書き可能な揮発メモリ(Volatile Memory)に格納してもよい。この揮発メモリとしては例えばRAM(Random Access Memory)が想定できる。また、前記GUI表示データ2150は、各種GUI関連のデータや、分割レイアウトにあたる。また、前記描要素画管理テーブル2140の構造例については後述する。
【0032】
また、前記システム200が保持する機能部としては、例えば、ダイヤ図表示部2220、GUI表示部2230、描画要素管理部2240がある。ここで前記GUI表示部2230は、GUIイベントの管理、GUI各部品の管理を行う、前記GUI部品としては、例えばスクロールバー、メニュー、ダイアログボックスなどが想定できる。またこのGUI表示部2230は、各分割レイアウトを前記GUI表示データ2150に格納する。各分割レイアウトを格納する際のデータ形式としては、(実施環境によって変わるが)Pixmap、JPG、Bitmapなどが想定できる。
【0033】
また、前記描画要素管理部2240は、後述する描画要素情報の計算(13140)を実施するため処理部である。また、前記ダイヤ図表示部2220は、本実施形態の分割列車ダイヤ表示処理(図2のフローに沿った処理)を実行する。そのため、前記GUI表示部2230、および描画要素管理部2240を必要に応じて実行することとなる。
【0034】
−−−処理例−−−
図2は本実施形態の列車ダイヤ表示処理方法の処理手順例1を示すフロー図であり、また、図3は本実施形態の列車ダイヤ表示処理方法の処理手順例2を示すフロー図である。以降、各処理については特段の断りがない限り、全てシステム200が実行するものとする。ここでは、前記処理手順例1のフロー図における、「各分割レイアウトを計算」するステップ(1110)について説明する。まず、第一ステップとして、前記ダイヤ図表示部2220が前記描画要素管理部2240を実行して、線区および駅の位置順序の各データを取得するステップ(図3、13110)を実行する。
【0035】
なお、このステップにおいて、前記ダイヤ図表示部2220により実行された前記描画要素管理部2240は、記憶部201から前記基礎データ、表示設定データ及び列車情報データを読み込むこととなる。描画要素管理部2240は、ここで読み込んだデータを前記描画要素管理テーブル2140に格納する。例えば、前記基礎データは、鉄道ネットワークの固定データである、例えば駅名称、駅間距離、番線名称、線区情報などを含む。また、前記表示設定データは、分割レイアウトの設定をするために必要な、例えば分割レイアウトで示す駅や列車の表示色、各フォントのサイズなどが含まれる。
【0036】
また、前記ダイヤ図表示部2220は、前記ステップ1110で得られた基礎データと表示設定情報をもとに各分割エリアのサイズを計算する。この場合、前記ダイヤ図表示部2220は、上記の位置順序のデータおよび表示設定データから、各分割レイアウトのパターン数及び各分割レイアウトのサイズに基づいて、出力画面での表示領域となる各分割レイアウトの映像エリア(例えば、矩形である分割レイアウトのサイズと、表示画面の座標系上での表示座標とからなるデータ)を特定し該当データを確保する(図3。13120)。この映像エリアの情報を格納するため、前記ダイヤ図表示部2220は前記GUI表示部2230を実行する。一方、前記GUI表示部2230は、GUI表示データ2150に前記映像エリアの情報を格納する。
【0037】
上記映像エリアに関する処理について以下に述べる。ところで、列車ダイヤ図上で駅構内エリア(駅構内の描画要素の集合)を非表示の状態でも、駅構内情報に関連した描画を列車ダイヤ図上に表示する場合(=駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とからなる)がある。本実施形態ではこの状況に的確に対応するため、駅構内エリアの表示状態により三つのパターンを想定している。前記ダイヤ図表示部2220は、前記各パターンによって複数の駅間エリア(=第1〜第3の分割レイアウト)を作成し、各エリアを個別に菅理する。図面4の例の第1分割レイアウトでは(4210)、(4213)、(4216)、(4219)がそれにあたる、第2分割レイアウトでは(4211)、(4214)、(4217)がそれにあたる。第3分割レイアウトでは(4212)、(4215)、(4218)がそれにあたる。
【0038】
図4において、「B駅」の駅線と「C駅」の駅線の間にある駅間エリアに対し、二つの分割レイアウトが作成されている例が示されている。図中の分割レイアウト6216は、「C駅」の駅構内エリアの表示をする際に表示される駅間エリアとなる。一方、分割レイアウト6218は、「C駅」の駅構内エリアの表示をしていない際に表示される駅間エリアとなる。
【0039】
続いて、前記三つのパターンそれぞれについて説明する。第一パターンは、駅構内エリアが非表示の状態の際に駅線上下に駅構内関連の描画要素がないパターンである(=第1〜第2分割レイアウトが対応可能なパターン)。また、第二パターンは、駅構内エリアが非表示の状態の際に駅線上に駅構内関連の描画要素があるパターンである(=第1〜第3分割レイアウトが対応可能なパターン)。また、第三パターンは、駅構内エリアが非表示の状態の際に駅線上下に駅構内関連の描画要素があるパターン(=第1〜第3分割レイアウトが対応可能なパターン)。
【0040】
前記第一パターンの場合、駅構内エリアの表示状況の変更によって線区トップエリア、一番下の線区とスクロールウィンドウ間のエリア、および駅間の表示が変わらないこととなる。従って、一つの列車ダイヤに対して1種類の分割レイアウトのみが必要となる。下記の式に従って分割レイアウトの数を計算できる。
・分割レイアウト数=線区トップエリア[1]*1+駅間数*1+線区間エリア数*1+一番下の線区とスクロールウィンドウ間のエリア[1]+駅構内数・・・(式1)
【0041】
一方、前記第二パターンの場合、駅構内エリアの表示状況によって、その駅線上の表示は異るので、線区トップエリアおよび駅間エリアを、駅構内エリア表示用及び駅構内エリア非表示用のため、各エリアで分割レイアウト二種類ずつが必要となる。従って、下記の式2に従って分割レイアウトの数を計算する。
・分割レイアウト数=線区トップエリア[1]*2+駅間数*2+線区間エリア数*2+一番下の線区とスクロールウィンドウ間のエリア[1]+駅構内数・・・(式2)
【0042】
また、前記第三パターンの場合、駅構内エリアの表示状況によって、その駅線上及び駅線下の表示は異なるので、駅間エリアを上位駅構内エリアの表示用及び非表示用、さらに下位駅構内エリアの表示用及び非表示用のため、各エリアで分割レイアウト四種類ずつが必要となる。従って、下記の式3に従って分割レイアウトの数を計算する。
・分割レイアウト数=線区トップエリア[1]*2+駅間数*4+線区間エリア数*4+一番下の線区とスクロールウィンドウ間のエリア[1]*2+駅構内数・・・(式3)
【0043】
上述の具体例として前記第二パターンについて、図4の状況下で分割レイアウト数の計算を行う場合を説明する。図4に示す列車ダイヤの分割レイアウト例では、一つの線区、三つの駅(A〜C各駅)に関する分割レイアウトのプランとなっている。該当線区において列車が進行する駅の順序は、A駅→B駅→C駅である。この場合、線区トップエリア、A駅とB駅の駅間エリア、B駅とC駅の駅間エリア、および一番下の線区とスクロールウィンドウ間のエリアの各エリア(分割レイアウトに対応)が想定できる。また、駅構内エリアとして、A駅構内エリア、B駅構内エリア、C駅構内エリアが想定できる。前記の式2にて分割レイアウトの数=エリアの数を計算すると下記に記載されている通り、分割レイアウト数は「10」となる。
・駅間数[2]*2+駅構内数[3]+線区トップエリア数[1]*2+線区間エリア数[0]*1+一番下の線区とスクロールウィンドウ間のエリア*1=10・・・(式4)
【0044】
各分割レイアウトのサイズについて、例えば、線区トップエリアのサイズ、駅間エリアのサイズ、線区間エリアのサイズ、一番下の線区とスクロールウィンドウ間のエリアのサイズは、予めユーザにより定義されており、前記表示設定データから取得するものとする。一方、駅構内エリアのサイズは番線数にて異なることがある。この場合、下記のような計算方法に基づいて駅構内エリアのサイズを計算する。
・駅構内エリアのサイズ=(番線数−1)*番線間のサイズ+上位余裕サイズ+下位余裕サイズ・・・(式5)
【0045】
駅間エリアや駅構内エリアに対応した分割レイアウトの数、サイズ等が上述のように得られたので、続いて、前記ダイヤ図表示部2220は、分割レイアウトへの時間軸、駅軸情報の追加処理を行う(図3、13130)。この場合、当該ステップ実行時において、前記分割レイアウトらは初期状態であって、時間軸の線、駅線、および番線の線をユーザが自由に設定できる。このステップまでで、時間に関する軸線、駅線、および番線の線が分割レイアウトに設定された。当然、ここで設定された軸線、駅線等の描画用データは、システム200で該当する分割レイアウトと紐付けて格納されることになる。
【0046】
次に、前記ダイヤ図表示部2220は、描画要素情報の計算を行う(図3、13140)。以下に当該ステップの具体例を述べる。なお、当該ステップ(13140)の説明のため、図5および図6を用いるものとする。
【0047】
この場合まず、描画要素管理部2240は、列車情報管理テーブル2110のデータを基にして描画要素管理テーブル2140のデータを算出する。列車情報管理テーブル2110の例として、図5にはいくつかの列車情報(1〜n)とそれを構成する列車情報項目4110を示している。この列車情報項目4110は、例えば、列車番号情報、時刻情報、折り返しの際に列車と列車のつなぎ情報、使用する番線情報、分割・併合情報などの情報が挙げられる。
【0048】
このような場合、前記描画要素管理部2240は、各列車情報の各列車情報項目4110の情報を列車ダイヤ表示上で表示する場合の、描画要素のサイズ、表示座標の算定などレイアウト計算を行う。この計算は、例えば、該当分割レイアウトの座標系において、時間の軸線や駅線、スジなどの配置位置との相対位置(例:○○時における○○駅の○○番線の描画上に列車番号を描画する場合、該当番線の表示座標と所定距離隔てた位置の座標を算定する)を算定し、各描画要素の表示座標とサイズといったデータを得る。ここで得たデータについては、該当列車に関する描画要素テーブル5210に設定する。このように、各描画要素を座標値で管理することにより、例えば、画面リフレッシュが必要な再表示処理時などには、列車情報管理テーブル2110などからの再レイアウト(これまでのステップ)をせず、座標値を管理している描画要素テーブル5210から必要な表示座標の値を得て、該当描画要素の画面表示を行うことになる。
【0049】
なお、上記で計算され、描画要素テーブル5210に設定されたデータを図6に沿って説明する。描画要素テーブル5210は、描画要素別パラメータデータ5212のデータを含む。このデータは、各描画要素の図形別による個別データである、例えば描画要素が正方形の場合は一辺の長さ、円形の場合は半径などとなる。また、前記描画要素テーブル5210は、分割レイアウトID5213を含んでいる。このデータは、該当描画要素をどの分割レイアウトに描くか、識別するための情報である、言い換えれば、どの分割レイアウトの次元(座標系)を元にその描画要素の座標が計算されたか、識別するための情報である。また、描画要素テーブル5210は、分割レイアウト跨り識別情報5215を含んでいる。このデータは、描画要素とそれを紐付ける分割レイアウトとの関係において、該当描画要素の全図形の表示座標が該当分割レイアウトの表示範囲に収まるかを示す識別情報である。つまり、分割レイアウトの表示座標が示す範囲に、描画要素の表示座標の範囲が収まらない場合、該当描画要素は分割レイアウト間を跨るものとなる。また、前記描画要素テーブル5210は、作業エリア識別情報5214を含んでいる。このデータは、後述するGUIイベント処理で設定されるデータである。
【0050】
次に、前記ダイヤ図表示部2220(ないし前記描画要素管理部2240)は、前記ステップ13140で必要なデータが得られた描画要素について、これを該当分割レイアウトに対して描画する(図3、13150)。なお、前記ステップ13140にて計算された各描画要素データには、描画対象の分割レイアウトを示す分割レイアウトIDが格納されている。従って、前記ダイヤ図表示部2220は、各描画要素についてどの分割レイアウトに描画すべきか、この分割レイアウトIDにて区別できる。こうして描画対象の分割レイアウトを特定した前記ダイヤ図表示部2220は、該当分割レイアウトに対し、分割レイアウト間を跨らない描画要素(=前記分割レイアウト跨り識別情報5215が、分割レイアウト間を跨ぐ描画要素で無いことを示すもの)を描画する(13140)。
【0051】
分割レイアウト間に跨る描画要素をこのステップで描画しないのは以下の理由からである。例えば、画面上で確保できる駅間エリアの表示サイズ(距離方向の幅)が所定値より狭く、該当駅間の分割レイアウトに表示する描画要素のサイズが所定値以上であれば、駅間エリアから前記描画要素がはみ出して、隣接する他の駅間の分割レイアウトにまで跨ることになる。分割レイアウト間を跨る描画要素の例として、図7を示す。この場合、A駅とB駅の分割レイアウトを跨る描画要素3120が存在している。このように、分割レイアウト間を跨る描画要素が存在する場合、駅構内エリアの表示・非表示の状況によって、分割レイアウトの表示は異なることになる。そのため、各分割レイアウトに対する固定表示の扱いはできない。従って、この段階で前記描画要素(分割レイアウト間を跨るもの)を分割レイアウトに描画することはできない。
【0052】
続いて、図2の処理フローに戻る。ここでは、前記GUI表示部2230が駅構内表示の状況を、例えば、前記記憶部201のGUI表示データ2150から取得する(1120)。駅構内表示の状況とは、入力装置205における所定駅に関する駅構内の描画指示が有るか無いかを示す情報となる。
【0053】
次に、前記GUI表示部2230が、列車ダイヤレイアウト作成(1130)を実行する。この処理について図8を用いて説明する。この場合、前記GUI表示部2230は、前記ステップ1120にて既に得ている駅構内表示の状況に応じて、分割レイアウトの組み合わせ処理を行う。例えばレイアウト例7410は、ユーザが全駅(A駅〜C駅)の構内情報を表示しようと指示している例となる。この時、前記GUI表示部2230は、各駅間に関する分割レイアウト7110、7120、7130、7140と、各駅構内に関する分割レイアウト7210、7220、7230とを組み合わせ、列車ダイヤレイアウトを作成することになる。この場合、ある駅間の分割レイアウトの下に該当駅構内の分割レイアウトを連接させ表示するといった処理を、各駅間について繰り返し行うこととなる。それにより得られる分割レイアウトの組み合わせ結果は、分割レイアウト7110−分割レイアウト7210−分割レイアウト7120−分割レイアウト7220−分割レイアウト7130−分割レイアウト7230−分割レイアウト7140といった列車ダイヤレイアウトとなる。
【0054】
一方、他のレイアウト例7420では、ユーザがA駅及びC駅の駅構内情報を非表示状態とし、B駅の駅構内情報を表示すると指定した状況となっている。この場合、前記GUI表示部2230は、B駅構内の分割レイアウト7220と、駅間の分割レイアウト7310、7330とを組み合わせる。B駅の駅構内情報は表示するよう指定されているので、A駅とB駅の間について、駅間の分割レイアウト7120も組み合わせることになる(例2)。この場合の分割レイアウトの組み合わせ結果は、分割レイアウト7310−分割レイアウト7120−分割レイアウト7220−分割レイアウト7330−分割レイアウト7340といった列車ダイヤレイアウトとなる。
【0055】
次に、前記GUI表示部2230は、分割レイアウトを跨る描画要素を、前記ステップ1130までで作成した列車ダイヤレイアウトに追加する(1140)。この場合、前記GUI表示部2230は、前記列車ダイヤレイアウトを構成する各分割レイアウトについて、分割レイアウト間を跨ぐ描画要素(=前記分割レイアウト跨り識別情報5215が、分割レイアウト間を跨ぐ描画要素であることを示すもの)を描画するのである。生成済みの列車ダイヤレイアウト上に前記分割レイアウト間を跨る描画要素を描画しているため、分割レイアウトが変化するようなことになっても、例えば、分割レイアウトの消長に伴って前記描画要素も分割されるといったことはない。
【0056】
なお、前記分割レイアウト間を跨る描画要素の座標値は、他の描画要素と同じ、列車ダイヤレイアウトの二次元座標系における座標値ではなく、対象の分割レイアウトにおける二次元座標系における座標値として記憶部201に記憶されている。従って、前記分割レイアウト間を跨る描画要素を、列車ダイヤレイアウト上に描画するために、列車ダイヤレイアウトの二次元座標系に座標値を換算する必要がある。この計算処理として、例えば、対象の分割レイアウトの座標系と、前記列車ダイヤレイアウトの座標系との間での座標値の差異を、前記分割レイアウト間を跨る描画要素の表示座標に加算する処理などが想定できる。
【0057】
一方、描画要素の表示座標は、対応する分割レイアウトでの座標系でのものとなるため、例えば、駅構内エリアの表示状況が変更されても、分割レイアウトと共に消長するだけあり、再レイアウトのための処理が必要ない。従って、駅構内エリアの表示状況に変更があっても高速な再表示処理を実現できる。
【0058】
続いて、前記ダイヤ図表示部2220は、出力装置206での描画画面内に配置された縦横のスクロールバーの現在位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能(前記GUI表示データ2150)より取得する(1150)。列車ダイヤ図など列車ダイヤレイアウトの表示範囲をユーザが操作する方法として、スクロールバーやスクロールボックスを利用する方法は一般的である。例えば、スクロールボックスにおける縦横2次元のうち、1次元は距離関係を表示し、あと1次元は時間の流れを示す。例えば、時刻軸は、標準で24時間分の時間帯に対応し、展開開始時刻が始発電車の時間前となっている設定例があげられる。この場合、例えば、4時30分を展開開始時刻としたならば、終了は次の日の4時30分となる。また、距離軸では駅名を表示し、該当線区の全駅を表示する。
【0059】
また、前記ダイヤ図表示部2220は、前記ステップ1150で取得したユーザ作業領域に含まれる、各分割レイアウト等の描画要素のデータを取得し、作業領域で表示する(1160)。
【0060】
前記ステップ1150、1160に関して図9を用いて更に説明する。一般的に、列車ダイヤレイアウトに記載されている列車情報は100本から1000本までのケースが多い。もし、そのような列車ダイヤレイアウトを画面表示すると、全列車情報を1枚の画面上に表示することとなる。その場合、ダイヤの本数によって、画面上で列車情報が見にくくなったり、描画要素が重なってしまうといったことがある。こうした状況を防ぐため、ユーザは列車ダイヤレイアウト8210の全体から一部のエリアだけを表示する。この一部のエリアは前記作業領域8110となる。
【0061】
なお、このステップ1160では、前記ステップ1150のステップにて取得したスクロールバーの位置、およびGUI表示データ2150から取得する表示拡大率の設定を用いて、列車ダイヤレイアウトの描画におけるユーザの作業領域の位置・サイズを特定し、前記列車ダイヤレイアウトの全体のうち前記作業領域に含まれる描画要素のデータを取得し表示する。
【0062】
−−−イベントに伴う表示処理−−−
上述までで説明した表示処理は、ユーザが列車ダイヤ表示処理プログラムを起動する際のシステム200での表示処理となる。一方、こうした起動時の初期表示処理以外にも、GUIのイベントに伴う再表示処理を行うことがある。この際、列車ダイヤレイアウトの再表示処理が実施される。
【0063】
こうしたGUIのイベントの例を図10を用いて説明する。例えば、ユーザがGUIにてA駅のエリア9310を選択して、その駅構内情報を表示させたり、或いは非表示にさせたりする際、駅構内エリアの表示変更イベントが発生する。また例えば、ユーザが横軸のスクールバー9210をクリックして、当該スクールバー9210を動かし、作業領域を移動させる際、作業領域の位置を変更するイベントが発生する。また例えば、GUIのメニュー9140にてユーザが時刻情報を変更した場合、ダイヤデータを変更するイベントが発生する。また例えば、ユーザが列車情報の線(スジ)9410を選択した場合、スジハイライト設定イベントが発生する。
【0064】
上記の駅構内エリアの表示変更イベント、ダイヤデータの変更イベント、および作業領域の位置変更イベント、に伴う再表示処理について図11を用いて説明する。駅構内エリアの表示変更イベントの場合、上述した駅構内エリアの表示・非表示の状況取得ステップ(前記ステップ1120)から改めて表示処理を実行し、再表示をすることによって、ユーザが指定した駅構内エリアの表示・非表示に対応する列車ダイヤレイアウトを出力することができる。ここで、駅構内エリアの表示イベントがある際に、従来通りの手法で列車ダイヤレイアウトの再レイアウトをした場合と、本実施形態により再表示を行った場合の各処理時間を、例として処理時間比較図(図12)のグラフと表にて示す。両者を比較すると、本実施形態の手法を適用すれば従来より処理時間を94%以上を短縮できることがわかる。
【0065】
また、ダイヤデータの変更イベントは、ユーザが列車情報をGUI表示データ2150にて変更する際に発生するイベントである。例えば、前記図10に示す例であれば、ユーザがメニュー9140をクリックし、表示されるダイアログボックスにて列車の出発時刻の変更をする場合に生じるイベントが想定できる。このイベントが発生する場合、変更前の列車情報に対して計算された描画要素の表示が不要になるため、前記描画要素管理部2240などが、対応する描画要素を、例えば描画要素テーブル5210から削除し(10130)、作業領域を表示する。また、対応する描画要素を描画要素テーブル5210から削除した後、「描画要素を各分割レイアウトに描く」(前記ステップ13150)処理から再び表示処理を実行することによって、作業領域の再表示処理ができる。なお、上記変更後の対象列車を表示するため、前記ダイヤ図表示部2220、GUI表示部2230、描画要素管理部2240のいずれかが、対象列車情報の描画要素を計算し(10160)、直接に前記作業領域に描く(10180)。この作業領域に直接に描く描画要素と、分割レイアウトに描く描画要素とを識別する方法としては、例えば、描画要素テーブル5210での情報に作業領域に設定する旨の識別情報を持たせる方法がある。或いは、作業領域用の描画要素のテーブルを別テーブルとして、メモリ上で管理する方法も想定できる。
【0066】
なお、上記ステップ10160で計算された描画要素は、列車情報の変更が確定されるまで、描画要素テーブル5210に追加しない。追加しない理由については下記に説明する。
【0067】
GUIの操作にて、ユーザが列車情報を連続的に変更させることがある、例えばドラッグ&ドロップ操作などがある。この場合、列車情報の変更をユーザが確定する(例:確定用のボタン押下など)まで、各変更に対する再表示処理を連続的に行う必要がある。もし各変更がある度に、ステップ13150以降の表示処理を行う場合、システム200は、該当の列車情報やその描画要素を遷移表示させながら、全体の列車ダイヤレイアウトの表示処理も行うため、ドラッグ操作のレスポンスが悪くなる課題がある。
【0068】
そこで、こうした連続的な列車情報の変更がなされる場合、上記の課題を解決するため、描画用データや分割レイアウトの生成、描画要素テーブル5210等への設定といった表示処理は、変更開始と変更確定の時点でのみ行う。変更開始と変更確定の時以外で変更がある場合、システム200は例えば、作業領域に該当描画要素を表示する。変更開始と変更確定の時点以外に前記表示処理を実行しないことで、変更が生じた列車情報に関する描画要素を変更毎に計算して描画要素テーブル5210等に追加するのではなく、変更確定まで作業領域に描画要素を描き(10180)、処理性能を向上できる。
【0069】
他方、前記変更が確定される場合、例えば、ドラッグ&ドロップの操作が終わる際に、変更が確定された列車情報に対する描画要素を描画要素テーブル5210等に追加し、前記描画要素の作業領域設定のための識別情報をクリアし、連続変更の表示処理を終了する(10170)。
【0070】
一方、作業領域を変更イベントでは、ユーザが横軸のスクロールバーまたは縦軸のスクロールバーにて列車ダイヤレイアウト等に対する作業領域の位置を変更する際に発生するイベントである。この場合、ユーザが表示したい作業エリアの位置のみが変更となるため、前記システム200は、表示処理として「作業エリアの位置を取得」(1150)および「作業エリアに該当する列車ダイヤレイアウトの分を取得、表示」(1160)を実行することによって、作業領域を表示できる。
【0071】
なお、列車ダイヤレイアウトのスジハイライト変更およびアニメーション設定変更イベントに伴う再表示制御処理のフローを図13に示す。ここで例えば、列車ダイヤレイアウトの描画上にてアニメーションを表示する場合(=例えば列車ダイヤレイアウトにあるスジを点滅表示)、連続的に対象の描画要素を変更し、変更する度に描画要素を表示することとなる。
【0072】
また、列車ダイヤレイアウトでの列車線のハイライトについて、ユーザはGUIにて列車情報を変更(例えば列車時刻の変更、列車の複写)する場合、その変更対象の列車線を選択する。システム200は、ユーザが選択した列車線をハイライト表示することによってユーザが変更対象を識別しやすくする。
【0073】
なお、本実施形態では、前記スジハイライト、または、アニメーションの表示方法として、列車ダイヤレイアウトを作成して表示するのではなく、作業領域に該当描画要素を描いて表示する処理を採用している。その理由は以下に示す。例えば、アニメーションを表示する場合、上記に説明した、連続的に描画要素の変更が行われるため、その一回一回の変更に伴って列車ダイヤレイアウトを変更すると、表示処理が重くなる。なお、ハイライトの描画要素ではスジを選択されている瞬間しか使用しない、且つ、頻繁にユーザがGUI操作にて選択対象列車を変更することもあるため、頻繁にハイライトに関する描画要素変更が発生する。従って、変更の度にハイライトにて列車ダイヤレイアウトを変更すると表示処理が重くなる。
【0074】
上記課題は、ハイライト変更およびアニメーションの表示処理を直接に作業領域に描くことによって解決できる。システム200は、スジハイライトまたはアニメーションの描画要素を計算し(11120)、作業領域に描画要素を描く(10180)。
【0075】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0076】
こうした本実施形態によれば、駅構内エリアの表示状況の変更によって列車ダイヤ図のレイアウトサイズが変わったとしても、各分割レイアウトのサイズ変更が生じず、また、分割レイアウトに対する各描画要素の座標変更等が発生しない。すなわち駅構内エリアの表示状況の変更はあっても、再レイアウト処理が必要とならないため、列車ダイヤ図のGUI処理に関して高速処理を実現できる。また、ドラッグ&ドロップなど列車情報を連続的に変更する状況があっても、変更された列車情報に対する描画要素のみをレイアウトすることになるため、列車ダイヤ図のGUI処理を高速なものとできる。
【0077】
したがって、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる。
【0078】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記列車ダイヤ表示処理方法において、前記情報処理装置が、前記処理B〜処理Eの少なくともいずれかを実行した後、前記記憶部の各分割レイアウトにおいて、駅間を跨って描画される設定がされた描画要素を検索し、ここで検索された描画要素を、前記連結された分割レイアウト群の描画上に追加描画する処理を実行するとしてもよい。
【0079】
また、前記列車ダイヤ表示処理方法において、前記情報処理装置が、出力装置での描画画面内の縦横のスクロールバー位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能より取得し、ここで取得したユーザ作業領域に含まれる描画要素について前記処理B〜処理Eのいずれかを実行する、としてもよい。
【0080】
また、前記列車ダイヤ表示処理方法において、前記情報処理装置が、出力装置にて既に描画されている各レイアウトの描画要素について、その描画位置の移動操作を入力装置で受けた場合、該当描画要素以外の描画要素については変更せず、該当描画要素に関して登録されていた表示座標のデータを記憶部にて一旦消去し、前記移動操作に伴ってレイアウト上での描画位置が遷移する前記描画要素の座標についてGUI機能より取得し、この座標を作業用の記憶領域に格納し、入力装置で位置確定の指示を受けた場合に、前記記憶領域の座標値を該当レイアウトにおける前記描画要素の表示座標として設定する、としてもよい。
【符号の説明】
【0081】
200 列車ダイヤ表示処理システム
201 記憶部
202 プログラム
203 メモリ
204 CPU
205 入力装置
206 出力装置(表示装置)
2110 列車情報管理テーブル
2140 描画要素管理テーブル
2150 GUI表示データ
2220 ダイヤ図表示部
2240 描画要素管理部
【技術分野】
【0001】
本発明は、列車ダイヤ表示処理方法、列車ダイヤ表示処理システム、および列車ダイヤ表示処理プログラムに関するものであり、具体的には、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる技術に関する。
【背景技術】
【0002】
鉄道関係者らが利用する列車ダイヤ図は、一般的にそれを構成する情報量が膨大で、ディスプレイ等での表示サイズも大きくなることが多い。したがって、この列車ダイヤ図を情報処理装置で表示しようとした場合、ディスプレイやウィンドウなどでの所定の表示範囲に列車ダイヤ図が収まりきらないことがある。その場合、前記情報処理装置は、例えばスクロールバーやスクロールボックスによる表示範囲の変遷処理などを行うことで、ユーザからの表示要求に応えている。例えば、前記スクロールボックスにおける縦横2次元のうち、1次元は距離関係の軸を表示し、あと1次元は時間軸を示す。一般的に、列車ダイヤ図では、距離関係の次元として、列車ダイヤ図で示す各線区に対して駅の流れ(連なり)を示すものが広く使われている。
【0003】
こうした列車ダイヤ図には、列車情報として、時間軸における時間経過に応じて運行していく列車の軌跡を斜め線で表したものが記載される。一般的にこの斜め線は「スジ」と呼ばれる。この列車ダイヤ図にはさらに、列車運転状況を表す記号も記載される。これら列車ダイヤ図で表示される各種の列車情報は、駅間に関する情報および駅構内に関する情報に分かれる。以後の説明では、駅内で行う列車運転状態の変更、例えば列車が停車する番線、折り返しで利用する番線といった情報などに関する情報を「駅構内情報」と定義する。以下、前記駅構内情報の表示手法について一般的なものを参考として述べておく。
【0004】
(1)駅構内エリアの表示について
一般的に、上記で定義した駅構内情報を表示するため、駅構内ダイヤ図が広く使われている。この駅構内ダイヤ図において、縦横2次元のうち一方の1次元は時間経過を示し、他方の1次元は対象駅の番線を示す。以後の説明では、列車ダイヤ図の一部分として表示されている駅構内ダイヤ図の表示領域を、列車ダイヤ図での駅構内エリアと定義する。この駅構内エリアの例として図4での(6211)、(6214)、(6217)などが想定できる。
【0005】
(2)駅構内エリアの表示位置について
なお、列車ダイヤ図上に上記で定義した駅構内エリアを表示するには2種類の手法が従来からある。1つは、駅構内エリアを列車ダイヤ図上における固定位置で表示するもの(固定レイアウト)であり、他の1つは、駅構内エリアを列車ダイヤ図での対象駅の表示位置に合わせて表示するもの(可変レイアウト)となる。
【0006】
(3)固定レイアウト、可変レイアウトについて
上述のように駅構内エリアを固定位置で表示する方法がある。この場合、駅構内エリア表示用のウィンドウなどのレイアウトサイズは、表示する駅構内エリアの距離および時間帯によって予め決まっている。したがって列車ダイヤ図のレイアウトも固定レイアウトとなる。
【0007】
一方、駅構内エリアを固定位置で表示しない、可変レイアウトを採用した手法もある。この場合、駅構内エリアを対象駅の位置と合わせて繋ぎ、表示することになる。この手法では、駅構内エリアを列車ダイヤ図における途中位置に挿入し、複数の駅構内エリアを同時に表示することが可能である。また、列車ダイヤ図上に駅構内表示をするか否かはユーザが選択でき、駅構内エリアの表示数および駅構内エリアのサイズによって、レイアウトサイズは変化する。そのため列車ダイヤ図のレイアウトは可変レイアウトとなる。
【0008】
なお、表示処理技術として、文字や表示ウィンドウのサイズ設定などによって、レイアウトが変わる表示システムでも、少ない処理時間およびリソースで、高速かつ精度の良いスクロールバーの表示制御を実現する技術(特許文献1参照)などが提案されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−330700号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら上述したような従来の状況においてはいくつか課題があった。例えば、上述の「可変レイアウト」に関する課題として、以下のようなものがある。例えば、駅構内エリアの表示/非表示の切り替え、表示数の変更など各種レイアウト変更が実施される際、GUI処理に時間がかかり、列車ダイヤのGUIの反応が遅くなることがある。
【0011】
このようにGUI処理に時間がかかる理由としては、例えば、駅構内エリアの表示/非表示の変更に伴い、変更対象の駅構内エリアのサイズによって列車ダイヤ図全体のレイアウトサイズが変わることがある。こうした状況では、列車ダイヤ図全体のレイアウトサイズを予め計算しておくことはできず、実際に表示させる時に各描画要素をレイアウトしなおす必要がある。また、列車ダイヤ図の描画要素数が多ければ多いほど、そのレイアウト処理に時間かかるという問題も出てくる。なお、以後の説明において、列車ダイヤ図をディスプレイに表示するための必要な描画内容(例えば、直線描画、文字列描画、円描画、塗りつぶし円描画、多角形描画などが考えられる)に関してそれぞれを「描画要素」と定義する。
【0012】
また、他の課題として、駅構内エリア非表示の状態であっても、駅構内情報に関連する描画を列車ダイヤ図上に表示する場合の課題がある。例えば、ユーザが或る駅を選択し、その駅構内情報を表示させようとする際、該当駅表示の直下に駅構内情報に関する描画要素を表示することだけではなく、該当駅の線(距離方向の軸線=駅線)の位置上にも描画要素を追加したり、削除したりすることもある。こうした状況の例を図14に示す。図14における構内情報14120、14130は「折返し」の情報を示す描画である。この折返し情報は、駅構内エリアが非表示の状態でも表示されるものとなる。一方、この折返し情報を駅構内エリアにて表示する場合は、駅間のエリアから当該折り返し関連の描画を削除しなければならない。
【0013】
なお、列車ダイヤ図の表示を例えば駅毎に分割する方法として、駅線にて分割する方法が一般的である。この駅線は、列車ダイヤ図における該当駅の距離次元での位置を示している線を言う。図面14の例の駅線では(14140)、(14150)、(14160)の線がそれにあたる。
【0014】
例えば、全駅の駅構内エリアを表示するため、駅線を基準にした分割方法にて列車ダイヤ図を分割し、分割された列車ダイヤ図を駅構内エリアと組み合わせたとする。その場合、図面14の表示14210の例のように折返し描画14220、14230が表示されたまま組み合わせられるため、列車ダイヤとしては誤った、連続性のない表示となってしまう。
【0015】
また、他の課題として、駅間のエリアまたは、駅構内エリアを跨る描画がある場合に生じるものがあった。列車ダイヤ図の分割に際して、駅を基準して駅構内エリアと駅間エリアとで単純に分割することが考えられるが、駅間エリアまたは駅構内エリアを跨る記号、列車番号などの描画が発生することがある。この場合、前記跨る描画が前記駅間エリアまたは駅構内エリアで分割されてしまうため、前記記号や列車番号などの描画内容によっては、前記エリアを跨って組合せて再描画するのが困難となる場合もある。こうしたエリアを跨って組み合わせが困難な描画要素の例としては、例えば、図7における列車番号3110や、列車分割記号3120や、列車番号3130などがあげられる。例えば図7に例示する状況で、「B駅」の駅構内エリアを表示する場合、列車番号や列車分割記号等は割れて表示されることとなる。
【0016】
また、他の課題として、イベント発生に伴う再レイアウト処理の課題がある。例えば、列車情報の変更として、列車の時刻、列車の折り返し情報といったものの変更が生じた際に、該当の変更がなされた新たな列車情報を表示するための再レイアウト処理をすることがある。この場合やはり、GUI処理に時間がかかり、列車ダイヤ図のGUIの反応が遅くなるという問題も出てくる。
【0017】
一方、例えば上述の特許文献1に示す技術を適用しようとしても、そもそも列車ダイヤ図においてレイアウトを複数分割し、各レイアウトを跨る描画が存在するといった列車ダイヤ図特有の状況に対応できない。また、一般的に列車ダイヤ図の列車情報にはタグなどの表示用の区切り情報に相当するものがなく、適用ができない。
【0018】
そこで本発明の目的は、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる技術を提供することにある。
【課題を解決するための手段】
【0019】
上記課題を解決する本発明の列車ダイヤ表示処理方法は、列車ダイヤの表示処理を行う情報処理装置が、以下の処理A〜Eを実行するものである。すなわち、前記情報処理装置が、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aを実行する。
【0020】
また、前記情報処理装置が、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bを実行する。
【0021】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cを実行する。
【0022】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dを実行する。
【0023】
また、前記情報処理装置が、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eを実行する。
【0024】
また、本発明の列車ダイヤ表示処理システムは、列車ダイヤの表示処理を行う情報処理装置であって、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する手段と、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する手段と、を備えることを特徴とする。
【0025】
また、本発明の列車ダイヤ表示処理プログラムは、列車ダイヤの表示処理を行う情報処理装置に、列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、を実行させることを特徴とする。
【発明の効果】
【0026】
本発明によれば、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる。
【図面の簡単な説明】
【0027】
【図1】本実施形態における列車ダイヤ表示処理システムの構成図である。
【図2】本実施形態の列車ダイヤ表示処理方法の処理手順例1を示すフロー図である。
【図3】本実施形態の列車ダイヤ表示処理方法の処理手順例2を示すフロー図である。
【図4】本実施形態における分割レイアウト例を示す図である。
【図5】本実施形態における列車情報管理テーブルの例を示す図である。
【図6】本実施形態における表示管理テーブルの例を示す図である。
【図7】本実施形態の分割レイアウトを跨る描画要素例を示す図である。
【図8】本実施形態の列車ダイヤ表示処理例を示す図である。
【図9】本実施形態における作業エリア例を示す図である。
【図10】本実施形態における表示部品例を示す図である。
【図11】本実施形態の列車ダイヤ表示処理方法の処理手順例3を示す図である。
【図12】処理時間の比較結果を示す図である。
【図13】本実施形態の列車ダイヤ表示処理方法の処理手順例4を示す図である。
【図14】列車ダイヤ表示における従来の課題例を示す図である。
【発明を実施するための形態】
【0028】
−−−システム構成例−−−
以下、図面を適宜参照しつつ本発明の実施形態について説明する。図1は、列車ダイヤ表示処理システムの構成図である。本実施形態の列車ダイヤ表示処理システム200は、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる情報処理装置であり、PCやサーバなどの情報処理装置を想定する。以下、この列車ダイヤ表示処理システム200が備える構成、機能について説明する。
【0029】
前記列車ダイヤ表示処理システム200(以下、システム200)は、情報処理装置として当然備える、装置の制御やデータの計算・加工を行う中央演算処理装置であるCPU(Central Processing Unit)204と、データやプログラムを一時的に記憶しCPU204が直接読み書き可能であるメモリ203と、電源を切ってもデータやプログラムが消えないように保存する不揮発性の記憶部201と、ユーザに対しデータの計算・加工の結果をディスプレイなどに表示するための出力装置206と、ユーザからのキーボード入力やマウス入力などを受け付けるための入力装置205を具備したハードウェア構成をとる。前記CPU204は、記憶部201などに予め格納されているプログラム202を読み出して実行することで、本実施形態で必要な機能部を実装することになる。
【0030】
また、起動の際に前記システム200は前記記憶部201から、列車情報データ(列車情報管理テーブル2110より)、基礎情報データ(基礎情報管理テーブル2120より)、表示設定データ(表示設定情報管理テーブル2130より)を読み取る。これらデータは既存の列車ダイヤ表示システムでも利用されているものと同様である。なお、前記列車情報データは、例えば、列車番号情報、折り返しに際しての列車と列車のつなぎ情報、使用する番線情報、分割・併合情報などのデータである。また、前記基礎情報データ、各線区に関する線区内の駅の位置順序のデータである。また、前記表示設定データは、線区および線区の位置順序のデータである。他の例として、他の装置から、通信ネットワークを介して、これらのデータを取得してもよい。
【0031】
なお、描画要素管理テーブル2140およびGUI表示データ2150は、前記プログラム202が起動してから生成されるデータであるため、プログラム起動時にのみ管理される。従って、これらデータは読み書き可能な揮発メモリ(Volatile Memory)に格納してもよい。この揮発メモリとしては例えばRAM(Random Access Memory)が想定できる。また、前記GUI表示データ2150は、各種GUI関連のデータや、分割レイアウトにあたる。また、前記描要素画管理テーブル2140の構造例については後述する。
【0032】
また、前記システム200が保持する機能部としては、例えば、ダイヤ図表示部2220、GUI表示部2230、描画要素管理部2240がある。ここで前記GUI表示部2230は、GUIイベントの管理、GUI各部品の管理を行う、前記GUI部品としては、例えばスクロールバー、メニュー、ダイアログボックスなどが想定できる。またこのGUI表示部2230は、各分割レイアウトを前記GUI表示データ2150に格納する。各分割レイアウトを格納する際のデータ形式としては、(実施環境によって変わるが)Pixmap、JPG、Bitmapなどが想定できる。
【0033】
また、前記描画要素管理部2240は、後述する描画要素情報の計算(13140)を実施するため処理部である。また、前記ダイヤ図表示部2220は、本実施形態の分割列車ダイヤ表示処理(図2のフローに沿った処理)を実行する。そのため、前記GUI表示部2230、および描画要素管理部2240を必要に応じて実行することとなる。
【0034】
−−−処理例−−−
図2は本実施形態の列車ダイヤ表示処理方法の処理手順例1を示すフロー図であり、また、図3は本実施形態の列車ダイヤ表示処理方法の処理手順例2を示すフロー図である。以降、各処理については特段の断りがない限り、全てシステム200が実行するものとする。ここでは、前記処理手順例1のフロー図における、「各分割レイアウトを計算」するステップ(1110)について説明する。まず、第一ステップとして、前記ダイヤ図表示部2220が前記描画要素管理部2240を実行して、線区および駅の位置順序の各データを取得するステップ(図3、13110)を実行する。
【0035】
なお、このステップにおいて、前記ダイヤ図表示部2220により実行された前記描画要素管理部2240は、記憶部201から前記基礎データ、表示設定データ及び列車情報データを読み込むこととなる。描画要素管理部2240は、ここで読み込んだデータを前記描画要素管理テーブル2140に格納する。例えば、前記基礎データは、鉄道ネットワークの固定データである、例えば駅名称、駅間距離、番線名称、線区情報などを含む。また、前記表示設定データは、分割レイアウトの設定をするために必要な、例えば分割レイアウトで示す駅や列車の表示色、各フォントのサイズなどが含まれる。
【0036】
また、前記ダイヤ図表示部2220は、前記ステップ1110で得られた基礎データと表示設定情報をもとに各分割エリアのサイズを計算する。この場合、前記ダイヤ図表示部2220は、上記の位置順序のデータおよび表示設定データから、各分割レイアウトのパターン数及び各分割レイアウトのサイズに基づいて、出力画面での表示領域となる各分割レイアウトの映像エリア(例えば、矩形である分割レイアウトのサイズと、表示画面の座標系上での表示座標とからなるデータ)を特定し該当データを確保する(図3。13120)。この映像エリアの情報を格納するため、前記ダイヤ図表示部2220は前記GUI表示部2230を実行する。一方、前記GUI表示部2230は、GUI表示データ2150に前記映像エリアの情報を格納する。
【0037】
上記映像エリアに関する処理について以下に述べる。ところで、列車ダイヤ図上で駅構内エリア(駅構内の描画要素の集合)を非表示の状態でも、駅構内情報に関連した描画を列車ダイヤ図上に表示する場合(=駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とからなる)がある。本実施形態ではこの状況に的確に対応するため、駅構内エリアの表示状態により三つのパターンを想定している。前記ダイヤ図表示部2220は、前記各パターンによって複数の駅間エリア(=第1〜第3の分割レイアウト)を作成し、各エリアを個別に菅理する。図面4の例の第1分割レイアウトでは(4210)、(4213)、(4216)、(4219)がそれにあたる、第2分割レイアウトでは(4211)、(4214)、(4217)がそれにあたる。第3分割レイアウトでは(4212)、(4215)、(4218)がそれにあたる。
【0038】
図4において、「B駅」の駅線と「C駅」の駅線の間にある駅間エリアに対し、二つの分割レイアウトが作成されている例が示されている。図中の分割レイアウト6216は、「C駅」の駅構内エリアの表示をする際に表示される駅間エリアとなる。一方、分割レイアウト6218は、「C駅」の駅構内エリアの表示をしていない際に表示される駅間エリアとなる。
【0039】
続いて、前記三つのパターンそれぞれについて説明する。第一パターンは、駅構内エリアが非表示の状態の際に駅線上下に駅構内関連の描画要素がないパターンである(=第1〜第2分割レイアウトが対応可能なパターン)。また、第二パターンは、駅構内エリアが非表示の状態の際に駅線上に駅構内関連の描画要素があるパターンである(=第1〜第3分割レイアウトが対応可能なパターン)。また、第三パターンは、駅構内エリアが非表示の状態の際に駅線上下に駅構内関連の描画要素があるパターン(=第1〜第3分割レイアウトが対応可能なパターン)。
【0040】
前記第一パターンの場合、駅構内エリアの表示状況の変更によって線区トップエリア、一番下の線区とスクロールウィンドウ間のエリア、および駅間の表示が変わらないこととなる。従って、一つの列車ダイヤに対して1種類の分割レイアウトのみが必要となる。下記の式に従って分割レイアウトの数を計算できる。
・分割レイアウト数=線区トップエリア[1]*1+駅間数*1+線区間エリア数*1+一番下の線区とスクロールウィンドウ間のエリア[1]+駅構内数・・・(式1)
【0041】
一方、前記第二パターンの場合、駅構内エリアの表示状況によって、その駅線上の表示は異るので、線区トップエリアおよび駅間エリアを、駅構内エリア表示用及び駅構内エリア非表示用のため、各エリアで分割レイアウト二種類ずつが必要となる。従って、下記の式2に従って分割レイアウトの数を計算する。
・分割レイアウト数=線区トップエリア[1]*2+駅間数*2+線区間エリア数*2+一番下の線区とスクロールウィンドウ間のエリア[1]+駅構内数・・・(式2)
【0042】
また、前記第三パターンの場合、駅構内エリアの表示状況によって、その駅線上及び駅線下の表示は異なるので、駅間エリアを上位駅構内エリアの表示用及び非表示用、さらに下位駅構内エリアの表示用及び非表示用のため、各エリアで分割レイアウト四種類ずつが必要となる。従って、下記の式3に従って分割レイアウトの数を計算する。
・分割レイアウト数=線区トップエリア[1]*2+駅間数*4+線区間エリア数*4+一番下の線区とスクロールウィンドウ間のエリア[1]*2+駅構内数・・・(式3)
【0043】
上述の具体例として前記第二パターンについて、図4の状況下で分割レイアウト数の計算を行う場合を説明する。図4に示す列車ダイヤの分割レイアウト例では、一つの線区、三つの駅(A〜C各駅)に関する分割レイアウトのプランとなっている。該当線区において列車が進行する駅の順序は、A駅→B駅→C駅である。この場合、線区トップエリア、A駅とB駅の駅間エリア、B駅とC駅の駅間エリア、および一番下の線区とスクロールウィンドウ間のエリアの各エリア(分割レイアウトに対応)が想定できる。また、駅構内エリアとして、A駅構内エリア、B駅構内エリア、C駅構内エリアが想定できる。前記の式2にて分割レイアウトの数=エリアの数を計算すると下記に記載されている通り、分割レイアウト数は「10」となる。
・駅間数[2]*2+駅構内数[3]+線区トップエリア数[1]*2+線区間エリア数[0]*1+一番下の線区とスクロールウィンドウ間のエリア*1=10・・・(式4)
【0044】
各分割レイアウトのサイズについて、例えば、線区トップエリアのサイズ、駅間エリアのサイズ、線区間エリアのサイズ、一番下の線区とスクロールウィンドウ間のエリアのサイズは、予めユーザにより定義されており、前記表示設定データから取得するものとする。一方、駅構内エリアのサイズは番線数にて異なることがある。この場合、下記のような計算方法に基づいて駅構内エリアのサイズを計算する。
・駅構内エリアのサイズ=(番線数−1)*番線間のサイズ+上位余裕サイズ+下位余裕サイズ・・・(式5)
【0045】
駅間エリアや駅構内エリアに対応した分割レイアウトの数、サイズ等が上述のように得られたので、続いて、前記ダイヤ図表示部2220は、分割レイアウトへの時間軸、駅軸情報の追加処理を行う(図3、13130)。この場合、当該ステップ実行時において、前記分割レイアウトらは初期状態であって、時間軸の線、駅線、および番線の線をユーザが自由に設定できる。このステップまでで、時間に関する軸線、駅線、および番線の線が分割レイアウトに設定された。当然、ここで設定された軸線、駅線等の描画用データは、システム200で該当する分割レイアウトと紐付けて格納されることになる。
【0046】
次に、前記ダイヤ図表示部2220は、描画要素情報の計算を行う(図3、13140)。以下に当該ステップの具体例を述べる。なお、当該ステップ(13140)の説明のため、図5および図6を用いるものとする。
【0047】
この場合まず、描画要素管理部2240は、列車情報管理テーブル2110のデータを基にして描画要素管理テーブル2140のデータを算出する。列車情報管理テーブル2110の例として、図5にはいくつかの列車情報(1〜n)とそれを構成する列車情報項目4110を示している。この列車情報項目4110は、例えば、列車番号情報、時刻情報、折り返しの際に列車と列車のつなぎ情報、使用する番線情報、分割・併合情報などの情報が挙げられる。
【0048】
このような場合、前記描画要素管理部2240は、各列車情報の各列車情報項目4110の情報を列車ダイヤ表示上で表示する場合の、描画要素のサイズ、表示座標の算定などレイアウト計算を行う。この計算は、例えば、該当分割レイアウトの座標系において、時間の軸線や駅線、スジなどの配置位置との相対位置(例:○○時における○○駅の○○番線の描画上に列車番号を描画する場合、該当番線の表示座標と所定距離隔てた位置の座標を算定する)を算定し、各描画要素の表示座標とサイズといったデータを得る。ここで得たデータについては、該当列車に関する描画要素テーブル5210に設定する。このように、各描画要素を座標値で管理することにより、例えば、画面リフレッシュが必要な再表示処理時などには、列車情報管理テーブル2110などからの再レイアウト(これまでのステップ)をせず、座標値を管理している描画要素テーブル5210から必要な表示座標の値を得て、該当描画要素の画面表示を行うことになる。
【0049】
なお、上記で計算され、描画要素テーブル5210に設定されたデータを図6に沿って説明する。描画要素テーブル5210は、描画要素別パラメータデータ5212のデータを含む。このデータは、各描画要素の図形別による個別データである、例えば描画要素が正方形の場合は一辺の長さ、円形の場合は半径などとなる。また、前記描画要素テーブル5210は、分割レイアウトID5213を含んでいる。このデータは、該当描画要素をどの分割レイアウトに描くか、識別するための情報である、言い換えれば、どの分割レイアウトの次元(座標系)を元にその描画要素の座標が計算されたか、識別するための情報である。また、描画要素テーブル5210は、分割レイアウト跨り識別情報5215を含んでいる。このデータは、描画要素とそれを紐付ける分割レイアウトとの関係において、該当描画要素の全図形の表示座標が該当分割レイアウトの表示範囲に収まるかを示す識別情報である。つまり、分割レイアウトの表示座標が示す範囲に、描画要素の表示座標の範囲が収まらない場合、該当描画要素は分割レイアウト間を跨るものとなる。また、前記描画要素テーブル5210は、作業エリア識別情報5214を含んでいる。このデータは、後述するGUIイベント処理で設定されるデータである。
【0050】
次に、前記ダイヤ図表示部2220(ないし前記描画要素管理部2240)は、前記ステップ13140で必要なデータが得られた描画要素について、これを該当分割レイアウトに対して描画する(図3、13150)。なお、前記ステップ13140にて計算された各描画要素データには、描画対象の分割レイアウトを示す分割レイアウトIDが格納されている。従って、前記ダイヤ図表示部2220は、各描画要素についてどの分割レイアウトに描画すべきか、この分割レイアウトIDにて区別できる。こうして描画対象の分割レイアウトを特定した前記ダイヤ図表示部2220は、該当分割レイアウトに対し、分割レイアウト間を跨らない描画要素(=前記分割レイアウト跨り識別情報5215が、分割レイアウト間を跨ぐ描画要素で無いことを示すもの)を描画する(13140)。
【0051】
分割レイアウト間に跨る描画要素をこのステップで描画しないのは以下の理由からである。例えば、画面上で確保できる駅間エリアの表示サイズ(距離方向の幅)が所定値より狭く、該当駅間の分割レイアウトに表示する描画要素のサイズが所定値以上であれば、駅間エリアから前記描画要素がはみ出して、隣接する他の駅間の分割レイアウトにまで跨ることになる。分割レイアウト間を跨る描画要素の例として、図7を示す。この場合、A駅とB駅の分割レイアウトを跨る描画要素3120が存在している。このように、分割レイアウト間を跨る描画要素が存在する場合、駅構内エリアの表示・非表示の状況によって、分割レイアウトの表示は異なることになる。そのため、各分割レイアウトに対する固定表示の扱いはできない。従って、この段階で前記描画要素(分割レイアウト間を跨るもの)を分割レイアウトに描画することはできない。
【0052】
続いて、図2の処理フローに戻る。ここでは、前記GUI表示部2230が駅構内表示の状況を、例えば、前記記憶部201のGUI表示データ2150から取得する(1120)。駅構内表示の状況とは、入力装置205における所定駅に関する駅構内の描画指示が有るか無いかを示す情報となる。
【0053】
次に、前記GUI表示部2230が、列車ダイヤレイアウト作成(1130)を実行する。この処理について図8を用いて説明する。この場合、前記GUI表示部2230は、前記ステップ1120にて既に得ている駅構内表示の状況に応じて、分割レイアウトの組み合わせ処理を行う。例えばレイアウト例7410は、ユーザが全駅(A駅〜C駅)の構内情報を表示しようと指示している例となる。この時、前記GUI表示部2230は、各駅間に関する分割レイアウト7110、7120、7130、7140と、各駅構内に関する分割レイアウト7210、7220、7230とを組み合わせ、列車ダイヤレイアウトを作成することになる。この場合、ある駅間の分割レイアウトの下に該当駅構内の分割レイアウトを連接させ表示するといった処理を、各駅間について繰り返し行うこととなる。それにより得られる分割レイアウトの組み合わせ結果は、分割レイアウト7110−分割レイアウト7210−分割レイアウト7120−分割レイアウト7220−分割レイアウト7130−分割レイアウト7230−分割レイアウト7140といった列車ダイヤレイアウトとなる。
【0054】
一方、他のレイアウト例7420では、ユーザがA駅及びC駅の駅構内情報を非表示状態とし、B駅の駅構内情報を表示すると指定した状況となっている。この場合、前記GUI表示部2230は、B駅構内の分割レイアウト7220と、駅間の分割レイアウト7310、7330とを組み合わせる。B駅の駅構内情報は表示するよう指定されているので、A駅とB駅の間について、駅間の分割レイアウト7120も組み合わせることになる(例2)。この場合の分割レイアウトの組み合わせ結果は、分割レイアウト7310−分割レイアウト7120−分割レイアウト7220−分割レイアウト7330−分割レイアウト7340といった列車ダイヤレイアウトとなる。
【0055】
次に、前記GUI表示部2230は、分割レイアウトを跨る描画要素を、前記ステップ1130までで作成した列車ダイヤレイアウトに追加する(1140)。この場合、前記GUI表示部2230は、前記列車ダイヤレイアウトを構成する各分割レイアウトについて、分割レイアウト間を跨ぐ描画要素(=前記分割レイアウト跨り識別情報5215が、分割レイアウト間を跨ぐ描画要素であることを示すもの)を描画するのである。生成済みの列車ダイヤレイアウト上に前記分割レイアウト間を跨る描画要素を描画しているため、分割レイアウトが変化するようなことになっても、例えば、分割レイアウトの消長に伴って前記描画要素も分割されるといったことはない。
【0056】
なお、前記分割レイアウト間を跨る描画要素の座標値は、他の描画要素と同じ、列車ダイヤレイアウトの二次元座標系における座標値ではなく、対象の分割レイアウトにおける二次元座標系における座標値として記憶部201に記憶されている。従って、前記分割レイアウト間を跨る描画要素を、列車ダイヤレイアウト上に描画するために、列車ダイヤレイアウトの二次元座標系に座標値を換算する必要がある。この計算処理として、例えば、対象の分割レイアウトの座標系と、前記列車ダイヤレイアウトの座標系との間での座標値の差異を、前記分割レイアウト間を跨る描画要素の表示座標に加算する処理などが想定できる。
【0057】
一方、描画要素の表示座標は、対応する分割レイアウトでの座標系でのものとなるため、例えば、駅構内エリアの表示状況が変更されても、分割レイアウトと共に消長するだけあり、再レイアウトのための処理が必要ない。従って、駅構内エリアの表示状況に変更があっても高速な再表示処理を実現できる。
【0058】
続いて、前記ダイヤ図表示部2220は、出力装置206での描画画面内に配置された縦横のスクロールバーの現在位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能(前記GUI表示データ2150)より取得する(1150)。列車ダイヤ図など列車ダイヤレイアウトの表示範囲をユーザが操作する方法として、スクロールバーやスクロールボックスを利用する方法は一般的である。例えば、スクロールボックスにおける縦横2次元のうち、1次元は距離関係を表示し、あと1次元は時間の流れを示す。例えば、時刻軸は、標準で24時間分の時間帯に対応し、展開開始時刻が始発電車の時間前となっている設定例があげられる。この場合、例えば、4時30分を展開開始時刻としたならば、終了は次の日の4時30分となる。また、距離軸では駅名を表示し、該当線区の全駅を表示する。
【0059】
また、前記ダイヤ図表示部2220は、前記ステップ1150で取得したユーザ作業領域に含まれる、各分割レイアウト等の描画要素のデータを取得し、作業領域で表示する(1160)。
【0060】
前記ステップ1150、1160に関して図9を用いて更に説明する。一般的に、列車ダイヤレイアウトに記載されている列車情報は100本から1000本までのケースが多い。もし、そのような列車ダイヤレイアウトを画面表示すると、全列車情報を1枚の画面上に表示することとなる。その場合、ダイヤの本数によって、画面上で列車情報が見にくくなったり、描画要素が重なってしまうといったことがある。こうした状況を防ぐため、ユーザは列車ダイヤレイアウト8210の全体から一部のエリアだけを表示する。この一部のエリアは前記作業領域8110となる。
【0061】
なお、このステップ1160では、前記ステップ1150のステップにて取得したスクロールバーの位置、およびGUI表示データ2150から取得する表示拡大率の設定を用いて、列車ダイヤレイアウトの描画におけるユーザの作業領域の位置・サイズを特定し、前記列車ダイヤレイアウトの全体のうち前記作業領域に含まれる描画要素のデータを取得し表示する。
【0062】
−−−イベントに伴う表示処理−−−
上述までで説明した表示処理は、ユーザが列車ダイヤ表示処理プログラムを起動する際のシステム200での表示処理となる。一方、こうした起動時の初期表示処理以外にも、GUIのイベントに伴う再表示処理を行うことがある。この際、列車ダイヤレイアウトの再表示処理が実施される。
【0063】
こうしたGUIのイベントの例を図10を用いて説明する。例えば、ユーザがGUIにてA駅のエリア9310を選択して、その駅構内情報を表示させたり、或いは非表示にさせたりする際、駅構内エリアの表示変更イベントが発生する。また例えば、ユーザが横軸のスクールバー9210をクリックして、当該スクールバー9210を動かし、作業領域を移動させる際、作業領域の位置を変更するイベントが発生する。また例えば、GUIのメニュー9140にてユーザが時刻情報を変更した場合、ダイヤデータを変更するイベントが発生する。また例えば、ユーザが列車情報の線(スジ)9410を選択した場合、スジハイライト設定イベントが発生する。
【0064】
上記の駅構内エリアの表示変更イベント、ダイヤデータの変更イベント、および作業領域の位置変更イベント、に伴う再表示処理について図11を用いて説明する。駅構内エリアの表示変更イベントの場合、上述した駅構内エリアの表示・非表示の状況取得ステップ(前記ステップ1120)から改めて表示処理を実行し、再表示をすることによって、ユーザが指定した駅構内エリアの表示・非表示に対応する列車ダイヤレイアウトを出力することができる。ここで、駅構内エリアの表示イベントがある際に、従来通りの手法で列車ダイヤレイアウトの再レイアウトをした場合と、本実施形態により再表示を行った場合の各処理時間を、例として処理時間比較図(図12)のグラフと表にて示す。両者を比較すると、本実施形態の手法を適用すれば従来より処理時間を94%以上を短縮できることがわかる。
【0065】
また、ダイヤデータの変更イベントは、ユーザが列車情報をGUI表示データ2150にて変更する際に発生するイベントである。例えば、前記図10に示す例であれば、ユーザがメニュー9140をクリックし、表示されるダイアログボックスにて列車の出発時刻の変更をする場合に生じるイベントが想定できる。このイベントが発生する場合、変更前の列車情報に対して計算された描画要素の表示が不要になるため、前記描画要素管理部2240などが、対応する描画要素を、例えば描画要素テーブル5210から削除し(10130)、作業領域を表示する。また、対応する描画要素を描画要素テーブル5210から削除した後、「描画要素を各分割レイアウトに描く」(前記ステップ13150)処理から再び表示処理を実行することによって、作業領域の再表示処理ができる。なお、上記変更後の対象列車を表示するため、前記ダイヤ図表示部2220、GUI表示部2230、描画要素管理部2240のいずれかが、対象列車情報の描画要素を計算し(10160)、直接に前記作業領域に描く(10180)。この作業領域に直接に描く描画要素と、分割レイアウトに描く描画要素とを識別する方法としては、例えば、描画要素テーブル5210での情報に作業領域に設定する旨の識別情報を持たせる方法がある。或いは、作業領域用の描画要素のテーブルを別テーブルとして、メモリ上で管理する方法も想定できる。
【0066】
なお、上記ステップ10160で計算された描画要素は、列車情報の変更が確定されるまで、描画要素テーブル5210に追加しない。追加しない理由については下記に説明する。
【0067】
GUIの操作にて、ユーザが列車情報を連続的に変更させることがある、例えばドラッグ&ドロップ操作などがある。この場合、列車情報の変更をユーザが確定する(例:確定用のボタン押下など)まで、各変更に対する再表示処理を連続的に行う必要がある。もし各変更がある度に、ステップ13150以降の表示処理を行う場合、システム200は、該当の列車情報やその描画要素を遷移表示させながら、全体の列車ダイヤレイアウトの表示処理も行うため、ドラッグ操作のレスポンスが悪くなる課題がある。
【0068】
そこで、こうした連続的な列車情報の変更がなされる場合、上記の課題を解決するため、描画用データや分割レイアウトの生成、描画要素テーブル5210等への設定といった表示処理は、変更開始と変更確定の時点でのみ行う。変更開始と変更確定の時以外で変更がある場合、システム200は例えば、作業領域に該当描画要素を表示する。変更開始と変更確定の時点以外に前記表示処理を実行しないことで、変更が生じた列車情報に関する描画要素を変更毎に計算して描画要素テーブル5210等に追加するのではなく、変更確定まで作業領域に描画要素を描き(10180)、処理性能を向上できる。
【0069】
他方、前記変更が確定される場合、例えば、ドラッグ&ドロップの操作が終わる際に、変更が確定された列車情報に対する描画要素を描画要素テーブル5210等に追加し、前記描画要素の作業領域設定のための識別情報をクリアし、連続変更の表示処理を終了する(10170)。
【0070】
一方、作業領域を変更イベントでは、ユーザが横軸のスクロールバーまたは縦軸のスクロールバーにて列車ダイヤレイアウト等に対する作業領域の位置を変更する際に発生するイベントである。この場合、ユーザが表示したい作業エリアの位置のみが変更となるため、前記システム200は、表示処理として「作業エリアの位置を取得」(1150)および「作業エリアに該当する列車ダイヤレイアウトの分を取得、表示」(1160)を実行することによって、作業領域を表示できる。
【0071】
なお、列車ダイヤレイアウトのスジハイライト変更およびアニメーション設定変更イベントに伴う再表示制御処理のフローを図13に示す。ここで例えば、列車ダイヤレイアウトの描画上にてアニメーションを表示する場合(=例えば列車ダイヤレイアウトにあるスジを点滅表示)、連続的に対象の描画要素を変更し、変更する度に描画要素を表示することとなる。
【0072】
また、列車ダイヤレイアウトでの列車線のハイライトについて、ユーザはGUIにて列車情報を変更(例えば列車時刻の変更、列車の複写)する場合、その変更対象の列車線を選択する。システム200は、ユーザが選択した列車線をハイライト表示することによってユーザが変更対象を識別しやすくする。
【0073】
なお、本実施形態では、前記スジハイライト、または、アニメーションの表示方法として、列車ダイヤレイアウトを作成して表示するのではなく、作業領域に該当描画要素を描いて表示する処理を採用している。その理由は以下に示す。例えば、アニメーションを表示する場合、上記に説明した、連続的に描画要素の変更が行われるため、その一回一回の変更に伴って列車ダイヤレイアウトを変更すると、表示処理が重くなる。なお、ハイライトの描画要素ではスジを選択されている瞬間しか使用しない、且つ、頻繁にユーザがGUI操作にて選択対象列車を変更することもあるため、頻繁にハイライトに関する描画要素変更が発生する。従って、変更の度にハイライトにて列車ダイヤレイアウトを変更すると表示処理が重くなる。
【0074】
上記課題は、ハイライト変更およびアニメーションの表示処理を直接に作業領域に描くことによって解決できる。システム200は、スジハイライトまたはアニメーションの描画要素を計算し(11120)、作業領域に描画要素を描く(10180)。
【0075】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【0076】
こうした本実施形態によれば、駅構内エリアの表示状況の変更によって列車ダイヤ図のレイアウトサイズが変わったとしても、各分割レイアウトのサイズ変更が生じず、また、分割レイアウトに対する各描画要素の座標変更等が発生しない。すなわち駅構内エリアの表示状況の変更はあっても、再レイアウト処理が必要とならないため、列車ダイヤ図のGUI処理に関して高速処理を実現できる。また、ドラッグ&ドロップなど列車情報を連続的に変更する状況があっても、変更された列車情報に対する描画要素のみをレイアウトすることになるため、列車ダイヤ図のGUI処理を高速なものとできる。
【0077】
したがって、列車ダイヤ図のレイアウトに表示させる駅構内情報の描画状況に変更が生じる場合でも、列車ダイヤ図および駅構内情報に関するGUI処理を高速かつ表示上の齟齬なく実行できる。
【0078】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記列車ダイヤ表示処理方法において、前記情報処理装置が、前記処理B〜処理Eの少なくともいずれかを実行した後、前記記憶部の各分割レイアウトにおいて、駅間を跨って描画される設定がされた描画要素を検索し、ここで検索された描画要素を、前記連結された分割レイアウト群の描画上に追加描画する処理を実行するとしてもよい。
【0079】
また、前記列車ダイヤ表示処理方法において、前記情報処理装置が、出力装置での描画画面内の縦横のスクロールバー位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能より取得し、ここで取得したユーザ作業領域に含まれる描画要素について前記処理B〜処理Eのいずれかを実行する、としてもよい。
【0080】
また、前記列車ダイヤ表示処理方法において、前記情報処理装置が、出力装置にて既に描画されている各レイアウトの描画要素について、その描画位置の移動操作を入力装置で受けた場合、該当描画要素以外の描画要素については変更せず、該当描画要素に関して登録されていた表示座標のデータを記憶部にて一旦消去し、前記移動操作に伴ってレイアウト上での描画位置が遷移する前記描画要素の座標についてGUI機能より取得し、この座標を作業用の記憶領域に格納し、入力装置で位置確定の指示を受けた場合に、前記記憶領域の座標値を該当レイアウトにおける前記描画要素の表示座標として設定する、としてもよい。
【符号の説明】
【0081】
200 列車ダイヤ表示処理システム
201 記憶部
202 プログラム
203 メモリ
204 CPU
205 入力装置
206 出力装置(表示装置)
2110 列車情報管理テーブル
2140 描画要素管理テーブル
2150 GUI表示データ
2220 ダイヤ図表示部
2240 描画要素管理部
【特許請求の範囲】
【請求項1】
列車ダイヤの表示処理を行う情報処理装置が、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、
を実行することを特徴とする列車ダイヤ表示処理方法。
【請求項2】
前記情報処理装置が、
前記処理B〜処理Eの少なくともいずれかを実行した後、前記記憶部の各分割レイアウトにおいて、駅間を跨って描画される設定がされた描画要素を検索し、ここで検索された描画要素を、前記連結された分割レイアウト群の描画上に追加描画する処理を実行することを特徴とする請求項1に記載の列車ダイヤ表示処理方法。
【請求項3】
前記情報処理装置が、
出力装置での描画画面内の縦横のスクロールバー位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能より取得し、ここで取得したユーザ作業領域に含まれる描画要素について前記処理B〜処理Eのいずれかを実行する、ことを特徴とする請求項1または2に記載の列車ダイヤ表示処理方法。
【請求項4】
前記情報処理装置が、
出力装置にて既に描画されている各レイアウトの描画要素について、その描画位置の移動操作を入力装置で受けた場合、該当描画要素以外の描画要素については変更せず、該当描画要素に関して登録されていた表示座標のデータを記憶部にて一旦消去し、前記移動操作に伴ってレイアウト上での描画位置が遷移する前記描画要素の座標についてGUI機能より取得し、この座標を作業用の記憶領域に格納し、入力装置で位置確定の指示を受けた場合に、前記記憶領域の座標値を該当レイアウトにおける前記描画要素の表示座標として設定する、
ことを特徴とする請求項1〜3のいずれかに記載の列車ダイヤ表示処理方法。
【請求項5】
列車ダイヤの表示処理を行う情報処理装置であって、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する手段と、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する手段と、
を備えることを特徴とする列車ダイヤ表示処理システム。
【請求項6】
列車ダイヤの表示処理を行う情報処理装置に、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、
を実行させることを特徴とする列車ダイヤ表示処理プログラム。
【請求項1】
列車ダイヤの表示処理を行う情報処理装置が、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、
を実行することを特徴とする列車ダイヤ表示処理方法。
【請求項2】
前記情報処理装置が、
前記処理B〜処理Eの少なくともいずれかを実行した後、前記記憶部の各分割レイアウトにおいて、駅間を跨って描画される設定がされた描画要素を検索し、ここで検索された描画要素を、前記連結された分割レイアウト群の描画上に追加描画する処理を実行することを特徴とする請求項1に記載の列車ダイヤ表示処理方法。
【請求項3】
前記情報処理装置が、
出力装置での描画画面内の縦横のスクロールバー位置を、前記描画画面内におけるユーザ作業領域の情報として、当該情報処理装置のGUI機能より取得し、ここで取得したユーザ作業領域に含まれる描画要素について前記処理B〜処理Eのいずれかを実行する、ことを特徴とする請求項1または2に記載の列車ダイヤ表示処理方法。
【請求項4】
前記情報処理装置が、
出力装置にて既に描画されている各レイアウトの描画要素について、その描画位置の移動操作を入力装置で受けた場合、該当描画要素以外の描画要素については変更せず、該当描画要素に関して登録されていた表示座標のデータを記憶部にて一旦消去し、前記移動操作に伴ってレイアウト上での描画位置が遷移する前記描画要素の座標についてGUI機能より取得し、この座標を作業用の記憶領域に格納し、入力装置で位置確定の指示を受けた場合に、前記記憶領域の座標値を該当レイアウトにおける前記描画要素の表示座標として設定する、
ことを特徴とする請求項1〜3のいずれかに記載の列車ダイヤ表示処理方法。
【請求項5】
列車ダイヤの表示処理を行う情報処理装置であって、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する手段と、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する手段と、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する手段と、
を備えることを特徴とする列車ダイヤ表示処理システム。
【請求項6】
列車ダイヤの表示処理を行う情報処理装置に、
列車ダイヤ表示用の各描画要素についてその表示座標を保持している記憶部より、各駅間と各駅構内の描画要素について表示座標を抽出し、駅間の描画要素のみの表示座標群からなる第1分割レイアウト、各駅構内の描画要素のみの表示座標群からなる第2分割レイアウト、駅間の描画要素と当該駅間が示す該当駅の駅間エリアに配置する駅構内の描画要素とに関する表示座標群からなる第3分割レイアウトをそれぞれ生成して記憶部に格納する処理Aと、
入力装置における所定駅に関する駅構内の描画指示の有無検知と、前記記憶部の前記第3分割レイアウトにおける前記所定駅の駅間エリアに駅構内の描画要素の有無検知とを行う処理Bと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第1分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Cと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が無く尚かつ前記所定駅の駅間エリアに駅構内の描画要素があることを検知した場合、前記所定駅に関連する駅間の前記第3分割レイアウトを読み出し、隣接する他の駅間の分割レイアウトに連結し出力装置にて描画する処理Dと、
前記各検知の処理により、前記所定駅に関する駅構内の描画指示が有り尚かつ前記所定駅の駅間エリアに駅構内の描画要素が無いことを検知した場合、前記所定駅に関連する駅間の前記第2分割レイアウトを読み出し、隣接する他の駅間分割レイアウトに連結し出力装置にて描画する処理Eと、
を実行させることを特徴とする列車ダイヤ表示処理プログラム。
【図1】


【図2】


【図3】


【図4】


【図5】


【図6】


【図7】


【図9】


【図10】


【図12】


【図13】


【図8】


【図11】


【図14】




【図2】


【図3】


【図4】


【図5】


【図6】


【図7】


【図9】


【図10】


【図12】


【図13】


【図8】


【図11】


【図14】


【公開番号】特開2011−230537(P2011−230537A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−99882(P2010−99882)
【出願日】平成22年4月23日(2010.4.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願日】平成22年4月23日(2010.4.23)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]