熊本の乗り換えアプリ「くまモビ」がJR対応!スクショ数百枚の死闘

日常パソコン部
この記事は約5分で読めます。

こんにちは、白川秋です。

今日は、くまモビ開発史に残る1日でした。僕が作っている熊本の乗り換えアプリ「くまモビ」に、ついにJRと南阿蘇鉄道が乗ってきたんです。

ただし、その裏側はなかなかの泥仕合。時刻表のスクショを何百枚と撮っては読み込み、撮っては読み込み……。今回は、そんな「JR対応の戦い」を振り返ってみます。

なお、くまモビ自体をまだ知らないという方は、先にこちらの記事をどうぞ。

👉 【祝リリース】熊本の乗り換え・観光アプリ「くまモビ」のすべてを開発者が語ります

スポンサーリンク

この記事のポイント

  1. JR豊肥本線(熊本〜肥後大津)と南阿蘇鉄道がくまモビの乗り換え検索に登場
  2. 使えるデータがなかったので、時刻表データ(GTFS)を自分で作りました
  3. 残る鹿児島本線・三角線も、限られた時間の中で実装に挑みます
熊本の乗り換えアプリ「くまモビ」でJR豊肥本線を使った経路を検索した画面

なぜ熊本の乗り換えアプリにJRを入れるのは大変なのか

まず前提として、くまモビの乗り換え検索は「GTFS」という公共交通のデータ形式で動いています。熊本のバスや市電、電鉄はこのデータが公開されているため、取り込めば経路検索ができるわけです。

ところが、JR九州にはそのまま使えるGTFSがありません。

研究用に作られたデータは見つかりました。しかし、利用条件は研究目的に限られていて、乗り換え案内のようなサービスには使えません。さらに、ある乗り換え案内サービスのAPIの無料プランにも申し込んでみました。ところが、肝心の経路・時刻・運賃のデータは返ってこない内容で、統合には使えないことがわかりました。

つまり、道は一つしかありません。

「だったら、自分で作るしかない」

こうして、時刻表を1本ずつデータに起こす日々が始まりました。

ちなみに、くまモビでGTFSを自作するのは今回が初めてではありません。以前、高速バス「なんぷう号」でも同じことをやっています。その時の様子はこちらです。

👉 【くまモビ開発日記】今週の大型アップデートまとめ|スタンプ帳と人吉ルート対応

JR対応のために時刻表データを自作する決意をするイメージ

南阿蘇鉄道は全列車を収録、トロッコ「ゆうすげ」も

先に完成したのは南阿蘇鉄道 高森線です。

普通列車はもちろん、観光トロッコ列車「ゆうすげ」も収録しました。さらに、肥後大津まで直通する便にも対応しています。運賃は令和5年4月1日改定の運賃表から入力しました。

熊本地震で大きな被害を受けた南阿蘇鉄道は、全線運転再開を経て、いまや阿蘇観光の主役のひとつです。阿蘇を旅する人に使ってほしいアプリだからこそ、ここはどうしても外せませんでした。

くまモビに収録した南阿蘇鉄道のトロッコ列車の時刻表

JR豊肥本線、スクショ数百枚との死闘

そして、今日のメインイベントがJR九州の豊肥本線(熊本〜肥後大津)です。

やり方は、とにかく地道です。駅の時刻表をスクショして、文字を読み取り(OCR)、データに変換する。この作業を、駅ごと・上下線ごとに繰り返しました。

言葉にすると一行ですが、実際は次の繰り返しです。

  1. スクショを撮る
  2. 読み取る
  3. 誤読を見つけて直す
  4. 駅の順番と時刻の整合性を確認する
  5. また次のスクショへ
JR時刻表を作るために撮りためた大量のスクリーンショット

気づけばフォルダはスクショで埋まり、何百枚あるのか数えるのもやめました。とはいえ、1本でも時刻がずれていれば「乗れるはずの列車に乗れない案内」になってしまいます。そのため、手を抜くわけにはいきません。

