(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態について、図面を参照して説明する。
【0016】
本実施形態では、車両として列車を例に挙げて説明する。また、本実施形態では、列車の運行スケジュールや乗務員の乗務スケジュール等の計画を、縦線と横線とで表現したダイヤ図を生成する。なお、ダイヤ図(ダイヤグラム)とは、列車運行計画を図形等で表した列車運行図表(トレイン・ダイヤグラム)のことを指す。
【0017】
図1は、本発明の一実施形態に係るダイヤ図生成装置の機能構成の一例を示す図である。
【0018】
図1に示すように、ダイヤ図生成装置1は、駅名格納部10と、行路格納部11と、ダイヤ図格納部12と、受付部20と、出力部21と、生成部30とを有する。生成部30は、段落ち区間設定部31と、駅名列生成部32と、間隔設定部33と、駅名出力判定部34と、図形生成部35とを有する。
【0019】
駅名格納部10には、複数の駅(始発駅、終着駅、始発駅及び終着駅の間の駅)で構成される路線の情報を含む駅名テーブル100が格納される。駅名テーブル100は、例えば路線毎に駅名格納部10に格納される。駅名テーブル100は、例えば
図2(駅名テーブルのデータ構造の一例を示す図)に示すように、駅毎に、当該駅の路線上の順番を表す番号101と、当該駅の駅名102と、当該駅と路線上の始発駅との間の距離をキロメートル単位で示すキロ程103と、段落ち区間の開始駅であるか否か(開始駅である:1以上の自然数、開始駅でない:0)を示す段落ち区間開始フラグ104と、段落ち区間の終了駅であるか否か(終了駅である:1以上の自然数、終了駅でない:0)を示す段落ち区間終了フラグ105とを対応付けて格納する。駅名テーブル100に基づけば、路線上の駅の順序等を特定することができる。なお、図中では、「駅名」を「駅」と、「段落ち区間開始フラグ」を「段落ち区間開始」と、「段落ち区間終了フラグ」を「段落ち区間終了」と示している。
【0020】
段落ち区間とは、旅客が列車を利用する営業(通常)区間と区別して、非営業(回送)区間のことを指す。段落ち区間開始フラグ104の値と、段落ち区間終了フラグ105の値とが等しい二つの駅の間が、段落ち区間であることを示す。
図2の例では、STU駅とTUV駅の間、ZAB駅とYZA駅の間、GGG駅とFFF駅の間、OOO駅とNNN駅の間、がそれぞれ段落ち区間である。なお、
図2では、旅客が利用しない駅に、段落ち区間開始フラグ104が設定され、旅客が利用する駅に、段落ち区間終了フラグ105が設定されている。
【0021】
行路格納部11には、複数の停車駅で構成される列車の行路(列車の運行)の情報を含む行路テーブル110が格納される。行路テーブル110は、例えば行路毎に行路格納部11に格納される。行路テーブル110は、例えば
図3(行路テーブルのデータ構造の一例を示す図)に示すように、隣接する停車駅の組み合わせである区間毎に、当該区間の行路上の順番を表す番号111と、当該区間の開始駅の発駅名112と、当該区間の終了駅の着駅名113と、当該区間が段落ち区間であるか否か(段落ち区間である:「有」、段落ち区間でない:「無」)を示す段落ちフラグ114とを対応付けて格納する。行路テーブル110に基づけば、行路上の区間の順序、行路上の停車駅の順序等を特定することができる。なお、図中では、「発駅名」を「発駅」と、「着駅名」を「着駅」と、「段落ちフラグ」を「段落ち」と示している。
【0022】
もちろん、路線情報、及び行路情報のデータ構造は、上述した構造に限定されない。例えば、駅名102、発駅名112、及び着駅名113は、駅の名称に限らず番号等の識別情報であってもよい。
【0023】
ダイヤ図格納部12には、生成部30により生成されたダイヤ図の情報が格納される。本実施形態では、生成部30は、例えば
図4(ダイヤ図の構成の一例を示す図)に示すようなダイヤ
図120を生成する。ダイヤ
図120は、基本的に、駅名を表示する領域である駅名列121と、駅名列121どうしの距離を示す領域である間隔122と、列車の停車位置を示す縦罫線123と、列車の移動区間を示す横罫線124と、始発駅を示す始発記号125と、終着駅を示す終着記号126とから構成される。また、ダイヤ
図120には、段落ち区間である移動区間に関連付けられる段落ち記号127が含まれる。なお、本実施形態では、ダイヤ
図120の横方向の座標位置をX、縦方向の座標位置をYと表す。
【0024】
連結される縦罫線123と横罫線124とは、垂直な関係にある。また、駅名列121が並ぶ方向(X方向)と、横罫線124の伸びる方向(X方向)は、一致する。また、各駅名列121のX方向の位置と、各縦罫線123のX位置は、対応する。また、終着記号126
【0025】
もちろん、ダイヤ
図120の構成は、図示した例に限定されない。当該ダイヤ
図120と実質的に同じ機能を提供できるのであれば、領域、図形、記号等の大きさ、形状、色、配置などは特に限定されない。
【0026】
受付部20は、ユーザーから、通信I/F(I/F:インターフェイス)94(
図5)、入力装置96(
図5)等を介して、駅名テーブル100の入力を受け付け、駅名格納部10に格納する。また、受付部20は、通信I/F94、入力装置96等を介して、行路テーブル110の入力を受け付け、行路格納部11に格納する。また、受付部20は、通信I/F94、入力装置96等を介して、ダイヤ図の生成の指示を受け付ける。
【0027】
出力部21は、ユーザーからダイヤ図の生成の指示を受け付けるインターフェイス画面やダイヤ図を、通信I/F94を介して外部の端末装置や印刷装置に、又は表示装置97に出力する。
【0028】
生成部30は、駅名格納部10に格納されている駅名テーブル100、及び行路格納部11に格納されている行路テーブル110に基づいてダイヤ
図120を生成し、ダイヤ図格納部12に格納する。
【0029】
段落ち区間設定部31は、駅名テーブル100の各レコードに基づいて、行路テーブル110に含まれる各区間の段落ちの有無を判定し、段落ち114に設定する。
【0030】
駅名列生成部32は、段落ち区間設定部31により処理された行路テーブル110の各レコードと、駅名テーブル100の各レコードとに基づいて、行路上の停車駅を路線上の駅順にダイヤ
図120の駅名列121として生成する。
【0031】
間隔設定部33は、ダイヤ
図120上に生成された駅名列間の間隔122を、駅名テーブル100のキロ程103に基づいて設定する。
【0032】
駅名出力判定部34は、指定された駅名の駅名列121がダイヤ
図120上に生成されているか否かを判定するとともに、生成されている場合にはその出力位置を特定する。
【0033】
図形生成部35は、ダイヤ
図120上に生成された駅名列121と、行路テーブル110とに基づいて、縦罫線123、横罫線124、始発記号125、終着記号126、段落ち記号127等をダイヤ
図120上に生成する。
【0034】
上記のダイヤ図生成装置1は、例えば、
図5(ダイヤ図生成装置の機能を実現するコンピューターのハードウェア構成の一例を示す図)に示すような、CPU(Central Processing Unit)などの演算装置91と、RAM(Random Access Memory)などの主記憶装置92と、フラッシュROM(Read Only Memory)やHDD(Hard Disk Drive)などの補助記憶装置93と、通信回線と無線や有線で接続する通信I/F94と、DVD(Digital Versatile Disk)などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置95と、タッチパネルやキーボードやマウスなどの入力装置96と、液晶ディスプレイなどの表示装置97と、を有するコンピューター9で実現することができる。
【0035】
駅名格納部10と、行路格納部11と、ダイヤ図格納部12と、受付部20と、出力部21と、生成部30とは、例えば、演算装置91が、補助記憶装置93に記憶されている所定のプログラムを主記憶装置92にロードして実行することで実現可能である。
【0036】
駅名格納部10と、行路格納部11と、ダイヤ図格納部12とは、例えば、演算装置91が、主記憶装置92、補助記憶装置93、又は通信I/F94を介して接続される通信回線上のストレージ、を利用することにより実現されてもよい。
【0037】
上記の所定のプログラムは、例えば、ネットワーク上の他のサーバーにダウンロード可能な状態で格納したり、DVDなどの持ち運び可能な記憶媒体に格納したりすることで流通させ、ダイヤ図生成装置1にインストールすることができる。
【0038】
もちろん、上記のダイヤ図生成装置1の機能構成は、ダイヤ図生成装置1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ダイヤ図生成装置1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、一つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理は、一つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。また、ダイヤ図生成装置1の目的が達成できれば、ダイヤ図生成装置1の機能及び処理の分担は、図示した例に限られない。
【0039】
図6は、ダイヤ図生成処理の一例を示すフロー図である。
図6のフローは、例えば、上記の所定のプログラムが起動されることで開始される。
【0040】
なお、駅名格納部10には、予めダイヤ図を生成する対象路線の駅名テーブル100が格納されている。受付部20は、ダイヤ図生成対象の路線の駅名テーブル100の選択をユーザーから受け付けるようにしてもよい。
【0041】
まず、受付部20は、出力部21が出力したダイヤ図生成画面を介して、行路の入力を受け付ける(ステップS1)。
【0042】
具体的には、出力部21は、
図6のフローが開始されると、例えば
図7(ダイヤ図生成画面の一例を示す図)に示すようなダイヤ図生成画面200を出力する。ダイヤ図生成画面200は、ダイヤ図として表す対象行路の情報を入力する行路領域210と、ダイヤ図を生成する対象路線の情報を表示する路線領域220と、ダイヤ図の生成を開始する開始ボタン290と、ダイヤ図の生成をキャンセルする終了ボタン291とを有する。
【0043】
行路領域210には、行路を構成する区間毎に、番号211が順番に表示される。また、行路領域210には、行路を構成する区間毎に、当該区間の発駅を入力する発駅領域212と、当該区間の着駅を入力する着駅領域213とが設けられる。
【0044】
例えば、発駅領域212又は着駅領域213内でクリック等の所定操作が行われた場合、当該領域が選択されて駅名が入力可能となる。また例えば、行路領域210内でダブルクリック等の所定操作が行われた場合、新しく区間の行(番号211、発駅領域212、及び着駅領域213)が追加される。また例えば、全区間の行が行路領域210内に入らない場合、行路領域210はスクロール可能であってもよい。
【0045】
路線領域220には、ダイヤ図を生成する対象路線の駅名が順番に表示される。出力部21は、駅名格納部10に格納されている対象路線の駅名テーブル100の駅名102を、番号101の順で路線領域220に表示する。
【0046】
例えば、全駅名が路線領域220内に入らない場合、路線領域220はスクロール可能であってよい。また例えば、路線領域220内に表示されているいずれかの駅名が選択された上で、ダブルクリック等の所定操作が行われた場合、行路領域210内で選択されている発駅領域212又は着駅領域213に、路線領域220内で選択された駅名が入力されるようにしてもよい。
【0047】
上記のようなダイヤ図生成画面200を介して、ユーザーは、ダイヤ図の生成する対象路線上の行路の入力を行うことができる。もちろん、ダイヤ図生成画面200の構成は、図示した例に限定されない。本実施形態のダイヤ図生成機能を提供できるのであれば、例えば、画面を複数の画面に分離してもよい。また、画面上のボタン、入力領域、表示領域などの各構成要素の位置、大きさ等は、図示した例に限定されない。
【0048】
受付部20は、ダイヤ図生成画面200の行路領域210を介して、行路情報の入力を受け付ける。
【0049】
また、受付部20は、出力部21が出力したダイヤ図生成画面を介して、ダイヤ図作成指示が入力されたか否かを判定する(ステップS2)。具体的には、受付部20は、上述のようなダイヤ図生成画面200の開始ボタン290を選択するクリック等の所定操作がされたか否かを判定する。開始ボタン290が操作されていない場合(ステップS2でN)、受付部20は、処理をステップS1に戻す。一方、開始ボタン290が操作された場合(ステップS2でY)、受付部20は、処理をステップS3に進める。このとき、受付部20は、行路テーブル110を生成し、行路領域210に入力されている各区間の情報(番号、発駅、着駅)を取得し、番号111、発駅名112、及び着駅名113として当該生成したテーブルに追加し、行路格納部11に格納する。なお、受付部20は、各レコードの段落ち114には、初期値として「無」を設定する。
【0050】
開始ボタン290が操作された場合(ステップS2でY)、生成部30は、段落ち区間設定処理を実行する(ステップS3)。具体的に、
図8(段落ち区間設定処理の一例を示すフロー図)を参照して説明する。なお、ステップS3〜S7の処理で生成されるダイヤ図(生成途中のダイヤ図も含む)は、ダイヤ図格納部12に格納される。
【0051】
まず、段落ち区間設定部31は、行路テーブル110から次のレコードを一つ選択する(ステップS301)。なお、段落ち区間設定部31は、番号111の順に先頭から一つずつレコードを選択する。それから、段落ち区間設定部31は、全てのレコードを選択済みであるか否かを判定する(ステップS303)。全てのレコードを選択済みである場合(ステップS303:Y)、段落ち区間設定部31は、
図8に示すフロー図の処理を終了する。
【0052】
全てのレコードを選択済みでない場合(ステップS303:N)、段落ち区間設定部31は、ステップS301で選択しているレコードの発駅が段落ち区間の開始駅であるか否かを判定する(ステップS305)。すなわち、段落ち区間設定部31は、駅名テーブル100を参照し、ステップS301で選択しているレコードの発駅名112と対応する駅名102を有するレコードの段落ち区間開始フラグ104を取得し、当該取得したフラグの値が0より大きいか否かを判定する。
【0053】
選択しているレコードの発駅が段落ち区間の開始駅である場合(ステップS305でY)、段落ち区間設定部31は、当該開始駅と同一段落ち区間の終了駅を特定する(ステップS307)。すなわち、段落ち区間設定部31は、駅名テーブル100を参照し、ステップS305で取得した段落ち区間開始フラグと同じ値の段落ち区間終了フラグ105を含むレコードを選択し、当該レコードの駅名102を取得する。
【0054】
それから、段落ち区間設定部31は、ステップS301で選択しているレコードの着駅が、ステップS307で特定した終了駅であるか否かを判定する(ステップS309)。すなわち、段落ち区間設定部31は、ステップS301で選択しているレコードの着駅名113が、ステップS307で取得した終了駅の駅名102と同じであるか否かを判定する。着駅名113が駅名102と同じでない場合(ステップS309でN)、段落ち区間設定部31は、処理をステップS301に戻す。
【0055】
着駅名113が駅名102と同じである場合(ステップS309でY)、段落ち区間設定部31は、ステップS301で選択しているレコードの段落ちフラグ114の値を「有」に設定し(ステップS311)、処理をステップS301に戻す。
【0056】
一方、選択しているレコードの発駅が段落ち区間の開始駅でない場合(ステップS305でN)、段落ち区間設定部31は、ステップS301で選択しているレコードの発駅が段落ち区間の終了駅であるか否かを判定する(ステップS313)。すなわち、段落ち区間設定部31は、駅名テーブル100を参照し、ステップS301で選択しているレコードの発駅名112と対応する駅名102を有するレコードの段落ち区間終了フラグ105を取得し、当該取得したフラグの値が0より大きいか否かを判定する。選択しているレコードの発駅が段落ち区間の終了駅でない場合(ステップS313でN)、段落ち区間設定部31は、処理をステップS301に戻す。
【0057】
選択しているレコードの発駅が段落ち区間の終了駅である場合(ステップS313でY)、段落ち区間設定部31は、当該終了駅と同一段落ち区間の開始駅を特定する(ステップS315)。すなわち、段落ち区間設定部31は、駅名テーブル100を参照し、ステップS313で取得した段落ち区間終了フラグと同じ値の段落ち区間開始フラグ104を含むレコードを選択し、当該レコードの駅名102を取得する。
【0058】
それから、段落ち区間設定部31は、ステップS301で選択しているレコードの着駅が、ステップS315で特定した開始駅であるか否かを判定する(ステップS317)。すなわち、段落ち区間設定部31は、ステップS301で選択しているレコードの着駅名113が、ステップS315で取得した開始駅の駅名102と同じであるか否かを判定する。着駅名113が駅名102と同じでない場合(ステップS317でN)、段落ち区間設定部31は、処理をステップS301に戻す。
【0059】
着駅名113が駅名102と同じである場合(ステップS317でY)、段落ち区間設定部31は、ステップS301で選択しているレコードの段落ちフラグ114の値を「有」に設定し(ステップS319)、処理をステップS301に戻す。
【0060】
上述の段落ち区間設定処理により、行路テーブルの各区間について、段落ちが有るか無いかが判定され、その判定結果が設定される。例えば、
図3に示す行路テーブル110の段落ち114は、
図2に示す駅名テーブル100を用いた段落ち区間設定処理により、
図9(段落ち区間設定処理後の行路テーブルのデータ構造の一例を示す図)に示すように設定される。具体的には、発駅TUVから着駅STUの区間、発駅STUから着駅TUVの区間、及び発駅NNNから着駅OOOの区間、の段落ちフラグ114の値が「有」に設定される。
【0061】
図6の説明に戻る。次に、生成部30は、駅名列生成処理を実行する(ステップS4)。具体的に、
図10(駅名列生成処理の一例を示すフロー図)を参照して説明する。
【0062】
まず、駅名列生成部32は、駅名列の出力位置(X,Y)に初期値を設定し、駅名列間のX方向の駅名列間隔DXに初期値を設定する(ステップS401)。出力位置(X,Y)の初期値は、例えば、ダイヤ図上で始発駅を出力する所定位置(
図4の例では、「ABC」駅が出力される位置)である。駅名列の間隔は後述する
図11の処理で調整するため、駅名列間隔DXは、予め定めた値が設定される。
【0063】
それから、駅名列生成部32は、駅名テーブル100から次のレコードを一つ選択する(ステップS403)。なお、駅名列生成部32は、番号101の順に先頭から一つずつレコードを選択する。それから、駅名列生成部32は、全てのレコードを選択済みであるか否かを判定する(ステップS405)。全てのレコードを選択済みである場合(ステップS405:Y)、駅名列生成部32は、
図10に示すフロー図の処理を終了する。
【0064】
全てのレコードを選択済みでない場合(ステップS405でN)、駅名列生成部32は、行路テーブル110から次のレコードを選択する(ステップS407)。なお、駅名列生成部32は、番号111の順に先頭から一つずつレコードを選択する。ただし、ステップS405の次にステップS407を実行する場合、先頭のレコードから再び選択し、ステップS411の次にステップS407を実行する場合、前回選択したレコードの次のレコードを選択する。
【0065】
それから、駅名列生成部32は、全てのレコードを選択済みであるか否かを判定する(ステップS409)。全てのレコードを選択済みである場合(ステップS409:Y)、駅名列生成部32は、処理をステップS403に戻す。
【0066】
全てのレコードを選択済みでない場合(ステップS409でN)、駅名列生成部32は、ステップS407で選択しているレコードの発駅名112又は着駅名113が、ステップS403で選択しているレコードの駅名102と一致するか否かを判定する(ステップS411)。発駅名112及び着駅名113のいずれも駅名102と一致しない場合(ステップS411でN)、駅名列生成部32は、処理をステップS407に戻す。
【0067】
発駅名112又は着駅名113が駅名102と一致する場合(ステップS411でY)、駅名列生成部32は、設定されている出力位置(X,Y)に、ステップS403で選択しているレコードの駅名102を出力する(ステップS413)。
【0068】
それから、駅名列生成部32は、出力位置のX座標に駅名列間隔DXを加算し(ステップS415)、処理をステップS401に戻す。
【0069】
上述の駅名列生成処理により、行路上の各停車駅が、路線上の駅順に等間隔で出力される。
【0070】
図6の説明に戻る。次に、生成部30は、駅名列の間隔設定処理を実行する(ステップS5)。具体的に、
図11(駅名列の間隔設定処理の一例を示すフロー図)を参照して説明する。
【0071】
まず、間隔設定部33は、前駅キロ程PDに0を設定し、先頭駅フラグHFに0を設定する(ステップS501)。先頭駅フラグHFの値は、0は先頭駅を意味し、1は先頭駅以外の駅を意味する。
【0072】
それから、間隔設定部33は、駅名テーブル100から次のレコードを一つ選択する(ステップS503)。なお、間隔設定部33は、番号101の順に先頭から一つずつレコードを選択する。それから、間隔設定部33は、全てのレコードを選択済みであるか否かを判定する(ステップS505)。全てのレコードを選択済みである場合(ステップS505:Y)、間隔設定部33は、
図11に示すフロー図の処理を終了する。
【0073】
全てのレコードを選択済みでない場合(ステップS505でN)、間隔設定部33は、駅名出力判定部34を用いて、ステップS503で選択しているレコードの駅名102が、ステップS4の駅名列生成処理においてダイヤ図に出力されているか否かを判定する(ステップS507)。具体的に、
図12(駅名出力判定処理の一例を示すフロー図)を参照して説明する。なお、
図12のフロー図の処理は、
図6のステップS6の処理に対応している。
【0074】
まず、駅名出力判定部34は、駅名列の出力位置(X,Y)に初期値を設定する(ステップS601)。出力位置(X,Y)の初期値は、例えば、ダイヤ図上で始発駅を出力する所定位置(
図4の例では、「ABC」駅が出力される位置)である。
【0075】
それから、駅名出力判定部34は、設定されている出力位置(X,Y)に、ステップS503で選択されているレコードの駅名102が出力されているか否かを判定する(ステップS603)。
【0076】
設定されている出力位置(X,Y)に、ステップS503で選択されたレコードの駅名102が出力されていない場合(ステップS603:N)、駅名出力判定部34は、出力位置のX座標を変更する(ステップS605)。例えば、駅名出力判定部34は、出力位置のX座標に所定値を加える。
【0077】
それから、駅名出力判定部34は、設定されている出力位置のX座標が、ダイヤ図上の最終位置を超えたか否かを判定する(ステップS607)。すなわち、駅名出力判定部34は、X座標が、ダイヤ図上に出力されている駅名列のうち最後(
図4の例では右端)の位置を超えたか否かを判定する。出力位置のX座標が最終位置を超えていない場合(ステップS607でN)、駅名出力判定部34は、処理をステップS603に戻す。
【0078】
出力位置のX座標が最終位置を超えている場合(ステップS607でY)、駅名出力判定部34は、「出力なし」を間隔設定部33に通知し(ステップS609)、
図12に示すフロー図の処理を終了する。
【0079】
一方、設定されている出力位置(X,Y)に、ステップS503で選択されているレコードの駅名102が出力されている場合(ステップS603:Y)、駅名出力判定部34は、当該出力位置のX座標を間隔設定部33に通知する(ステップS611)。また、駅名出力判定部34は、「出力あり」を間隔設定部33に通知し(ステップS613)、
図12に示すフロー図の処理を終了する。
【0080】
上述の駅名出力判定処理により、指定された駅名がダイヤ図上に出力されているか否かが判定される。また、指定された駅名がダイヤ図上に出力されている場合には、当該駅名の出力位置が得られる。
【0081】
図11の説明に戻る。間隔設定部33は、ステップS507の駅名出力判定部34の判定結果に基づいて、ステップS503で選択しているレコードの駅名102がダイヤ図に出力されているか否かを判定する(ステップS509)。当該レコードの駅名102がダイヤ図に出力されていない場合(ステップS509でN)、間隔設定部33は、処理をステップS503に戻す。
【0082】
当該レコードの駅名102がダイヤ図に出力されている場合(ステップS509でY)、間隔設定部33は、先頭駅フラグHFの値が1であるか否かを判定する(ステップS511)。先頭駅フラグHFの値が1でない場合(ステップS511でN)、間隔設定部33は、先頭駅フラグHFに1を設定し(ステップS513)、処理を後述するステップS519に進める。
【0083】
先頭駅フラグHFの値が1である場合(ステップS511でY)、間隔設定部33は、ステップS503で選択しているレコードのキロ程103と前駅キロ程PDとの差分を求め、当該差分をダイヤ図の所定の縮尺を用いて間隔Sに換算する(ステップS515)。
【0084】
また、間隔設定部33は、ステップS4の駅名列生成処理においてダイヤ図に出力されている、ステップS503で選択しているレコードの駅名の駅名列と、当該駅名の前駅の駅名列(
図4の例では、ある駅名列の左隣の駅名列)との間の間隔を、ステップS515で算出した間隔Sとなるように設定する(ステップS517)。
【0085】
それから、間隔設定部33は、ステップS503で選択しているレコードのキロ程103を前駅キロ程PDに設定し(ステップS519)、処理をステップS503に戻す。
【0086】
上述の間隔設定処理により、ダイヤ図上の各駅名列の間隔が、実際のキロ程に応じた幅として表れる。
【0087】
図6の説明に戻る。次に、生成部30は、図形生成処理を実行し(ステップS7)、生成したダイヤ図をダイヤ図格納部12に格納する。具体的に、
図13(図形生成処理の一例を示すフロー図)を参照して説明する。
【0088】
まず、図形生成部35は、発駅出力位置(X,Y)、着駅出力位置(X,Y)、前回出力位置(X,Y)、及び縦罫線長LYに、初期値を設定する(ステップS701)。各出力位置(X,Y)の初期値は、例えば、原点(0,0)などの任意の所定位置とすればよい。縦罫線長LYは、予め定めた値が設定される。
【0089】
それから、図形生成部35は、行路テーブル110から次のレコードを一つ選択する(ステップS703)。なお、図形生成部35は、番号111の順に先頭から一つずつレコードを選択する。それから、図形生成部35は、全てのレコードを選択済みであるか否かを判定する(ステップS705)。
【0090】
全てのレコードを選択済みでない場合(ステップS705でN)、図形生成部35は、駅名出力判定部34を用いて、ステップS703で選択しているレコードの発駅名112が、ステップS4の駅名列生成処理においてダイヤ図に出力されているか否かを判定する(ステップS707)。駅名出力判定部34の処理は、
図12を参照して上述したとおりである。なお、行路テーブルの発駅は、駅名列生成処理でダイヤ図に出力されているため、駅名出力判定処理の結果は、「出力あり」となる。従って、図形生成部35は、発駅名112のダイヤ図上の出力位置のX座標を駅名出力判定部34から取得する(
図12のステップS611で通知される)。
【0091】
また、図形生成部35は、駅名出力判定部34を用いて、ステップS703で選択しているレコードの着駅名113が、ステップS4の駅名列生成処理においてダイヤ図に出力されているか否かを判定する(ステップS709)。駅名出力判定部34の処理は、
図12を参照して上述したとおりである。なお、行路テーブルの着駅は、駅名列生成処理でダイヤ図に出力されているため、駅名出力判定処理の結果は、「出力あり」となる。従って、図形生成部35は、着駅名113のダイヤ図上の出力位置のX座標を駅名出力判定部34から取得する(
図12のステップS611で通知される)。
【0092】
それから、図形生成部35は、ステップS707で取得した出力位置のX座標を発駅出力位置のX座標として設定し、前回出力位置のY座標に縦罫線長LYを加算した値を発駅出力位置のY座標として設定し、ステップS709で取得した出力位置のX座標を着駅出力位置のX座標として設定し、前回出力位置のY座標に縦罫線長LYを加算した値を着駅出力位置のY座標として設定する(ステップS711)。
【0093】
それから、図形生成部35は、前回出力位置(X,Y)が初期値であるか否かを判定する(ステップS713)。前回出力位置(X,Y)が初期値である場合(ステップS713でY)、図形生成部35は、設定されている発駅出力位置(X,Y)に、始発記号125(
図4参照)をダイヤ図上に出力し(ステップS715)、処理を後述するステップS719に進める。
【0094】
一方、前回出力位置(X,Y)が初期値でない場合(ステップS713でN)、図形生成部35は、設定されている前回出力位置(X,Y)から発駅出力位置(X,Y)まで縦罫線123(
図4参照)をダイヤ図上に出力する(ステップS717)。
【0095】
それから、図形生成部35は、設定されている発駅出力位置(X,Y)から着駅出力位置(X,Y)まで横罫線124(
図4参照)をダイヤ図上に出力する(ステップS719)。
【0096】
それから、図形生成部35は、ステップS703で選択しているレコードの段落ちフラグ114が「有」であるか否かを判定する(ステップS721)。段落ちフラグ114が「有」である場合(ステップS721でY)、図形生成部35は、ステップS719で出力した横罫線上に段落ち記号127を出力し(ステップS723)、処理を後述するステップS725に進める。
【0097】
ステップS703で選択しているレコードの段落ちフラグ114が「有」でない場合(ステップS721でN)、図形生成部35は、前回出力位置(X,Y)に着駅出力位置(X,Y)を設定し(ステップS725)、処理をステップS703に戻す。
【0098】
一方、全てのレコードを選択済みである場合(ステップS705でY)、図形生成部35は、設定されている前回出力位置(X,Y)に、終着記号126(
図4参照)を出力し(ステップS727)、
図13に示すフロー図の処理を終了する。
【0099】
上述の図形生成処理により、縦線、横線、各種記号で表したダイヤ図が描画される。
【0100】
図6の説明に戻る。次に、出力部21は、ダイヤ図格納部12に格納されているダイヤ図を出力し(ステップS8)、
図6に示すフロー図の処理を終了する。例えば、出力部21は、
図4に示すようなダイヤ
図120を、表示装置や印刷装置に出力する。
【0101】
上述した各フロー図における処理単位は、ダイヤ図生成装置1の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ダイヤ図生成装置1の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。また、フローの処理順序も、本願発明の目的を達成することができる限り、図示した例に限定されない。
【0102】
以上、本発明の一実施形態について説明した。本実施形態によれば、列車の停車位置を表したダイヤ図が出力されるため、列車の停車位置をより容易に把握できるようになる。
【0103】
例えば、本実施形態では、行路を入力すると、停車駅と、列車の移動を表す横罫線と、列車の停車を表す縦罫線とを含むダイヤ図が生成される。これにより、停車駅を通過駅と誤解するのを防ぐことができるダイヤ図をより容易に生成することができる。
【0104】
また、例えば、本実施形態では、行路を入力すると、駅名テーブルに基づいて段落ち区間を表す記号を含むダイヤ図が生成される。これにより、営業区間と非営業区間を区別し易くするダイヤ図をより容易に生成することができる。
【0105】
また、例えば、本実施形態では、行路を入力すると、駅名テーブルに基づいて、各区間の実際の長さに応じて、発駅と着駅の間隔を表したダイヤ図が生成される。これにより、行路の各区間の距離の違いを認識し易くするダイヤ図をより容易に生成することができる。
【0106】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。
【0107】
例えば、受付部20は、行路テーブル110の発駅112について当該駅での停車時間を受け付け、図形生成部35は、
図13のステップS711において、発駅出力位置のY座標及び着駅出力位置のY座標に加算する縦罫線長LYを、発駅の停車時間の長さに応じて変更する(例えば、停車時間が長いほどLYを長くする)ようにしてもよい。このようにすれば、停車駅とともに当該駅の停車時間を認識し易くするダイヤ図をより容易に生成することができる。
【0108】
本発明は、列車等の車両の運行に限らず、自動車や船舶などの輸送機械全般に適用することができる。