Ferry Vehicle Position and Trip Update Feeds


#1

Hi, I have some questions regarding the ferry vehicle position and trip update feeds:

  • Why are there multiple records for the same ferry in the vehicle position feeds? Initially I thought the last record is the most recent record, but that’s wrong, as I have seen ferry vehicle position record that has a trip that is in the future (according to static timetable).

The sample record below was taken just after 2pm today but the trip it refers to in the trip_id field is based around 6-7pm today.

{
	"id": "c88ac7f8-35f3-4b78-8f7e-a2a07759d8ab",
	"is_deleted": false,
	"trip_update": null,
	"vehicle": {
		"trip": {
			"trip_id": "RV222-2956",
			"route_id": "",
			"direction_id": 0,
			"start_time": "",
			"start_date": "",
			"schedule_relationship": 0
		},
		"vehicle": {
			"id": "1007",
			"label": "Charlotte",
			"license_plate": ""
		},
		"position": {
			"latitude": -33.84938430786133,
			"longitude": 151.21043395996094,
			"bearing": 337.20001220703125,
			"odometer": 0,
			"speed": 0
		},
		"current_stop_sequence": 0,
		"stop_id": "",
		"current_status": 2,
		"timestamp": 1485227565,
		"congestion_level": 0,
		"occupancy_status": 0
	}
}
  • Given this, how would I determine ferry delay information?

Apologies if this is already documented in the PDF specs (Open Data website is down so I couldn’t get the specs).


#2

Ferries are another amusing one :stuck_out_tongue:


Filtering out Vehicle Position

The GTFS-realtime ferry feed reports all current and future vehicle positions. This causes a “trail” of vehicles to appear while the ferry is moving.

It’s possible to filter out to only show the current trip’s vehicle position. Use vehicle > id as the unique identifier. Since the ferry feed no longer reports vehicle positions once a trip has been completed, you can cross reference with the GTFS-static data to identify which trip begins the earliest (i.e. has the earliest stop_times.txt entry).


Ideally, the feed should populate the custom TfnswVehicleDescriptor > performing_prior_trip field for easier disambiguation.


#3

I think my head is going to explode… :confused:

Thanks once again to the rescue!