pub struct GTFSShape {
pub shape_id: String,
pub shape_pt_lat: f64,
pub shape_pt_lon: f64,
pub shape_pt_sequence: u64,
pub shape_dist_traveled: Option<f64>,
}Expand description
§Shapes
§Details
Optional - Primary key (shape_id, shape_pt_sequence)
Shapes describe the path that a vehicle travels along a route alignment, and are defined in the file shapes.txt. Shapes are associated with Trips, and consist of a sequence of points through which the vehicle passes in order. Shapes do not need to intercept the location of Stops exactly, but all Stops on a trip should lie within a small distance of the shape for that trip, i.e. close to straight line segments connecting the shape points. The shapes.txt file should be included for all route-based services (not for zone-based demand-responsive services).
Fields§
§shape_id: StringRequired Identifies a shape. E.g. “A_shp”
shape_pt_lat: f64Required Latitude of a shape point. Each record in shapes.txt represents a shape point used to define the shape.
shape_pt_lon: f64Required Longitude of a shape point.
shape_pt_sequence: u64Required Sequence in which the shape points connect to form the shape. Values must increase along the trip but do not need to be consecutive.
Example: If the shape “A_shp” has three points in its definition, the shapes.txt file might contain these records to define the shape: shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence A_shp,37.61956,-122.48161,0 A_shp,37.64430,-122.41070,6 A_shp,37.65863,-122.30839,11
shape_dist_traveled: Option<f64>Optional Actual distance traveled along the shape from the first shape point to the point specified in this record. Used by trip planners to show the correct portion of the shape on a map. Values must increase along with shape_pt_sequence; they must not be used to show reverse travel along a route. Distance units must be consistent with those used in stop_times.txt.
Recommended for routes that have looping or inlining (the vehicle crosses or travels over the same portion of alignment in one trip).
If a vehicle retraces or crosses the route alignment at points in the course of a trip, shape_dist_traveled is important to clarify how portions of the points in shapes.txt line up correspond with records in stop_times.txt.
Example: If a bus travels along the three points defined above for A_shp, the additional shape_dist_traveled values (shown here in kilometers) would look like this: shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled A_shp,37.61956,-122.48161,0,0 A_shp,37.64430,-122.41070,6,6.8310 A_shp,37.65863,-122.30839,11,15.8765
Implementations§
Trait Implementations§
Source§impl From<&Map<String, ValueType>> for GTFSShape
Starting from a ref to an MValue, convert to a struct
impl From<&Map<String, ValueType>> for GTFSShape
Starting from a ref to an MValue, convert to a struct
Source§impl From<&ValueType> for GTFSShape
If this struct ref is nested into another struct, pull out the MValue and let
From handle
impl From<&ValueType> for GTFSShape
If this struct ref is nested into another struct, pull out the MValue and let
From
Source§impl From<GTFSShape> for ValueType
If this struct is nested into another struct, convert to a ValueType that’s nested
impl From<GTFSShape> for ValueType
If this struct is nested into another struct, convert to a ValueType that’s nested
Source§impl From<ValueType> for GTFSShape
If this struct is nested into another struct, pull out the MValue and let
From handle
impl From<ValueType> for GTFSShape
If this struct is nested into another struct, pull out the MValue and let
From
impl MValueCompatible for GTFSShape
Finally implement the MValueCompatible trait
impl StructuralPartialEq for GTFSShape
Auto Trait Implementations§
impl Freeze for GTFSShape
impl RefUnwindSafe for GTFSShape
impl Send for GTFSShape
impl Sync for GTFSShape
impl Unpin for GTFSShape
impl UnwindSafe for GTFSShape
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().