制作ノート

桜島フェリーなう制作ノート — 「なう」シリーズを完成させる

公開: 2026年7月9日 / 更新: 2026年9月24日 / 書いた人: まえちん(かごいと運営者)

市電なう、市バスなうと作ってきて、次に手が伸びたのは自然なことでした。鹿児島の公共交通で残っているのは、あとひとつ。鹿児島港と桜島港を結ぶ、桜島フェリーです。

「市電・市バスの発車案内シリーズを完成させたい」——それが桜島フェリーなうを作った、いちばんの理由です。市電なうから始まった「次の便まであと何分か」という発想を、鹿児島のもうひとつの公共交通に広げる。作る前から、完成形が見えていました。

ところが、作ってみたら3つ目がいちばん手間のかかる相手でした。

観光で使う人にこそ、見やすい時刻表を

桜島フェリーは、鹿児島に暮らす人だけでなく、観光で桜島に渡る人が数多く利用します。土地勘のない観光客にとって、鹿児島港発・桜島港発それぞれの時刻表がぱっと見て分かることは、地元の人が使う以上に大事だと考えました。

次の便まであと何分かをシンプルに表示する画面、平日・土日祝ダイヤの時刻表、文字サイズの変更、そして英語表示。市電なう・市バスなうと同じ操作感にそろえながら、初めて桜島フェリーに乗る人でも迷わないことを意識して作りました。

鹿児島港発・桜島港発、それぞれの次の便を確認できます。所要時間は約15分。車両ごと乗船できる、鹿児島の暮らしと観光の両方に根づいた航路です。始発は桜島港発が朝4時、鹿児島港発が朝4時半。そこから深夜まで動いています。

同じ「あと何分」を3つ作ったら、入手経路が3つとも違った

「なう」シリーズは、画面の上ではほとんど同じ道具です。乗り場を選ぶと、次の便まであと何分かが出る。それだけ。

ところが時刻表の手に入れ方が、3つとも違いました。

「なう」3つのデータの入手経路
市バスなう市電なう桜島フェリーなう
時刻表の形 GTFS-JP(公共交通の標準形式) 公式サイトのHTMLの表 画像として埋め込まれたPDF
機械で読めるか 読める 読める(表の形を追えば) 読めない
取り込み方 そのまま取り込む ページから自動で抜き出す 変換して読み取って、こちらから起こす
改正されたと気づく方法 配布ファイルの更新を検知 取り直して差分を見る ファイル名と便数を突き合わせる

PDFで公開されていること自体は、そう珍しくありません。困ったのは、そのPDFの中身が画像だったことです。文字として埋め込まれていないので、コピーもできなければ、プログラムから読み出すこともできません。人間が目で見る以外に、読む方法がない。

そこで、PDFを画像として読み取れる形に変換してから、時刻を拾ってデータに起こしています。平日と土日祝、鹿児島港発と桜島港発の全便ぶんです。ビルドのたびに自動で取り込まれるわけではありません。こちらが取りに行って、起こして、コードに入れる。市バスなうのように「配布ファイルが更新されたら自動で反映」とはいきませんでした。

読めないぶん、数えて確かめる

こうして起こしたデータで、必ず問題になるのが「間違えていないか」です。標準形式のデータなら、読み込めた時点で構造が保証されます。画像から拾ったものには、その保証がありません。

やったのは、単純ですが数を突き合わせることでした。

公式ページには「平日94便・土日祝104便」と書かれています。転記したデータを数えて、この数と一致するか。一致しなければ、どこかで1本落としたか、余計に足しています。全便を1つずつ照合したうえで、最後に数でも確かめる。涼しかで自治体の施設を数えたときと、まったく同じやり方に行き着きました。

写し終えたあとに、ひとつ気になる箇所が残りました。桜島港発の土日祝ダイヤに、14時05分の次が14時15分という、10分間隔の並びがあるのです。前後は20分間隔や15分間隔で揃っているので、いかにも書き写し間違いに見えます。

PDFを見直すと、公式のとおりでした。この時間帯は「05分・25分・45分」の並びから「00分・15分・30分・45分」の並びへ切り替わるところで、その継ぎ目だけ10分空くのです。

