(57)【要約】【課題】各社の定期券発行事業者経路運賃シミュレータのデータの正否を判定するための定期券データを生成する定期券データ生成システムを提供する。【解決手段】各社の定期券発行事業者経路運賃シミュレータ１００のデータを比較検証するための真正定期券データを生成する定期券データ生成システム２００である。定期券データ生成システム２００は、定期券発行事業者経路運賃シミュレータ１００から出力されるデータから、正経路データを生成する経路生成部１０と、この経路生成部１０で生成された正経路データから定期券データを生成する定期券データ生成部４０とを具備してなり、定期券データ生成部４０は基本運賃テーブル３０を参照することにより定期券データを生成する。【選択図】      図１
2008097428.tif 000002
【特許請求の範囲】
【請求項１】
各社の定期券発行事業者経路運賃シミュレータのデータを比較検証するための真正定期券データを生成する定期券データ生成システムであって、
定期券発行事業者経路運賃シミュレータから出力されるデータから、正経路データを生成する経路生成部と、該経路生成部で生成された正経路データから定期券データを生成する定期券データ生成部とを具備し、
該定期券データ生成部は基本運賃テーブルを参照することにより定期券データを生成することを特徴とする定期券データ生成システム。
【請求項２】
各社の定期券データを比較検証するための真正定期券データを生成する定期券データ生成システムであって、
定期券発行事業者経路運賃シミュレータから出力されるデータから、正経路データを生成する経路生成部と、該経路生成部で生成された正経路データから定期券データを生成する定期券データ生成部とを具備し、
該定期券データ生成部は基本運賃テーブルを参照することにより定期券データを生成することを特徴とする定期券データ生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各社の定期券発行事業者経路運賃シミュレータのデータの正否を判定するための定期券データを生成する定期券データ生成システムに関する。
【背景技術】
【０００２】
定期券には、券面印字の他に発駅−経由駅−着駅等に係る情報が、磁気記憶手段やＩＣチップに記録されている。特に、発駅−経由駅−着駅等に係る情報について説明すると、各社の全路線にはそれぞれ異なる線区コードが割り当てられ、各線区の駅にはさらに駅順コードが割り当てられている。図１６は、各駅に付されている線区コード−駅順コードを示すものである。図１６に示すように、○○線のＡ駅を特定するために、３桁の線区コードと３桁の駅順コードがそれぞれ付されている。
【０００３】
例えば、東海道線の線区コードは００１、東京駅から熱海駅まで順に駅順コードが００１、００２・・・０４３というように割り当てられており、東京駅は００１−００１、有楽町駅は００１−００２、新橋駅は００１−００３のように駅順コード（駅番号）が割り当てられる。このように、各社の全路線の全駅はこのような異なる駅番号がそれぞれユニークに付されており、定期券の経路はこの線区−駅順コードで特定され、このような線区駅順コードが定期券に記録されている。
【０００４】
図１７は、Ａ駅からＢ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。線区コード−駅順コードが００１−００１であるＡ駅から、線区コード−駅順コードが００１−０１０であるＢ駅までの定期券には、図示するように、「００１−００１〜００１−０１０」という情報が定期券に記憶される。このような定期券を用いれば、００１−００２〜００１−００９までの途中駅の改札を通過することができるが、これは改札機によって、
００１−００１（Ａ駅）＜００１−００２〜００１−００９＜００１−０１０（Ｂ駅）
というような駅順コードの大小比較がなされることによって通札可能となるものである。
【０００５】
次に、２つの路線にまたがった駅間の定期券につき説明する。図１８は、Ａ駅からＣ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。この図では、線区コード−駅順コードが００１−００１のＡ駅から始まる路線Ｘと、路線ＸのＢ駅を起点とする路線Ｙと、Ａ駅とＣ駅の両方で交差する路線Ｚとが示されている。路線Ｙには線区コード００２がつけられており、Ｂ駅には、路線Ｘの線区コード−駅順コード００１−０１０と、路線Ｙの線区コード−駅順コード００２−００１との両方が付されている。Ｂ駅以降の路線Ｙには、線区コード−駅順コードが順に、００２−００２、００２−００３、というように付されていく。路線Ｚについては詳細なコードの説明はしないが、同様のルールで線区コード−駅順コードで付されているものとする。ここで、Ａ駅からＣ駅まで定期券には、図に示されているように「００１−００１〜００２−００３」という情報に加えて、途中の経由駅Ｂに係る情報である「００１−０１０」も記憶される。以下、本明細書では、この経由駅に係る情報を「経由エンコード」と称する。また、これを簡単に「エンコード」というように表現することもある。また、発駅や着駅にかかるコードも「エンコード」と称することがある。
【０００６】
ところで、定期券発券機メーカーによって、この経由エンコードをどの駅に設定するか等が異なることなどがあり、同じ駅間の定期券でも、発券した定期券発券機の機種の違いによって、定期券に記録されるエンコード情報が異なることがある。経由エンコードが異なっていたとしても、実質的に、定期券が同一のものであることを保証するために、シミュレータで様々な経路の定期券を想定しておき、それぞれの経路で、定期券発券機の機種の違いが発生しないことを検証する必要がある。この作業を、突合検証作業といい、具体的には、例えば定期券発券機Ａ機が生成した様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成した様々な経路データである定期券データＢとの両者を、比較検証するシミュレーション作業を行う。
【０００７】
図２０は、従来例に係る定期券突合シミュレータの概要を示す図である。図２０において、４００は定期券発行事業者経路運賃シミュレータ、５００は定期券突合シミュレータ、５０１は突合処理部、５０２はロジックシミュレータをそれぞれ示している。
【０００８】
従来例に係る定期券突合シミュレータの動作について説明すると、まず、定期券発行事業者路線運賃シミュレータ４００によって、定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢを用意する。次に、登録された定期券データＡと定期券データＢの様々な区間のデータが、定期券突合シミュレータ５００における突合処理部５０１によって突き合わせ（突合検証作業）が行われる。
【０００９】
突合検証作業後の突合データは、定期券データＡと定期券データＢとで一致するもの、不一致であるものの２種類となるが、特に不一致であるものについては、ロジックシミュレータ５０２に読み込ませて定期券発行事業者経路運賃シミュレータ４００のプログラムミスであるか否かが再度の解析がなされる。
【００１０】
ロジックシミュレータ５０２は、各社の定期券発行事業者経路運賃シミュレータの処理ロジックを搭載し、様々な経路パターンを設定したテスト券を入力して処理を実行させ、同じ処理ロジックに違いがあるか否かを検証するためのものである。これは、本来、同じ処理を行う駅務機器は全て同じ処理結果を出力すべきであるが、現実的には異なる会社で作製されたもの、異なる路線に配置されたもの等においては少しの設計思想の違いから同じ処理結果とならない場合があるため、これを検証するものとしてこのようなロジックシミュレータが開発されている。ロジックシミュレータ５０２においても不一致の結果が出た場合は、特に出力レポートとして出力される。
【００１１】
なお、以上のような定期券突合シミュレータに関する先行技術としては、本件出願人による特許文献１（特願２００５−８３２６８号）などがある。
【特許文献１】特願２００５−８３２６８号
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の定期券突合シミュレータにおいては、定期券データの正当性を証明するために、定期券発行事業者路線運賃シミュレータ４００によって、定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢを用意し、それらデータの一つ一つを突き合わせるようして検証する必要があった。
【００１３】
すなわち、定期券データの正当性を検証する作業においては、少なくとも２機種の定期券発券機に係るデータを用意する必要がある、という問題があった。また、これら２機種の定期券発券機に係るデータを比較する検証作業は、作業時間を要するという問題もあった。
【課題を解決するための手段】
【００１４】
このような課題を解決するために、請求項１に係る発明は、各社の定期券発行事業者経路運賃シミュレータのデータを比較検証するための真正定期券データを生成する定期券データ生成システムであって、定期券発行事業者経路運賃シミュレータから出力されるデータから、正経路データを生成する経路生成部と、該経路生成部で生成された正経路データから定期券データを生成する定期券データ生成部とを具備し、該定期券データ生成部は基本運賃テーブルを参照することにより定期券データを生成することを特徴とする。
【００１５】
また、請求項２に係る発明は、各社の定期券データを比較検証するための真正定期券データを生成する定期券データ生成システムであって、定期券発行事業者経路運賃シミュレータから出力されるデータから、正経路データを生成する経路生成部と、該経路生成部で生成された正経路データから定期券データを生成する定期券データ生成部とを具備し、該定期券データ生成部は基本運賃テーブルを参照することにより定期券データを生成することを特徴とする。
【発明の効果】
【００１６】
本発明の実施の形態に係る定期券データ生成システムによれば、定期券データの正当性を検証する作業において、少なくとも２機種の定期券発券機に係るデータを用意する必要がなくなる。また、本発明によれば、少なくとも２機種の定期券発券機に係るデータから一経路一経路毎のデータを抽出して突合するような検証作業が必要でなくなるので、作業時間が従来よりも短縮する。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照しつつ説明する。図１は、本発明の実施の形態に係る定期券データ生成システムの概要を示す図である。図１において、１０は経路生成部、２０は経路生成データベース、２１は線区駅順マスタ、２２は連絡駅マスタ、２３は省略コードマスタ、２４は経由指定マスタ、２５はルートマスタ、３０は基本運賃テーブル、３１は運賃情報テーブル、３２は運賃−定期データ対応テーブル、４０は定期券データ生成部、１００は定期券発行事業者路線運賃シミュレータ、２００は定期券データ生成システム、３００は定期券データ解析シミュレータ、３０１は比較処理部、３０２はロジックシミュレータをそれぞれ示している。
【００１８】
次に、本発明の実施の形態に係る定期券データ生成システム２００によって定期券データの比較を行う際のデータの流れの概要について説明する。まず、定期券発行事業者路線運賃シミュレータ１００によって、定期券発券機Ａ機が生成する様々な経路データである定期券データＡが用意される。
【００１９】
これら定期券データＡの様々な経路データの一つ一つは、定期券データ生成システム２００にて生成されたデータの一つ一つと、定期券データ解析シミュレータ３００にて比較処理されることとなる。
【００２０】
このように本発明の実施の形態に係る定期券データ生成システム２００を利用することによって、定期券データの正当性を検証する作業において、少なくとも２機種の定期券発券機に係るデータを用意する必要がなくなる。すなわち、本実施形態においては、定期券データＡと比較を行うための呼応データは、定期券データ生成システム２００によって生成されるからである。また、本発明によれば、少なくとも２機種の定期券発券機に係るデータから一経路一経路毎のデータを抽出して突合するような検証作業が必要でなくなるので、作業時間が従来よりも短縮する。
【００２１】
なお、本発明の定期券データ生成システム２００は、以上のような形態であるために、「各社の定期券発行事業者経路運賃シミュレータのデータ」の検証を行うこともできるし、また、「各社の定期券データ」の検証を行うこともできる。
【００２２】
一経路一経路毎のデータを定期券データ生成システム２００で生成する流れについて説明する。まず、定期券データＡの一経路一経路毎のデータが経路生成部１０に入力される。経路生成部１０は、線区駅順マスタ２１、連絡駅マスタ２２、省略コードマスタ２３、経由指定マスタ２４、ルートマスタ２５からなる経路生成データベース２０を参照することによって、正経路の確定を行う。このような確定が必要となるのは、定期券発行事業者路線運賃シミュレータ１００による定期券データＡの一経路一経路毎のデータが、定期券発行事業者路線運賃シミュレータ１００の製造者により異なることがあるからである。この経路生成部が、経路生成データベース２０を参照することによって、正経路を確定する手順については後述する。
【００２３】
次に、経路生成部１０で生成された正経路は、定期券データ生成部４０に入力される。定期券データ生成部４０は、基本運賃テーブル３０を参照することによって、定期券データＡが生成した一経路一経路毎のデータと対応する、正経路に係る定期券データを生成する。基本運賃テーブル３０を参照して、定期券データ生成部４０に、定期券データを生成する手順については後述する。
【００２４】
定期券データ生成部４０にて生成された一経路一経路毎のデータは、定期券発行事業者路線運賃シミュレータ１００にて生成された定期券発券機Ａ機の生成された一経路一経路毎のデータと、定期券解析シミュレータ３００の比較処理部３０１にて比較処理される。この比較処理が、従来技術において突合として説明した検証作業に対応するものである。
【００２５】
比較処理後、定期券データＡと定期券データ生成部４０で生成された定期券データとで一致するもの、不一致であるものの２種類となるが、特に不一致であるものについては、ロジックシミュレータ３０２に読み込ませて定期券発行事業者経路運賃シミュレータ１００のプログラムミスであるか否かが再度の解析がなされる。ロジックシミュレータ３０２においても不一致の結果が出た場合は、特に出力レポートとして出力される。
【００２６】
次に、経路生成部１０が経路解析を行い、正経路を決定する上で参照する各マスタの具体的な構成につき説明する。
（Ａ）線区駅順マスタ２１
図２は、線区駅順マスタ２１のデータ構造を例示する図である。線区駅順マスタ２１は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義するものである。代表線区駅順コードは、一つの駅に複数の路線が交差している場合、そのうちの代表路線を定義することによりふられるものである。線区駅順マスタ２１のデータは、線区駅順コードで検索を行い、代表線区駅順コードから各自線線区駅順コードの取り出しを行い、駅間の乗車路線を結び付けるために使用する。また、突合結果レポートの駅名表示も本データから取得されたものが用いられる、というように非常に基本的なものである。
（Ｂ）連絡駅マスタ２２
図３は、連絡駅マスタ２２のデータ構造を例示する図である。連絡駅マスタ２２は、連絡駅コードが定義された駅について定義するものであり、そのデータ構造は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードからなるものである。経路生成部１０は、連絡駅コードから対応する自線線区駅順コードの取り出しを行い、社局間の路線の結び付けを行う。本データは、会社間連絡定期券の発売経路データを生成するために使用するものである。
（Ｃ）省略コードマスタ２３
図４は、省略コードマスタ２３のデータ構造を例示する図である。省略コードは、山手線、西武線、東武線の省略コードを定義するものである。例えば、山手線の場合、複数のターミナル駅を繋ぐものであるので、エンコードが非常に複雑なものとなってしまう。ところが、エンコードは、磁気定期券の場合は８個まで、ＩＣカード定期券の場合は１０個までと定義されており、エンコード枠が足りなくなってしまう事態が考えられる。そこで、複雑な特定経路について省略コード一つで代表させることで、エンコード枠を節約する。
（Ｄ）経由指定マスタ２４
図５は、経由指定マスタ２４のデータ構造を例示する図である。経由指定マスタ２４は、同一発行機関経路および複数の発行機関に連絡する経路の乗線路線を決定するために定義するものであり、データ構造は、発駅、着駅、路線、連絡１、連絡２・・・のようになっている。
（Ｅ）ルートマスタ２５
図６は、ルートマスタ２５のデータ構造を例示する図である。２駅間の乗車路線の決定は、各々の自線線区駅順コードを組み合わせ同じ線区コードを持つ２駅を路線の乗車駅・降車駅とし、発売経路を生成することを基本としている。ただし、２つの駅に対して、同じ線区コードを持つ駅が存在しない場合は、経由駅が抜けていると考えられる。この抜けている経由駅を検索するためにルートマスタが定義される。データ構造は、発路線、着路線、会社名、交差駅である。
【００２７】
以上の構成において、本発明の実施の形態に係る定期券突合シミュレータの経路生成部１０がどのように経路解析を行い、正経路を決定するかについて説明する。図７は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。図７において、上に示された経路「神田（００２−００２）−お茶の水（００３−００３）」が解析すべき経路であり、下の示された枠で囲まれた経路「神田（００３−００２）−お茶の水（００３−００３）」が経路生成部１０によって解析された基本的な代表経路である。図中、上に示された経路と下の示された経路との間に記載されているものは、経路解析のための処理経過を示すものである。以下の図８乃至図１４において、同様の図面構成となっている。処理手順であるが、まず（１）「神田（００２−００２）」を、線区駅順マスタ２１を検索する（図２参照）ことによって、図示するように「００２−００２、００３−００３」と展開する。また、（２）「お茶の水（００３−００３）」の方も、線区駅順マスタ２１によって、図示するように「００３−００１、００７−００１」を得る。次に、（３）以上のようにして得られたそれぞれの線区駅順コードを比較して、同一の線区コード「００３」のもの同士を選択する。このようにして最終的に、経路解析結果「神田（００３−００２）−お茶の水（００３−００３）」を得ることができる。
【００２８】
次に、「浜松町（００１−００４）−新橋（１２７−００２）−銀座（２２７−０５４）」を解析する別の経路解析例について説明する。図８は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「浜松町（００１−００４）」について線区駅順マスタ２１を検索し、浜松町の線区駅順コード「００１−００４」を得る。次に（２）「新橋（１２７−００２）」については連絡駅コードが使われているので、連絡駅マスタ２２（図３参照）を検索して、図示するように「００１−００３、０２７−０１４、１０１−００１、２２７−０５５、２７３−０１１」を得る。また、（３）「銀座（２７４−０５４）」については、線区駅順マスタ２１を検索し、銀座の全線区駅順コード「２２７−０５４、２２９−０４４、２２８−０５１」を得る。次に（４）浜松町と新橋の線区駅順コードを比較して、同じ線区コード（００１）であるものを選択する。そして（５）新橋と銀座の線区駅順コードを比較して、同じ線区コード（２２７）であるものを選択する。以上のような処理手順によって、経路解析結果「浜松町（００１−００４）−新橋（００１−００３）、新橋（２２７−０５５）−銀座（２２７−０５４）」を得ることができる。
【００２９】
次に、「十条（０３８−００４）−省略コード（１２４−０９９）−川崎（００１−０１３）」を解析する別の経路解析例について説明する。図９は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「十条（０３８−００４）」について線区駅順マスタ２１を検索し、十条の線区駅順コード「０３８−００４」を得る。次に（２）エンコードに省略コード（１２４−０９９）が使われているので、省略コードマスタ２３（図４参照）を検索して、省略コードを展開し、図示するように「池袋（０３７−０１５）〜品川（０３７−００１）」を得る。（３）このようにして得られた「池袋（０３７−０１５）」を、線区駅順マスタ２１を検索し「０３７−０１５、０３８−００８」を得る。また（４）もう一方の「品川（０３７−００１）」についても、線区駅順マスタ２１を検索し「００１−００７、０３７−００１、０４２−０１５」を得る。（５）「品川（００１−０１３）」についもて線区駅順マスタ２１を検索し、川崎の全線区駅順コード「００１−０１３、０２４−００１、０２６−００１」を得る。以上のように全ての駅の全線区駅順コードを展開しておき、となり同士の全線区駅順コードで共通の線区コードを抽出する。すなわち、（６）十条と池袋の線区駅順コードを比較して、同じ線区コード（０３８）を選択し、（７）池袋と品川の線区駅順コードを比較して、同じ線区コード（０３７）を選択し、（８）品川と川崎の線区駅順コードを比較して、同じ線区コード（００１）を選択し、最終的に、経路解析結果「十条（０３８−００４）−池袋（０３８−００８）、池袋（０３７−０１５）−品川（０３７−００１）、品川（００１−００７）−川崎（００１−０１３）」を得ることができる。
【００３０】
次に、「銀座（２２７−０５４）−仲御徒町（２２８−０４３）−上野（２２７−０４７）」を解析する別の経路解析例について説明する。図１０は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）において、発駅、経由１、着駅で経由指定マスタ２４を検索して（図５）、（２）に示すように全てのエンコードは日比谷線に属するものであることを明らかにする。次に（３）、（４）において、線区駅順マスタ２１を検索し、「日比谷線」の線区駅順コードを割り出しておく。そして、（５）、（６）で隣同士の線区駅順コードを参照する。すると、ここでは、（７）に示すように、２２８−０４２＜２２８−０４３＜２２８−０５４が成立しており、「２２８−０４３」に係る情報は同一路線中の、銀座、上野間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「銀座（２２８−０５１）−上野（２２７−０４２）」を得ることができる。
【００３１】
次に、「柏（００５−０１８）−東我孫子（０４０−００３）」を解析する別の経路解析例について説明する。図１１は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「柏（００５−０１８）」について線区駅順マスタ２１を検索し、柏の全線区駅順コード「００５−０１８」を得る。そして、次に（２）「東我孫子（０４０−００３）」について線区駅順マスタ２１を検索し、柏東我孫子の全線区駅順コード「０４０−００３」を得る。ここで、発駅と着駅との間で、共通の線区コードがないことが判明したので、（３）ルートマスタ２５（図６参照）から「００５−ＸＸＸ」及び「０４０−ＸＸＸ」の路線乗換駅である「我孫子（００５−０２１）」を取得する。そして（４）において、「我孫子（００５−０２１））」について線区駅順マスタ２１を検索し、我孫子の全線区駅順コード「００５−０２１、０４０−００１」を得る。次に（５）柏と我孫子の線区駅順コードを比較して、同じ線区コード（００５）であるものを選択する。そして（６）我孫子と東我孫子の線区駅順コードを比較して、同じ線区コード（０４０）であるものを選択する。以上のような処理手順によって、経路解析結果「柏（００５−０１８）−我孫子（００５−０２１）、我孫子（０４０−００１）−東我孫子（０４０−００３）」を得ることができる。
【００３２】
次に、「東京（００１−００１）−品川（００１−００７）−代々木（００３−０１２）−新宿（００３−０１３）」を解析する別の経路解析例について説明する。図１２は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）「東京（００１−００１）」について、線区駅順マスタ２１を検索し、東京の線区駅順コード「００１−００１、００２−００１、００３−００１、０４２−０２０・・」を得る。次に、（２）「品川（００１−００７）」について、線区駅順マスタ２１を検索し、品川の線区駅順コード「００１−００７、０３７−００１、０４２−０１５、２１３−００２」を得る。（３）「代々木（００３−０１２）」について、線区駅順マスタ２１を検索し、代々木の線区駅順コード「００３−０１２、０３７−００９、００３−００１、２４２−０３０」を得る。そして（４）「新宿（００３−０１３）」について、線区駅順マスタ２１を検索し、新宿の線区駅順コード「００１−００１、００２−００１、００３−００１、０４２−０２０・・」を得る。次に、隣同士の線区駅順コードを参照する。（５）で東京と品川の線区駅順コードを比較して、同じ線区コード（００１）を抽出し、（６）で品川と代々木の線区駅順コードを比較して、同じ線区コード（０３７）を抽出し、（７）で代々木と新宿の線区駅順コードを比較して、同じ線区コード（０３７）を抽出する。ここで、（８）に示すように、０３７−００１＜０３７−００９＜０３７−０１１が成立しており、「０３７−００９」（代々木）に係る情報は同一路線中の、品川、新宿間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「東京（００１−００１）−品川（００１−００７）、品川（０３７−００１）−新宿（０３７−０１１）」を得ることができる。
【００３３】
次に、「東京（００１−００１）−大崎（０３７−００２）−新宿（００３−０１３）」を解析する別の経路解析例について説明する。図１３は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。まず（１）「東京（００１−００１）」について、線区駅順マスタ２１を検索し、東京の線区駅順コード「００１−００１、００２−００１、００３−００１、０４２−０２０・・」を得る。次に、（２）「大崎（０３７−００２）」について、線区駅順マスタ２１を検索し、大崎の線区駅順コード「０３７−００２」を得る。（３）「新宿（００３−０１３）」について、線区駅順マスタ２１を検索し、新宿の線区駅順コード「００１−００１、００２−００１、００３−００１、０４２−０２０・・」を得る。次に、隣同士の線区駅順コードを参照する。（４）で東京と大崎の線区駅順コードを比較すると、共通の線区コードが存在しないことがわかる。そして、（５）で大崎と新宿の線区駅順コードを比較して、共通の線区コード（０３７）を抽出することができる。そこで、（６）において、００１−XXXと０３７−XXXの双方の線区コードを有する駅である品川を抽出する。（８）、（９）において、あらためて隣同士の線区駅順コードを比較して、最終的に経路解析結果「東京（００１−００１）−品川（００１−００７）、品川（０３７−００１）−新宿（０３７−０１１）」を得る。
【００３４】
次に、「東京（００１−００１）−新宿（００３−０１３）」を解析する別の経路解析例について説明する。図１３は、経路生成部１０が経路解析を行う際の処理を段階的に示したものである。この例はエンコード情報が足りないために、これまで説明してきたような形での経路解析をすることは不可能であるので、経路生成部１０は検索部１４と協働して、キロ程データベース１３を、「（発駅）東京−（着駅）新宿、又は、（発駅）新宿−（着駅）東京であり、かつ、キロ程が１７．４ｋｍを検索」という条件で検索し、経路解析結果「東京（００１−００１）−品川（００１−００７）、品川（０３７−００１）−新宿（０３７−０１１）」を得る。
【００３５】
以上説明してきた解析手法をフロー的にまとめたものが、図１５である。図１５は、経路生成部１０の処理の概略的な流れについて示す図である。なお、ここで示すフローはあくまで処理の流れの概略を説明するためのものであり、厳密なものではない。図１５において、ステップＳ０  で経路生成部１０の処理を開始すると、まずステップＳ１において、定期券の発駅、乗り継ぎ駅、着駅の全ての駅ついて、 線区駅順マスタ２１で、全線区駅順コードを割り出す。ステップＳ２では、連絡駅コードが使用されているかどうかをチェックして、使用されていたら、連絡駅マスタ２２を検索し、当該駅の全線区駅順コードを得る。また、ステップＳ３では、省略コードが使用されているどうかを判定し、使われていた場合には、省略コードマスタ２３により省略しない形式に展開する。また、ステップＳ４では、発駅、着駅、乗り継ぎ駅の線区コードが異なる場合には経由指定マスタ２４を検索して一致するデータを見つけるようにする。また、ステップＳ５において、発駅、着駅の線区コードが異なる場合にはルートマスタ２５を検索して路線乗換駅（交差駅）を見つける。また、ステップＳ６では、２駅間で線区コードが異なる場合には線区駅順２１を検索して、双方の線区コードを有する駅を抽出する。また、ステップＳ７においては、線区コードが異なる場合にはルートマスタ２５を検索して路線乗換駅（交差駅）を得る。また、ステップＳ８  必要であれば、さらに線区駅順マスタ２１によって、全ての線区駅順コードを割り出す。また、ステップＳ９では、駅間の共通の線区コードをみつけるようにする。また、ステップＳ１０  ＸＸＸ−ＡＡＡ＜ＸＸＸ−ＢＢＢ＜ＸＸＸ−ＣＣＣが成立すれば、ＸＸＸ−ＢＢＢは落として不要な乗り継ぎエンコード情報を削除する。また、ステップＳ１１においては、経路解析をするのにエンコード情報が足りない場合、キロ程データベースを援用して、経路解析を行う。
【００３６】
以上のように経路生成部１０で経路解析を行い、正経路を決定した後、この正経路に基づいて定期券データ生成部で真正な定期券データを生成する。このとき、参照されるのが、基本運賃テーブル３０における運賃情報テーブル３１、運賃−定期データ対応テーブル３２とである。
【００３７】
次に、運賃情報テーブル３１におけるデータ構造及び正経路に基づいて定期券データ生成部４０で真正な定期券データを生成するプロセスについて説明する。図１９は、運賃情報テーブル３１のデータ構造及び定期券データを生成するプロセスを例示的に示す図である。運賃情報テーブル３１は、基本的には運賃を算出するための基礎データである駅間のキロ数をデータとして保有するテーブルであり、具体的には各路線の各駅から、その路線内の全ての駅間のキロ数が主たるデータとして記憶されるものである。データの構造は、駅Ｎｏ．、自線線区駅順コード、駅名、駅間キロからなり、例えば、図１９の例１）の運賃情報テーブルを例にとると、東京駅（駅Ｎｏ１．  線区駅順コード００１−００１）と各駅との駅間情報が図示のように定義される。図１９の例２）の運賃情報テーブルは、品川駅（駅Ｎｏ．３９７、線区駅順コード０３７−００１）と各駅との駅間情報が定義されている。
【００３８】
次に、図１９を参照しつつ、定期券データ生成部４０で真正な定期券データを生成するプロセスについて説明する。図１２において、解析された「東京（００１−００１）−品川（００１−００７）−代々木（００３−０１２）−新宿（００３−０１３）」を例にとる。
【００３９】
図１２に関連する箇所においても説明したように、経路生成部１０では、「東京（００１−００１）−品川（００１−００７）−代々木（００３−０１２）−新宿（００３−０１３）」は、経路解析の結果「東京（００１−００１）−品川（００１−００７）、品川（０３７−００１）−新宿（０３７−０１１）」なる正経路が示される。
【００４０】
次に、このデータを下に、定期券データ生成部４０は、運賃情報テーブル３１のテーブルにより、「東京（００１−００１）−品川（００１−００７）」及び「品川（０３７−００１）−新宿（０３７−０１１）」の情報を検索する。具体的には、「東京（００１−００１）−品川（００１−００７）」の駅間キロである６．８０ｋｍと、「品川（０３７−００１）−新宿（０３７−０１１）」の駅間キロである１０．６０ｋｍを、運賃情報テーブル３１のサーチによりこれを合計して合計キロ程１７．４０ｋｍを得る。
【００４１】
合計キロ程と、定期データとの関係は、運賃−定期データ対応テーブル３２に定められており、定期券データ生成部４０は、先ほどの得た合計キロ程１７．４０ｋｍから運賃−定期データ対応テーブル３２を参照して、真正な定期券データを得る。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。
【図２】線区駅順マスタ２１のデータ構造を例示する図である。
【図３】連絡駅マスタ２２のデータ構造を例示する図である。
【図４】省略コードマスタ２３のデータ構造を例示する図である。
【図５】経由指定マスタ２４のデータ構造を例示する図である。
【図６】ルートマスタ２５のデータ構造を例示する図である。
【図７】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図８】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図９】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１０】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１１】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１２】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１３】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１４】経路生成部１０が経路解析を行う際の処理を段階的に示した図である。
【図１５】経路生成部１０の処理の概略的な流れについて示す図である。
【図１６】各駅に付されている線区コード及び駅順コードを説明するための図である。
【図１７】Ａ駅からＢ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【図１８】Ａ駅からＣ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【図１９】運賃情報テーブル３１のデータ構造及び定期券データを生成するプロセスを例示的に示す図である。
【図２０】従来例に係る定期券突合シミュレータの概要を示す図である。
【符号の説明】
【００４３】
１０・・・経路生成部、２０・・・経路生成データベース、２１・・・線区駅順マスタ、２２・・・連絡駅マスタ、２３・・・省略コードマスタ、２４・・・経由指定マスタ、２５・・・ルートマスタ、３０・・・基本運賃テーブル、３１・・・運賃情報テーブル、３２・・・運賃−定期データ対応テーブル、４０・・・定期券データ生成部、１００・・・定期券発行事業者路線運賃シミュレータ、２００・・・定期券データ生成システム、３００・・・定期券データ解析シミュレータ、３０１・・・比較処理部、３０２・・・ロジックシミュレータ、５００・・・定期券突合シミュレータ、５０１・・・突合処理部、５０２・・・ロジックシミュレータ
【図１】
2008097428.tif 000003
【図２】
2008097428.tif 000004
【図３】
2008097428.tif 000005
【図４】
2008097428.tif 000006
【図５】
2008097428.tif 000007
【図６】
2008097428.tif 000008
【図７】
2008097428.tif 000009
【図８】
2008097428.tif 000010
【図９】
2008097428.tif 000011
【図１０】
2008097428.tif 000012
【図１１】
2008097428.tif 000013
【図１２】
2008097428.tif 000014
【図１３】
2008097428.tif 000015
【図１４】
2008097428.tif 000016
【図１５】
2008097428.tif 000017
【図１６】
2008097428.tif 000018
【図１７】
2008097428.tif 000019
【図１８】
2008097428.tif 000020
【図１９】
2008097428.tif 000021
【図２０】
2008097428.tif 000022