Python GTFS-realtime 言語バインディング¶
GTFS-realtime Protocol Buffer 仕様から生成された Python クラスを提供します。これらのクラスを使用することで、バイナリ形式の Protocol Buffer GTFS-realtime データフィードを Python オブジェクトに変換して解析することができます。
依存関係の追加¶
自分のプロジェクトで gtfs-realtime-bindings
クラスを使用するには、まず PyPI リポジトリ からモジュールをインストールする必要があります。
# easy_install を使用する場合
easy_install --upgrade gtfs-realtime-bindings
# pip を使用する場合
pip install --upgrade gtfs-realtime-bindings
コード例¶
以下のコードスニペットは、特定のURLからGTFS-realtimeデータフィードをダウンロードし、それをFeedMessage(GTFS-realtimeスキーマのルート型)としてパースし、結果を反復処理する方法を示しています。
from google.transit import gtfs_realtime_pb2
import requests
feed = gtfs_realtime_pb2.FeedMessage()
response = requests.get('URL OF YOUR GTFS-REALTIME SOURCE GOES HERE')
feed.ParseFromString(response.content)
for entity in feed.entity:
if entity.HasField('trip_update'):
print(entity.trip_update)
gtfs-realtime.proto から生成されたPythonクラスの命名規則についての詳細は、Protocol Buffers開発者サイトの Python Generated Code セクションを参照してください。