そこで、データのすぐそばに「これは転記ミスではない」と書き残しました。そうしないと、半年後の自分が親切心で「直して」しまいます。間違っていないことを、間違っていないと記録しておくのも作業のうちでした。

ダイヤ改正に気づくための仕組みも入れてあります。公式ページのPDFのファイル名(改正日が入っています)と、掲げられている便数、改正日の記載を突き合わせて、変わっていたら知らせる。ただしこれが通ったからといって、転記し直したことにはなりません。「全便を照合した日」は別に記録するようにしています。検知の仕組みは「変わったかもしれない」までしか教えてくれません。

その日だけの、時刻表

もうひとつ、フェリーならではの事情がありました。行事などで、その日だけダイヤが変わることがあります。

これを知らずに通常のダイヤを出すと、実在しない便を案内してしまいます。「次は17時15分です」と出したのに、その日その便は無い。港で待つ人にとって、これはいちばんやってはいけない間違いです。

だから、臨時ダイヤの日はその日ぶんを丸ごと差し替えるようにしました。通常のダイヤには手を触れません。臨時ダイヤも、告知に添えられたPDFから全便を起こして、通常ダイヤとの差分を確認してから入れています。会期が過ぎたら消せます。

差分は、たいてい小さなものです。2026年8月22日・29日の臨時ダイヤなら、鹿児島港発の17時台と18時台が「00分・15分・30分・45分」から「00分・20分・40分」になって各1便減り、桜島港発の18時台も1便減る。それ以外の時間帯は土日祝ダイヤと同じでした。全体の1割にも満たない違いですが、その1割に当たった人は港で待つことになります。

ここには、正直に書いておかなければいけない限界があります。

臨時ダイヤの告知は不定期に出ます。公式ページに新しい運航案内が載っていないかを見る仕組みは入れてありますが、結局のところ、こちらが気づいて取りに行かないとデータは更新されません。自動で追いかけて反映されるわけではないのです。

つまり、桜島フェリーなうが臨時ダイヤを取りこぼしている日がありえます。その日は、実在しない便を案内してしまいます。行事や催しのある日、あるいは大事な予定で乗る日は、公式の運航案内もあわせて確認してください。

自動で取り込める市バスと違って、フェリーは最後まで人の手が要ります。楽になる見込みは、いまのところありません。

祝日の判定にも同じ考え方を使いました。土日祝ダイヤに切り替えるには、その日が祝日かどうかを知る必要があります。これは内閣府が公開しているデータから作っていて、収録されている年より先は計算で補います。公開されているものは、そのまま使う。ここは市電やバスと変わりません。

いちばん小さい構成

ここまで手間の話ばかり書きましたが、できあがったものは7つのサービスの中でいちばん小さい構成になりました。

データベースがありません。サーバー側のAPIもありません。時刻表はコードの中に持っていて、画面と一緒に配られます。読み込んだあとは、通信せずに動きます。

時刻表は、1日に何度も変わるものではないからです。年に一度あるかないかの改正のために、データベースを立てる必要はありません。手間が前に寄っているぶん、動かし始めたあとが軽い——結果的に、そういう形に落ち着きました。

「なう」シリーズ、完成

市電なう、市バスなう、そして桜島フェリーなう。鹿児島の主要な公共交通の発車案内が、これでひとつのシリーズとして揃いました。

同じ「次はあと何分」を3つ作って分かったのは、見えている画面が同じでも、その裏側で情報がどう公開されているかは、まったく違うということでした。標準形式で配られているもの、ページに表として載っているもの、画像になっているもの。読みやすさの順に、こちらの手間は増えていきます。

3つとも英語表示に対応させたのは、鹿児島の公共交通が観光で使われるからです。市電で天文館へ、バスで仙巌園へ、フェリーで桜島へ。旅程としてつながっているものは、道具のほうもつながっていたほうがいいと思っています。

観光で桜島に渡る人にも、通勤・通学で使う人にも、次の便を確認してから港に向かってもらえたらと思います。

← 制作ノート一覧 かごいと トップ

本サイトは Google AdSense およびアフィリエイト広告を利用しています。詳細はプライバシーポリシーをご覧ください。