GTFS Realtime - Vehicle Positions - Metro Train
GTFS Realtime Metro Train Vehicle Position data feed provides live location and occupancy information for metro train services in Melbourne, Victoria. Note: This API endpoint has a rate limit of 20-27 calls per minute (depending on the data size) and caching time of 30 seconds. To obtain an 'API Key' please continue to sign up using our Data Exchange Platform (https://data-exchange.vicroads.vic.gov.au/).
There are no views created for this resource yet.
Data Dictionary
Field Name | Name | Type | Description | Fixed Values |
---|---|---|---|---|
header | Feed Header | FeedHeader() | Metadata about a feed, included in feed messages. | |
entity | Feed Entity | FeedEntity() | A definition (or update) of an entity in the transit feed. If the entity is not being deleted, exactly one of trip_update, vehicle, and alert fields should be populated. This field can be repeated as many times as needed. | |
header.gtfs_realtime_version | GTFS Realtime Version | STRING() | Version of the feed specification. The current version is 2.0. | |
header.incrementality | Incrementality | ENUM() | Determines whether the current fetch is incremental. Options include: -FULL_DATASET: this feed update will overwrite all preceding realtime information for the feed. Thus this update is expected to provide a full snapshot of all known realtime information. -DIFFERENTIAL: currently, this mode is unsupported and behavior is unspecified for feeds that use this mode. There are discussions on the GTFS Realtime mailing list around fully specifying the behavior of DIFFERENTIAL mode and the documentation will be updated when those discussions are finalized. |
FULL_DATASET, DIFFERENTIAL |
header.timestamp | Feed Header Timestamp | int64() | This timestamp identifies the moment when the content of this feed has been created (in server time). In POSIX time (i.e., number of seconds since January 1st 1970 00:00:00 UTC). To avoid time skew between systems producing and consuming realtime information it is strongly advised to derive timestamp from a time server. It is completely acceptable to use Stratum 3 or even lower strata servers since time differences up to a couple of seconds are tolerable. | |
entity.id | Feed Entity ID | STRING() | Feed-unique identifier for this entity. The ids are used only to provide incrementality support. The actual entities referenced by the feed must be specified by explicit selectors (see EntitySelector below for more info). | |
entity.is_deleted | Feed Entity Is Deleted | BOOLEAN() | Whether this entity is to be deleted. Should be provided only for feeds with Incrementality of DIFFERENTIAL - this field should NOT be provided for feeds with Incrementality of FULL_DATASET. | |
FeedEntity.trip_update | Trip Update | TripUpdate() | Data about the realtime departure delays of a trip. At least one of the fields trip_update, vehicle, alert, or shape must be provided - all these fields cannot be empty. | |
entity.vehicle | Feed Entity Vehicle Position | VehiclePosition() | Data about the realtime position of a vehicle. At least one of the fields trip_update, vehicle, or alert must be provided - all these fields cannot be empty. | |
FeedEntity.alert | Alert | Alert() | Data about the realtime alert. At least one of the fields trip_update, vehicle, alert, or shape must be provided - all these fields cannot be empty. | |
vehicle.position | Position | Position() | Current position of this vehicle. | |
vehicle.trip | Vehicle Trip | TripDescriptor() | The Trip that this vehicle is serving. Can be empty or partial if the vehicle can not be identified with a given trip instance. | |
vehicle.vehicle | Vehicle Position Vehicle | VehicleDescriptor() | Additional information on the vehicle that is serving this trip. Each entry should have a unique vehicle ID. | |
vehicle.stop_id | Stop ID | STRING() | Identifies the current stop. The value must be the same as in stops.txt in the corresponding GTFS feed. | |
vehicle.current_status | Current Status | ENUM() | The exact status of the vehicle with respect to the current stop. Ignored if current_stop_sequence is missing. Options include: -INCOMING_AT: The vehicle is just about to arrive at the stop (on a stop display, the vehicle symbol typically flashes). -STOPPED_AT: The vehicle is standing at the stop. -IN_TRANSIT_TO: The vehicle has departed the previous stop and is in transit. |
INCOMING_AT, STOPPED_AT, IN_TRANSIT_TO |
vehicle.timestamp | Timestamp | int64() | Moment at which the vehicle's position was measured. In POSIX time (i.e., number of seconds since January 1st 1970 00:00:00 UTC). | |
vehicle.congestion_level | Congestion Level | ENUM() | Congestion level that is affecting this vehicle. Options include |
UNKOWN_CONGESTION_LEVEL, RUNNING_SMOOTHLY, STOP_AND_GO, CONGESTION, SEVERE_CONGESTION |
vehicle.occupancy_status | Occupancy Status | ENUM() | The degree of passenger occupancy for the vehicle. Options include: -EMPTY: The vehicle is considered empty by most measures, and has few or no passengers onboard, but is still accepting passengers. -MANY_SEATS_AVAILABLE: The vehicle or carriage has a large percentage of seats available. The amount of free seats out of the total seats available to be considered large enough to fall into this category is determined at the discretion of the producer. -FEW_SEATS_AVAILABLE: The vehicle or carriage has a small percentage of seats available. The amount of free seats out of the total seats available to be considered small enough to fall into this category is determined at the discretion of the producer. -STANDING_ROOM_ONLY: The vehicle or carriage can currently accommodate only standing passengers. -CRUSHED_STANDING_ROOM_ONLY: The vehicle or carriage can currently accommodate only standing passengers and has limited space for them. The degree of passenger occupancy for the vehicle. Options include: -FULL: The vehicle is considered full by most measures, but may still be allowing passengers to board. -NOT_ACCEPTING_PASSENGERS: The vehicle or carriage is not accepting passengers. The vehicle or carriage usually accepts passengers for boarding. -NO_DATA_AVAILABLE: The vehicle or carriage doesn't have any occupancy data available at that time. -NOT_BOARDABLE: The vehicle or carriage is not boardable and never accepts passengers. Useful for special vehicles or carriages (engine, maintenance carriage, etc.). |
EMPTY, MANY_SEATS_AVAILABLE, FEW_SEATS_AVAILABLE, STANDING_ROOM_ONLY, CRUSHED_STANDING_ROOM_ONLY, FULL, NOT_ACCEPTING_PASSENGERS, NO_DATA_AVAILABLE, NOT_BOARDABLE |
vehicle.position.latitude | Position Latitude | FLOAT() | Degrees North, in the WGS-84 coordinate system. | |
vehicle.position.longitude | Position Longitude | FLOAT() | Degrees East, in the WGS-84 coordinate system. | |
vehicle.position.bearing | Position Bearing | FLOAT() | Bearing, in degrees, clockwise from True North, i.e., 0 is North and 90 is East. This can be the compass bearing, or the direction towards the next stop or intermediate location. This should not be deduced from the sequence of previous positions, which clients can compute from previous data. | |
vehicle.position.odometer | Position Odometer | DOUBLE() | Odometer value, in meters. | |
vehicle.position.speed | Position Speed | FLOAT() | Momentary speed measured by the vehicle, in meters per second. | |
vehicle.trip.trip_id | Vehicle Trip ID | STRING() | The trip_id from the GTFS feed that this selector refers to. Whether trip_id is required depends on the type of trip: - Non-frequency-based trips: The trip_id field alone is enough to uniquely identify these trips. Note that non-frequency-based trips aren't defined in GTFS frequencies.txt. - Frequency-based trips: The trip_id, start_time, and start_date fields are all required. Frequency-based trips are defined in GTFS frequencies.txt. - Schedule-based trips: The trip_id field can be omitted only if the trip can be uniquely identified by a combination of the provided route_id, direction_id, start_time, and start_date fields. Note that scheduled-based trips aren't defined in GTFS frequencies.txt. |
|
vehicle.trip.route_id | Vehicle Trip Route ID | STRING() | The route_id from the GTFS feed that this selector refers to. If trip_id is omitted, then route_id, direction_id, start_time, and schedule_relationship=SCHEDULED must all be set to identify a trip instance. | |
vehicle.trip.direction_id | Vehicle Trip Direction ID | UINT32() | The direction_id from the GTFS feed trips.txt file, which indicates the direction of travel. If trip_id is omitted, direction_id must be provided. Caution: This field is still experimental and subject to change. It might be formally adopted in the future. |
|
vehicle.trip.start_time | Vehicle Trip Start Time | STRING() | The initially scheduled start time of this trip instance. The field type Time defines the format of this field, for example 11:15:35 or 25:15:35. Whether the start_time field is required depends on the type of trip: • The trip_id corresponds to a non-frequency-based trip: The start_time field needs to either be omitted or be equal to the value of departure_time in the GTFS feed's stop_times.txt file. • The trip_id corresponds to a frequency-based trip: start_time is always required and must be specified for trip updates and vehicle positions. Frequency-based trips are defined in GTFS frequencies.txt. ◦ If the frequency-based trip corresponds to an exact_times=1 GTFS record: The start_time field must be some multiple, including zero, of headway_secs later than the frequencies.txt start_time for the corresponding time period. ◦ If the frequency-based trip corresponds to an exact_times=0 GTFS record: The start_time can be arbitrary, and it's initially expected to be the first departure of the trip. After it's established, the start_time of this frequency-based exact_times=0 trip is considered immutable, even if the first departure time changes. Any subsequent time changes can instead be reflected in a StopTimeUpdate message. • The trip_id is omitted: start_time must be provided. |
|
vehicle.trip.start_date | Vehicle Trip Start Date | STRING() | The start date of this trip instance in YYYYMMDD format. Whether start_date is required depends on the type of trip: - Scheduled trips: start_date must be provided. This is to disambiguate trips that are so late that they collide with a scheduled trip on the next day. For example, suppose a train departs at 8:00 and 20:00 every day. If the train is 12 hours late, then there would be two distinct trips scheduled for the same time. Note: This field is optional for scheduled trips in which such collisions are impossible. For example, this could happen if a service runs on an hourly schedule, and a vehicle that's one hour late isn't considered related to the schedule anymore. - Frequency-based trips: start_date must be provided. Note that frequency-based trips are defined in the GTFS frequencies.txt file, while scheduled trips aren't. - trip_id is omitted: start_date must be provided. |
|
vehicle.trip.schedule_relationship | Trip Update Trip Schedule Relationship | ENUM() | The relation between this trip and the static schedule. If TripDescriptor is provided in an Alert EntitySelector, the schedule_relationship field is ignored by consumers when they identify the matching trip instance. Options include: -SCHEDULED: Trip that is running in accordance with its GTFS schedule, or is close enough to the scheduled trip to be associated with it. -ADDED: An extra trip that was added in addition to a running schedule, for example, to replace a broken vehicle or to respond to sudden passenger load. -UNSCHEDULED: A trip that is running with no schedule associated to it - this value is used to identify trips defined in GTFS frequencies.txt with exact_times = 0. It should not be used to describe trips not defined in GTFS frequencies.txt, or trips in GTFS frequencies.txt with exact_times = 1. -CANCELED: A trip that existed in the schedule but was removed. |
SCHEDULED, ADDED, UNSCHEDULED, CANCELED, DUPLICATED, DELETED |
vehicle.vehicle.id | Vehicle Position Vehicle ID | () | Internal system identification of the vehicle. Should be unique per vehicle, and is used for tracking the vehicle as it proceeds through the system. This id should not be made visible to the end-user; for that purpose use the label field. | |
vehicle.vehicle.label | Vehicle Position Vehicle Label | () | User visible label, i.e., something that must be shown to the passenger to help identify the correct vehicle. | |
vehicle.vehicle.license_plate | Vehicle Position Vehicle License Plate | () | The license plate of the vehicle. |
Additional Information
Field | Value |
---|---|
Data last updated | 16 November 2024 |
Metadata last updated | 11 December 2024 |
Created | 16 November 2024 |
Format | API |
License | Creative Commons Attribution 4.0 International |
Api url | https://data-exchange-api.vicroads.vic.gov.au/opendata/v1/gtfsr/metrotrain-vehicleposition-updates |
Attributes | [{"attribute_display_order_id": 1, "db_format": "FeedHeader()", "db_name": "header", "definition": "Metadata about a feed, included in feed messages.", "fixed_values": "", "id": "8189", "name": "Feed Header", "ref_number": "AT-8189"}, {"attribute_display_order_id": 2, "db_format": "FeedEntity()", "db_name": "entity", "definition": "A definition (or update) of an entity in the transit feed. If the entity is not being deleted, exactly one of trip_update, vehicle, and alert fields should be populated. This field can be repeated as many times as needed.", "fixed_values": "", "id": "8188", "name": "Feed Entity", "ref_number": "AT-8188"}, {"attribute_display_order_id": 3, "db_format": "STRING()", "db_name": "header.gtfs_realtime_version", "definition": "Version of the feed specification. The current version is 2.0.", "fixed_values": "", "id": "8199", "name": "GTFS Realtime Version", "ref_number": "AT-8199"}, {"attribute_display_order_id": 4, "db_format": "ENUM()", "db_name": "header.incrementality", "definition": "<p>Determines whether the current fetch is incremental. Options include:</p>\n<p>-FULL_DATASET: this feed update will overwrite all preceding realtime information for the feed. Thus this update is expected to provide a full snapshot of all known realtime information.</p>\n<p>-DIFFERENTIAL: currently, this mode is unsupported and behavior is unspecified for feeds that use this mode. There are discussions on the GTFS Realtime mailing list around fully specifying the behavior of DIFFERENTIAL mode and the documentation will be updated when those discussions are finalized.</p>", "fixed_values": "FULL_DATASET, DIFFERENTIAL", "id": "8184", "name": "Incrementality", "ref_number": "AT-8184"}, {"attribute_display_order_id": 5, "db_format": "int64()", "db_name": "header.timestamp", "definition": "This timestamp identifies the moment when the content of this feed has been created (in server time). In POSIX time (i.e., number of seconds since January 1st 1970 00:00:00 UTC). To avoid time skew between systems producing and consuming realtime information it is strongly advised to derive timestamp from a time server. It is completely acceptable to use Stratum 3 or even lower strata servers since time differences up to a couple of seconds are tolerable.", "fixed_values": "", "id": "8209", "name": "Feed Header Timestamp", "ref_number": "AT-8209"}, {"attribute_display_order_id": 6, "db_format": "STRING()", "db_name": "entity.id", "definition": "Feed-unique identifier for this entity. The ids are used only to provide incrementality support. The actual entities referenced by the feed must be specified by explicit selectors (see EntitySelector below for more info).", "fixed_values": "", "id": "8201", "name": "Feed Entity ID", "ref_number": "AT-8201"}, {"attribute_display_order_id": 7, "db_format": "BOOLEAN()", "db_name": "entity.is_deleted", "definition": "Whether this entity is to be deleted. Should be provided only for feeds with Incrementality of DIFFERENTIAL - this field should NOT be provided for feeds with Incrementality of FULL_DATASET.", "fixed_values": "", "id": "8181", "name": "Feed Entity Is Deleted", "ref_number": "AT-8181"}, {"attribute_display_order_id": 8, "db_format": "TripUpdate()", "db_name": "FeedEntity.trip_update", "definition": "Data about the realtime departure delays of a trip. At least one of the fields trip_update, vehicle, alert, or shape must be provided - all these fields cannot be empty.", "fixed_values": "", "id": "8806", "name": "Trip Update", "ref_number": "AT-8806"}, {"attribute_display_order_id": 9, "db_format": "VehiclePosition()", "db_name": "entity.vehicle", "definition": "Data about the realtime position of a vehicle. At least one of the fields trip_update, vehicle, or alert must be provided - all these fields cannot be empty.", "fixed_values": "", "id": "8212", "name": "Feed Entity Vehicle Position", "ref_number": "AT-8212"}, {"attribute_display_order_id": 10, "db_format": "Alert()", "db_name": "FeedEntity.alert", "definition": "Data about the realtime alert. At least one of the fields trip_update, vehicle, alert, or shape must be provided - all these fields cannot be empty.", "fixed_values": "", "id": "8807", "name": "Alert", "ref_number": "AT-8807"}, {"attribute_display_order_id": 11, "db_format": "Position()", "db_name": "vehicle.position", "definition": "Current position of this vehicle.", "fixed_values": "", "id": "8195", "name": "Position", "ref_number": "AT-8195"}, {"attribute_display_order_id": 11, "db_format": "TripDescriptor()", "db_name": "vehicle.trip", "definition": "The Trip that this vehicle is serving. Can be empty or partial if the vehicle can not be identified with a given trip instance.", "fixed_values": "", "id": "8206", "name": "Vehicle Trip", "ref_number": "AT-8206"}, {"attribute_display_order_id": 12, "db_format": "VehicleDescriptor()", "db_name": "vehicle.vehicle", "definition": "Additional information on the vehicle that is serving this trip. Each entry should have a unique vehicle ID.", "fixed_values": "", "id": "8211", "name": "Vehicle Position Vehicle", "ref_number": "AT-8211"}, {"attribute_display_order_id": 15, "db_format": "STRING()", "db_name": "vehicle.stop_id", "definition": "Identifies the current stop. The value must be the same as in stops.txt in the corresponding GTFS feed.", "fixed_values": "", "id": "8200", "name": "Stop ID", "ref_number": "AT-8200"}, {"attribute_display_order_id": 16, "db_format": "ENUM()", "db_name": "vehicle.current_status", "definition": "<p>The exact status of the vehicle with respect to the current stop. Ignored if current_stop_sequence is missing. Options include:</p>\n<p>-INCOMING_AT: The vehicle is just about to arrive at the stop (on a stop display, the vehicle symbol typically flashes).</p>\n<p>-STOPPED_AT: The vehicle is standing at the stop.</p>\n<p>-IN_TRANSIT_TO: The vehicle has departed the previous stop and is in transit.</p>", "fixed_values": "INCOMING_AT, STOPPED_AT, IN_TRANSIT_TO", "id": "8186", "name": "Current Status", "ref_number": "AT-8186"}, {"attribute_display_order_id": 17, "db_format": "int64()", "db_name": "vehicle.timestamp", "definition": "Moment at which the vehicle's position was measured. In POSIX time (i.e., number of seconds since January 1st 1970 00:00:00 UTC).", "fixed_values": "", "id": "8210", "name": "Timestamp", "ref_number": "AT-8210"}, {"attribute_display_order_id": 18, "db_format": "ENUM()", "db_name": "vehicle.congestion_level", "definition": "<p>Congestion level that is affecting this vehicle. Options include</p>\n<p></p>", "fixed_values": "UNKOWN_CONGESTION_LEVEL, RUNNING_SMOOTHLY, STOP_AND_GO, CONGESTION, SEVERE_CONGESTION", "id": "8187", "name": "Congestion Level", "ref_number": "AT-8187"}, {"attribute_display_order_id": 19, "db_format": "ENUM()", "db_name": "vehicle.occupancy_status", "definition": "<p>The degree of passenger occupancy for the vehicle. Options include:</p>\n<p>-EMPTY: The vehicle is considered empty by most measures, and has few or no passengers onboard, but is still accepting passengers.</p>\n<p>-MANY_SEATS_AVAILABLE: The vehicle or carriage has a large percentage of seats available. The amount of free seats out of the total seats available to be considered large enough to fall into this category is determined at the discretion of the producer.</p>\n<p>-FEW_SEATS_AVAILABLE: The vehicle or carriage has a small percentage of seats available. The amount of free seats out of the total seats available to be considered small enough to fall into this category is determined at the discretion of the producer.</p>\n<p>-STANDING_ROOM_ONLY: The vehicle or carriage can currently accommodate only standing passengers.</p>\n<p>-CRUSHED_STANDING_ROOM_ONLY: The vehicle or carriage can currently accommodate only standing passengers and has limited space for them.</p>\n<p>The degree of passenger occupancy for the vehicle. Options include:</p>\n<p>-FULL: The vehicle is considered full by most measures, but may still be allowing passengers to board.</p>\n<p>-NOT_ACCEPTING_PASSENGERS: The vehicle or carriage is not accepting passengers. The vehicle or carriage usually accepts passengers for boarding.</p>\n<p>-NO_DATA_AVAILABLE: The vehicle or carriage doesn't have any occupancy data available at that time.</p>\n<p>-NOT_BOARDABLE: The vehicle or carriage is not boardable and never accepts passengers. Useful for special vehicles or carriages (engine, maintenance carriage, etc.).</p>", "fixed_values": "EMPTY, MANY_SEATS_AVAILABLE, FEW_SEATS_AVAILABLE, STANDING_ROOM_ONLY, CRUSHED_STANDING_ROOM_ONLY, FULL, NOT_ACCEPTING_PASSENGERS, NO_DATA_AVAILABLE, NOT_BOARDABLE", "id": "8183", "name": "Occupancy Status", "ref_number": "AT-8183"}, {"attribute_display_order_id": 20, "db_format": "FLOAT()", "db_name": "vehicle.position.latitude", "definition": "Degrees North, in the WGS-84 coordinate system.", "fixed_values": "", "id": "8192", "name": "Position Latitude", "ref_number": "AT-8192"}, {"attribute_display_order_id": 21, "db_format": "FLOAT()", "db_name": "vehicle.position.longitude", "definition": "Degrees East, in the WGS-84 coordinate system.", "fixed_values": "", "id": "8191", "name": "Position Longitude", "ref_number": "AT-8191"}, {"attribute_display_order_id": 22, "db_format": "FLOAT()", "db_name": "vehicle.position.bearing", "definition": "Bearing, in degrees, clockwise from True North, i.e., 0 is North and 90 is East. This can be the compass bearing, or the direction towards the next stop or intermediate location. This should not be deduced from the sequence of previous positions, which clients can compute from previous data.", "fixed_values": "", "id": "8193", "name": "Position Bearing", "ref_number": "AT-8193"}, {"attribute_display_order_id": 23, "db_format": "DOUBLE()", "db_name": "vehicle.position.odometer", "definition": "Odometer value, in meters.", "fixed_values": "", "id": "8182", "name": "Position Odometer", "ref_number": "AT-8182"}, {"attribute_display_order_id": 24, "db_format": "FLOAT()", "db_name": "vehicle.position.speed", "definition": "Momentary speed measured by the vehicle, in meters per second.", "fixed_values": "", "id": "8194", "name": "Position Speed", "ref_number": "AT-8194"}, {"attribute_display_order_id": 25, "db_format": "STRING()", "db_name": "vehicle.trip.trip_id", "definition": "<p>The trip_id from the GTFS feed that this selector refers to. Whether trip_id is required depends on the type of trip:</p>\n<p>- Non-frequency-based trips: The trip_id field alone is enough to uniquely identify these trips. Note that non-frequency-based trips aren't defined in GTFS frequencies.txt.</p>\n<p>- Frequency-based trips: The trip_id, start_time, and start_date fields are all required. Frequency-based trips are defined in GTFS frequencies.txt.</p>\n<p>- Schedule-based trips: The trip_id field can be omitted only if the trip can be uniquely identified by a combination of the provided route_id, direction_id, start_time, and start_date fields. Note that scheduled-based trips aren't defined in GTFS frequencies.txt.</p>", "fixed_values": "", "id": "8202", "name": "Vehicle Trip ID", "ref_number": "AT-8202"}, {"attribute_display_order_id": 26, "db_format": "STRING()", "db_name": "vehicle.trip.route_id", "definition": "The route_id from the GTFS feed that this selector refers to. If trip_id is omitted, then route_id, direction_id, start_time, and schedule_relationship=SCHEDULED must all be set to identify a trip instance.", "fixed_values": "", "id": "8203", "name": "Vehicle Trip Route ID", "ref_number": "AT-8203"}, {"attribute_display_order_id": 27, "db_format": "UINT32()", "db_name": "vehicle.trip.direction_id", "definition": "<p> The direction_id from the GTFS feed trips.txt file, which indicates the direction of travel. If trip_id is omitted, direction_id must be provided.</p>\n<p>Caution: This field is still experimental and subject to change. It might be formally adopted in the future.</p>", "fixed_values": "", "id": "8208", "name": "Vehicle Trip Direction ID", "ref_number": "AT-8208"}, {"attribute_display_order_id": 28, "db_format": "STRING()", "db_name": "vehicle.trip.start_time", "definition": "<p>The initially scheduled start time of this trip instance. The field type Time defines the format of this field, for example 11:15:35 or 25:15:35. Whether the start_time field is required depends on the type of trip:</p>\n<p>\u2022 The trip_id corresponds to a non-frequency-based trip: The start_time field needs to either be omitted or be equal to the value of departure_time in the GTFS feed's stop_times.txt file.</p>\n<p>\u2022 The trip_id corresponds to a frequency-based trip: start_time is always required and must be specified for trip updates and vehicle positions. Frequency-based trips are defined in GTFS frequencies.txt.</p>\n<p>\u25e6 If the frequency-based trip corresponds to an exact_times=1 GTFS record: The start_time field must be some multiple, including zero, of headway_secs later than the frequencies.txt start_time for the corresponding time period.</p>\n<p>\u25e6 If the frequency-based trip corresponds to an exact_times=0 GTFS record: The start_time can be arbitrary, and it's initially expected to be the first departure of the trip. After it's established, the start_time of this frequency-based exact_times=0 trip is considered immutable, even if the first departure time changes. Any subsequent time changes can instead be reflected in a StopTimeUpdate message.</p>\n<p>\u2022 The trip_id is omitted: start_time must be provided.</p>", "fixed_values": "", "id": "8204", "name": "Vehicle Trip Start Time", "ref_number": "AT-8204"}, {"attribute_display_order_id": 29, "db_format": "STRING()", "db_name": "vehicle.trip.start_date", "definition": "<p>The start date of this trip instance in YYYYMMDD format. Whether start_date is required depends on the type of trip:</p>\n<p>- Scheduled trips: start_date must be provided. This is to disambiguate trips that are so late that they collide with a scheduled trip on the next day. For example, suppose a train departs at 8:00 and 20:00 every day. If the train is 12 hours late, then there would be two distinct trips scheduled for the same time.</p>\n<p>Note: This field is optional for scheduled trips in which such collisions are impossible. For example, this could happen if a service runs on an hourly schedule, and a vehicle that's one hour late isn't considered related to the schedule anymore.</p>\n<p>- Frequency-based trips: start_date must be provided. Note that frequency-based trips are defined in the GTFS frequencies.txt file, while scheduled trips aren't.</p>\n<p>- trip_id is omitted: start_date must be provided.</p>", "fixed_values": "", "id": "8205", "name": "Vehicle Trip Start Date", "ref_number": "AT-8205"}, {"attribute_display_order_id": 30, "db_format": "ENUM()", "db_name": "vehicle.trip.schedule_relationship", "definition": "<p>The relation between this trip and the static schedule. If TripDescriptor is provided in an Alert EntitySelector, the schedule_relationship field is ignored by consumers when they identify the matching trip instance. Options include:</p>\n<p>-SCHEDULED: Trip that is running in accordance with its GTFS schedule, or is close enough to the scheduled trip to be associated with it.</p>\n<p>-ADDED: An extra trip that was added in addition to a running schedule, for example, to replace a broken vehicle or to respond to sudden passenger load.</p>\n<p>-UNSCHEDULED: A trip that is running with no schedule associated to it - this value is used to identify trips defined in GTFS frequencies.txt with exact_times = 0. It should not be used to describe trips not defined in GTFS frequencies.txt, or trips in GTFS frequencies.txt with exact_times = 1.</p>\n<p>-CANCELED: A trip that existed in the schedule but was removed.</p>", "fixed_values": "SCHEDULED, ADDED, UNSCHEDULED, CANCELED, DUPLICATED, DELETED", "id": "8185", "name": "Trip Update Trip Schedule Relationship", "ref_number": "AT-8185"}, {"attribute_display_order_id": 31, "db_format": "()", "db_name": "vehicle.vehicle.id", "definition": "Internal system identification of the vehicle. Should be unique per vehicle, and is used for tracking the vehicle as it proceeds through the system. This id should not be made visible to the end-user; for that purpose use the label field.", "fixed_values": "", "id": "8196", "name": "Vehicle Position Vehicle ID", "ref_number": "AT-8196"}, {"attribute_display_order_id": 32, "db_format": "()", "db_name": "vehicle.vehicle.label", "definition": "User visible label, i.e., something that must be shown to the passenger to help identify the correct vehicle.", "fixed_values": "", "id": "8197", "name": "Vehicle Position Vehicle Label", "ref_number": "AT-8197"}, {"attribute_display_order_id": 33, "db_format": "()", "db_name": "vehicle.vehicle.license_plate", "definition": "The license plate of the vehicle.", "fixed_values": "", "id": "8198", "name": "Vehicle Position Vehicle License Plate", "ref_number": "AT-8198"}] |
Datastore active | False |
Datastore contains all records of source file | False |
Has views | False |
Historical | False |
Id | 37456235-40df-46d7-aeec-dc92287d02c4 |
Last updated date | 3 weeks ago |
Mimetype | application/json |
Open dataset title | GTFS Realtime - Vehicle Position - Metro Train |
Package id | f01ce1b0-e0d1-4182-9d0f-20cdc0a32be9 |
Position | 6 |
Publication date | 3 years ago |
State | active |
File Size | 2.3 KB |
Release Date | |
Temporal Coverage Start | |
Temporal Coverage End | |
Data Quality Statement | |
Attribution Statement |