ふくふくHukuhuku Inc.
EP.25Open Data 11分公開: 2026-05-10

公共交通オープンデータ (GTFS):時刻表・経路・遅延の標準フォーマット

電車・バス・地下鉄の時刻表と経路を統一的に表す GTFS (General Transit Feed Specification)。Google マップに乗る公共交通データの裏側、駅徒歩 N 分マップを自前で作る方法。

#GTFS#公共交通#時刻表
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

GTFS は Google が作った 公共交通時刻表の標準フォーマット。日本でも国交省主導で GTFS-JP が整備され、JR 各社・私鉄・バス事業者の 時刻表・経路・運賃 ZIP で配布されています。Google マップの「電車で行く」の裏側はこのデータ。

GTFS の構造

ファイル内容
agency.txt事業者情報
routes.txt路線(系統)
trips.txt便(個別の列車・バス)
stops.txt停車駅・停留所
stop_times.txt便ごとの停車時刻
calendar.txt運行日(平日・休日等)
shapes.txt (任意)経路の地図ライン
fare_rules.txt (任意)運賃ルール

コード例: 駅徒歩 10 分マップ

GTFS から駅周辺の到達可能エリアを描く
Python
import gtfs_kit as gk  # pip install gtfs_kitimport geopandas as gpdfrom shapely.ops import unary_union
# JR 東日本の GTFS データを読み込むfeed = gk.read_feed("jr_east_gtfs.zip", dist_units="km")
# 全駅の緯度経度を取得stops_gdf = gpd.GeoDataFrame(    feed.stops,    geometry=gpd.points_from_xy(feed.stops["stop_lon"], feed.stops["stop_lat"]),    crs="EPSG:4326",)
# 駅から徒歩 10 分(≒ 800m)の円station_buffers = stops_gdf.to_crs(epsg=3857).buffer(800).to_crs(epsg=4326)walking_area = unary_union(station_buffers)print(f"徒歩10分でカバーされる面積: {walking_area.area * 12321:.0f} km²")

業務での使い所

  • 店舗候補地評価: 駅徒歩 N 分内人口 (人口メッシュ EP.20) で集客見込み
  • 配送計画: 公共交通で行ける顧客住所と車両配送が必要な場所の切り分け
  • 不動産分析: 駅 X 路線が止まる駅、本数の多寡、利便性スコア
  • 経路計算: A 駅 → B 駅の所要時間・乗換回数(Open Trip Planner と組合せ)

次の話

EP.26 では国会会議録 。政治・立法・政策トレンド分析。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp