2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最近のトラックバック

無料ブログはココログ

« 2012年1月8日 | トップページ | 2012年1月29日 »

2012年1月15日 (日)

駅間所要時間が12時間を超えるダイヤ

 先日、ユーザーの方から「駅間所要時分が12時間を超える時刻表を入力すると、ダイヤグラム画面が正しく表示されなくなります。」というご指摘をメールで頂きました。たしかに、現在のOuDiaでは、駅間所要時間が12時間1分~23時間59分になるような入力を行うと、時刻を戻るような列車線が描画されます。

 僕自身は、駅間所要時間が12時間以上などというケースに遭遇したことがないのですが、このユーザーの方は、国際線航空機のダイヤを入力なさっているそうです。確かに、アメリカ中部→日本では、所要時間は12時間を越えますね。

 実は、この現象についてご指摘を受けたのは初めてではなく、2009年7月頃にも当ブログのコメントとして、ご指摘を受けたことがありました。このときの方は、ゲーム『A列車で行こう』の運行ダイヤを作成しているとのことでした(http://oudiary.cocolog-nifty.com/blog/2009/07/oudia-e7af.html)。しかし、僕自身が『A列車で行こう』をやったことがないため、ユーザーの方の要望内容が把握できませんでした。

 この現象の原因は、OuDiaでは、「2つの時刻の差を求める場合は、絶対値が小さい側の値を採用する 」という考え方をとっているためです。
 例えば、 23:00 は 1:00 の「22時間後」だとも言えますし、「2時間前」だとも言えます。この場合、OuDiaは絶対値の小さい「2時間前」を採用します。この結果に従って列車線を描画するため、時刻を戻るような列車線が表示されるのです。
 日付の概念のないOuDiaでは、この「時刻の差を正確に判定することができない」という問題は避けられません。

 OuDia設計当時の僕は、12時間以上の駅間所要時分の存在の可能性を考えもしませんでした。このため、上記の、「2つの時刻の差を求める場合は、絶対値が小さい側の値を採用する 」という考え方で問題を感じたことはありませんでした。その結果、 「12時間以上の駅間所要時分」は、今のOuDiaでは完全に設計想定外になっています。

 僕としては今のところ、この問題に対して修正を実施する予定はありません。理由は、僕自身は「駅間所要時間が12時間以上」という使い方をしていないため、どのような仕様にすればいいのかが判断できないためです。
 単純に考えれば、「2つの時刻の差を求める場合は、後の駅の時刻は必ず、前の駅の時刻より後と考える」という仕様が考えられますが、それは本当に便利でしょうか?
 一例として、

 (1) 時刻表の上から下にA駅・B駅・C駅の順で駅が並んでおり、A駅発を10:30・B駅発を10:35・C駅発を10:40の列車があるとします。

 (2) 上記列車入力時、誤ってC駅発を10:30と入力してしまったとします。

 (3) ここでダイヤグラムビューを表示させた場合は、B駅~C駅の列車線は、所要時間23時間55分相当で表示されることになります。これの見た目の印象は、

  1.  列車線がほとんど水平に見える 
  2.  B駅とC駅の縦の幅が極端に大きいダイヤグラムになる。場合によっては、ダイヤグラムの描画に非常に時間がかかる。ダイヤグラムの描画中はOuDiaは操作不能なため、実質的にはOuDiaのフリーズとなる。

のどちらかです。こんな表示で本当にいいのでしょうか?

« 2012年1月8日 | トップページ | 2012年1月29日 »