鉄道時刻表を扱うプログラムを作成する場合、特殊な運行形態を取る路線を処理する必要があるかもしれない。
この記事では、時刻表をプログラムで扱う上で覚えておきたい列車の特殊な運行形態を挙げていく。
列車番号の重複
列車番号とは、時刻表上で列車に対して与えられている一意な番号のこと(例:9375M
)。
基本的に1つの路線内では一意だが、稀に重複した番号が振られることがある。
例
- 京成線
1846b
http://ksweb.org/etc/202201/e002352.php (過去) - 名鉄線
1250
など - 京急線
830
など https://okwave.jp/qa/q5422479.html
プログラム上、列車番号を一意なキーとして扱ってしまうとバグのもとになってしまうので注意。
同じ駅を2回通る列車
列車の時刻表から駅の時刻表を生成するときに困る。
例えば運転経路が「A駅→B駅→A駅→C駅」という経路になっている場合(A駅を2回通る)を考える。
A駅からC駅へ行きたい人は、何時にA駅へ行けばいいだろうか。
当然、列車が1回目にA駅を発車する時刻ではなく、2回目にA駅を発車する時刻である。
(ここで1回目の時刻を案内してしまうと、乗客は遠回りすることになり時間の無駄になる。)
列車時刻表を扱うときは、このように同じ駅に複数回停車する場合を考える必要がある。
このようなケースはいくつかのパターンに分けることができる。
環状運転
- 山手線(大崎→大崎)
- 大阪環状線(天王寺→天王寺)
- ディズニーリゾートライン(リゾートゲートウェイ・ステーション→リゾートゲートウェイ・ステーション)
- 札幌市電(西4丁目→西4丁目)
- 名城線(ナゴヤドーム前矢田→ナゴヤドーム前矢田)
- 富山地鉄 環状線(富山駅→富山駅)
6の字運転/9の字運転
- 大江戸線(光が丘→都庁前→大門→都庁前)
- 大和路快速(奈良→天王寺→大阪→天王寺)
- 関空/紀州時快速(日根野→天王寺→大阪→天王寺)
- 名城線の名港線直通列車(奈良→天王寺→大阪→天王寺)
6の字運転後、そのまま環状運転に移行する列車もあり。
例:
- 大和路線
323Y
は加茂→天王寺→大阪→天王寺と6の字運転後、そのまま大阪環状線2394
列車として更にもう1周する。 - 名港線の列車の一部は、名古屋港→金山と運転後、そのまま名城線を環状運転する。
ラケット型運転
- ユーカリが丘線(ユーカリが丘→公園→中学校→公園→ユーカリが丘)
- ポートアイランド線(三宮→中公園→中埠頭→中公園→三宮)
- 富山地鉄 富山港線(岩瀬浜→富山駅→丸の内→富山駅→岩瀬浜)
Y字運転
以下のような運行形態。B駅を2回通る。
A駅→B駅→D駅
⇅
C駅
- リゾートしらかみ(青森→川部→弘前→川部→秋田)
- はくたか(過去)(越後湯沢→津幡→金沢→津幡→和倉温泉)
- 名鉄(過去)(豊橋→神宮前→金山→神宮前→中部国際空港)
- 福井鉄道(田原町→福井城址大名町→福井駅→福井城址大名町→たけふ新)
行先!==終着駅
車両や駅の電光掲示板には行先が表示されるが、ここには必ずしも終着駅の駅名が表示されているわけではない。
アプリ等で行先を案内したい場合、時刻表上の終着駅とは別に行先のデータを保持しておく必要がある。
- 列車番号が途中で変わる列車
- 通常は1つの列車に1つの列車番号が割り振られているが、列車番号を途中で変えて運転を継続する列車がある。この場合、最終的な終着駅が行先として使われることがある。
- 環状運転の場合
- 山手線「渋谷・品川方面」など
- 大阪環状線に直通する列車
- 終着駅は天王寺だが、行先は「大阪環状線」を表示する
- 案内上表示を簡略化している場合
- 京急線の羽田空港国内線ターミナル行の場合、行先は「羽田空港」で案内される(国内線ターミナルと国際線ターミナルの両方に停車するため)
- 駅側のシステムが対応していない場合、終着駅より手前の駅を行先として案内することがある。
- 特殊な列車
特殊文字
ごく稀に、列車名や列車番号に特殊文字が使われることがある。
(異常時において列車番号に'
を使っている会社を見たことがある程度)
現在は列車名や列車番号も(鉄道会社社内の)システムで管理されている。
逆に言えば、それらのシステムが許せばどんな値でも列車名や列車番号として使用できることになる。
HTMLタグ等のエスケープ処理を忘れずに。
以上、簡単ではあるが、鉄道時刻表を扱う際に気を付けたいポイントの紹介でした。