公共交通APIの概要
日本では鉄道・バス・フェリーなどの公共交通機関のデータのオープン化が進んでいます。GTFSデータ・ODPTのAPIを活用することで、時刻表表示・経路探索・リアルタイム運行情報を提供するアプリやWebサービスを構築できます。
GTFS(公共交通フィード)とは
GTFSはバス・電車の経路・時刻表のデータフォーマット規格です。複数のCSVファイル(stops.txt・routes.txt・trips.txt・stop_times.txt等)を含むZIPアーカイブです。
- stops.txt:バス停・駅の名称・緯度経度
- routes.txt:路線情報
- trips.txt:運行便情報
- stop_times.txt:各バス停の到着・出発時刻
- calendar.txt:曜日・祝日の運行カレンダー
GTFS-RTによるリアルタイム情報
GTFS-RT(GTFS Realtime)はProtocol Buffersを使ったリアルタイム運行情報のフォーマットです。遅延・運休・臨時停車などのアップデートをリアルタイムで取得できます。
ODPTによる鉄道リアルタイムデータ
// ODPT APIで電車の運行情報を取得
const getTrainInfo = async (operator) => {
const response = await fetch(
`https://api.odpt.org/api/4/odpt:TrainInformation?odpt:operator=odpt.Operator:${operator}&acl:consumerKey=${ODPT_KEY}`
);
const data = await response.json();
return data;
};
// 東京メトロの運行情報
const metroInfo = await getTrainInfo('TokyoMetro');
// 各路線の状態を表示
metroInfo.forEach(info => {
console.log(`${info['odpt:railwayTitle']['ja']}: ${info['odpt:trainInformationText']['ja']}`);
});
国土交通省のバスオープンデータ
国土交通省は「標準的なバス情報フォーマット(GTFS-JP)」の普及を推進しており、全国の路線バスの時刻表データをGTFS-JP形式で取得できます。全国バスデータAPIやオープンストリートマップと組み合わせたバスナビアプリの構築が可能です。
公共交通APIの活用例
- 乗換案内アプリ:GTFS経路探索ライブラリ(OpenTripPlanner等)でルート計算
- 時刻表ウィジェット:特定バス停の次のバス時刻をリアルタイム表示
- 交通アクセス情報:施設の公共交通アクセス情報を自動生成
- 遅延アラートシステム:GTFS-RTで通勤路線の遅延をプッシュ通知
まとめ
GTFS・ODPT・国土交通省のバスオープンデータは日本の公共交通情報を活用したサービス開発の基盤となるAPIです。移動・交通に関するWebサービス・アプリ・地域情報サービスを構築する際はこれらのオープンデータを積極的に活用してください。