- 浅草線
- 三田線
- 新宿線
- 大江戸線
の4路線。
路線図はこの辺りから。
4路線なので比較的簡単と考えて始めたけど...
- 浅草線
- 三田線
- 新宿線
の3路線は特に問題ないけど問題は大江戸線。
大江戸線は光が丘~新宿の放射部と、新宿から左回りに都庁前までの環状部で構成されている。
環状部と言っても山手線、大阪環状線や名古屋の地下鉄名城線のような環状運転ではなく、数字の「6」を横にしたような感じで折返し運転をしている。
これだけなら問題ないが、問題は放射部の途中に都庁前駅があること。
環状部の終点の都庁前と同じ駅なのでここで乗り換えができてしまう。
これをどう表現するのか。
今のプログラムではこれが表現できない。
放射部、環状部と言っても同じ大江戸線で直通運転なので路線は1つ。
今まで通に区間データを作ると、
(4-1) 光が丘~都庁前
(4-2) 都庁前~新宿(新宿線)
(4-3) 新宿~
(4-n) ~都庁前
と言った感じになるが、放射部の都庁前駅と環状部の終点の都庁前駅は繋がってないので、光が丘から都庁前を経由して環状部を右回りするルートはあり得ない。
これが表現できない。
(案1) 放射部の都庁前駅と環状部の都庁前駅を別の駅として扱う
都庁前A駅と都庁前B駅といった感じ。
これなら上記のような問題は無い。
ただし、乗換はできるので、それを表現する必要がある。
例えば、乗車時間0分の仮想路線を作って、都庁前A駅と都庁前B駅を繋ぐ。
今は乗換時間は一律10分にしているのでこの方法だと、都庁前駅での乗換時間が20分になってしまう。
(案2) 上記(案1)+乗換時間を駅毎に設定でいるようにする
一律10分の乗換時間を、駅毎に別々に設定できるようにプログラムに機能追加する。
都庁前A駅と都庁前B駅は乗換時間は5分、その他は10分とすれば解決する。
他の路線でも、実際には駅によって乗換時間も折返し時間も異なるはずなので、いずれは対応したいと思っている機能ではあるが、まだ、当面の目標の名古屋市営地下鉄全6線の最短完乗ルートの検索ができていないので、今の段階では優先度が低い。
(案3) 光が丘~都庁前と、都庁前~都庁前を別の路線とする
単純に別路線とすると、直通運転でも乗換時間が発生してしまう。
複数路線を跨る直通運転に対応するようにプログラムに機能追加する。
もう1つ、他の路線に乗換ができるが、駅名が異なるケースの対応も問題。
都営地下鉄では新宿線の馬喰横山駅と浅草線の東日本橋駅。
これもプログラムの機能追加が必要で、更に、データの持ち方の見直しも必要になってくる。
今のところ1事業者だけの完乗ルートの検索をしているが、いずれは地域内の複数事業者で最短完乗ルートの検索ができるようにしたいと思っているので、大江戸線の(案3)での複数路線の直通運転に対応する機能、路線で駅名が異なる乗換に対応する機能は必要になってくるし、(案2)の駅毎、路線毎の乗換時間の設定、折返し時間の設定機能も必要になってくると思う。
いずれは対応したいが、今の段階では優先度を下げておきたい。
ということで、都営地下鉄は路線データの作成で行き詰ってしまった。
何かいいアイデア、解決策を思い付くまで、機能強化するまで保留。
つづく。

0 件のコメント:
コメントを投稿