最終的に、下り53本・上り55本、合計108本を収録しました。阿蘇へ向かう人気の特急「九州横断特急」も、「特急」として検索結果に出るようにしています。一方で、観光特急「あそぼーい!」は運転日が不定期なので、今回は見送りました。

JR豊肥本線の時刻表をGTFS形式に変換したデータ

熊本の乗り換えアプリへJR取り込み成功!運賃も線路の形も100%

データができたら、いよいよアプリへの取り込みです。

くまモビには、GTFSをアプリ用のデータに変換する自作スクリプトがあります。そこへJRと南阿蘇鉄道を新しく登録して、実行しました。

結果は……取り込み成功。

  • JRの運賃ペアは充足率100%(営業キロから運賃を自動計算)
  • 線路の形状は、国土数値情報の鉄道データを使って直線でごまかした区間はゼロ
  • 駅での乗り換えは、バス停から少し歩く距離も考えて徒歩450mまでを許容
熊本の乗り換えアプリにJRと南阿蘇鉄道のデータを取り込んだ成功ログ

画面の地図上に、JRの線路に沿ってルートがすっと引かれた瞬間は、思わずガッツポーズでした。

熊本の乗り換えアプリ「くまモビ」の地図に表示されたJR豊肥本線

加えて、特急やトロッコは運賃とは別に料金がかかります。そこで、検索結果に「別途料金が必要です」という注記を出す仕組みも入れました。多言語対応のくまモビらしく、事業者名も日本語・英語・繁体字中国語・タイ語で表示できるようにしています。

次は鹿児島本線・三角線、でも時間との戦い

ここまで来ると、欲が出てきます。

まだ収録できていないのが、JR鹿児島本線(荒尾〜八代)とJR三角線です。どちらもJR九州の路線で、この2つが入れば熊本県内のJR主要路線がそろいます。

特に鹿児島本線は、熊本の南北をつなぐ大動脈です。荒尾から八代まで駅数も本数も多いので、正直、豊肥本線以上の戦いになるのは目に見えています。三角線も、天草方面への玄関口として欠かせません。

本当は明日にでも実装したいところです。ただ、ここで立ちはだかるのが時間の壁。

実は、今のくまモビ開発はコードもデータ整理もClaudeと二人三脚で進めています。しかし、作業に熱が入るほど、あっという間に使用制限に到達してしまうんです。「よし、ここから!」というところで手が止まる。この悔しさは、AIと開発している人ならきっとわかってもらえるはず。

AIの使用制限と戦いながら開発を続けるイメージ

それでも、止まるつもりはありません。制限が明けたらまたスクショを開いて、1本ずつ時刻を積み上げていきます。

個人開発のリアルな日々は、開発日記シリーズでも書いています。

👉 この数日、4つのアプリを同時に育ててた話【くまモビ・ニコ生ビューア・まる見えくん・閲覧くん】

まとめ:熊本の乗り換えアプリとしてJR全線対応を目指す

今日の成果をまとめます。

  • 南阿蘇鉄道 高森線:全列車・運賃まで収録完了
  • JR豊肥本線(熊本〜肥後大津):108本を収録、特急にも対応
  • 残りはJR鹿児島本線と三角線

熊本の交通は、放射状に広がる路線の「横移動」が大変です。だからこそ、バスも鉄道もまとめて検索できる、熊本の乗り換えアプリの決定版にしたい。今日はその目標に、確実に一歩近づけた日でした。

くまモビはGoogle Playで無料配信中です。ぜひ使ってみてください。

👉 くまモビ - 熊本観光マップ&乗換案内

また、10月5日からはCAMPFIREでクラウドファンディングにも挑戦します。こちらも応援していただけるとうれしいです。

👉 震災後の熊本に観光客を呼び戻したい。観光×乗換アプリ「くまモビ」を育てる挑戦

鹿児島本線・三角線の実装も、完了したらこのブログでご報告します。

白川秋
白川秋

ではでは、参考までに

コメント

タイトルとURLをコピーしました