* .pbファイルを読む必要があります。私はこのパイソンライブラリhttps://github.com/google/gtfs-realtime-bindingsを見て、.pbファイルを人間が読める形式に解析することができると思われます。オブジェクトをバイナリにシリアル化することもできます.pbGTFS-RT protobufメッセージをPythonで反復して編集する
私の問題は、メッセージをナビゲートするのが難しいことです。
私はそのようにロードします。私は2つの問題を抱えて
feed = gtfs_realtime_pb2.FeedMessage()
response = requests.get(url)
feed.ParseFromString(response.content)
message=feed.entity
for item in message:
if item.id==trip_id:
if item.HasField('trip_update'):
#do something with the item's fields
: 私は「trip_update」に含まれるサブフィールドを反復してもvalues.Specificallyを変更したいが、内部stop_time_updatesの数があります私は変更したい。そう
id: "61443658"
trip_update {
trip {
trip_id: "61443658"
start_time: "16:19:00"
start_date: "20171027"
schedule_relationship: SCHEDULED
route_id: "17529"
direction_id: 0
}
stop_time_update {
departure {
delay: 0
time: 1509113940
}
stop_id: "54376"
schedule_relationship: SCHEDULED
}
stop_time_update {
arrival {
delay: 0
time: 1509114240
}
departure {
delay: 0
time: 1509114240
}
stop_id: "54633"
schedule_relationship: SCHEDULED
同様
はその後、私は単純にファイルをシリアル化。 このフィードエンティティオブジェクトをナビゲートするための利用可能な方法はありません。上記を行うには何らかの方法があり、それを逃してしまった場合は、私に知らせてください。そうでない場合は、私がしたいことのための適切なツールの正しい方向に私を向けることができれば、私は感謝します。
歓声
もし何かがあれば、おそらくStopTimeUpdatesを反復し、使用されているgtfsリアルタイムjarへのリンクを見つけるためのJavaの例を提供することができます – paulh