GTFS实时php
作者:互联网
我有一个包含GTFS数据的MySQL数据库设置,并且我有返回停止时间的php脚本,并且我希望添加实时数据.
我知道Google已提供有关如何在php(https://github.com/google/gtfs-realtime-bindings-php)中实时使用gtfs的说明,但我似乎无法弄清楚如何使其正常工作.
我想做的是(使用所需的任何信息:trip_id,stop_id等)返回trip_update延迟值,以便我可以相应地更新停止时间.
有人知道好的教程吗?或者有人可以帮我弄清楚该怎么做?
解决方法:
一个更完整的GTFS实时PHP示例可能如下所示:
foreach ($feed->getEntityList() as $entity) {
if ($entity->hasTripUpdate()) {
$trip = $entity->getTripUpdate();
error_log("trip id: " . $trip->getTrip()->getTripId());
foreach ($trip->getStopTimeUpdateList() as $stu) {
if ($stu->hasArrival()) {
$ste = $stu->getArrival();
error_log(" arrival delay: " . $ste->getDelay());
error_log(" arrival time: " . $ste->getTime());
}
if ($stu->hasDeparture()) {
$ste = $stu->getDeparture();
error_log(" departure delay: " . $ste->getDelay());
error_log(" departure time: " . $ste->getTime());
}
}
}
}
注意方法名称如何与基础GTFS实时模式中的字段相对应:
https://developers.google.com/transit/gtfs-realtime/gtfs-realtime-proto
您可以在以下位置查看从模式生成的PHP源:
https://github.com/google/gtfs-realtime-bindings-php/blob/master/src/gtfs-realtime.php
标签:real-time,gtfs,mysql,php 来源: https://codeday.me/bug/20191028/1952026.html