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>,
}
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.
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. This field is still experimental, and subject to change. It may be formally adopted in the future.
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>
Implementations§
source§impl TripDescriptor
impl TripDescriptor
pub fn trip_id(&self) -> &str
pub fn start_time(&self) -> &str
pub fn start_date(&self) -> &str
pub fn schedule_relationship(&self) -> ScheduleRelationship
pub fn set_schedule_relationship(&mut self, value: ScheduleRelationship)
pub fn route_id(&self) -> &str
pub fn direction_id(&self) -> u32
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§fn default() -> TripDescriptor
fn default() -> 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>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: IntoBuf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: IntoBuf,
Self: Default,
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: IntoBuf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: IntoBuf,
Self: Default,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: IntoBuf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: IntoBuf,
Self: Sized,
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: IntoBuf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: IntoBuf,
Self: Sized,
self
. Read more