2017年3月
      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 31  

最近のトラックバック

無料ブログはココログ

« 2007年8月11日 | トップページ | 2007年9月9日 »

2007年9月 8日 (土)

OuDia開発の経緯-10
ダイヤグラムビュー・まっすぐな列車線(2005年7月8~16日,7月30日)

 話が前後して、これはダイヤグラムビューを作成していたころの話です。

 ダイヤグラムビューは、時刻表ビューで入力された全部の列車の駅時刻を線で結べばいいだけだ、と当初僕は思っていました。

 ところが、実際の鉄道時刻表を見ると、同じ各駅停車列車でも、列車によって駅間所要時分に±1分の差が散在しています。これは、実際の列車ダイヤは秒単位(10秒単位や5秒単位)であり、時刻表に表示される時刻は秒以下を切り捨てたものになるためです(着時刻については秒以下を切り上げている時刻表もあるようです)。

 問題は、ダイヤグラムビューにおいて、駅間所要時分に±1分の差が散在する駅時刻を正直に線で結ぶと、列車線は屈折が多くて見苦しいものになるということです。

 言葉ではうまく伝わっているかどうか自信がないので、例を挙げましょう。

 A駅~E駅の5駅があり、各駅の駅間所要時分が1分30秒の区間があったとします。
 この路線で、A駅発時刻が 0:00:00 と 0:07:30 の2本の列車がある場合、時刻表ビューは以下のようになります。


OuDia_ikisatsu_10_02.gif

 この時刻表ビューの入力どおりに列車線を引くと、ダイヤグラムビューは以下のようになってしまいます。


OuDia_ikisatsu_10_03.gif

 しかし、以下のダイヤグラムの方が、見た目に見やすいですし、本物に近いはずです。

OuDia_ikisatsu_10_05.gif 

このため、ダイヤグラムの列車線をより真っ直ぐにするにはどのようにすればよいのかについて、いろいろ考えました。その結果、

 発時刻しか入力されていない一般駅(主要駅以外の駅)の駅時刻は無視して、主要駅から主要駅までの駅時刻を直線で結ぶ方がよい

という結論に達しました。


 現在のOuDiaのダイヤグラムビューは、上記の結論を原則として列車線を結んでいます(実際には、もう少し複雑なルールになっています)。
 但し、主要駅間を結ぶ直線が、駅時刻ビューで入力されている時刻から1分以上離れている場合は、入力されている駅時刻に従って線を結ぶようになっています。

 時折ユーザーの方から「入力した駅時刻が、ダイヤグラムビューでは無視されて線が引かれてしまう」というご指摘を頂戴しますが、それはこの仕組みが原因です。
 ダイヤグラムビュー上の列車線が駅時刻上を正確に通り過ぎるようにしたい場合は、

  • その駅の駅規模を主要駅にする
  • その駅の駅時刻に着時刻・発時刻の両方を入力する

のいずれかを試して見てください。

« 2007年8月11日 | トップページ | 2007年9月9日 »