定期券突合シミュレータ
【課題】各社の定期券発行事業者経路運賃シミュレータのデータの経路解析の結果を用いて突合検証作業を行う定期券突合シミュレータを提供する。
【解決手段】。
本発明は、各社の定期券発行事業者経路運賃シミュレータ100のデータを突合検証する定期券突合シミュレータ1である。定期券突合シミュレータ1は、各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部15と、このデータ登録部15に登録されたデータ間を突合するデータ突合処理部4と、このデータ突合処理部4でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部12とを有する。
【解決手段】。
本発明は、各社の定期券発行事業者経路運賃シミュレータ100のデータを突合検証する定期券突合シミュレータ1である。定期券突合シミュレータ1は、各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部15と、このデータ登録部15に登録されたデータ間を突合するデータ突合処理部4と、このデータ突合処理部4でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部12とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータに関する。
【背景技術】
【0002】
定期券には、券面印字の他に発駅−経由駅−着駅等に係る情報が、磁気記憶手段やICチップに記録されている。特に、発駅−経由駅−着駅等に係る情報について説明すると、各社の全路線にはそれぞれ異なる線区コードが割り当てられ、各線区の駅にはさらに駅順コードが割り当てられている。図16は、各駅に付されている線区コード−駅順コードを示すものである。図16に示すように、○○線のA駅を特定するために、3桁の線区コードと3桁の駅順コードがそれぞれ付されている。
【0003】
例えば、東海道線の線区コードは001、東京駅から熱海駅まで順に駅順コードが001、002・・・043というように割り当てられており、東京駅は001−001、有楽町駅は001−002、新橋駅は001−003のように駅順コード(駅番号)が割り当てられる。このように、各社の全路線の全駅はこのような異なる駅番号がそれぞれユニークに付されており、定期券の経路はこの線区−駅順コードで特定され、このような線区駅順コードが定期券に記録されている。
【0004】
図17は、A駅からB駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。線区コード−駅順コードが001−001であるA駅から、線区コード−駅順コードが001−010であるB駅までの定期券には、図示するように、「001−001〜001−010」という情報が定期券に記憶される。このような定期券を用いれば、001−002〜001−009までの途中駅の改札を通過することができるが、これは改札機によって、
001−001(A駅)<001−002〜001−009<001−010(B駅)
というような駅順コードの大小比較がなされることによって通札可能となるものである。
【0005】
次に、2つの路線にまたがった駅間の定期券につき説明する。図18は、A駅からC駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。この図では、線区コード−駅順コードが001−001のA駅から始まる路線Xと、路線XのB駅を起点とする路線Yと、A駅とC駅の両方で交差する路線Zとが示されている。路線Yには線区コード002がつけられており、B駅には、路線Xの線区コード−駅順コード001−010と、路線Yの線区コード−駅順コード002−001との両方が付されている。B駅以降の路線Yには、線区コード−駅順コードが順に、002−002、002−003、というように付されていく。路線Zについては詳細なコードの説明はしないが、同様のルールで線区コード−駅順コードで付されているものとする。ここで、A駅からC駅まで定期券には、図に示されているように「001−001〜002−003」という情報に加えて、途中の経由駅Bに係る情報である「001−010」も記憶される。以下、本明細書では、この経由駅に係る情報を「経由エンコード」と称する。また、これを簡単に「エンコード」というように表現することもある。また、発駅や着駅にかかるコードも「エンコード」と称することがある。
【0006】
ところで、定期券発券機メーカーによって、この経由エンコードをどの駅に設定するか等が異なることなどがあり、同じ駅間の定期券でも、発券した定期券発券機の機種の違いによって、定期券に記録されるエンコード情報が異なることがある。経由エンコードが異なっていたとしても、実質的に、定期券が同一のものであることを保証するために、シミュレータで様々な経路の定期券を想定しておき、それぞれの経路で、定期券発券機の機種の違いが発生しないことを検証する必要がある。この作業を、突合検証作業といい、具体的には、例えば定期券発券機A機が生成した様々な経路データである定期券データAと、定期券発券機B機が生成した様々な経路データである定期券データBとの両者を、比較検証するシミュレーション作業を行う。従来、この突合を行う際には、まずキロ程データをキーとソートして、次に、キロ程データが同一であるものの経路を順次比較していく、というような方式がとられていた。本件出願人による特許文献1(特願2005−83268号)には、この方式についての記載がある。
【特許文献1】特願2005−83268号
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、近年の路線網の発達により、キロ程データを同じくする区間が多数存在することとなったために、従来のようにまずキロ程データをキーとソートしたとしても、効率的に突合が行い得るとは言い難い状況となってきた。今後、定期券が内蔵されたICカードが、関東IC相互利用に伴い加速度的に普及することが見込まれているが、定期券内蔵ICカードによれば乗り越しの精算などは、改札機側が一方的にICカードのストアードフェアから収受する仕組みとなるために、定期券発売機の信頼性の向上をよりいっそう図らなければならない。そのためにも、突合による検証作業には従来に増しての正確さが求められる。また、関東IC相互利用に加盟している社局のうちどれか一つの社局が運賃を改定したり、あらたな駅を開設したりすることになれば、その都度、定期券発売機の検証を行わなければならず、その頻度は相当高いものである。そして、その都度、突合検証作業が行われるために、突合方式にはよいいっそうの効率化が求められている。
【課題を解決するための手段】
【0008】
このような課題を解決するために、請求項1に係る発明は、各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータであって、各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部と、該データ登録部に登録されたデータ間を突合するデータ突合処理部と、該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする。
【0009】
また、請求項2に係る発明は、各社の定期券発行機のデータを突合検証する定期券突合シミュレータであって、各社の定期券発行機のデータを登録するデータ登録部と、該データ登録部に登録されたデータ間を突合するデータ突合処理部と、該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする。
【0010】
また、請求項3に係る発明は、請求項1又は請求項2に記載の定期券突合シミュレータにおいて、該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする。
【0011】
また、請求項4に係る発明は、請求項1乃至請求項3のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする。
【0012】
また、請求項5に係る発明は、請求項1乃至請求項4のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする。
【0013】
また、請求項6に係る発明は、請求項1乃至請求項5のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする。
【0014】
また、請求項7に係る発明は、請求項1乃至請求項6のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする。
【0015】
また、請求項8に係る発明は、請求項1乃至請求項7のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする。
【0016】
また、請求項9に係る発明は、請求項8に記載の定期券突合シミュレータにおいて、該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする。
【発明の効果】
【0017】
本発明によれば、各社の定期券発行事業者経路運賃シミュレータのデータの経路解析の結果を用いて突合検証作業を行うので、キロ程をキーとして用いた従来の突合検証作業より効率的な突合検証作業ができるようになる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面を参照しつつ説明する。図1は、本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。図1において、1は定期券突合シミュレータ、2はマスタ、3は登録データ、4はデータ突合処理部、5は突合データ、6は結果レポート出力部、7はテストデータ、8はロジックシミュレータ、9は検証結果、10は検証結果取込部、11は出力レポート、12は経路生成部、13はキロ程データベース、14はキロ程検索部、15はデータ登録部、100は定期券発行事業者路線運賃シミュレータである。マスタ2はさらに細かくは、線区駅順マスタ21、連絡駅マスタ22、省略コードマスタ23、経由指定マスタ24、ルートマスタ25とからなる。
【0019】
次に、本発明の実施の形態に係る定期券突合シミュレータ1によって突合を行う際のデータの流れの概要について説明する。まず、定期券発行事業者路線運賃シミュレータ100によって、定期券発券機A機が生成する様々な経路データである定期券データAと、定期券発券機B機が生成する様々な経路データである定期券データBを用意する。次に、これら定期券データAと定期券データBとを、データ登録部15によって、定期券突合シミュレータ1の登録データ3として登録する。登録された定期券データAと定期券データBの様々な区間のデータは、データ突合処理部4によって突き合わせ(突合検証作業)が行われる。
【0020】
上記の例では、定期券データAをA機種の定期券発行事業者路線運賃シミュレータから、定期券データBをB機種の定期券発行事業者路線運賃シミュレータから、それぞれ導くように構成した場合について説明したが、定期券データAを定期券発券機A機自体から、そして、定期券データBを定期券発券機B機自体から、それぞれ導くように構成してもよい。なお、このようにする場合には、定期券発券機固有のデータから本発明の定期券突合シミュレータに適合する定期券データにフォーマットを変換する必要がある。
【0021】
データ突合処理部4における処理としては、経路生成部12によって解析された定期券データAの経路解析結果A、及び、経路生成部12によって解析された定期券データBの経路解析結果Bとの突合検証作業が基本的な処理となる。各定期券データによって経路を解析する際に経路生成部12が用いられるデータベースが、線区駅順マスタ21、連絡駅マスタ22、省略コードマスタ23、経由指定マスタ24、ルートマスタ25からなる各マスタ2であり、経路生成部12は、これらの各マスタを検索しつつ、経路解析を行う。本発明では、従来と異なり、このような経路解析の結果を用いて突合検証作業を行うので、キロ程を用いての従来の突合検証作業より効率的な検証作業ができるようになる。なお、経路生成部12がマスタ2を用いて経路解析が不可能な場合には、経路生成部12は、キロ程データベース13を検索部14で検索することによって、経路解析を行う。
【0022】
突合検証作業後の突合データ5は、定期券データAと定期券データBとで一致するもの、不一致であるものの2種類となるが、これらは結果レポート出力部6から、出力レポート11として出力される。経路データ突合処理で不一致の経路データがでた場合には、その経路(テストデータ7)についてロジックシミュレータ8に読み込ませて定期券発行事業者経路運賃シミュレータ100のプログラムミスであるか否かが再度の解析がなされる。ロジックシミュレータ8は、各社の定期券発行事業者経路運賃シミュレータの処理ロジックを搭載し、様々な経路パターンを設定したテスト券を入力して処理を実行させ、同じ処理ロジックに違いがあるか否かを検証するためのものである。これは、本来、同じ処理を行う駅務機器は全て同じ処理結果を出力すべきであるが、現実的には異なる会社で作製されたもの、異なる路線に配置されたもの等においては少しの設計思想の違いから同じ処理結果とならない場合があるため、これを検証するためのロジックシミュレータが開発されている。ロジックシミュレータ8による検証結果9は、フィードバックとして、定期券突合シミュレータ1の検証結果取込部10により取り込まれる。
【0023】
次に、経路生成部12が経路解析を行う上で参照する各マスタの具体的な構成につき説明する。
(A)線区駅順マスタ21
図2は、線区駅順マスタ21のデータ構造を例示する図である。線区駅順マスタ21は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義するものである。代表線区駅順コードは、一つの駅に複数の路線が交差している場合、そのうちの代表路線を定義することによりふられるものである。線区駅順マスタ21のデータは、線区駅順コードで検索を行い、代表線区駅順コードから各自線線区駅順コードの取り出しを行い、駅間の乗車路線を結び付けるために使用する。また、突合結果レポートの駅名表示も本データから取得されたものが用いられる、というように非常に基本的なものである。
(B)連絡駅マスタ22
図3は、連絡駅マスタ22のデータ構造を例示する図である。連絡駅マスタ22は、連絡駅コードが定義された駅について定義するものであり、そのデータ構造は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードからなるものである。経路生成部12は、連絡駅コードから対応する自線線区駅順コードの取り出しを行い、社局間の路線の結び付けを行う。本データは、会社間連絡定期券の発売経路データを生成するために使用するものである。
(C)省略コードマスタ23
図4は、省略コードマスタ23のデータ構造を例示する図である。省略コードは、山手線、西武線、東武線の省略コードを定義するものである。例えば、山手線の場合、複数のターミナル駅を繋ぐものであるので、エンコードが非常に複雑なものとなってしまう。ところが、エンコードは、磁気定期券の場合は8個まで、ICカード定期券の場合は10個までと定義されており、エンコード枠が足りなくなってしまう事態が考えられる。そこで、複雑な特定経路について省略コード一つで代表させることで、エンコード枠を節約する。
(D)経由指定マスタ24
図5は、経由指定マスタ24のデータ構造を例示する図である。経由指定マスタ24は、同一発行機関経路および複数の発行機関に連絡する経路の乗線路線を決定するために定義するものであり、データ構造は、発駅、着駅、路線、連絡1、連絡2・・・のようになっている。
(E)ルートマスタ25
図6は、ルートマスタ25のデータ構造を例示する図である。2駅間の乗車路線の決定は、各々の自線線区駅順コードを組み合わせ同じ線区コードを持つ2駅を路線の乗車駅・降車駅とし、発売経路を生成することを基本としている。ただし、2つの駅に対して、同じ線区コードを持つ駅が存在しない場合は、経由駅が抜けていると考えられる。この抜けている経由駅を検索するためにルートマスタが定義される。データ構造は、発路線、着路線、会社名、交差駅である。
【0024】
以上の構成において、本発明の実施の形態に係る定期券突合シミュレータの経路生成部12がどのように経路解析を行うかについて説明する。図7は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。図7において、上に示された経路「神田(002−002)−お茶の水(003−003)」が解析すべき経路であり、下の示された枠で囲まれた経路「神田(003−002)−お茶の水(003−003)」が経路生成部12によって解析された基本的な代表経路である。図中、上に示された経路と下の示された経路との間に記載されているものは、経路解析のための処理経過を示すものである。以下の図8乃至図14において、同様の図面構成となっている。処理手順であるが、まず(1)「神田(002−002)」を、線区駅順マスタ21を検索する(図2参照)ことによって、図示するように「002−002、003−003」と展開する。また、(2)「お茶の水(003−003)」の方も、線区駅順マスタ21によって、図示するように「003−001、007−001」を得る。次に、(3)以上のようにして得られたそれぞれの線区駅順コードを比較して、同一の線区コード「003」のもの同士を選択する。このようにして最終的に、経路解析結果「神田(003−002)−お茶の水(003−003)」を得ることができる。
【0025】
次に、「浜松町(001−004)−新橋(127−002)−銀座(277−054)」を解析する別の経路解析例について説明する。図8は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「浜松町(001−004)」について線区駅順マスタ21を検索し、浜松町の線区駅順コード「001−004」を得る。次に(2)「新橋(127−002)」については連絡駅コードが使われているので、連絡駅マスタ22(図3参照)を検索して、図示するように「001−003、027−014、101−001、277−055、273−011」を得る。また、(3)「銀座(274−054)」については、線区駅順マスタ21を検索し、銀座の全線区駅順コード「227−054、229−044、228−051」を得る。次に(4)浜松町と新橋の線区駅順コードを比較して、同じ線区コード(001)であるものを選択する。そして(5)新橋と銀座の線区駅順コードを比較して、同じ線区コード(227)であるものを選択する。以上のような処理手順によって、経路解析結果「浜松町(001−004)−新橋(001−003)、新橋(277−055)−銀座(277−054)」を得ることができる。
【0026】
次に、「十条(038−004)−省略コード(124−099)−川崎(001−013)」を解析する別の経路解析例について説明する。図9は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「十条(038−004)」について線区駅順マスタ21を検索し、十条の線区駅順コード「038−004」を得る。次に(2)エンコードに省略コード(124−099)が使われているので、省略コードマスタ23(図4参照)を検索して、省略コードを展開し、図示するように「池袋(037−015)〜品川(037−001)」を得る。(3)このようにして得られた「池袋(037−015)」を、線区駅順マスタ21を検索し「037−015、038−008」を得る。また(4)もう一方の「品川(037−001)」についても、線区駅順マスタ21を検索し「001−007、037−001、042−015」を得る。(5)「品川(001−013)」についもて線区駅順マスタ21を検索し、川崎の全線区駅順コード「001−013、024−001、026−001」を得る。以上のように全ての駅の全線区駅順コードを展開しておき、となり同士の全線区駅順コードで共通の線区コードを抽出する。すなわち、(6)十条と池袋の線区駅順コードを比較して、同じ線区コード(038)を選択し、(7)池袋と品川の線区駅順コードを比較して、同じ線区コード(037)を選択し、(8)品川と川崎の線区駅順コードを比較して、同じ線区コード(001)を選択し、最終的に、経路解析結果「十条(038−004)−池袋(038−008)、池袋(037−015)−品川(037−001)、品川(001−007)−川崎(001−013)」を得ることができる。
【0027】
次に、「銀座(227−054)−仲御徒町(228−043)−上野(227−047)」を解析する別の経路解析例について説明する。図10は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、発駅、経由1、着駅で経由指定マスタ24を検索して(図5)、(2)に示すように全てのエンコードは日比谷線に属するものであることを明らかにする。次に(3)、(4)において、線区駅順マスタ21を検索し、「日比谷線」の線区駅順コードを割り出しておく。そして、(5)、(6)で隣同士の線区駅順コードを参照する。すると、ここでは、(7)に示すように、228−042<228−043<228−054が成立しており、「228−043」に係る情報は同一路線中の、銀座、上野間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「銀座(228−051)−上野(227−042)」を得ることができる。
【0028】
次に、「柏(005−018)−東我孫子(040−003)」を解析する別の経路解析例について説明する。図11は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「柏(005−018)」について線区駅順マスタ21を検索し、柏の全線区駅順コード「005−018」を得る。そして、次に(2)「東我孫子(040−003)」について線区駅順マスタ21を検索し、柏東我孫子の全線区駅順コード「040−003」を得る。ここで、発駅と着駅との間で、共通の線区コードがないことが判明したので、(3)ルートマスタ25(図6参照)から「005−XXX」及び「040−XXX」の路線乗換駅である「我孫子(005−021)」を取得する。そして(4)において、「我孫子(005−021))」について線区駅順マスタ21を検索し、我孫子の全線区駅順コード「005−021、040−001」を得る。次に(5)柏と我孫子の線区駅順コードを比較して、同じ線区コード(005)であるものを選択する。そして(6)我孫子と東我孫子の線区駅順コードを比較して、同じ線区コード(040)であるものを選択する。以上のような処理手順によって、経路解析結果「柏(005−018)−我孫子(005−021)、我孫子(040−001)−東我孫子(040−003)」を得ることができる。
【0029】
次に、「東京(001−001)−品川(001−007)−代々木(003−012)−新宿(003−013)」を解析する別の経路解析例について説明する。図12は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)「東京(001−001)」について、線区駅順マスタ21を検索し、東京の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、(2)「品川(001−007)」について、線区駅順マスタ21を検索し、品川の線区駅順コード「001−007、037−001、042−015、213−002」を得る。(3)「代々木(003−012)」について、線区駅順マスタ21を検索し、代々木の線区駅順コード「003−012、037−009、003−001、242−030」を得る。そして(4)「新宿(003−013)」について、線区駅順マスタ21を検索し、新宿の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、隣同士の線区駅順コードを参照する。(5)で東京と品川の線区駅順コードを比較して、同じ線区コード(001)を抽出し、(6)で品川と代々木の線区駅順コードを比較して、同じ線区コード(037)を抽出し、(7)で代々木と新宿の線区駅順コードを比較して、同じ線区コード(037)を抽出する。ここで、(8)に示すように、037−001<037−009<037−011が成立しており、「037−009」(代々木)に係る情報は同一路線中の、品川、新宿間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得ることができる。
【0030】
次に、「東京(001−001)−大崎(037−002)−新宿(003−013)」を解析する別の経路解析例について説明する。図13は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)「東京(001−001)」について、線区駅順マスタ21を検索し、東京の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、(2)「大崎(037−002)」について、線区駅順マスタ21を検索し、大崎の線区駅順コード「037−002」を得る。(3)「新宿(003−013)」について、線区駅順マスタ21を検索し、新宿の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、隣同士の線区駅順コードを参照する。(4)で東京と大崎の線区駅順コードを比較すると、共通の線区コードが存在しないことがわかる。そして、(5)で大崎と新宿の線区駅順コードを比較して、共通の線区コード(037)を抽出することができる。そこで、(6)において、001−XXXと037−XXXの双方の線区コードを有する駅である品川を抽出する。(8)、(9)において、あらためて隣同士の線区駅順コードを比較して、最終的に経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得る。
【0031】
次に、「東京(001−001)−新宿(003−013)」を解析する別の経路解析例について説明する。図13は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。この例はエンコード情報が足りないために、これまで説明してきたような形での経路解析をすることは不可能であるので、経路生成部12は検索部14と協働して、キロ程データベース13を、「(発駅)東京−(着駅)新宿、又は、(発駅)新宿−(着駅)東京であり、かつ、
キロ程が17.4kmを検索」という条件で検索し、経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得る。
【0032】
以上説明してきた解析手法をフロー的にまとめたものが、図15である。図15は、経路生成部12の処理の概略的な流れについて示す図である。なお、ここで示すフローはあくまで処理の流れの概略を説明するためのものであり、厳密なものではない。図15において、ステップS0 で経路生成部12の処理を開始すると、まずステップS1において、定期券の発駅、乗り継ぎ駅、着駅の全ての駅ついて、 線区駅順マスタ21で、全線区駅順コードを割り出す。ステップS2では、連絡駅コードが使用されているかどうかをチェックして、使用されていたら、連絡駅マスタ22を検索し、当該駅の全線区駅順コードを得る。また、ステップS3では、省略コードが使用されているどうかを判定し、使われていた場合には、省略コードマスタ23により省略しない形式に展開する。また、ステップS4では、発駅、着駅、乗り継ぎ駅の線区コードが異なる場合には経由指定マスタ24を検索して一致するデータを見つけるようにする。また、ステップS5において、発駅、着駅の線区コードが異なる場合にはルートマスタ25を検索して路線乗換駅(交差駅)を見つける。また、ステップS6では、2駅間で線区コードが異なる場合には線区駅順21を検索して、双方の線区コードを有する駅を抽出する。また、ステップS7においては、線区コードが異なる場合にはルートマスタ25を検索して路線乗換駅(交差駅)を得る。また、ステップS8 必要であれば、さらに線区駅順マスタ21によって、全ての線区駅順コードを割り出す。また、ステップS9では、駅間の共通の線区コードをみつけるようにする。また、ステップS10 XXX−AAA<XXX−BBB<XXX−CCCが成立すれば、XXX−BBBは落として不要な乗り継ぎエンコード情報を削除する。また、ステップS11においては、経路解析をするのにエンコード情報が足りない場合、キロ程データベースを援用して、経路解析を行う。
【図面の簡単な説明】
【0033】
【図1】本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。
【図2】線区駅順マスタ21のデータ構造を例示する図である。
【図3】連絡駅マスタ22のデータ構造を例示する図である。
【図4】省略コードマスタ23のデータ構造を例示する図である。
【図5】経由指定マスタ24のデータ構造を例示する図である。
【図6】ルートマスタ25のデータ構造を例示する図である。
【図7】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図8】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図9】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図10】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図11】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図12】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図13】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図14】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図15】経路生成部12の処理の概略的な流れについて示す図である。
【図16】各駅に付されている線区コード及び駅順コードを説明するための図である。
【図17】A駅からB駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【図18】A駅からC駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【符号の説明】
【0034】
1・・・定期券突合シミュレータ、2・・・マスタ、21・・・線区駅順マスタ、22・・・連絡駅マスタ、23・・・省略コードマスタ、24・・・経由指定マスタ、25・・・ルートマスタ、3・・・データ登録部、3・・・登録データ、4・・・データ突合処理部、5・・・突合データ、6・・・結果レポート出力部、7・・・テストデータ、8・・・ロジックシミュレータ、9・・・検証結果、10・・・検証結果取込部、11・・・出力レポート、12・・・経路生成部、13・・・キロ程データベース、14・・・キロ程検索部、15・・・データ登録部、100・・・定期券発行事業者路線運賃シミュレータ
【技術分野】
【0001】
本発明は、各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータに関する。
【背景技術】
【0002】
定期券には、券面印字の他に発駅−経由駅−着駅等に係る情報が、磁気記憶手段やICチップに記録されている。特に、発駅−経由駅−着駅等に係る情報について説明すると、各社の全路線にはそれぞれ異なる線区コードが割り当てられ、各線区の駅にはさらに駅順コードが割り当てられている。図16は、各駅に付されている線区コード−駅順コードを示すものである。図16に示すように、○○線のA駅を特定するために、3桁の線区コードと3桁の駅順コードがそれぞれ付されている。
【0003】
例えば、東海道線の線区コードは001、東京駅から熱海駅まで順に駅順コードが001、002・・・043というように割り当てられており、東京駅は001−001、有楽町駅は001−002、新橋駅は001−003のように駅順コード(駅番号)が割り当てられる。このように、各社の全路線の全駅はこのような異なる駅番号がそれぞれユニークに付されており、定期券の経路はこの線区−駅順コードで特定され、このような線区駅順コードが定期券に記録されている。
【0004】
図17は、A駅からB駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。線区コード−駅順コードが001−001であるA駅から、線区コード−駅順コードが001−010であるB駅までの定期券には、図示するように、「001−001〜001−010」という情報が定期券に記憶される。このような定期券を用いれば、001−002〜001−009までの途中駅の改札を通過することができるが、これは改札機によって、
001−001(A駅)<001−002〜001−009<001−010(B駅)
というような駅順コードの大小比較がなされることによって通札可能となるものである。
【0005】
次に、2つの路線にまたがった駅間の定期券につき説明する。図18は、A駅からC駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。この図では、線区コード−駅順コードが001−001のA駅から始まる路線Xと、路線XのB駅を起点とする路線Yと、A駅とC駅の両方で交差する路線Zとが示されている。路線Yには線区コード002がつけられており、B駅には、路線Xの線区コード−駅順コード001−010と、路線Yの線区コード−駅順コード002−001との両方が付されている。B駅以降の路線Yには、線区コード−駅順コードが順に、002−002、002−003、というように付されていく。路線Zについては詳細なコードの説明はしないが、同様のルールで線区コード−駅順コードで付されているものとする。ここで、A駅からC駅まで定期券には、図に示されているように「001−001〜002−003」という情報に加えて、途中の経由駅Bに係る情報である「001−010」も記憶される。以下、本明細書では、この経由駅に係る情報を「経由エンコード」と称する。また、これを簡単に「エンコード」というように表現することもある。また、発駅や着駅にかかるコードも「エンコード」と称することがある。
【0006】
ところで、定期券発券機メーカーによって、この経由エンコードをどの駅に設定するか等が異なることなどがあり、同じ駅間の定期券でも、発券した定期券発券機の機種の違いによって、定期券に記録されるエンコード情報が異なることがある。経由エンコードが異なっていたとしても、実質的に、定期券が同一のものであることを保証するために、シミュレータで様々な経路の定期券を想定しておき、それぞれの経路で、定期券発券機の機種の違いが発生しないことを検証する必要がある。この作業を、突合検証作業といい、具体的には、例えば定期券発券機A機が生成した様々な経路データである定期券データAと、定期券発券機B機が生成した様々な経路データである定期券データBとの両者を、比較検証するシミュレーション作業を行う。従来、この突合を行う際には、まずキロ程データをキーとソートして、次に、キロ程データが同一であるものの経路を順次比較していく、というような方式がとられていた。本件出願人による特許文献1(特願2005−83268号)には、この方式についての記載がある。
【特許文献1】特願2005−83268号
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、近年の路線網の発達により、キロ程データを同じくする区間が多数存在することとなったために、従来のようにまずキロ程データをキーとソートしたとしても、効率的に突合が行い得るとは言い難い状況となってきた。今後、定期券が内蔵されたICカードが、関東IC相互利用に伴い加速度的に普及することが見込まれているが、定期券内蔵ICカードによれば乗り越しの精算などは、改札機側が一方的にICカードのストアードフェアから収受する仕組みとなるために、定期券発売機の信頼性の向上をよりいっそう図らなければならない。そのためにも、突合による検証作業には従来に増しての正確さが求められる。また、関東IC相互利用に加盟している社局のうちどれか一つの社局が運賃を改定したり、あらたな駅を開設したりすることになれば、その都度、定期券発売機の検証を行わなければならず、その頻度は相当高いものである。そして、その都度、突合検証作業が行われるために、突合方式にはよいいっそうの効率化が求められている。
【課題を解決するための手段】
【0008】
このような課題を解決するために、請求項1に係る発明は、各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータであって、各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部と、該データ登録部に登録されたデータ間を突合するデータ突合処理部と、該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする。
【0009】
また、請求項2に係る発明は、各社の定期券発行機のデータを突合検証する定期券突合シミュレータであって、各社の定期券発行機のデータを登録するデータ登録部と、該データ登録部に登録されたデータ間を突合するデータ突合処理部と、該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする。
【0010】
また、請求項3に係る発明は、請求項1又は請求項2に記載の定期券突合シミュレータにおいて、該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする。
【0011】
また、請求項4に係る発明は、請求項1乃至請求項3のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする。
【0012】
また、請求項5に係る発明は、請求項1乃至請求項4のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする。
【0013】
また、請求項6に係る発明は、請求項1乃至請求項5のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする。
【0014】
また、請求項7に係る発明は、請求項1乃至請求項6のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする。
【0015】
また、請求項8に係る発明は、請求項1乃至請求項7のいずれかに記載の定期券突合シミュレータにおいて、該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする。
【0016】
また、請求項9に係る発明は、請求項8に記載の定期券突合シミュレータにおいて、該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする。
【発明の効果】
【0017】
本発明によれば、各社の定期券発行事業者経路運賃シミュレータのデータの経路解析の結果を用いて突合検証作業を行うので、キロ程をキーとして用いた従来の突合検証作業より効率的な突合検証作業ができるようになる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態を図面を参照しつつ説明する。図1は、本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。図1において、1は定期券突合シミュレータ、2はマスタ、3は登録データ、4はデータ突合処理部、5は突合データ、6は結果レポート出力部、7はテストデータ、8はロジックシミュレータ、9は検証結果、10は検証結果取込部、11は出力レポート、12は経路生成部、13はキロ程データベース、14はキロ程検索部、15はデータ登録部、100は定期券発行事業者路線運賃シミュレータである。マスタ2はさらに細かくは、線区駅順マスタ21、連絡駅マスタ22、省略コードマスタ23、経由指定マスタ24、ルートマスタ25とからなる。
【0019】
次に、本発明の実施の形態に係る定期券突合シミュレータ1によって突合を行う際のデータの流れの概要について説明する。まず、定期券発行事業者路線運賃シミュレータ100によって、定期券発券機A機が生成する様々な経路データである定期券データAと、定期券発券機B機が生成する様々な経路データである定期券データBを用意する。次に、これら定期券データAと定期券データBとを、データ登録部15によって、定期券突合シミュレータ1の登録データ3として登録する。登録された定期券データAと定期券データBの様々な区間のデータは、データ突合処理部4によって突き合わせ(突合検証作業)が行われる。
【0020】
上記の例では、定期券データAをA機種の定期券発行事業者路線運賃シミュレータから、定期券データBをB機種の定期券発行事業者路線運賃シミュレータから、それぞれ導くように構成した場合について説明したが、定期券データAを定期券発券機A機自体から、そして、定期券データBを定期券発券機B機自体から、それぞれ導くように構成してもよい。なお、このようにする場合には、定期券発券機固有のデータから本発明の定期券突合シミュレータに適合する定期券データにフォーマットを変換する必要がある。
【0021】
データ突合処理部4における処理としては、経路生成部12によって解析された定期券データAの経路解析結果A、及び、経路生成部12によって解析された定期券データBの経路解析結果Bとの突合検証作業が基本的な処理となる。各定期券データによって経路を解析する際に経路生成部12が用いられるデータベースが、線区駅順マスタ21、連絡駅マスタ22、省略コードマスタ23、経由指定マスタ24、ルートマスタ25からなる各マスタ2であり、経路生成部12は、これらの各マスタを検索しつつ、経路解析を行う。本発明では、従来と異なり、このような経路解析の結果を用いて突合検証作業を行うので、キロ程を用いての従来の突合検証作業より効率的な検証作業ができるようになる。なお、経路生成部12がマスタ2を用いて経路解析が不可能な場合には、経路生成部12は、キロ程データベース13を検索部14で検索することによって、経路解析を行う。
【0022】
突合検証作業後の突合データ5は、定期券データAと定期券データBとで一致するもの、不一致であるものの2種類となるが、これらは結果レポート出力部6から、出力レポート11として出力される。経路データ突合処理で不一致の経路データがでた場合には、その経路(テストデータ7)についてロジックシミュレータ8に読み込ませて定期券発行事業者経路運賃シミュレータ100のプログラムミスであるか否かが再度の解析がなされる。ロジックシミュレータ8は、各社の定期券発行事業者経路運賃シミュレータの処理ロジックを搭載し、様々な経路パターンを設定したテスト券を入力して処理を実行させ、同じ処理ロジックに違いがあるか否かを検証するためのものである。これは、本来、同じ処理を行う駅務機器は全て同じ処理結果を出力すべきであるが、現実的には異なる会社で作製されたもの、異なる路線に配置されたもの等においては少しの設計思想の違いから同じ処理結果とならない場合があるため、これを検証するためのロジックシミュレータが開発されている。ロジックシミュレータ8による検証結果9は、フィードバックとして、定期券突合シミュレータ1の検証結果取込部10により取り込まれる。
【0023】
次に、経路生成部12が経路解析を行う上で参照する各マスタの具体的な構成につき説明する。
(A)線区駅順マスタ21
図2は、線区駅順マスタ21のデータ構造を例示する図である。線区駅順マスタ21は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義するものである。代表線区駅順コードは、一つの駅に複数の路線が交差している場合、そのうちの代表路線を定義することによりふられるものである。線区駅順マスタ21のデータは、線区駅順コードで検索を行い、代表線区駅順コードから各自線線区駅順コードの取り出しを行い、駅間の乗車路線を結び付けるために使用する。また、突合結果レポートの駅名表示も本データから取得されたものが用いられる、というように非常に基本的なものである。
(B)連絡駅マスタ22
図3は、連絡駅マスタ22のデータ構造を例示する図である。連絡駅マスタ22は、連絡駅コードが定義された駅について定義するものであり、そのデータ構造は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードからなるものである。経路生成部12は、連絡駅コードから対応する自線線区駅順コードの取り出しを行い、社局間の路線の結び付けを行う。本データは、会社間連絡定期券の発売経路データを生成するために使用するものである。
(C)省略コードマスタ23
図4は、省略コードマスタ23のデータ構造を例示する図である。省略コードは、山手線、西武線、東武線の省略コードを定義するものである。例えば、山手線の場合、複数のターミナル駅を繋ぐものであるので、エンコードが非常に複雑なものとなってしまう。ところが、エンコードは、磁気定期券の場合は8個まで、ICカード定期券の場合は10個までと定義されており、エンコード枠が足りなくなってしまう事態が考えられる。そこで、複雑な特定経路について省略コード一つで代表させることで、エンコード枠を節約する。
(D)経由指定マスタ24
図5は、経由指定マスタ24のデータ構造を例示する図である。経由指定マスタ24は、同一発行機関経路および複数の発行機関に連絡する経路の乗線路線を決定するために定義するものであり、データ構造は、発駅、着駅、路線、連絡1、連絡2・・・のようになっている。
(E)ルートマスタ25
図6は、ルートマスタ25のデータ構造を例示する図である。2駅間の乗車路線の決定は、各々の自線線区駅順コードを組み合わせ同じ線区コードを持つ2駅を路線の乗車駅・降車駅とし、発売経路を生成することを基本としている。ただし、2つの駅に対して、同じ線区コードを持つ駅が存在しない場合は、経由駅が抜けていると考えられる。この抜けている経由駅を検索するためにルートマスタが定義される。データ構造は、発路線、着路線、会社名、交差駅である。
【0024】
以上の構成において、本発明の実施の形態に係る定期券突合シミュレータの経路生成部12がどのように経路解析を行うかについて説明する。図7は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。図7において、上に示された経路「神田(002−002)−お茶の水(003−003)」が解析すべき経路であり、下の示された枠で囲まれた経路「神田(003−002)−お茶の水(003−003)」が経路生成部12によって解析された基本的な代表経路である。図中、上に示された経路と下の示された経路との間に記載されているものは、経路解析のための処理経過を示すものである。以下の図8乃至図14において、同様の図面構成となっている。処理手順であるが、まず(1)「神田(002−002)」を、線区駅順マスタ21を検索する(図2参照)ことによって、図示するように「002−002、003−003」と展開する。また、(2)「お茶の水(003−003)」の方も、線区駅順マスタ21によって、図示するように「003−001、007−001」を得る。次に、(3)以上のようにして得られたそれぞれの線区駅順コードを比較して、同一の線区コード「003」のもの同士を選択する。このようにして最終的に、経路解析結果「神田(003−002)−お茶の水(003−003)」を得ることができる。
【0025】
次に、「浜松町(001−004)−新橋(127−002)−銀座(277−054)」を解析する別の経路解析例について説明する。図8は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「浜松町(001−004)」について線区駅順マスタ21を検索し、浜松町の線区駅順コード「001−004」を得る。次に(2)「新橋(127−002)」については連絡駅コードが使われているので、連絡駅マスタ22(図3参照)を検索して、図示するように「001−003、027−014、101−001、277−055、273−011」を得る。また、(3)「銀座(274−054)」については、線区駅順マスタ21を検索し、銀座の全線区駅順コード「227−054、229−044、228−051」を得る。次に(4)浜松町と新橋の線区駅順コードを比較して、同じ線区コード(001)であるものを選択する。そして(5)新橋と銀座の線区駅順コードを比較して、同じ線区コード(227)であるものを選択する。以上のような処理手順によって、経路解析結果「浜松町(001−004)−新橋(001−003)、新橋(277−055)−銀座(277−054)」を得ることができる。
【0026】
次に、「十条(038−004)−省略コード(124−099)−川崎(001−013)」を解析する別の経路解析例について説明する。図9は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「十条(038−004)」について線区駅順マスタ21を検索し、十条の線区駅順コード「038−004」を得る。次に(2)エンコードに省略コード(124−099)が使われているので、省略コードマスタ23(図4参照)を検索して、省略コードを展開し、図示するように「池袋(037−015)〜品川(037−001)」を得る。(3)このようにして得られた「池袋(037−015)」を、線区駅順マスタ21を検索し「037−015、038−008」を得る。また(4)もう一方の「品川(037−001)」についても、線区駅順マスタ21を検索し「001−007、037−001、042−015」を得る。(5)「品川(001−013)」についもて線区駅順マスタ21を検索し、川崎の全線区駅順コード「001−013、024−001、026−001」を得る。以上のように全ての駅の全線区駅順コードを展開しておき、となり同士の全線区駅順コードで共通の線区コードを抽出する。すなわち、(6)十条と池袋の線区駅順コードを比較して、同じ線区コード(038)を選択し、(7)池袋と品川の線区駅順コードを比較して、同じ線区コード(037)を選択し、(8)品川と川崎の線区駅順コードを比較して、同じ線区コード(001)を選択し、最終的に、経路解析結果「十条(038−004)−池袋(038−008)、池袋(037−015)−品川(037−001)、品川(001−007)−川崎(001−013)」を得ることができる。
【0027】
次に、「銀座(227−054)−仲御徒町(228−043)−上野(227−047)」を解析する別の経路解析例について説明する。図10は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、発駅、経由1、着駅で経由指定マスタ24を検索して(図5)、(2)に示すように全てのエンコードは日比谷線に属するものであることを明らかにする。次に(3)、(4)において、線区駅順マスタ21を検索し、「日比谷線」の線区駅順コードを割り出しておく。そして、(5)、(6)で隣同士の線区駅順コードを参照する。すると、ここでは、(7)に示すように、228−042<228−043<228−054が成立しており、「228−043」に係る情報は同一路線中の、銀座、上野間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「銀座(228−051)−上野(227−042)」を得ることができる。
【0028】
次に、「柏(005−018)−東我孫子(040−003)」を解析する別の経路解析例について説明する。図11は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)において、「柏(005−018)」について線区駅順マスタ21を検索し、柏の全線区駅順コード「005−018」を得る。そして、次に(2)「東我孫子(040−003)」について線区駅順マスタ21を検索し、柏東我孫子の全線区駅順コード「040−003」を得る。ここで、発駅と着駅との間で、共通の線区コードがないことが判明したので、(3)ルートマスタ25(図6参照)から「005−XXX」及び「040−XXX」の路線乗換駅である「我孫子(005−021)」を取得する。そして(4)において、「我孫子(005−021))」について線区駅順マスタ21を検索し、我孫子の全線区駅順コード「005−021、040−001」を得る。次に(5)柏と我孫子の線区駅順コードを比較して、同じ線区コード(005)であるものを選択する。そして(6)我孫子と東我孫子の線区駅順コードを比較して、同じ線区コード(040)であるものを選択する。以上のような処理手順によって、経路解析結果「柏(005−018)−我孫子(005−021)、我孫子(040−001)−東我孫子(040−003)」を得ることができる。
【0029】
次に、「東京(001−001)−品川(001−007)−代々木(003−012)−新宿(003−013)」を解析する別の経路解析例について説明する。図12は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)「東京(001−001)」について、線区駅順マスタ21を検索し、東京の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、(2)「品川(001−007)」について、線区駅順マスタ21を検索し、品川の線区駅順コード「001−007、037−001、042−015、213−002」を得る。(3)「代々木(003−012)」について、線区駅順マスタ21を検索し、代々木の線区駅順コード「003−012、037−009、003−001、242−030」を得る。そして(4)「新宿(003−013)」について、線区駅順マスタ21を検索し、新宿の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、隣同士の線区駅順コードを参照する。(5)で東京と品川の線区駅順コードを比較して、同じ線区コード(001)を抽出し、(6)で品川と代々木の線区駅順コードを比較して、同じ線区コード(037)を抽出し、(7)で代々木と新宿の線区駅順コードを比較して、同じ線区コード(037)を抽出する。ここで、(8)に示すように、037−001<037−009<037−011が成立しており、「037−009」(代々木)に係る情報は同一路線中の、品川、新宿間に挟まれた駅であることが分かるので、不要とする。そして、最終的に、経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得ることができる。
【0030】
次に、「東京(001−001)−大崎(037−002)−新宿(003−013)」を解析する別の経路解析例について説明する。図13は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。まず(1)「東京(001−001)」について、線区駅順マスタ21を検索し、東京の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、(2)「大崎(037−002)」について、線区駅順マスタ21を検索し、大崎の線区駅順コード「037−002」を得る。(3)「新宿(003−013)」について、線区駅順マスタ21を検索し、新宿の線区駅順コード「001−001、002−001、003−001、042−020・・」を得る。次に、隣同士の線区駅順コードを参照する。(4)で東京と大崎の線区駅順コードを比較すると、共通の線区コードが存在しないことがわかる。そして、(5)で大崎と新宿の線区駅順コードを比較して、共通の線区コード(037)を抽出することができる。そこで、(6)において、001−XXXと037−XXXの双方の線区コードを有する駅である品川を抽出する。(8)、(9)において、あらためて隣同士の線区駅順コードを比較して、最終的に経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得る。
【0031】
次に、「東京(001−001)−新宿(003−013)」を解析する別の経路解析例について説明する。図13は、経路生成部12が経路解析を行う際の処理を段階的に示したものである。この例はエンコード情報が足りないために、これまで説明してきたような形での経路解析をすることは不可能であるので、経路生成部12は検索部14と協働して、キロ程データベース13を、「(発駅)東京−(着駅)新宿、又は、(発駅)新宿−(着駅)東京であり、かつ、
キロ程が17.4kmを検索」という条件で検索し、経路解析結果「東京(001−001)−品川(001−007)、品川(037−001)−新宿(037−011)」を得る。
【0032】
以上説明してきた解析手法をフロー的にまとめたものが、図15である。図15は、経路生成部12の処理の概略的な流れについて示す図である。なお、ここで示すフローはあくまで処理の流れの概略を説明するためのものであり、厳密なものではない。図15において、ステップS0 で経路生成部12の処理を開始すると、まずステップS1において、定期券の発駅、乗り継ぎ駅、着駅の全ての駅ついて、 線区駅順マスタ21で、全線区駅順コードを割り出す。ステップS2では、連絡駅コードが使用されているかどうかをチェックして、使用されていたら、連絡駅マスタ22を検索し、当該駅の全線区駅順コードを得る。また、ステップS3では、省略コードが使用されているどうかを判定し、使われていた場合には、省略コードマスタ23により省略しない形式に展開する。また、ステップS4では、発駅、着駅、乗り継ぎ駅の線区コードが異なる場合には経由指定マスタ24を検索して一致するデータを見つけるようにする。また、ステップS5において、発駅、着駅の線区コードが異なる場合にはルートマスタ25を検索して路線乗換駅(交差駅)を見つける。また、ステップS6では、2駅間で線区コードが異なる場合には線区駅順21を検索して、双方の線区コードを有する駅を抽出する。また、ステップS7においては、線区コードが異なる場合にはルートマスタ25を検索して路線乗換駅(交差駅)を得る。また、ステップS8 必要であれば、さらに線区駅順マスタ21によって、全ての線区駅順コードを割り出す。また、ステップS9では、駅間の共通の線区コードをみつけるようにする。また、ステップS10 XXX−AAA<XXX−BBB<XXX−CCCが成立すれば、XXX−BBBは落として不要な乗り継ぎエンコード情報を削除する。また、ステップS11においては、経路解析をするのにエンコード情報が足りない場合、キロ程データベースを援用して、経路解析を行う。
【図面の簡単な説明】
【0033】
【図1】本発明の実施の形態に係る定期券突合シミュレータの概要を示す図である。
【図2】線区駅順マスタ21のデータ構造を例示する図である。
【図3】連絡駅マスタ22のデータ構造を例示する図である。
【図4】省略コードマスタ23のデータ構造を例示する図である。
【図5】経由指定マスタ24のデータ構造を例示する図である。
【図6】ルートマスタ25のデータ構造を例示する図である。
【図7】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図8】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図9】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図10】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図11】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図12】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図13】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図14】経路生成部12が経路解析を行う際の処理を段階的に示した図である。
【図15】経路生成部12の処理の概略的な流れについて示す図である。
【図16】各駅に付されている線区コード及び駅順コードを説明するための図である。
【図17】A駅からB駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【図18】A駅からC駅まで定期券を例に、該定期券に記憶される線区コード−駅順コードを示す図である。
【符号の説明】
【0034】
1・・・定期券突合シミュレータ、2・・・マスタ、21・・・線区駅順マスタ、22・・・連絡駅マスタ、23・・・省略コードマスタ、24・・・経由指定マスタ、25・・・ルートマスタ、3・・・データ登録部、3・・・登録データ、4・・・データ突合処理部、5・・・突合データ、6・・・結果レポート出力部、7・・・テストデータ、8・・・ロジックシミュレータ、9・・・検証結果、10・・・検証結果取込部、11・・・出力レポート、12・・・経路生成部、13・・・キロ程データベース、14・・・キロ程検索部、15・・・データ登録部、100・・・定期券発行事業者路線運賃シミュレータ
【特許請求の範囲】
【請求項1】
各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータであって、
各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部と、
該データ登録部に登録されたデータ間を突合するデータ突合処理部と、
該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項2】
各社の定期券発行機のデータを突合検証する定期券突合シミュレータであって、
各社の定期券発行機のデータを登録するデータ登録部と、
該データ登録部に登録されたデータ間を突合するデータ突合処理部と、
該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項3】
該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする請求項1又は請求項2に記載の定期券突合シミュレータ。
【請求項4】
該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項3のいずれかに記載の定期券突合シミュレータ。
【請求項5】
該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項4のいずれかに記載の定期券突合シミュレータ。
【請求項6】
該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項5のいずれかに記載の定期券突合シミュレータ。
【請求項7】
該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項6のいずれかに記載の定期券突合シミュレータ。
【請求項8】
該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項7のいずれかに記載の定期券突合シミュレータ。
【請求項9】
該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする請求項8に記載の定期券突合シミュレータ。
【請求項1】
各社の定期券発行事業者経路運賃シミュレータのデータを突合検証する定期券突合シミュレータであって、
各社の定期券発行事業者経路運賃シミュレータのデータを登録するデータ登録部と、
該データ登録部に登録されたデータ間を突合するデータ突合処理部と、
該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項2】
各社の定期券発行機のデータを突合検証する定期券突合シミュレータであって、
各社の定期券発行機のデータを登録するデータ登録部と、
該データ登録部に登録されたデータ間を突合するデータ突合処理部と、
該データ突合処理部でデータ間の突合を行う際に用いる解析経路をデータから生成する経路生成部と、を有することを特徴とする定期券突合シミュレータ。
【請求項3】
該経路生成部は、自線線区駅順コード、路線名、駅名、会社名、代表線区駅順コードを定義する線区駅順マスタを検索して経路解析を行うことを特徴とする請求項1又は請求項2に記載の定期券突合シミュレータ。
【請求項4】
該経路生成部は、線区駅順コード、線区名称、駅名、会社名、連絡駅コードを定義する連絡駅マスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項3のいずれかに記載の定期券突合シミュレータ。
【請求項5】
該経路生成部は、省略コードを定義する省略コードマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項4のいずれかに記載の定期券突合シミュレータ。
【請求項6】
該経路生成部は、発駅、着駅、路線、連絡関係を定義する経由指定マスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項5のいずれかに記載の定期券突合シミュレータ。
【請求項7】
該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項6のいずれかに記載の定期券突合シミュレータ。
【請求項8】
該経路生成部は、発路線、着路線、会社名、交差駅を定義するルートマスタを検索して経路解析を行うことを特徴とする請求項1乃至請求項7のいずれかに記載の定期券突合シミュレータ。
【請求項9】
該経路生成部は、該線区駅順マスタ、該連絡駅マスタ、該省略コードマスタ、該経由指定マスタ、該ルートマスタのいずれを検索しても経路解析を行うことができなかった場合には、キロ程データを用いて経路解析を行う特徴とする請求項8に記載の定期券突合シミュレータ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2007−302078(P2007−302078A)
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願番号】特願2006−131127(P2006−131127)
【出願日】平成18年5月10日(2006.5.10)
【出願人】(593092482)ジェイアール東日本メカトロニクス株式会社 (85)
【Fターム(参考)】
【公開日】平成19年11月22日(2007.11.22)
【国際特許分類】
【出願日】平成18年5月10日(2006.5.10)
【出願人】(593092482)ジェイアール東日本メカトロニクス株式会社 (85)
【Fターム(参考)】
[ Back to top ]