Python GTFS-realtime 言語バインディング¶
GTFS-realtime Protocol Buffer 仕様から生成された Python クラスを提供します。これらのクラスを使用すると、バイナリ Protocol Buffer GTFS-realtime データフィードを Python オブジェクトに解析できます。
依存関係を追加する¶
自身のプロジェクトで gtfs-realtime-bindings クラスを使用するには、まず PyPI repository からモジュールをインストールする必要があります。
# 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 セクションを参照してください。