pub struct GTFSScheduleReader {Show 31 fields
pub agencies: BTreeMap<String, GTFSAgency>,
pub areas: BTreeMap<String, GTFSArea>,
pub attributions: BTreeMap<String, GTFSAttribution>,
pub booking_rules: BTreeMap<String, GTFSBookingRule>,
pub calendar: Vec<GTFSCalendar>,
pub calendar_dates: BTreeMap<String, GTFSCalendarDate>,
pub fare_attributes: BTreeMap<String, GTFSFareAttribute>,
pub fare_leg_join_rules: Vec<GTFSFareLegJoinRule>,
pub fare_leg_rules: Vec<GTFSFareLegRule>,
pub fare_media: BTreeMap<String, GTFSFareMedia>,
pub fare_products: BTreeMap<String, GTFSFareProduct>,
pub fare_rules: Vec<GTFSFareRule>,
pub fare_transfer_rules: Vec<GTFSFareTransferRule>,
pub feed_info: BTreeMap<String, GTFSFeedInfo>,
pub frequencies: Vec<GTFSFrequency>,
pub levels: BTreeMap<String, GTFSLevel>,
pub location_groups: BTreeMap<String, GTFSLocationGroup>,
pub location_group_stops: Vec<GTFSLocationGroupStop>,
pub networks: BTreeMap<String, GTFSNetwork>,
pub pathways: BTreeMap<String, GTFSPathway>,
pub route_networks: Vec<GTFSRouteNetwork>,
pub routes: BTreeMap<String, GTFSRoute>,
pub shapes: BTreeMap<String, Vec<GTFSShape>>,
pub stop_areas: Vec<GTFSStopArea>,
pub stops: BTreeMap<String, GTFSStop>,
pub stop_times: Vec<GTFSStopTime>,
pub timeframes: BTreeMap<String, GTFSTimeframe>,
pub transfers: Vec<GTFSTransfer>,
pub translations: Vec<GTFSTranslation>,
pub trips: BTreeMap<String, GTFSTrip>,
pub geojson: Option<JSONCollectionReader>,
}Expand description
§GTFS Schedule Reader
§Description
Schedule class that pulls in all of the GTFS schedule files and parses them into a single object
implements the FeatureReader trait
§Usage
The methods you have access to:
GTFSScheduleReader::new: Create a new GTFSScheduleReaderGTFSScheduleReader::from_folder: Create a new GTFSScheduleReader from a standard folderGTFSScheduleReader::from_gzip: Create a new GTFSScheduleReader from a gzip fileGTFSScheduleReader::collect_vector_features: Collect vector featuresGTFSScheduleReader::iter: Iterate over the featuresGTFSScheduleReader::par_iter: Iterate over the features
use gistools::{parsers::FeatureReader, readers::GTFSScheduleReader};
use std::{fs, path::PathBuf};
use s2json::VectorFeature;
let gzip_data = fs::read(
PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("tests/readers/gtfs/fixtures/caltrain_20160406.zip"),
).unwrap();
let reader = GTFSScheduleReader::from_gzip(&gzip_data);
assert_eq!(reader.stops.len(), 95);
let features: Vec<VectorFeature> = reader.iter().collect();
assert_eq!(features.len(), 103);§Links
Fields§
§agencies: BTreeMap<String, GTFSAgency>Agencies
areas: BTreeMap<String, GTFSArea>Areas
attributions: BTreeMap<String, GTFSAttribution>Attributions
booking_rules: BTreeMap<String, GTFSBookingRule>Booking Rules
calendar: Vec<GTFSCalendar>Calendar
calendar_dates: BTreeMap<String, GTFSCalendarDate>Calendar Dates
fare_attributes: BTreeMap<String, GTFSFareAttribute>Fare Attributes
fare_leg_join_rules: Vec<GTFSFareLegJoinRule>Fare Leg Join Rules
fare_leg_rules: Vec<GTFSFareLegRule>Fare Leg Rules
fare_media: BTreeMap<String, GTFSFareMedia>Fare Media
fare_products: BTreeMap<String, GTFSFareProduct>Fare Products
fare_rules: Vec<GTFSFareRule>Fare Rules
fare_transfer_rules: Vec<GTFSFareTransferRule>Fare Transfer Rules
feed_info: BTreeMap<String, GTFSFeedInfo>Feed Info
frequencies: Vec<GTFSFrequency>Frequencies
levels: BTreeMap<String, GTFSLevel>Levels
location_groups: BTreeMap<String, GTFSLocationGroup>Location Groups
location_group_stops: Vec<GTFSLocationGroupStop>Location Group Stops
networks: BTreeMap<String, GTFSNetwork>Networks
pathways: BTreeMap<String, GTFSPathway>Pathways
route_networks: Vec<GTFSRouteNetwork>Route Networks
routes: BTreeMap<String, GTFSRoute>Routes
shapes: BTreeMap<String, Vec<GTFSShape>>Shapes
stop_areas: Vec<GTFSStopArea>Stop Areas
stops: BTreeMap<String, GTFSStop>Stop Areas
stop_times: Vec<GTFSStopTime>Stop Times
timeframes: BTreeMap<String, GTFSTimeframe>Timeframes
transfers: Vec<GTFSTransfer>Transfers
translations: Vec<GTFSTranslation>Translations
trips: BTreeMap<String, GTFSTrip>Trips
geojson: Option<JSONCollectionReader>Geojson
Implementations§
Source§impl GTFSScheduleReader
impl GTFSScheduleReader
Sourcepub fn from_folder(folder_path: &str) -> Self
Available on crate feature std only.
pub fn from_folder(folder_path: &str) -> Self
std only.Build a GTFS Schedule Reader from a standard folder
Sourcepub fn collect_vector_features(&self) -> Vec<VectorFeature>
pub fn collect_vector_features(&self) -> Vec<VectorFeature>
Collect all known vector features
Trait Implementations§
Source§impl Clone for GTFSScheduleReader
impl Clone for GTFSScheduleReader
Source§fn clone(&self) -> GTFSScheduleReader
fn clone(&self) -> GTFSScheduleReader
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GTFSScheduleReader
impl Debug for GTFSScheduleReader
Source§impl Default for GTFSScheduleReader
impl Default for GTFSScheduleReader
Source§fn default() -> GTFSScheduleReader
fn default() -> GTFSScheduleReader
Returns the “default value” for a type. Read more
Source§impl FeatureReader<(), Map<String, ValueType>, Map<String, ValueType>> for GTFSScheduleReader
A feature reader trait with a callback-based approach
impl FeatureReader<(), Map<String, ValueType>, Map<String, ValueType>> for GTFSScheduleReader
A feature reader trait with a callback-based approach
Source§type FeatureIterator<'a> = GTFSScheduleIterator
type FeatureIterator<'a> = GTFSScheduleIterator
The Feature Reader should implement an iterator of some kind
Source§fn iter(&self) -> Self::FeatureIterator<'_>
fn iter(&self) -> Self::FeatureIterator<'_>
All readers have an iter function that returns a Iterator struct
Auto Trait Implementations§
impl Freeze for GTFSScheduleReader
impl RefUnwindSafe for GTFSScheduleReader
impl Send for GTFSScheduleReader
impl Sync for GTFSScheduleReader
impl Unpin for GTFSScheduleReader
impl UnwindSafe for GTFSScheduleReader
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
Mutably borrows from an owned value. Read more
§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)
🔬This is a nightly-only experimental API. (
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>
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 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>
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 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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().