Struct gtfs_rt::TripDescriptor
source · pub struct TripDescriptor {
pub trip_id: Option<String>,
pub route_id: Option<String>,
pub direction_id: Option<u32>,
pub start_time: Option<String>,
pub start_date: Option<String>,
pub schedule_relationship: Option<i32>,
pub modified_trip: Option<ModifiedTripSelector>,
}
Expand description
A descriptor that identifies an instance of a GTFS trip, or all instances of a trip along a route.
- To specify a single trip instance, the trip_id (and if necessary, start_time) is set. If route_id is also set, then it should be same as one that the given trip corresponds to.
- To specify all the trips along a given route, only the route_id should be set. Note that if the trip_id is not known, then stop sequence ids in TripUpdate are not sufficient, and stop_ids must be provided as well. In addition, absolute arrival/departure times must be provided.
Fields§
§trip_id: Option<String>
The trip_id from the GTFS feed that this selector refers to. For non frequency-based trips, this field is enough to uniquely identify the trip. For frequency-based trip, start_time and start_date might also be necessary. When schedule_relationship is DUPLICATED within a TripUpdate, the trip_id identifies the trip from static GTFS to be duplicated. When schedule_relationship is DUPLICATED within a VehiclePosition, the trip_id identifies the new duplicate trip and must contain the value for the corresponding TripUpdate.TripProperties.trip_id.
route_id: Option<String>
The route_id from the GTFS that this selector refers to.
direction_id: Option<u32>
The direction_id from the GTFS feed trips.txt file, indicating the direction of travel for trips this selector refers to.
start_time: Option<String>
The initially scheduled start time of this trip instance. When the trip_id corresponds to a non-frequency-based trip, this field should either be omitted or be equal to the value in the GTFS feed. When the trip_id correponds to a frequency-based trip, the start_time must be specified for trip updates and vehicle positions. If the trip corresponds to exact_times=1 GTFS record, then start_time must be some multiple (including zero) of headway_secs later than frequencies.txt start_time for the corresponding time period. If the trip corresponds to exact_times=0, then its start_time may be arbitrary, and is initially expected to be the first departure of the trip. Once established, the start_time of this frequency-based trip should be considered immutable, even if the first departure time changes – that time change may instead be reflected in a StopTimeUpdate. Format and semantics of the field is same as that of GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35.
start_date: Option<String>
The scheduled start date of this trip instance. Must be provided to disambiguate trips that are so late as to collide with a scheduled trip on a next day. For example, for a train that departs 8:00 and 20:00 every day, and is 12 hours late, there would be two distinct trips on the same time. This field can be provided but is not mandatory for schedules in which such collisions are impossible - for example, a service running on hourly schedule where a vehicle that is one hour late is not considered to be related to schedule anymore. In YYYYMMDD format.
schedule_relationship: Option<i32>
§modified_trip: Option<ModifiedTripSelector>
Implementations§
source§impl TripDescriptor
impl TripDescriptor
sourcepub fn trip_id(&self) -> &str
pub fn trip_id(&self) -> &str
Returns the value of trip_id
, or the default value if trip_id
is unset.
sourcepub fn start_time(&self) -> &str
pub fn start_time(&self) -> &str
Returns the value of start_time
, or the default value if start_time
is unset.
sourcepub fn start_date(&self) -> &str
pub fn start_date(&self) -> &str
Returns the value of start_date
, or the default value if start_date
is unset.
sourcepub fn schedule_relationship(&self) -> ScheduleRelationship
pub fn schedule_relationship(&self) -> ScheduleRelationship
Returns the enum value of schedule_relationship
, or the default if the field is unset or set to an invalid enum value.
sourcepub fn set_schedule_relationship(&mut self, value: ScheduleRelationship)
pub fn set_schedule_relationship(&mut self, value: ScheduleRelationship)
Sets schedule_relationship
to the provided enum value.
sourcepub fn route_id(&self) -> &str
pub fn route_id(&self) -> &str
Returns the value of route_id
, or the default value if route_id
is unset.
sourcepub fn direction_id(&self) -> u32
pub fn direction_id(&self) -> u32
Returns the value of direction_id
, or the default value if direction_id
is unset.
Trait Implementations§
source§impl Clone for TripDescriptor
impl Clone for TripDescriptor
source§fn clone(&self) -> TripDescriptor
fn clone(&self) -> TripDescriptor
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TripDescriptor
impl Debug for TripDescriptor
source§impl Default for TripDescriptor
impl Default for TripDescriptor
source§impl Message for TripDescriptor
impl Message for TripDescriptor
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.source§impl PartialEq for TripDescriptor
impl PartialEq for TripDescriptor
source§fn eq(&self, other: &TripDescriptor) -> bool
fn eq(&self, other: &TripDescriptor) -> bool
self
and other
values to be equal, and is used
by ==
.