プロトコルバッファ形式の路線バス運行情報(GTFS-RT)をPHPで加工してみた by 福田 匡彦(青い森ウェブ工房)

PHPカンファレンス沖縄2021
LT(5分)

プロトコルバッファ形式の路線バス運行情報(GTFS-RT)をPHPで加工してみた

8nohe 福田 匡彦(青い森ウェブ工房) 8nohe

路線バスデータ形式を定義した「標準的なバス情報フォーマット(GTFS-JP)」の中で、路線バスの運行情報は「GTFS リアルタイム(GTFS-RT)」として定義されています。
静的データがカンマ区切りのプレーンテキストなのに対して、GTFS-RTはProtocol Buffers(プロトコルバッファ)という、データ構造が規定されたバイナリ形式をベースとしています。

しかし、バイナリデータを開いて読めるように加工はあまりしたことが無い上に、Pythonを使用した情報は多いものの、PHPの使用情報は少ないのです。
(「Protocol Buffers」がGoogle主導のデータ形式な関係もありそう)
それでも、PHPでの加工にこだわり、何とかプレーンテキストまで加工して、無事にバス運行情報を見られるようにした流れや経緯をお話しします。