(57)【要約】  【課題】列車等の車両の運行をダイヤ図で表す場合に、車両の停車位置をより容易に把握できるようにする。  【解決手段】ダイヤ図生成装置は、路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付部と、前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成部と、前記生成部により生成されたダイヤ図を出力する出力部と、を有する。【選択図】図１
2015160531.tif 000002
【特許請求の範囲】
【請求項１】
路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付部と、
前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成部と、
前記生成部により生成されたダイヤ図を出力する出力部と、
を有するダイヤ図生成装置。
【請求項２】
請求項１に記載のダイヤ図生成装置であって、
前記受付部は、前記路線上の駅の順序と、前記駅間が営業区間であるか非営業区間であることを示す路線情報を受け付け、
前記生成部は、前記路線情報に基づいて、前記停車駅間が営業区間であるか非営業区間であるかを設定し、前記ダイヤ図の前記非営業区間に対応する前記第一罫線上に、非営業区間を示す記号を表す、
ダイヤ図生成装置。
【請求項３】
請求項２に記載のダイヤ図生成装置であって、
前記路線情報には、前記路線上の始発駅から前記各駅までの距離が含まれ、
前記生成部は、前記路線情報に基づいて、前記停車駅間の距離を設定し、前記第一罫線の長さを前記停車駅間の距離に応じた長さで前記ダイヤ図に表す、
ダイヤ図生成装置。
【請求項４】
請求項１〜３いずれか一項に記載のダイヤ図生成装置であって、
前記受付部は、前記各停車駅における停車時間を受け付け、
前記生成部は、前記第二罫線の長さを前記停車時間に応じた長さで前記ダイヤ図に表す、
ダイヤ図生成装置。
【請求項５】
ダイヤ図生成装置におけるダイヤ図生成方法であって、
路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付ステップと、
前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成ステップと、
前記生成ステップで生成されたダイヤ図を出力する出力ステップと、
を含むダイヤ図生成方法。
【請求項６】
コンピューターをダイヤ図生成装置として機能させるプログラムであって、
路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付部、
前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成部、
前記生成部により生成されたダイヤ図を出力する出力部、
としてコンピューターを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダイヤ図生成装置、ダイヤ図生成方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、車両運用計画作成装置が箱ダイヤを表示することが記載されている。特許文献１の箱ダイヤは、列車の運用開始から終了までに列車が経由する場所などを視覚化したダイヤ情報である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７９９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の箱ダイヤでは、列車の同一進行方向の行路を、水平方向の一直線で表示するとともに、当該行路で経由する駅の名称を表示している。しかし、特許文献１の車両運用計画作成装置では、列車が単に駅を通過するのか停車するのか区別が付くように表示することができない。そのため、ユーザーは、表示されている駅が通過駅なのか停車駅なのかを区別して把握することができない。
【０００５】
そこで、本発明は、列車等の車両の運行をダイヤ図で表す場合に、車両の停車位置をより容易に把握できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決する本発明の第一態様は、路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付部と、前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成部と、前記生成部により生成されたダイヤ図を出力する出力部と、を有するダイヤ図生成装置である。
【０００７】
上記のダイヤ図生成装置であって、前記受付部は、前記路線上の駅の順序と、前記駅間が営業区間であるか非営業区間であることを示す路線情報を受け付け、前記生成部は、前記路線情報に基づいて、前記停車駅間が営業区間であるか非営業区間であるかを設定し、前記ダイヤ図の前記非営業区間に対応する前記第一罫線上に、非営業区間を示す記号を表す、ようにしてもよい。
【０００８】
上記のダイヤ図生成装置であって、前記路線情報には、前記路線上の始発駅から前記各駅までの距離が含まれ、前記生成部は、前記路線情報に基づいて、前記停車駅間の距離を設定し、前記第一罫線の長さを前記停車駅間の距離に応じた長さで前記ダイヤ図に表す、ようにしてもよい。
【０００９】
上記のダイヤ図生成装置であって、前記受付部は、前記各停車駅における停車時間を受け付け、前記生成部は、前記第二罫線の長さを前記停車時間に応じた長さで前記ダイヤ図に表す、ようにしてもよい。
【００１０】
上記の課題を解決する本発明の第二態様は、ダイヤ図生成装置におけるダイヤ図生成方法であって、路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付ステップと、前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成ステップと、前記生成ステップで生成されたダイヤ図を出力する出力ステップと、を含む。
【００１１】
上記の課題を解決する本発明の第三態様は、コンピューターをダイヤ図生成装置として機能させるプログラムであって、路線上で運行される車両の停車駅の順序を示す行路情報を受け付ける受付部、前記行路情報に基づいて、前記停車駅を所定方向に順に配置し、前記停車駅間の前記車両の移動区間を前記所定方向の第一罫線として表し、前記車両の停車位置を前記第一罫線と垂直な第二罫線として表したダイヤ図を生成する生成部、前記生成部により生成されたダイヤ図を出力する出力部、としてコンピューターを機能させる。
【発明の効果】
【００１２】
本発明によれば、列車等の車両の運行をダイヤ図で表す場合に、車両の停車位置をより容易に把握できる。
【００１３】
上述した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るダイヤ図生成装置の機能構成の一例を示す図である。
【図２】駅名テーブルのデータ構造の一例を示す図である。
【図３】行路テーブル１１０のデータ構造の一例を示す図である。
【図４】ダイヤ図の構成の一例を示す図である。
【図５】ダイヤ図生成装置の機能を実現するコンピューターのハードウェア構成の一例を示す図である。
【図６】ダイヤ図生成処理の一例を示すフロー図である。
【図７】ダイヤ図生成画面の一例を示す図である。
【図８】段落ち区間設定処理の一例を示すフロー図である。
【図９】段落ち区間設定処理後の行路テーブルのデータ構造の一例を示す図である。
【図１０】駅名列生成処理の一例を示すフロー図である。
【図１１】駅名列の間隔設定処理の一例を示すフロー図である。
【図１２】駅名出力判定処理の一例を示すフロー図である。
【図１３】図形生成処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１６】
本実施形態では、車両として列車を例に挙げて説明する。また、本実施形態では、列車の運行スケジュールや乗務員の乗務スケジュール等の計画を、縦線と横線とで表現したダイヤ図を生成する。なお、ダイヤ図（ダイヤグラム）とは、列車運行計画を図形等で表した列車運行図表（トレイン・ダイヤグラム）のことを指す。
【００１７】
図１は、本発明の一実施形態に係るダイヤ図生成装置の機能構成の一例を示す図である。
【００１８】
図１に示すように、ダイヤ図生成装置１は、駅名格納部１０と、行路格納部１１と、ダイヤ図格納部１２と、受付部２０と、出力部２１と、生成部３０とを有する。生成部３０は、段落ち区間設定部３１と、駅名列生成部３２と、間隔設定部３３と、駅名出力判定部３４と、図形生成部３５とを有する。
【００１９】
駅名格納部１０には、複数の駅（始発駅、終着駅、始発駅及び終着駅の間の駅）で構成される路線の情報を含む駅名テーブル１００が格納される。駅名テーブル１００は、例えば路線毎に駅名格納部１０に格納される。駅名テーブル１００は、例えば図２（駅名テーブルのデータ構造の一例を示す図）に示すように、駅毎に、当該駅の路線上の順番を表す番号１０１と、当該駅の駅名１０２と、当該駅と路線上の始発駅との間の距離をキロメートル単位で示すキロ程１０３と、段落ち区間の開始駅であるか否か（開始駅である：１以上の自然数、開始駅でない：０）を示す段落ち区間開始フラグ１０４と、段落ち区間の終了駅であるか否か（終了駅である：１以上の自然数、終了駅でない：０）を示す段落ち区間終了フラグ１０５とを対応付けて格納する。駅名テーブル１００に基づけば、路線上の駅の順序等を特定することができる。なお、図中では、「駅名」を「駅」と、「段落ち区間開始フラグ」を「段落ち区間開始」と、「段落ち区間終了フラグ」を「段落ち区間終了」と示している。
【００２０】
段落ち区間とは、旅客が列車を利用する営業（通常）区間と区別して、非営業（回送）区間のことを指す。段落ち区間開始フラグ１０４の値と、段落ち区間終了フラグ１０５の値とが等しい二つの駅の間が、段落ち区間であることを示す。図２の例では、ＳＴＵ駅とＴＵＶ駅の間、ＺＡＢ駅とＹＺＡ駅の間、ＧＧＧ駅とＦＦＦ駅の間、ＯＯＯ駅とＮＮＮ駅の間、がそれぞれ段落ち区間である。なお、図２では、旅客が利用しない駅に、段落ち区間開始フラグ１０４が設定され、旅客が利用する駅に、段落ち区間終了フラグ１０５が設定されている。
【００２１】
行路格納部１１には、複数の停車駅で構成される列車の行路（列車の運行）の情報を含む行路テーブル１１０が格納される。行路テーブル１１０は、例えば行路毎に行路格納部１１に格納される。行路テーブル１１０は、例えば図３（行路テーブルのデータ構造の一例を示す図）に示すように、隣接する停車駅の組み合わせである区間毎に、当該区間の行路上の順番を表す番号１１１と、当該区間の開始駅の発駅名１１２と、当該区間の終了駅の着駅名１１３と、当該区間が段落ち区間であるか否か（段落ち区間である：「有」、段落ち区間でない：「無」）を示す段落ちフラグ１１４とを対応付けて格納する。行路テーブル１１０に基づけば、行路上の区間の順序、行路上の停車駅の順序等を特定することができる。なお、図中では、「発駅名」を「発駅」と、「着駅名」を「着駅」と、「段落ちフラグ」を「段落ち」と示している。
【００２２】
もちろん、路線情報、及び行路情報のデータ構造は、上述した構造に限定されない。例えば、駅名１０２、発駅名１１２、及び着駅名１１３は、駅の名称に限らず番号等の識別情報であってもよい。
【００２３】
ダイヤ図格納部１２には、生成部３０により生成されたダイヤ図の情報が格納される。本実施形態では、生成部３０は、例えば図４（ダイヤ図の構成の一例を示す図）に示すようなダイヤ図１２０を生成する。ダイヤ図１２０は、基本的に、駅名を表示する領域である駅名列１２１と、駅名列１２１どうしの距離を示す領域である間隔１２２と、列車の停車位置を示す縦罫線１２３と、列車の移動区間を示す横罫線１２４と、始発駅を示す始発記号１２５と、終着駅を示す終着記号１２６とから構成される。また、ダイヤ図１２０には、段落ち区間である移動区間に関連付けられる段落ち記号１２７が含まれる。なお、本実施形態では、ダイヤ図１２０の横方向の座標位置をＸ、縦方向の座標位置をＹと表す。
【００２４】
連結される縦罫線１２３と横罫線１２４とは、垂直な関係にある。また、駅名列１２１が並ぶ方向（Ｘ方向）と、横罫線１２４の伸びる方向（Ｘ方向）は、一致する。また、各駅名列１２１のＸ方向の位置と、各縦罫線１２３のＸ位置は、対応する。また、終着記号１２６
【００２５】
もちろん、ダイヤ図１２０の構成は、図示した例に限定されない。当該ダイヤ図１２０と実質的に同じ機能を提供できるのであれば、領域、図形、記号等の大きさ、形状、色、配置などは特に限定されない。
【００２６】
受付部２０は、ユーザーから、通信Ｉ／Ｆ（Ｉ／Ｆ：インターフェイス）９４（図５）、入力装置９６（図５）等を介して、駅名テーブル１００の入力を受け付け、駅名格納部１０に格納する。また、受付部２０は、通信Ｉ／Ｆ９４、入力装置９６等を介して、行路テーブル１１０の入力を受け付け、行路格納部１１に格納する。また、受付部２０は、通信Ｉ／Ｆ９４、入力装置９６等を介して、ダイヤ図の生成の指示を受け付ける。
【００２７】
出力部２１は、ユーザーからダイヤ図の生成の指示を受け付けるインターフェイス画面やダイヤ図を、通信Ｉ／Ｆ９４を介して外部の端末装置や印刷装置に、又は表示装置９７に出力する。
【００２８】
生成部３０は、駅名格納部１０に格納されている駅名テーブル１００、及び行路格納部１１に格納されている行路テーブル１１０に基づいてダイヤ図１２０を生成し、ダイヤ図格納部１２に格納する。
【００２９】
段落ち区間設定部３１は、駅名テーブル１００の各レコードに基づいて、行路テーブル１１０に含まれる各区間の段落ちの有無を判定し、段落ち１１４に設定する。
【００３０】
駅名列生成部３２は、段落ち区間設定部３１により処理された行路テーブル１１０の各レコードと、駅名テーブル１００の各レコードとに基づいて、行路上の停車駅を路線上の駅順にダイヤ図１２０の駅名列１２１として生成する。
【００３１】
間隔設定部３３は、ダイヤ図１２０上に生成された駅名列間の間隔１２２を、駅名テーブル１００のキロ程１０３に基づいて設定する。
【００３２】
駅名出力判定部３４は、指定された駅名の駅名列１２１がダイヤ図１２０上に生成されているか否かを判定するとともに、生成されている場合にはその出力位置を特定する。
【００３３】
図形生成部３５は、ダイヤ図１２０上に生成された駅名列１２１と、行路テーブル１１０とに基づいて、縦罫線１２３、横罫線１２４、始発記号１２５、終着記号１２６、段落ち記号１２７等をダイヤ図１２０上に生成する。
【００３４】
上記のダイヤ図生成装置１は、例えば、図５（ダイヤ図生成装置の機能を実現するコンピューターのハードウェア構成の一例を示す図）に示すような、ＣＰＵ（Central Processing Unit）などの演算装置９１と、ＲＡＭ（Random Access Memory）などの主記憶装置９２と、フラッシュＲＯＭ（Read Only Memory）やＨＤＤ（Hard Disk Drive）などの補助記憶装置９３と、通信回線と無線や有線で接続する通信Ｉ／Ｆ９４と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置９５と、タッチパネルやキーボードやマウスなどの入力装置９６と、液晶ディスプレイなどの表示装置９７と、を有するコンピューター９で実現することができる。
【００３５】
駅名格納部１０と、行路格納部１１と、ダイヤ図格納部１２と、受付部２０と、出力部２１と、生成部３０とは、例えば、演算装置９１が、補助記憶装置９３に記憶されている所定のプログラムを主記憶装置９２にロードして実行することで実現可能である。
【００３６】
駅名格納部１０と、行路格納部１１と、ダイヤ図格納部１２とは、例えば、演算装置９１が、主記憶装置９２、補助記憶装置９３、又は通信Ｉ／Ｆ９４を介して接続される通信回線上のストレージ、を利用することにより実現されてもよい。
【００３７】
上記の所定のプログラムは、例えば、ネットワーク上の他のサーバーにダウンロード可能な状態で格納したり、ＤＶＤなどの持ち運び可能な記憶媒体に格納したりすることで流通させ、ダイヤ図生成装置１にインストールすることができる。
【００３８】
もちろん、上記のダイヤ図生成装置１の機能構成は、ダイヤ図生成装置１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ダイヤ図生成装置１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、一つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理は、一つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。また、ダイヤ図生成装置１の目的が達成できれば、ダイヤ図生成装置１の機能及び処理の分担は、図示した例に限られない。
【００３９】
図６は、ダイヤ図生成処理の一例を示すフロー図である。図６のフローは、例えば、上記の所定のプログラムが起動されることで開始される。
【００４０】
なお、駅名格納部１０には、予めダイヤ図を生成する対象路線の駅名テーブル１００が格納されている。受付部２０は、ダイヤ図生成対象の路線の駅名テーブル１００の選択をユーザーから受け付けるようにしてもよい。
【００４１】
まず、受付部２０は、出力部２１が出力したダイヤ図生成画面を介して、行路の入力を受け付ける（ステップＳ１）。
【００４２】
具体的には、出力部２１は、図６のフローが開始されると、例えば図７（ダイヤ図生成画面の一例を示す図）に示すようなダイヤ図生成画面２００を出力する。ダイヤ図生成画面２００は、ダイヤ図として表す対象行路の情報を入力する行路領域２１０と、ダイヤ図を生成する対象路線の情報を表示する路線領域２２０と、ダイヤ図の生成を開始する開始ボタン２９０と、ダイヤ図の生成をキャンセルする終了ボタン２９１とを有する。
【００４３】
行路領域２１０には、行路を構成する区間毎に、番号２１１が順番に表示される。また、行路領域２１０には、行路を構成する区間毎に、当該区間の発駅を入力する発駅領域２１２と、当該区間の着駅を入力する着駅領域２１３とが設けられる。
【００４４】
例えば、発駅領域２１２又は着駅領域２１３内でクリック等の所定操作が行われた場合、当該領域が選択されて駅名が入力可能となる。また例えば、行路領域２１０内でダブルクリック等の所定操作が行われた場合、新しく区間の行（番号２１１、発駅領域２１２、及び着駅領域２１３）が追加される。また例えば、全区間の行が行路領域２１０内に入らない場合、行路領域２１０はスクロール可能であってもよい。
【００４５】
路線領域２２０には、ダイヤ図を生成する対象路線の駅名が順番に表示される。出力部２１は、駅名格納部１０に格納されている対象路線の駅名テーブル１００の駅名１０２を、番号１０１の順で路線領域２２０に表示する。
【００４６】
例えば、全駅名が路線領域２２０内に入らない場合、路線領域２２０はスクロール可能であってよい。また例えば、路線領域２２０内に表示されているいずれかの駅名が選択された上で、ダブルクリック等の所定操作が行われた場合、行路領域２１０内で選択されている発駅領域２１２又は着駅領域２１３に、路線領域２２０内で選択された駅名が入力されるようにしてもよい。
【００４７】
上記のようなダイヤ図生成画面２００を介して、ユーザーは、ダイヤ図の生成する対象路線上の行路の入力を行うことができる。もちろん、ダイヤ図生成画面２００の構成は、図示した例に限定されない。本実施形態のダイヤ図生成機能を提供できるのであれば、例えば、画面を複数の画面に分離してもよい。また、画面上のボタン、入力領域、表示領域などの各構成要素の位置、大きさ等は、図示した例に限定されない。
【００４８】
受付部２０は、ダイヤ図生成画面２００の行路領域２１０を介して、行路情報の入力を受け付ける。
【００４９】
また、受付部２０は、出力部２１が出力したダイヤ図生成画面を介して、ダイヤ図作成指示が入力されたか否かを判定する（ステップＳ２）。具体的には、受付部２０は、上述のようなダイヤ図生成画面２００の開始ボタン２９０を選択するクリック等の所定操作がされたか否かを判定する。開始ボタン２９０が操作されていない場合（ステップＳ２でＮ）、受付部２０は、処理をステップＳ１に戻す。一方、開始ボタン２９０が操作された場合（ステップＳ２でＹ）、受付部２０は、処理をステップＳ３に進める。このとき、受付部２０は、行路テーブル１１０を生成し、行路領域２１０に入力されている各区間の情報（番号、発駅、着駅）を取得し、番号１１１、発駅名１１２、及び着駅名１１３として当該生成したテーブルに追加し、行路格納部１１に格納する。なお、受付部２０は、各レコードの段落ち１１４には、初期値として「無」を設定する。
【００５０】
開始ボタン２９０が操作された場合（ステップＳ２でＹ）、生成部３０は、段落ち区間設定処理を実行する（ステップＳ３）。具体的に、図８（段落ち区間設定処理の一例を示すフロー図）を参照して説明する。なお、ステップＳ３〜Ｓ７の処理で生成されるダイヤ図（生成途中のダイヤ図も含む）は、ダイヤ図格納部１２に格納される。
【００５１】
まず、段落ち区間設定部３１は、行路テーブル１１０から次のレコードを一つ選択する（ステップＳ３０１）。なお、段落ち区間設定部３１は、番号１１１の順に先頭から一つずつレコードを選択する。それから、段落ち区間設定部３１は、全てのレコードを選択済みであるか否かを判定する（ステップＳ３０３）。全てのレコードを選択済みである場合（ステップＳ３０３：Ｙ）、段落ち区間設定部３１は、図８に示すフロー図の処理を終了する。
【００５２】
全てのレコードを選択済みでない場合（ステップＳ３０３：Ｎ）、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの発駅が段落ち区間の開始駅であるか否かを判定する（ステップＳ３０５）。すなわち、段落ち区間設定部３１は、駅名テーブル１００を参照し、ステップＳ３０１で選択しているレコードの発駅名１１２と対応する駅名１０２を有するレコードの段落ち区間開始フラグ１０４を取得し、当該取得したフラグの値が０より大きいか否かを判定する。
【００５３】
選択しているレコードの発駅が段落ち区間の開始駅である場合（ステップＳ３０５でＹ）、段落ち区間設定部３１は、当該開始駅と同一段落ち区間の終了駅を特定する（ステップＳ３０７）。すなわち、段落ち区間設定部３１は、駅名テーブル１００を参照し、ステップＳ３０５で取得した段落ち区間開始フラグと同じ値の段落ち区間終了フラグ１０５を含むレコードを選択し、当該レコードの駅名１０２を取得する。
【００５４】
それから、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの着駅が、ステップＳ３０７で特定した終了駅であるか否かを判定する（ステップＳ３０９）。すなわち、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの着駅名１１３が、ステップＳ３０７で取得した終了駅の駅名１０２と同じであるか否かを判定する。着駅名１１３が駅名１０２と同じでない場合（ステップＳ３０９でＮ）、段落ち区間設定部３１は、処理をステップＳ３０１に戻す。
【００５５】
着駅名１１３が駅名１０２と同じである場合（ステップＳ３０９でＹ）、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの段落ちフラグ１１４の値を「有」に設定し（ステップＳ３１１）、処理をステップＳ３０１に戻す。
【００５６】
一方、選択しているレコードの発駅が段落ち区間の開始駅でない場合（ステップＳ３０５でＮ）、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの発駅が段落ち区間の終了駅であるか否かを判定する（ステップＳ３１３）。すなわち、段落ち区間設定部３１は、駅名テーブル１００を参照し、ステップＳ３０１で選択しているレコードの発駅名１１２と対応する駅名１０２を有するレコードの段落ち区間終了フラグ１０５を取得し、当該取得したフラグの値が０より大きいか否かを判定する。選択しているレコードの発駅が段落ち区間の終了駅でない場合（ステップＳ３１３でＮ）、段落ち区間設定部３１は、処理をステップＳ３０１に戻す。
【００５７】
選択しているレコードの発駅が段落ち区間の終了駅である場合（ステップＳ３１３でＹ）、段落ち区間設定部３１は、当該終了駅と同一段落ち区間の開始駅を特定する（ステップＳ３１５）。すなわち、段落ち区間設定部３１は、駅名テーブル１００を参照し、ステップＳ３１３で取得した段落ち区間終了フラグと同じ値の段落ち区間開始フラグ１０４を含むレコードを選択し、当該レコードの駅名１０２を取得する。
【００５８】
それから、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの着駅が、ステップＳ３１５で特定した開始駅であるか否かを判定する（ステップＳ３１７）。すなわち、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの着駅名１１３が、ステップＳ３１５で取得した開始駅の駅名１０２と同じであるか否かを判定する。着駅名１１３が駅名１０２と同じでない場合（ステップＳ３１７でＮ）、段落ち区間設定部３１は、処理をステップＳ３０１に戻す。
【００５９】
着駅名１１３が駅名１０２と同じである場合（ステップＳ３１７でＹ）、段落ち区間設定部３１は、ステップＳ３０１で選択しているレコードの段落ちフラグ１１４の値を「有」に設定し（ステップＳ３１９）、処理をステップＳ３０１に戻す。
【００６０】
上述の段落ち区間設定処理により、行路テーブルの各区間について、段落ちが有るか無いかが判定され、その判定結果が設定される。例えば、図３に示す行路テーブル１１０の段落ち１１４は、図２に示す駅名テーブル１００を用いた段落ち区間設定処理により、図９（段落ち区間設定処理後の行路テーブルのデータ構造の一例を示す図）に示すように設定される。具体的には、発駅ＴＵＶから着駅ＳＴＵの区間、発駅ＳＴＵから着駅ＴＵＶの区間、及び発駅ＮＮＮから着駅ＯＯＯの区間、の段落ちフラグ１１４の値が「有」に設定される。
【００６１】
図６の説明に戻る。次に、生成部３０は、駅名列生成処理を実行する（ステップＳ４）。具体的に、図１０（駅名列生成処理の一例を示すフロー図）を参照して説明する。
【００６２】
まず、駅名列生成部３２は、駅名列の出力位置（Ｘ，Ｙ）に初期値を設定し、駅名列間のＸ方向の駅名列間隔ＤＸに初期値を設定する（ステップＳ４０１）。出力位置（Ｘ，Ｙ）の初期値は、例えば、ダイヤ図上で始発駅を出力する所定位置（図４の例では、「ＡＢＣ」駅が出力される位置）である。駅名列の間隔は後述する図１１の処理で調整するため、駅名列間隔ＤＸは、予め定めた値が設定される。
【００６３】
それから、駅名列生成部３２は、駅名テーブル１００から次のレコードを一つ選択する（ステップＳ４０３）。なお、駅名列生成部３２は、番号１０１の順に先頭から一つずつレコードを選択する。それから、駅名列生成部３２は、全てのレコードを選択済みであるか否かを判定する（ステップＳ４０５）。全てのレコードを選択済みである場合（ステップＳ４０５：Ｙ）、駅名列生成部３２は、図１０に示すフロー図の処理を終了する。
【００６４】
全てのレコードを選択済みでない場合（ステップＳ４０５でＮ）、駅名列生成部３２は、行路テーブル１１０から次のレコードを選択する（ステップＳ４０７）。なお、駅名列生成部３２は、番号１１１の順に先頭から一つずつレコードを選択する。ただし、ステップＳ４０５の次にステップＳ４０７を実行する場合、先頭のレコードから再び選択し、ステップＳ４１１の次にステップＳ４０７を実行する場合、前回選択したレコードの次のレコードを選択する。
【００６５】
それから、駅名列生成部３２は、全てのレコードを選択済みであるか否かを判定する（ステップＳ４０９）。全てのレコードを選択済みである場合（ステップＳ４０９：Ｙ）、駅名列生成部３２は、処理をステップＳ４０３に戻す。
【００６６】
全てのレコードを選択済みでない場合（ステップＳ４０９でＮ）、駅名列生成部３２は、ステップＳ４０７で選択しているレコードの発駅名１１２又は着駅名１１３が、ステップＳ４０３で選択しているレコードの駅名１０２と一致するか否かを判定する（ステップＳ４１１）。発駅名１１２及び着駅名１１３のいずれも駅名１０２と一致しない場合（ステップＳ４１１でＮ）、駅名列生成部３２は、処理をステップＳ４０７に戻す。
【００６７】
発駅名１１２又は着駅名１１３が駅名１０２と一致する場合（ステップＳ４１１でＹ）、駅名列生成部３２は、設定されている出力位置（Ｘ，Ｙ）に、ステップＳ４０３で選択しているレコードの駅名１０２を出力する（ステップＳ４１３）。
【００６８】
それから、駅名列生成部３２は、出力位置のＸ座標に駅名列間隔ＤＸを加算し（ステップＳ４１５）、処理をステップＳ４０１に戻す。
【００６９】
上述の駅名列生成処理により、行路上の各停車駅が、路線上の駅順に等間隔で出力される。
【００７０】
図６の説明に戻る。次に、生成部３０は、駅名列の間隔設定処理を実行する（ステップＳ５）。具体的に、図１１（駅名列の間隔設定処理の一例を示すフロー図）を参照して説明する。
【００７１】
まず、間隔設定部３３は、前駅キロ程ＰＤに０を設定し、先頭駅フラグＨＦに０を設定する（ステップＳ５０１）。先頭駅フラグＨＦの値は、０は先頭駅を意味し、１は先頭駅以外の駅を意味する。
【００７２】
それから、間隔設定部３３は、駅名テーブル１００から次のレコードを一つ選択する（ステップＳ５０３）。なお、間隔設定部３３は、番号１０１の順に先頭から一つずつレコードを選択する。それから、間隔設定部３３は、全てのレコードを選択済みであるか否かを判定する（ステップＳ５０５）。全てのレコードを選択済みである場合（ステップＳ５０５：Ｙ）、間隔設定部３３は、図１１に示すフロー図の処理を終了する。
【００７３】
全てのレコードを選択済みでない場合（ステップＳ５０５でＮ）、間隔設定部３３は、駅名出力判定部３４を用いて、ステップＳ５０３で選択しているレコードの駅名１０２が、ステップＳ４の駅名列生成処理においてダイヤ図に出力されているか否かを判定する（ステップＳ５０７）。具体的に、図１２（駅名出力判定処理の一例を示すフロー図）を参照して説明する。なお、図１２のフロー図の処理は、図６のステップＳ６の処理に対応している。
【００７４】
まず、駅名出力判定部３４は、駅名列の出力位置（Ｘ，Ｙ）に初期値を設定する（ステップＳ６０１）。出力位置（Ｘ，Ｙ）の初期値は、例えば、ダイヤ図上で始発駅を出力する所定位置（図４の例では、「ＡＢＣ」駅が出力される位置）である。
【００７５】
それから、駅名出力判定部３４は、設定されている出力位置（Ｘ，Ｙ）に、ステップＳ５０３で選択されているレコードの駅名１０２が出力されているか否かを判定する（ステップＳ６０３）。
【００７６】
設定されている出力位置（Ｘ，Ｙ）に、ステップＳ５０３で選択されたレコードの駅名１０２が出力されていない場合（ステップＳ６０３：Ｎ）、駅名出力判定部３４は、出力位置のＸ座標を変更する（ステップＳ６０５）。例えば、駅名出力判定部３４は、出力位置のＸ座標に所定値を加える。
【００７７】
それから、駅名出力判定部３４は、設定されている出力位置のＸ座標が、ダイヤ図上の最終位置を超えたか否かを判定する（ステップＳ６０７）。すなわち、駅名出力判定部３４は、Ｘ座標が、ダイヤ図上に出力されている駅名列のうち最後（図４の例では右端）の位置を超えたか否かを判定する。出力位置のＸ座標が最終位置を超えていない場合（ステップＳ６０７でＮ）、駅名出力判定部３４は、処理をステップＳ６０３に戻す。
【００７８】
出力位置のＸ座標が最終位置を超えている場合（ステップＳ６０７でＹ）、駅名出力判定部３４は、「出力なし」を間隔設定部３３に通知し（ステップＳ６０９）、図１２に示すフロー図の処理を終了する。
【００７９】
一方、設定されている出力位置（Ｘ，Ｙ）に、ステップＳ５０３で選択されているレコードの駅名１０２が出力されている場合（ステップＳ６０３：Ｙ）、駅名出力判定部３４は、当該出力位置のＸ座標を間隔設定部３３に通知する（ステップＳ６１１）。また、駅名出力判定部３４は、「出力あり」を間隔設定部３３に通知し（ステップＳ６１３）、図１２に示すフロー図の処理を終了する。
【００８０】
上述の駅名出力判定処理により、指定された駅名がダイヤ図上に出力されているか否かが判定される。また、指定された駅名がダイヤ図上に出力されている場合には、当該駅名の出力位置が得られる。
【００８１】
図１１の説明に戻る。間隔設定部３３は、ステップＳ５０７の駅名出力判定部３４の判定結果に基づいて、ステップＳ５０３で選択しているレコードの駅名１０２がダイヤ図に出力されているか否かを判定する（ステップＳ５０９）。当該レコードの駅名１０２がダイヤ図に出力されていない場合（ステップＳ５０９でＮ）、間隔設定部３３は、処理をステップＳ５０３に戻す。
【００８２】
当該レコードの駅名１０２がダイヤ図に出力されている場合（ステップＳ５０９でＹ）、間隔設定部３３は、先頭駅フラグＨＦの値が１であるか否かを判定する（ステップＳ５１１）。先頭駅フラグＨＦの値が１でない場合（ステップＳ５１１でＮ）、間隔設定部３３は、先頭駅フラグＨＦに１を設定し（ステップＳ５１３）、処理を後述するステップＳ５１９に進める。
【００８３】
先頭駅フラグＨＦの値が１である場合（ステップＳ５１１でＹ）、間隔設定部３３は、ステップＳ５０３で選択しているレコードのキロ程１０３と前駅キロ程ＰＤとの差分を求め、当該差分をダイヤ図の所定の縮尺を用いて間隔Ｓに換算する（ステップＳ５１５）。
【００８４】
また、間隔設定部３３は、ステップＳ４の駅名列生成処理においてダイヤ図に出力されている、ステップＳ５０３で選択しているレコードの駅名の駅名列と、当該駅名の前駅の駅名列（図４の例では、ある駅名列の左隣の駅名列）との間の間隔を、ステップＳ５１５で算出した間隔Ｓとなるように設定する（ステップＳ５１７）。
【００８５】
それから、間隔設定部３３は、ステップＳ５０３で選択しているレコードのキロ程１０３を前駅キロ程ＰＤに設定し（ステップＳ５１９）、処理をステップＳ５０３に戻す。
【００８６】
上述の間隔設定処理により、ダイヤ図上の各駅名列の間隔が、実際のキロ程に応じた幅として表れる。
【００８７】
図６の説明に戻る。次に、生成部３０は、図形生成処理を実行し（ステップＳ７）、生成したダイヤ図をダイヤ図格納部１２に格納する。具体的に、図１３（図形生成処理の一例を示すフロー図）を参照して説明する。
【００８８】
まず、図形生成部３５は、発駅出力位置（Ｘ，Ｙ）、着駅出力位置（Ｘ，Ｙ）、前回出力位置（Ｘ，Ｙ）、及び縦罫線長ＬＹに、初期値を設定する（ステップＳ７０１）。各出力位置（Ｘ，Ｙ）の初期値は、例えば、原点（０，０）などの任意の所定位置とすればよい。縦罫線長ＬＹは、予め定めた値が設定される。
【００８９】
それから、図形生成部３５は、行路テーブル１１０から次のレコードを一つ選択する（ステップＳ７０３）。なお、図形生成部３５は、番号１１１の順に先頭から一つずつレコードを選択する。それから、図形生成部３５は、全てのレコードを選択済みであるか否かを判定する（ステップＳ７０５）。
【００９０】
全てのレコードを選択済みでない場合（ステップＳ７０５でＮ）、図形生成部３５は、駅名出力判定部３４を用いて、ステップＳ７０３で選択しているレコードの発駅名１１２が、ステップＳ４の駅名列生成処理においてダイヤ図に出力されているか否かを判定する（ステップＳ７０７）。駅名出力判定部３４の処理は、図１２を参照して上述したとおりである。なお、行路テーブルの発駅は、駅名列生成処理でダイヤ図に出力されているため、駅名出力判定処理の結果は、「出力あり」となる。従って、図形生成部３５は、発駅名１１２のダイヤ図上の出力位置のＸ座標を駅名出力判定部３４から取得する（図１２のステップＳ６１１で通知される）。
【００９１】
また、図形生成部３５は、駅名出力判定部３４を用いて、ステップＳ７０３で選択しているレコードの着駅名１１３が、ステップＳ４の駅名列生成処理においてダイヤ図に出力されているか否かを判定する（ステップＳ７０９）。駅名出力判定部３４の処理は、図１２を参照して上述したとおりである。なお、行路テーブルの着駅は、駅名列生成処理でダイヤ図に出力されているため、駅名出力判定処理の結果は、「出力あり」となる。従って、図形生成部３５は、着駅名１１３のダイヤ図上の出力位置のＸ座標を駅名出力判定部３４から取得する（図１２のステップＳ６１１で通知される）。
【００９２】
それから、図形生成部３５は、ステップＳ７０７で取得した出力位置のＸ座標を発駅出力位置のＸ座標として設定し、前回出力位置のＹ座標に縦罫線長ＬＹを加算した値を発駅出力位置のＹ座標として設定し、ステップＳ７０９で取得した出力位置のＸ座標を着駅出力位置のＸ座標として設定し、前回出力位置のＹ座標に縦罫線長ＬＹを加算した値を着駅出力位置のＹ座標として設定する（ステップＳ７１１）。
【００９３】
それから、図形生成部３５は、前回出力位置（Ｘ，Ｙ）が初期値であるか否かを判定する（ステップＳ７１３）。前回出力位置（Ｘ，Ｙ）が初期値である場合（ステップＳ７１３でＹ）、図形生成部３５は、設定されている発駅出力位置（Ｘ，Ｙ）に、始発記号１２５（図４参照）をダイヤ図上に出力し（ステップＳ７１５）、処理を後述するステップＳ７１９に進める。
【００９４】
一方、前回出力位置（Ｘ，Ｙ）が初期値でない場合（ステップＳ７１３でＮ）、図形生成部３５は、設定されている前回出力位置（Ｘ，Ｙ）から発駅出力位置（Ｘ，Ｙ）まで縦罫線１２３（図４参照）をダイヤ図上に出力する（ステップＳ７１７）。
【００９５】
それから、図形生成部３５は、設定されている発駅出力位置（Ｘ，Ｙ）から着駅出力位置（Ｘ，Ｙ）まで横罫線１２４（図４参照）をダイヤ図上に出力する（ステップＳ７１９）。
【００９６】
それから、図形生成部３５は、ステップＳ７０３で選択しているレコードの段落ちフラグ１１４が「有」であるか否かを判定する（ステップＳ７２１）。段落ちフラグ１１４が「有」である場合（ステップＳ７２１でＹ）、図形生成部３５は、ステップＳ７１９で出力した横罫線上に段落ち記号１２７を出力し（ステップＳ７２３）、処理を後述するステップＳ７２５に進める。
【００９７】
ステップＳ７０３で選択しているレコードの段落ちフラグ１１４が「有」でない場合（ステップＳ７２１でＮ）、図形生成部３５は、前回出力位置（Ｘ，Ｙ）に着駅出力位置（Ｘ，Ｙ）を設定し（ステップＳ７２５）、処理をステップＳ７０３に戻す。
【００９８】
一方、全てのレコードを選択済みである場合（ステップＳ７０５でＹ）、図形生成部３５は、設定されている前回出力位置（Ｘ，Ｙ）に、終着記号１２６（図４参照）を出力し（ステップＳ７２７）、図１３に示すフロー図の処理を終了する。
【００９９】
上述の図形生成処理により、縦線、横線、各種記号で表したダイヤ図が描画される。
【０１００】
図６の説明に戻る。次に、出力部２１は、ダイヤ図格納部１２に格納されているダイヤ図を出力し（ステップＳ８）、図６に示すフロー図の処理を終了する。例えば、出力部２１は、図４に示すようなダイヤ図１２０を、表示装置や印刷装置に出力する。
【０１０１】
上述した各フロー図における処理単位は、ダイヤ図生成装置１の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ダイヤ図生成装置１の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。また、フローの処理順序も、本願発明の目的を達成することができる限り、図示した例に限定されない。
【０１０２】
以上、本発明の一実施形態について説明した。本実施形態によれば、列車の停車位置を表したダイヤ図が出力されるため、列車の停車位置をより容易に把握できるようになる。
【０１０３】
例えば、本実施形態では、行路を入力すると、停車駅と、列車の移動を表す横罫線と、列車の停車を表す縦罫線とを含むダイヤ図が生成される。これにより、停車駅を通過駅と誤解するのを防ぐことができるダイヤ図をより容易に生成することができる。
【０１０４】
また、例えば、本実施形態では、行路を入力すると、駅名テーブルに基づいて段落ち区間を表す記号を含むダイヤ図が生成される。これにより、営業区間と非営業区間を区別し易くするダイヤ図をより容易に生成することができる。
【０１０５】
また、例えば、本実施形態では、行路を入力すると、駅名テーブルに基づいて、各区間の実際の長さに応じて、発駅と着駅の間隔を表したダイヤ図が生成される。これにより、行路の各区間の距離の違いを認識し易くするダイヤ図をより容易に生成することができる。
【０１０６】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。
【０１０７】
例えば、受付部２０は、行路テーブル１１０の発駅１１２について当該駅での停車時間を受け付け、図形生成部３５は、図１３のステップＳ７１１において、発駅出力位置のＹ座標及び着駅出力位置のＹ座標に加算する縦罫線長ＬＹを、発駅の停車時間の長さに応じて変更する（例えば、停車時間が長いほどＬＹを長くする）ようにしてもよい。このようにすれば、停車駅とともに当該駅の停車時間を認識し易くするダイヤ図をより容易に生成することができる。
【０１０８】
本発明は、列車等の車両の運行に限らず、自動車や船舶などの輸送機械全般に適用することができる。
【符号の説明】
【０１０９】
１：ダイヤ図生成装置
９：コンピューター
１０：駅名格納部
１１：行路格納部
１２：ダイヤ図格納部
２０：受付部
２１：出力部
３０：生成部
３１：段落ち区間設定部
３２：駅名列生成部
３３：間隔設定部
３４：駅名出力判定部
９１：演算装置
９２：主記憶装置
９３：補助記憶装置
９４：通信Ｉ／Ｆ
９５：読み書き装置
９６：入力装置
９７：表示装置
１００：駅名テーブル
１０１：番号
１０２：駅名
１０３：キロ程
１０４：段落ち区間開始フラグ
１０５：段落ち区間終了フラグ
１１０：行路テーブル
１１１：番号
１１２：発駅名
１１３：着駅名
１１４：フラグ
１２０：ダイヤ図
１２１：駅名列
１２２：間隔
１２３：縦罫線
１２４：横罫線
１２５：始発記号
１２６：終着記号
１２７：段落ち記号
２００：ダイヤ図生成画面
２１０：行路領域
２１１：番号
２１２：発駅領域
２１３：着駅領域
２２０：路線領域
２９０：開始ボタン
２９１：終了ボタン
【図１】
2015160531.tif 000003
【図２】
2015160531.tif 000004
【図３】
2015160531.tif 000005
【図４】
2015160531.tif 000006
【図５】
2015160531.tif 000007
【図６】
2015160531.tif 000008
【図７】
2015160531.tif 000009
【図８】
2015160531.tif 000010
【図９】
2015160531.tif 000011
【図１０】
2015160531.tif 000012
【図１１】
2015160531.tif 000013
【図１２】
2015160531.tif 000014
【図１３】
2015160531.tif 000015