gpt4 book ai didi

php - 如何在 PHP 中读取 GTFS Protocol Buffer ?

转载 作者:可可西里 更新时间:2023-11-01 12:59:15 27 4
gpt4 key购买 nike

我有一个 GTFS Protocol Buffer 消息 (VehiclePosition.pb) 和相应的协议(protocol)格式 (gtfs-realtime.proto),我想单独用 PHP 读取消息(这可能吗?)。

我看了谷歌的 python 教程 https://developers.google.com/protocol-buffers/docs/pythontutorial和编码文档 https://developers.google.com/protocol-buffers/docs/encodinghttps://github.com/maxious/ACTBus-ui/tree/master/lib/Protobuf-PHP ,但我很难将正在发生的事情概念化。我想我明白 gtfs-realtime.php 是 gtfs-realtime.proto 中定义的编码的编译指令集(如果我错了请纠正我),但我不知道如何让它解码 VehiclePosition.pb。另外,gtfs-realtime.php(或与此相关的 python 等价物)的依赖项是什么?如果我只想读取 VehiclePosition.pb,还有什么我必须自己编译或任何不是简单的 php 脚本的东西吗?

谢谢。

最佳答案

edmonscommerce 和 Julian 走在正确的轨道上。

但是,我也走上了同样的道路,我发现 Protocol Buffers 的 PHP 实现很麻烦(尤其是在 NYCT 的 MTA 提要的情况下)。


替代方法(命令行 + JSON):

如果您熟悉命令行工具和 JSON,我编写了一个独立工具,可将 GTFS-realtime 转换为简单的 JSON:https://github.com/harrytruong/gtfs_realtime_json

只需下载(无需安装),然后运行:gtfs_realtime_json <feed_url>

这是一个 sample JSON output .

要在 PHP 中使用它,只需输入 gtfs_realtime_json在与脚本相同的目录中,然后运行以下命令:

<?php 

$json = exec('./gtfs_realtime_json "http://developer.mbta.com/lib/GTRTFS/Alerts/VehiclePositions.pb"');
$feed = json_decode($json, TRUE);

var_dump($feed);

关于php - 如何在 PHP 中读取 GTFS Protocol Buffer ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431995/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com