GTFSRealtimeVehiclePosition

Struct GTFSRealtimeVehiclePosition 

Source
pub struct GTFSRealtimeVehiclePosition {
    pub trip: Option<GTFSRealtimeTripDescriptor>,
    pub position: GTFSRealtimePosition,
    pub current_stop_sequence: Option<u32>,
    pub current_status: GTFSVehicleStopStatus,
    pub timestamp: Option<Date>,
    pub congestion_level: GTFSRealtimeCongestionLevel,
    pub stop_id: Option<String>,
    pub vehicle: Option<GTFSRealtimeVehicleDescriptor>,
    pub occupancy_status: Option<GTFSRealtimeOccupancyStatus>,
    pub occupancy_percentage: Option<u32>,
    pub multi_carriage_details: Vec<GTFSRealtimeMultiCarriageDetails>,
}
Expand description

Realtime positioning information for a given vehicle.

Fields§

§trip: Option<GTFSRealtimeTripDescriptor>

The Trip that this vehicle is serving. Can be empty or partial if the vehicle can not be identified with a given trip instance.

§position: GTFSRealtimePosition

Current position of this vehicle. */

§current_stop_sequence: Option<u32>

The stop sequence index of the current stop. The meaning of current_stop_sequence (i.e., the stop that it refers to) is determined by current_status. If current_status is missing IN_TRANSIT_TO is assumed.

§current_status: GTFSVehicleStopStatus

The exact status of the vehicle with respect to the current stop. Ignored if current_stop_sequence is missing.

§timestamp: Option<Date>

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).

§congestion_level: GTFSRealtimeCongestionLevel

Congestion level that is affecting this vehicle.

§stop_id: Option<String>

Identifies the current stop. The value must be the same as in stops.txt in the corresponding GTFS feed.

§vehicle: Option<GTFSRealtimeVehicleDescriptor>

7 Additional information on the vehicle that is serving this trip.

§occupancy_status: Option<GTFSRealtimeOccupancyStatus>

If multi_carriage_status is populated with per-carriage OccupancyStatus, then this field should describe the entire vehicle with all carriages accepting passengers considered.

§occupancy_percentage: Option<u32>

A percentage value indicating the degree of passenger occupancy in the vehicle. The values are represented as an integer without decimals. 0 means 0% and 100 means 100%. The value 100 should represent the total maximum occupancy the vehicle was designed for, including both seated and standing capacity, and current operating regulations allow. The value may exceed 100 if there are more passengers than the maximum designed capacity. The precision of occupancy_percentage should be low enough that individual passengers cannot be tracked boarding or alighting the vehicle. If multi_carriage_status is populated with per-carriage occupancy_percentage, then this field should describe the entire vehicle with all carriages accepting passengers considered. This field is still experimental, and subject to change. It may be formally adopted in the future.

§multi_carriage_details: Vec<GTFSRealtimeMultiCarriageDetails>

Details of the multiple carriages of this given vehicle. The first occurrence represents the first carriage of the vehicle, given the current direction of travel. The number of occurrences of the multi_carriage_details field represents the number of carriages of the vehicle. It also includes non boardable carriages, like engines, maintenance carriages, etc… as they provide valuable information to passengers about where to stand on a platform. This message/field is still experimental, and subject to change. It may be formally adopted in the future.

Trait Implementations§

Source§

impl Clone for GTFSRealtimeVehiclePosition

Source§

fn clone(&self) -> GTFSRealtimeVehiclePosition

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GTFSRealtimeVehiclePosition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GTFSRealtimeVehiclePosition

Source§

fn default() -> GTFSRealtimeVehiclePosition

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GTFSRealtimeVehiclePosition

Source§

fn eq(&self, other: &GTFSRealtimeVehiclePosition) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ProtoRead for GTFSRealtimeVehiclePosition

Read in the contents of the GTFSRealtimeVehiclePosition

Source§

fn read(&mut self, tag: u64, pb: &mut Protobuf)

The read method is used to read a field from a protobuf message. The tag parameter is used to determine which field to read into the struct. The pbf parameter is used to read the data in the appropriate format. Read more
Source§

impl StructuralPartialEq for GTFSRealtimeVehiclePosition

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V