PHP code example of gtfs-media / gtfs-realtime-php
1. Go to this page and download the library: Download gtfs-media/gtfs-realtime-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gtfs-media / gtfs-realtime-php example snippets
use Google\Transit\Realtime\FeedMessage;
$feed = new FeedMessage();
$feed->mergeFromString(file_get_contents('https://example.com/vehiclepositions.pb'));
foreach ($feed->getEntity() as $entity) {
if ($entity->hasVehicle()) {
$vehicle = $entity->getVehicle();
printf("%s at %.5f, %.5f\n",
$vehicle->getVehicle()->getLabel(),
$vehicle->getPosition()->getLatitude(),
$vehicle->getPosition()->getLongitude());
}
}
use Google\Transit\Realtime\TripDescriptor\ScheduleRelationship;
foreach ($feed->getEntity() as $entity) {
if (!$entity->hasTripUpdate()) {
continue;
}
$update = $entity->getTripUpdate();
if ($update->getTrip()->getScheduleRelationship() === ScheduleRelationship::CANCELED) {
printf("trip %s is canceled\n", $update->getTrip()->getTripId());
}
}
$json = $feed->serializeToJsonString();
use Google\Transit\Realtime\FeedHeader;
use Google\Transit\Realtime\FeedMessage;
$feed = new FeedMessage();
$feed->setHeader(
(new FeedHeader())
->setGtfsRealtimeVersion('2.0')
->setTimestamp(time())
);
// ... add entities ...
file_put_contents('feed.pb', $feed->serializeToString());
composer
composer remove lowa/gtfs-realtime-php
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.