编程语言
首页 > 编程语言> > GTFS实时php

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