(57)【特許請求の範囲】
【請求項１】
定期券発行事業者路線運賃シミュレータによって用意された、定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢとを登録するデータ登録部と、
該データ登録部に登録された該定期券データＡと該定期券データＢとを突合するデータ突合処理部と、
該データ突合処理部で該定期券データＡと該定期券データＢとの突合を行う際に用いる、第１駅の線区駅順コードと第２駅の線区駅順コードとからなるか、又は、第１駅の線区駅順コードと第２駅の線区駅順コードと該第１駅と該第２駅との間の経由駅の線区駅順コードとからなる、解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項２】
定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢとを登録するデータ登録部と、
該データ登録部に登録された該定期券データＡと該定期券データＢとを突合するデータ突合処理部と、
該データ突合処理部で該定期券データＡと該定期券データＢとの突合を行う際に用いる、第１駅の線区駅順コードと第２駅の線区駅順コードとからなるか、又は、第１駅の線区駅順コードと第２駅の線区駅順コードと該第１駅と該第２駅との間の経由駅の線区駅順コードとからなる、解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項３】
該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする請求項１又は請求項２に記載の定期券突合シミュレータ。
【請求項４】
該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする請求項１乃至請求項３のいずれかに記載の定期券突合シミュレータ。
【請求項５】
該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする請求項１乃至請求項４のいずれかに記載の定期券突合シミュレータ。
【請求項６】
該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする請求項１乃至請求項５のいずれかに記載の定期券突合シミュレータ。
【請求項７】
該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする請求項１乃至請求項６のいずれかに記載の定期券突合シミュレータ。
【請求項８】
該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする請求項７に記載の定期券突合シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータに関する。
【背景技術】
【０００２】
定期券には、券面印字の他に発駅−経由駅−着駅等に係る情報が、磁気記憶手段やＩＣチップに記録されている。特に、発駅−経由駅−着駅等に係る情報について説明すると、各社の全路線にはそれぞれ異なる線区コードが割り当てられ、各線区の駅にはさらに駅順コードが割り当てられている。図１６は、各駅に付されている線区コード−駅順コードを示すものである。図１６に示すように、○○線のα駅を特定するために、線区コードとＮm駅順コード（ただし、ｍ＜ｍ’のとき、Ｎm＜Ｎm'）がそれぞれ付されている。
【０００３】
例えば、東海道線の線区コードはＡＡ、東京駅から熱海駅まで順に駅順コードがＮ1、
Ｎ2・・・Ｎ43というように割り当てられており、東京駅はＡＡ−Ｎ1、有楽町駅はＡＡ−Ｎ2、新橋駅はＡＡ−Ｎ3のように駅順コード（駅番号）が割り当てられる。このように、各社の全路線の全駅はこのような異なる駅番号がそれぞれユニークに付されており、定期券の経路はこの線区−駅順コードで特定され、このような線区駅順コードが定期券に記録されている。
【０００４】
図１７は、α駅からβ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。線区コード−駅順コードが００１−００１であるα駅から、線区コード−駅順コードが００１−０１０であるβ駅までの定期券には、図示するように、「Ａ
Ａ−Ｎ1〜ＡＡ−Ｎ10」という情報が定期券に記憶される。このような定期券を用いれば
、ＡＡ−Ｎ2〜ＡＡ−Ｎ9までの途中駅の改札を通過することができるが、これは改札機によって、ＡＡ−Ｎ1（α駅）＜ＡＡ−Ｎ2〜ＡＡ−Ｎ9＜ＡＡ−Ｎ10（β駅）というような
駅順コードの大小比較がなされることによって通札可能となるものである。
【０００５】
次に、２つの路線にまたがった駅間の定期券につき説明する。図１８は、α駅からγ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。この図では、線区コード−駅順コードがＡＡ−Ｎ1のα駅から始まる路線Ｘと、路線Ｘのβ駅
を起点とする路線Ｙと、α駅とγ駅の両方で交差する路線Ｚとが示されている。路線Ｙには線区コードＡＢがつけられており、β駅には、路線Ｘの線区コード−駅順コードＡＡ−Ｎ10と、路線Ｙの線区コード−駅順コードＡＢ−Ｎ1との両方が付されている。β駅以降
の路線Ｙには、線区コード−駅順コードが順に、ＡＢ−Ｎ2、ＡＢ−Ｎ3、というように付されていく。路線Ｚについては詳細なコードの説明はしないが、同様のルールで線区コード−駅順コードで付されているものとする。ここで、α駅からγ駅まで定期券には、図に示されているように「ＡＡ−Ｎ1〜ＡＢ−Ｎ3」という情報に加えて、途中の経由駅Ｂに係る情報である「ＡＡ−Ｎ10」も記憶される。以下、本明細書では、この経由駅に係る情報を「経由エンコード」と称する。また、これを簡単に「エンコード」というように表現することもある。また、発駅や着駅にかかるコードも「エンコード」と称することがある。
【０００６】
ところで、定期券発券機メーカーによって、この経由エンコードをどの駅に設定するか等が異なることなどがあり、同じ駅間の定期券でも、発券した定期券発券機の機種の違いによって、定期券に記録されるエンコード情報が異なることがある。経由エンコードが異なっていたとしても、実質的に、定期券が同一のものであることを保証するために、シミュレータで様々な経路の定期券を想定しておき、それぞれの経路で、定期券発券機の機種の違いが発生しないことを検証する必要がある。この作業を、突合検証作業といい、具体的には、例えば定期券発券機Ａ機が生成した様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成した様々な経路データである定期券データＢとの両者を、比較検証するシミュレーション作業を行う。従来、この突合を行う際には、まずキロ程データをキーとソートして、次に、キロ程データが同一であるものの経路を順次比較していく、というような方式がとられていた。本件出願人による特許文献１（特願２００５−８３２６８号）には、この方式についての記載がある。
【特許文献１】特願２００５−８３２６８号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、近年の路線網の発達により、キロ程データを同じくする区間が多数存在することとなったために、従来のようにまずキロ程データをキーとソートしたとしても、効率的に突合が行い得るとは言い難い状況となってきた。今後、定期券が内蔵されたＩＣカードが、関東ＩＣ相互利用に伴い加速度的に普及することが見込まれているが、定期券内蔵ＩＣカードによれば乗り越しの精算などは、改札機側が一方的にＩＣカードのストアードフェアから収受する仕組みとなるために、定期券発売機の信頼性の向上をよりいっそう図らなければならない。そのためにも、突合による検証作業には従来に増しての正確さが求められる。また、関東ＩＣ相互利用に加盟している社局のうちどれか一つの社局が運賃を改定したり、あらたな駅を開設したりすることになれば、その都度、定期券発売機の検証を行わなければならず、その頻度は相当高いものである。そして、その都度、突合検証作業が行われるために、突合方式にはよいいっそうの効率化が求められている。
【課題を解決するための手段】
【０００８】
このような課題を解決するために、請求項１に係る発明は、定期券発行事業者路線運賃シミュレータによって用意された、定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢとを登録するデータ登録部と、該データ登録部に登録された該定期券データＡと該定期券データＢとを突合するデータ突合処理部と、該データ突合処理部で該定期券データＡと該定期券データＢとの突合を行う際に用いる、第１駅の線区駅順コードと第２駅の線区駅順コードとからなるか、又は、第１駅の線区駅順コードと第２駅の線区駅順コードと該第１駅と該第２駅との間の経由駅の線区駅順コードとからなる、解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータである。
【０００９】
また、請求項２に係る発明は定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢとを登録するデータ登録部と、該データ登録部に登録された該定期券データＡと該定期券データＢとを突合するデータ突合処理部と、該データ突合処理部で該定期券データＡと該定期券データＢとの突合を行う際に用いる、第１駅の線区駅順コードと第２駅の線区駅順コードとからなるか、又は、第１駅の線区駅順コードと第２駅の線区駅順コードと該第１駅と該第２駅との間の経由駅の線区駅順コードとからなる、解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータである。
【００１０】
また、請求項３に係る発明は、請求項１又は請求項２に記載の定期券突合シミュレータにおいて、該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする。
【００１１】
また、請求項４に係る発明は、請求項１乃至請求項３のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする。
【００１２】
また、請求項５に係る発明は、請求項１乃至請求項４のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする。
【００１３】
また、請求項６に係る発明は、請求項１乃至請求項５のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする。
【００１４】
また、請求項７に係る発明は、請求項１乃至請求項６のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする。
【００１６】
また、請求項８に係る発明は、請求項７に記載の定期券突合シミュレータにおいて、該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする。
【発明の効果】
【００１７】
本発明によれば、各社の定期券発行事業者経路運賃シミュレータのデータの経路解析の結果を用いて突合検証作業を行うので、キロ程をキーとして用いた従来の突合検証作業より効率的な突合検証作業ができるようになる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照しつつ説明する。図１は、本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。図１において、１は定期券突合シミュレータ、２はマスタ、３は登録データ、４はデータ突合処理部、５は突合データ、６は結果レポート出力部、７はテストデータ、８はロジックシミュレータ、９は検証結果、１０は検証結果取込部、１１は出力レポート、１２は経路生成部、１３はキロ程データベース、１４はキロ程検索部、１５はデータ登録部、１００は定期券発行事業者路線運賃シミュレータである。マスタ２はさらに細かくは、線区駅順マスタ２１、連絡駅マスタ２２、省略コードマスタ２３、経由指定マスタ２４、ルートマスタ２５とからなる。
【００１９】
次に、本発明の実施の形態に係る定期券突合シミュレータ１によって突合を行う際のデータの流れの概要について説明する。まず、定期券発行事業者路線運賃シミュレータ１００によって、定期券発券機Ａ機が生成する様々な経路データである定期券データＡと、定期券発券機Ｂ機が生成する様々な経路データである定期券データＢを用意する。次に、これら定期券データＡと定期券データＢとを、データ登録部１５によって、定期券突合シミュレータ１の登録データ３として登録する。登録された定期券データＡと定期券データＢの様々な区間のデータは、データ突合処理部４によって突き合わせ（突合検証作業）が行われる。
【００２０】
上記の例では、定期券データＡをＡ機種の定期券発行事業者路線運賃シミュレータから、定期券データＢをＢ機種の定期券発行事業者路線運賃シミュレータから、それぞれ導くように構成した場合について説明したが、定期券データＡを定期券発券機Ａ機自体から、そして、定期券データＢを定期券発券機Ｂ機自体から、それぞれ導くように構成してもよい。なお、このようにする場合には、定期券発券機固有のデータから本発明の定期券突合シミュレータに適合する定期券データにフォーマットを変換する必要がある。
【００２１】
データ突合処理部４における処理としては、経路生成部１２によって解析された定期券データＡの経路解析結果Ａ、及び、経路生成部１２によって解析された定期券データＢの経路解析結果Ｂとの突合検証作業が基本的な処理となる。各定期券データによって経路を解析する際に経路生成部１２が用いられるデータベースが、線区駅順マスタ２１、連絡駅マスタ２２、省略コードマスタ２３、経由指定マスタ２４、ルートマスタ２５からなる各マスタ２であり、経路生成部１２は、これらの各マスタを検索しつつ、経路解析を行う。本発明では、従来と異なり、このような経路解析の結果を用いて突合検証作業を行うので、キロ程を用いての従来の突合検証作業より効率的な検証作業ができるようになる。なお、経路生成部１２がマスタ２を用いて経路解析が不可能な場合には、経路生成部１２は、キロ程データベース１３を検索部１４で検索することによって、経路解析を行う。
【００２２】
突合検証作業後の突合データ５は、定期券データＡと定期券データＢとで一致するもの、不一致であるものの２種類となるが、これらは結果レポート出力部６から、出力レポート１１として出力される。経路データ突合処理で不一致の経路データがでた場合には、その経路（テストデータ７）についてロジックシミュレータ８に読み込ませて定期券発行事業者経路運賃シミュレータ１００のプログラムミスであるか否かが再度の解析がなされる。ロジックシミュレータ８は、各社の定期券発行事業者経路運賃シミュレータの処理ロジックを搭載し、様々な経路パターンを設定したテスト券を入力して処理を実行させ、同じ処理ロジックに違いがあるか否かを検証するためのものである。これは、本来、同じ処理を行う駅務機器は全て同じ処理結果を出力すべきであるが、現実的には異なる会社で作製されたもの、異なる路線に配置されたもの等においては少しの設計思想の違いから同じ処理結果とならない場合があるため、これを検証するためのロジックシミュレータが開発されている。ロジックシミュレータ８による検証結果９は、フィードバックとして、定期券突合シミュレータ１の検証結果取込部１０により取り込まれる。
【００２３】
次に、経路生成部１２が経路解析を行う上で参照する各マスタの具体的な構成につき説明する。
（Ａ）線区駅順マスタ２１
図２は、線区駅順マスタ２１のデータ構造を例示する図である。線区駅順マスタ２１は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義するものである。代表線区駅順コードは、一つの駅に複数の路線が交差している場合、そのうちの代表路線を定義することによりふられるものである。線区駅順マスタ２１のデータは、線区駅順コードで検索を行い、代表線区駅順コードから各自線線区駅順コードの取り出しを行い、駅間の乗車路線を結び付けるために使用する。また、突合結果レポートの駅名表示も本データから取得されたものが用いられる、というように非常に基本的なものである。
（Ｂ）連絡駅マスタ２２
図３は、連絡駅マスタ２２のデータ構造を例示する図である。連絡駅マスタ２２は、連絡駅コードが定義された駅について定義するものであり、そのデータ構造は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードからなるものである。経路生成部１２は、連絡駅コードから対応する自線線区駅順コードの取り出しを行い、社局間の路線の結び付けを行う。本データは、会社間連絡定期券の発売経路データを生成するために使用するものである。
（Ｃ）省略コードマスタ２３
図４は、省略コードマスタ２３のデータ構造を例示する図である。省略コードは、山手線、西武線、東武線の省略コードを定義するものである。例えば、山手線の場合、複数のターミナル駅を繋ぐものであるので、エンコードが非常に複雑なものとなってしまう。ところが、エンコードは、磁気定期券の場合はｘ個まで、ＩＣカード定期券の場合はｙ個までと定義されており、エンコード枠が足りなくなってしまう事態が考えられる。そこで、複雑な特定経路について省略コード一つで代表させることで、エンコード枠を節約する。（Ｄ）経由指定マスタ２４
図５は、経由指定マスタ２４のデータ構造を例示する図である。経由指定マスタ２４は、同一発行機関経路および複数の発行機関に連絡する経路の乗線路線を決定するために定義するものであり、データ構造は、発駅、着駅、路線、連絡１、連絡２・・・のようになっている。
（Ｅ）ルートマスタ２５
図６は、ルートマスタ２５のデータ構造を例示する図である。２駅間の乗車路線の決定は、各々の自線線区駅順コードを組み合わせ同じ線区コードを持つ２駅を路線の乗車駅・降車駅とし、発売経路を生成することを基本としている。ただし、２つの駅に対して、同じ線区コードを持つ駅が存在しない場合は、経由駅が抜けていると考えられる。この抜けている経由駅を検索するためにルートマスタが定義される。データ構造は、発路線、着路線、会社名、交差駅である。
【００２４】
以上の構成において、本発明の実施の形態に係る定期券突合シミュレータの経路生成部１２がどのように経路解析を行うかについて説明する。図７は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。図７において、上に示された経路「神田（ＡＢ−Ｎ2）−お茶の水（ＡＣ−Ｎ3）」が解析すべき経路であり、下の示された枠で囲まれた経路「神田（ＡＣ−Ｎ2）−お茶の水（ＡＣ−Ｎ3）」が経路生成部１２によって解析された基本的な代表経路である。図中、上に示された経路と下の示された経路との間に記載されているものは、経路解析のための処理経過を示すものである。以下の図８乃至図１４において、同様の図面構成となっている。処理手順であるが、まず（１）「神田（ＡＢ−Ｎ2）」を、線区駅順マスタ２１を検索する（図２参照）ことによって、図示するよ
うに「ＡＢ−Ｎ2、ＡＣ−Ｎ2」と展開する。また、（２）「お茶の水（ＡＣ−Ｎ3）」の
方も、線区駅順マスタ２１によって、図示するように「ＡＣ−Ｎ3、ＡＧ−Ｎ1」を得る。次に、（３）以上のようにして得られたそれぞれの線区駅順コードを比較して、同一の線区コード「ＡＣ」のもの同士を選択する。このようにして最終的に、経路解析結果「神田（ＡＣ−Ｎ2）−お茶の水（ＡＣ−Ｎ3）」を得ることができる。
【００２５】
次に、「浜松町（ＡＡ−Ｎ4）−新橋（ＥＷ−Ｎ2）−銀座（ＩＳ−Ｎ54）」を解析する
別の経路解析例について説明する。図８は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「浜松町（ＡＡ−Ｎ4）」について線
区駅順マスタ２１を検索し、浜松町の線区駅順コード「ＡＡ−Ｎ4」を得る。次に（２）
「新橋（ＥＷ−Ｎ2）」については連絡駅コードが使われているので、連絡駅マスタ２２
（図３参照）を検索して、図示するように「ＡＡ−Ｎ3、ＢＡ−Ｎ14、ＤＷ−Ｎ1、ＫＱ−Ｎ55、ＫＭ−Ｎ11」を得る。また、（３）「銀座（ＩＳ−Ｎ54）」については、線区駅順マスタ２１を検索し、銀座の全線区駅順コード「ＫＱ−Ｎ54、ＩＵ−Ｎ44、ＩＴ−Ｎ51」を得る。次に（４）浜松町と新橋の線区駅順コードを比較して、同じ線区コード（ＡＡ）であるものを選択する。そして（５）新橋と銀座の線区駅順コードを比較して、同じ線区コード（ＫＱ）であるものを選択する。以上のような処理手順によって、経路解析結果「浜松町（ＡＡ−Ｎ4）−新橋（ＡＡ−Ｎ3）、新橋（ＫＱ−Ｎ55）−銀座（ＫＱ−Ｎ54）」を得ることができる。
【００２６】
次に、「十条（ＢＬ−Ｎ4）−省略コード（ＥＴ−Ｎ99）−川崎（ＡＡ−Ｎ13）」を解
析する別の経路解析例について説明する。図９は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「十条（ＢＬ−Ｎ4）」につい
て線区駅順マスタ２１を検索し、十条の線区駅順コード「ＢＬ−Ｎ4」を得る。次に（２
）エンコードに省略コード（ＥＴ−Ｎ99）が使われているので、省略コードマスタ２３（図４参照）を検索して、省略コードを展開し、図示するように「池袋（ＢＫ−Ｎ15）〜品川（ＢＫ−Ｎ1）」を得る。（３）このようにして得られた「池袋（ＢＫ−Ｎ15）」を、
線区駅順マスタ２１を検索し「ＢＫ−Ｎ15、ＢＬ−Ｎ8」を得る。また（４）もう一方の
「品川（ＢＫ−Ｎ1）」についても、線区駅順マスタ２１を検索し「ＡＡ−Ｎ7、ＢＫ−Ｎ1、ＢＰ−Ｎ15」を得る。（５）「川崎（ＡＡ−Ｎ13）」についもて線区駅順マスタ２１
を検索し、川崎の全線区駅順コード「ＡＡ−Ｎ13、ＡＸ−Ｎ1、ＡＺ−Ｎ1」を得る。以上のように全ての駅の全線区駅順コードを展開しておき、となり同士の全線区駅順コードで共通の線区コードを抽出する。すなわち、（６）十条と池袋の線区駅順コードを比較して、同じ線区コード（ＢＬ）を選択し、（７）池袋と品川の線区駅順コードを比較して、同じ線区コード（ＢＫ）を選択し、（８）品川と川崎の線区駅順コードを比較して、同じ線区コード（ＡＡ）を選択し、最終的に、経路解析結果「十条（ＢＬ−Ｎ4）−池袋（ＢＬ
−Ｎ8）、池袋（ＢＫ−Ｎ15）−品川（ＢＫ−Ｎ1）、品川（ＡＡ−Ｎ7）−川崎（ＡＡ−
Ｎ13）」を得ることができる。
【００２７】
次に、「銀座（ＩＳ−Ｎ54）−仲御徒町（ＩＴ−Ｎ43）−上野（ＩＳ−Ｎ47）」を解析する別の経路解析例について説明する。図１０は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）において、発駅、経由１、着駅で経由指定マスタ２４を検索して（図５）、（２）に示すように全てのエンコードは日比谷線に属す
るものであることを明らかにする。次に（３）、（４）において、線区駅順マスタ２１を検索し、「日比谷線」の線区駅順コードを割り出しておく。そして、（５）、（６）で隣同士の線区駅順コードを参照する。すると、ここでは、（７）に示すように、ＩＴ−Ｎ42＜ＩＴ−Ｎ43＜ＩＴ−Ｎ54が成立しており、「ＩＴ−Ｎ43」に係る情報は同一路線中の、銀座、上野間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「銀座（ＩＴ−Ｎ51）−上野（ＩＴ−Ｎ42）」を得ることができる。
【００２８】
次に、「柏（ＡＥ−Ｎ18）−東我孫子（ＢＮ−Ｎ3）」を解析する別の経路解析例につ
いて説明する。図１１は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）において、「柏（ＡＥ−Ｎ18）」について線区駅順マスタ２１を検索し、柏の全線区駅順コード「ＡＥ−Ｎ18」を得る。そして、次に（２）「東我孫子（ＢＮ−Ｎ3）」について線区駅順マスタ２１を検索し、柏東我孫子の全線区駅順コード「Ｂ
Ｎ−Ｎ3」を得る。ここで、発駅と着駅との間で、共通の線区コードがないことが判明し
たので、（３）ルートマスタ２５（図６参照）から「ＡＥ−ＮX」及び「ＢＮ−ＮX」の路線乗換駅である「我孫子（ＡＥ−Ｎ21）」を取得する。そして（４）において、「我孫子（ＡＥ−Ｎ21）」について線区駅順マスタ２１を検索し、我孫子の全線区駅順コード「ＡＥ−Ｎ21、ＢＮ−Ｎ1」を得る。次に（５）柏と我孫子の線区駅順コードを比較して、同
じ線区コード（ＡＥ）であるものを選択する。そして（６）我孫子と東我孫子の線区駅順コードを比較して、同じ線区コード（ＢＮ）であるものを選択する。以上のような処理手順によって、経路解析結果「柏（ＡＥ−Ｎ18）−我孫子（ＡＥ−Ｎ21）、我孫子（ＢＮ−Ｎ1）−東我孫子（ＢＮ−Ｎ3）」を得ることができる。
【００２９】
次に、「東京（ＡＡ−Ｎ1）−品川（ＡＡ−Ｎ7）−代々木（ＡＣ−Ｎ12）−新宿（ＡＣ−Ｎ13）」を解析する別の経路解析例について説明する。図１２は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）「東京（ＡＡ−Ｎ1）」
について、線区駅順マスタ２１を検索し、東京の線区駅順コード「ＡＡ−Ｎ1、ＡＢ−Ｎ1１、ＡＣ−Ｎ1、ＢＰ−Ｎ20・・」を得る。次に、（２）「品川（ＡＡ−Ｎ7）」について、線区駅順マスタ２１を検索し、品川の線区駅順コード「ＡＡ−Ｎ7、ＢＫ−Ｎ1、ＢＰ−Ｎ15、ＩＥ−Ｎ2」を得る。（３）「代々木（ＡＣ−Ｎ12）」について、線区駅順マスタ
２１を検索し、代々木の線区駅順コード「ＡＣ−Ｎ12、ＢＫ−Ｎ9、ＡＣ−Ｎ1、ＪＨ−Ｎ30」を得る。そして（４）「新宿（ＡＣ−Ｎ13）」について、線区駅順マスタ２１を検索し、新宿の線区駅順コード「ＡＣ−Ｎ13、ＢＫ−Ｎ11、ＨＯ−Ｎ1、ＩＰ−Ｎ1・・」を得る。次に、隣同士の線区駅順コードを参照する。（５）で東京と品川の線区駅順コードを比較して、同じ線区コード（ＡＡ）を抽出し、（６）で品川と代々木の線区駅順コードを比較して、同じ線区コード（ＢＫ）を抽出し、（７）で代々木と新宿の線区駅順コードを比較して、同じ線区コード（ＢＫ）を抽出する。ここで、（８）に示すように、ＢＫ−Ｎ
1＜ＢＫ−Ｎ9＜ＢＫ−Ｎ11が成立しており、「ＢＫ−Ｎ9」（代々木）に係る情報は同一
路線中の、品川、新宿間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「東京（ＡＡ−Ｎ1）−品川（ＡＡ−Ｎ7）、品川（ＢＫ−Ｎ1）−
新宿（ＢＫ−Ｎ11）」を得ることができる。
【００３０】
次に、「東京（ＡＡ−Ｎ1）−大崎（ＢＫ−Ｎ2）−新宿（ＡＣ−Ｎ13）」を解析する別の経路解析例について説明する。図１３は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。まず（１）「東京（ＡＡ−Ｎ1）」について、線区駅順マス
タ２１を検索し、東京の線区駅順コード「ＡＡ−Ｎ1、ＡＢ−Ｎ1、ＡＣ−Ｎ1、ＡＡ−Ｎ20・・」を得る。次に、（２）「大崎（ＢＫ−Ｎ2）」について、線区駅順マスタ２１を検索し、大崎の線区駅順コード「ＢＫ−Ｎ2」を得る。（３）「新宿（ＡＣ−Ｎ13）」につ
いて、線区駅順マスタ２１を検索し、新宿の線区駅順コード「ＡＣ−Ｎ13、ＢＫ−Ｎ11、ＨＯ−Ｎ1、ＩＰ−Ｎ1・・」を得る。次に、隣同士の線区駅順コードを参照する。（４）で東京と大崎の線区駅順コードを比較すると、共通の線区コードが存在しないことがわかる。そして、（５）で大崎と新宿の線区駅順コードを比較して、共通の線区コード（ＢＫ）を抽出することができる。そこで、（６）において、ＡＡ−ＮXとＢＫ−ＮXの双方の線区コードを有する駅である品川を抽出する。（８）、（９）において、あらためて隣同士の線区駅順コードを比較して、最終的に経路解析結果「東京（ＡＡ−Ｎ1）−品川（ＡＡ
−Ｎ7）、品川（ＢＫ−Ｎ1）−新宿（ＢＫ−Ｎ11）」を得る。
【００３１】
次に、「東京（ＡＡ−Ｎ1）−新宿（ＡＣ−Ｎ13）」を解析する別の経路解析例につい
て説明する。図１４は、経路生成部１２が経路解析を行う際の処理を段階的に示したものである。この例はエンコード情報が足りないために、これまで説明してきたような形での経路解析をすることは不可能であるので、経路生成部１２は検索部１４と協働して、キロ程データベース１３を、「（発駅）東京−（着駅）新宿、又は、（発駅）新宿−（着駅）東京であり、かつ、キロ程が１７．４ｋｍを検索」という条件で検索し、経路解析結果「東京（ＡＡ−Ｎ1）−品川（ＡＡ−Ｎ7）、品川（ＢＫ−Ｎ1）−新宿（ＢＫ−Ｎ11」を得
る。
【００３２】
以上説明してきた解析手法をフロー的にまとめたものが、図１５である。図１５は、経路生成部１２の処理の概略的な流れについて示す図である。なお、ここで示すフローはあくまで処理の流れの概略を説明するためのものであり、厳密なものではない。図１５において、ステップＳ０で経路生成部１２の処理を開始すると、まずステップＳ１において、定期券の発駅、乗り継ぎ駅、着駅の全ての駅ついて、線区駅順マスタ２１で、全線区駅順コードを割り出す。ステップＳ２では、連絡駅コードが使用されているかどうかをチェックして、使用されていたら、連絡駅マスタ２２を検索し、当該駅の全線区駅順コードを得る。また、ステップＳ３では、省略コードが使用されているどうかを判定し、使われていた場合には、省略コードマスタ２３により省略しない形式に展開する。また、ステップＳ４では、発駅、着駅、乗り継ぎ駅の線区コードが異なる場合には経由指定マスタ２４を検索して一致するデータを見つけるようにする。また、ステップＳ５において、発駅、着駅の線区コードが異なる場合にはルートマスタ２５を検索して路線乗換駅（交差駅）を見つける。また、ステップＳ６では、２駅間で線区コードが異なる場合には線区駅順２１を検索して、双方の線区コードを有する駅を抽出する。また、ステップＳ７においては、線区コードが異なる場合にはルートマスタ２５を検索して路線乗換駅（交差駅）を得る。また、ステップＳ８では、必要であれば、さらに線区駅順マスタ２１によって、全ての線区駅順コードを割り出す。また、ステップＳ９では、駅間の共通の線区コードをみつけるようにする。また、ステップＳ１０では、ＸＸ−Ｎa＜ＸＸ−Ｎb＜ＸＸ−Ｎcが成立すれば、
ＸＸ−Ｎbは落として不要な乗り継ぎエンコード情報を削除する。また、ステップＳ１１
においては、経路解析をするのにエンコード情報が足りない場合、キロ程データベースを援用して、経路解析を行う。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。
【図２】線区駅順マスタ２１のデータ構造を例示する図である。
【図３】連絡駅マスタ２２のデータ構造を例示する図である。
【図４】省略コードマスタ２３のデータ構造を例示する図である。
【図５】経由指定マスタ２４のデータ構造を例示する図である。
【図６】ルートマスタ２５のデータ構造を例示する図である。
【図７】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図８】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図９】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１０】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１１】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１２】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１３】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１４】経路生成部１２が経路解析を行う際の処理を段階的に示した図である。
【図１５】経路生成部１２の処理の概略的な流れについて示す図である。
【図１６】各駅に付されている線区コード及び駅順コードを説明するための図である。
【図１７】Ａ駅からＢ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【図１８】Ａ駅からＣ駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【符号の説明】
【００３４】
１・・・定期券突合シミュレータ、２・・・マスタ、２１・・・線区駅順マスタ、２２・・・連絡駅マスタ、２３・・・省略コードマスタ、２４・・・経由指定マスタ、２５・・・ルートマスタ、３・・・データ登録部、３・・・登録データ、４・・・データ突合処理部、５・・・突合データ、６・・・結果レポート出力部、７・・・テストデータ、８・・・ロジックシミュレータ、９・・・検証結果、１０・・・検証結果取込部、１１・・・出力レポート、１２・・・経路生成部、１３・・・キロ程データベース、１４・・・キロ程検索部、１５・・・データ登録部、１００・・・定期券発行事業者路線運賃シミュレータ
【図１】
0004942019.tif 000002
【図２】
0004942019.tif 000003
【図３】
0004942019.tif 000004
【図４】
0004942019.tif 000005
【図５】
0004942019.tif 000006
【図６】
0004942019.tif 000007
【図７】
0004942019.tif 000008
【図８】
0004942019.tif 000009
【図９】
0004942019.tif 000010
【図１０】
0004942019.tif 000011
【図１１】
0004942019.tif 000012
【図１２】
0004942019.tif 000013
【図１３】
0004942019.tif 000014
【図１４】
0004942019.tif 000015
【図１５】
0004942019.tif 000016
【図１６】
0004942019.tif 000017
【図１７】
0004942019.tif 000018
【図１８】
0004942019.tif 000019