昨日から引き続きNextTrainの作業をしていたら、やっとデータが得られた。
かなり複雑な処理をすることとなったが、その分便利なデータが得られた。
以前の記事でも書いた通り、NextTrainでは正しい到着時刻を表すのが難しい。
(参考記事 : NextTrainでもしっかり到着時間知りたいの)
なので所要時間が違う列車ごとに種別を作って処理を行ったが、記号の数が足らないという問題があった。
そこでどうしようかと考えたわけだ。
確かに正確な到着時刻は知りたいけど1分ぐらいのずれはまぁかまわないと考える。
そうすれば少しは記号の数を節約できる。こう考えた。
そこで所要時間を3n[分](n:自然数)~3n+2[分]のものをまとめて3n+1[分]で表すことにした。
こうすれば高々1分のずれで記号数を減らすことができる。
あと、注目している駅の近くの駅なら、その駅から何分かずれているかだけでうまく表すことが出来る。
なので、そういうことも踏まえて記号数を減らすことを試みた。
それと記号の使い方も変えた。
以前は、種別・注目することにした各駅の所要時間の組み合わせから種別を作っていた。
組み合わせということもあって、どうしても記号の数が増えてしまっていた。
今回は種別と各駅の所要時間をばらばらに記号で表すことにした。
これまで組み合わせで数がかさんでたものを減らすことが出来たと思う。
ただ、そのせいでNextTrainのデータとは思えない奇妙なものができた。
13: GMAKGIADQVfp16 GMGDQUcl31 GMGDPWen54
なんか時刻の前にものすごい数の記号がついてますね。
まぁ乗り換えも含めて表現しているのでかさばって見えるが、
一番右のGMGDPWenはGMGDが行き先と種別、PWenは所要時間を示すものになっている。
こんなにたくさん記号を付けてもNextTrainは正しく解釈してくれるようだ。
結果として以前よりも多くの駅の到着時間をだいたい正しく表せるようになった。
うまくいった理由は2つあって、1つはさっき言った通り使う記号数を減らすように細工したことだが、
もう1つは先着する列車のみ抜き出すなどして列車数を減らしたこともある。
各停の所要時間はどうしてもばらつきやすい。そういうのをほとんど省いたので記号数が減らせた。
普段、学校から帰ってくる時だけならば、この電車に乗るとうまくいくというのは頭に入っているからNextTrainが詳しくなくても補完できる。
けど、休日に出かけて、それで家に帰ろうと思った時、どの電車に乗るとよいかとか、最寄り駅に何時に着くかというのはNextTrainに教えて欲しい。
最近は時刻表検索のサービスも多いですから、わざわざNextTrain使わんでもというのはあるかもしれない。
ただ、オフラインでできた方が便利なので、ちょっと工夫してやっている。