fasttrips.Route¶
-
class
fasttrips.
Route
(input_archive, output_dir, gtfs, today, stops)[source]¶ Bases:
object
Route class.
One instance represents all of the Routes.
Stores route information in
Route.routes_df
and agency information inRoute.agencies_df
. Each are instances ofpandas.DataFrame
.Fare information is in
Route.fare_attrs_df
,Route.fare_rules_df
andRoute.fare_transfer_rules_df
.-
__init__
(input_archive, output_dir, gtfs, today, stops)[source]¶ Constructor. Reads the gtfs data from the transitfeed schedule, and the additional fast-trips routes data from the input file in input_archive.
Methods
__init__
(input_archive, output_dir, gtfs, …)Constructor. add_access_egress_modes
(access_modes_df, …)Adds access and egress modes to the mode list Writes out mapping to disk add_fares
(trip_links_df)Adds (or replaces) fare columns to the given pandas.DataFrame
.add_numeric_mode_id
(input_df, id_colname, …)Passing a pandas.DataFrame
with a mode ID column called id_colname, adds the numeric mode id as a column named numeric_newcolname and returns it.add_numeric_route_id
(input_df, id_colname, …)Passing a pandas.DataFrame
with a route ID column called id_colname, adds the numeric route id as a column named numeric_newcolname and returns it.apply_fare_transfer_rules
(trip_links_df)Applies fare transfers by attaching previous fare period. apply_free_transfers
(trip_links_df)Apply the free transfers allowed in to trip_links_df fare_attributes_ft.txt (configured by columns transfers, transfer_duration). remove_fare_period_overlap
(fare_rules_ft_df)Split fare classes so they don’t overlap write_routes_for_extension
()Write to an intermediate formatted file for the C++ extension. Attributes
FARE_ATTR_COLUMN_CURRENCY_TYPE
FARE_ATTR_COLUMN_FARE_PERIOD
FARE_ATTR_COLUMN_PAYMENT_METHOD
FARE_ATTR_COLUMN_PRICE
FARE_ATTR_COLUMN_TRANSFERS
FARE_ATTR_COLUMN_TRANSFER_DURATION
FARE_RULES_COLUMN_CONTAINS_ID
GTFS fare rules column name: Contains ID FARE_RULES_COLUMN_DESTINATION_ID
GTFS fare rules column name: Destination Zone ID FARE_RULES_COLUMN_DESTINATION_ID_NUM
fasttrips fare rules column name: Destination ID number FARE_RULES_COLUMN_END_TIME
fasttrips Fare rules column name: End time for the fare rule. FARE_RULES_COLUMN_FARE_ID
fasttrips Fare rules column name: Fare ID FARE_RULES_COLUMN_FARE_ID_NUM
fasttrips Fare rules column name: Fare ID num FARE_RULES_COLUMN_FARE_PERIOD
fasttrips Fare rules column name: Fare class FARE_RULES_COLUMN_ORIGIN_ID
GTFS fare rules column name: Origin Zone ID FARE_RULES_COLUMN_ORIGIN_ID_NUM
fasttrips fare rules column name: Origin Zone ID number FARE_RULES_COLUMN_ROUTE_ID
GTFS fare rules column name: Route ID FARE_RULES_COLUMN_ROUTE_ID_NUM
fasttrips Fare rules column name: Route ID num FARE_RULES_COLUMN_START_TIME
fasttrips Fare rules column name: Start time for the fare. FARE_TRANSFER_RULES_COLUMN_AMOUNT
fasttrips Fare transfer rules column name: Transfer amount (discount or fare) FARE_TRANSFER_RULES_COLUMN_FROM_FARE_PERIOD
fasttrips Fare transfer rules column name: From Fare Class FARE_TRANSFER_RULES_COLUMN_TO_FARE_PERIOD
fasttrips Fare transfer rules column name: To Fare Class FARE_TRANSFER_RULES_COLUMN_TYPE
fasttrips Fare transfer rules column name: Transfer type? INPUT_FARE_ATTRIBUTES_FILE
File with fasttrips fare attributes information (this subsitutes rather than extends the gtfs fare_attributes file).See fare_attributes_ft specification.. INPUT_FARE_PERIODS_FILE
File with fasttrips fare periods information See fare_rules_ft specification. INPUT_FARE_TRANSFER_RULES_FILE
File with fasttrips fare transfer rules information. INPUT_ROUTES_FILE
File with fasttrips routes information (this extends the gtfs routes file).See routes_ft specification.. MODE_NUM_START_ACCESS
Access mode numbers start from here MODE_NUM_START_EGRESS
Egress mode numbers start from here MODE_NUM_START_ROUTE
Route mode numbers start from here MODE_TYPE_ACCESS
Value for Route.ROUTES_COLUMN_MODE_TYPE
column: accessMODE_TYPE_EGRESS
Value for Route.ROUTES_COLUMN_MODE_TYPE
column: egressMODE_TYPE_TRANSFER
Value for Route.ROUTES_COLUMN_MODE_TYPE
column: transferMODE_TYPE_TRANSIT
Value for Route.ROUTES_COLUMN_MODE_TYPE
column: transitOUTPUT_FARE_ID_FILE
File with fare id num, fare id, fare class, price, xfers OUTPUT_FARE_TRANSFER_FILE
File with fare transfer rules OUTPUT_MODE_NUM_FILE
File with mode, mode number correspondence OUTPUT_ROUTE_ID_NUM_FILE
File with route ID, route ID number correspondence (and fare id num) ROUTES_COLUMN_AGENCY_ID
gtfs Routes column name: Agency ID ROUTES_COLUMN_MODE
fasttrips Routes column name: Mode ROUTES_COLUMN_MODE_NUM
fasttrips Routes column name: Mode number ROUTES_COLUMN_MODE_TYPE
fasttrips Routes column name: Mode type ROUTES_COLUMN_PROOF_OF_PAYMENT
fasttrips Routes column name: Proof of Payment ROUTES_COLUMN_ROUTE_ID
gtfs Routes column name: Unique identifier ROUTES_COLUMN_ROUTE_ID_NUM
fasttrips Routes column name: Mode number ROUTES_COLUMN_ROUTE_LONG_NAME
gtfs Routes column name: Long name ROUTES_COLUMN_ROUTE_SHORT_NAME
gtfs Routes column name: Short name ROUTES_COLUMN_ROUTE_TYPE
gtfs Routes column name: Route type TRANSFER_TYPE_OPTIONS
Valid options for Route.FARE_TRANSFER_RULES_COLUMN_TYPE
TRANSFER_TYPE_TRANSFER_COST
Value for Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: transfer fare costTRANSFER_TYPE_TRANSFER_DISCOUNT
Value for Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: transfer discountTRANSFER_TYPE_TRANSFER_FREE
Value for Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: free transfer-
add_access_egress_modes
(access_modes_df, egress_modes_df)[source]¶ Adds access and egress modes to the mode list Writes out mapping to disk
-
add_fares
(trip_links_df)[source]¶ Adds (or replaces) fare columns to the given
pandas.DataFrame
.New columns are
-
add_numeric_mode_id
(input_df, id_colname, numeric_newcolname, warn=False)[source]¶ Passing a
pandas.DataFrame
with a mode ID column called id_colname, adds the numeric mode id as a column named numeric_newcolname and returns it.
-
add_numeric_route_id
(input_df, id_colname, numeric_newcolname)[source]¶ Passing a
pandas.DataFrame
with a route ID column called id_colname, adds the numeric route id as a column named numeric_newcolname and returns it.
-
apply_fare_transfer_rules
(trip_links_df)[source]¶ Applies fare transfers by attaching previous fare period.
Adds (or replaces) columns
Route.FARE_TRANSFER_RULES_COLUMN_FROM_FARE_PERIOD
,Route.FARE_TRANSFER_RULES_COLUMN_TYPE
andRoute.FARE_TRANSFER_RULES_COLUMN_AMOUNT
and adjusts the values inAssignment.SIM_COL_PAX_FARE
.
-
apply_free_transfers
(trip_links_df)[source]¶ Apply the free transfers allowed in to trip_links_df fare_attributes_ft.txt (configured by columns transfers, transfer_duration). Sets columns Assignment.SIM_COL_PAX_FREE_TRANSFER to None, 0.0 or 1.0
-
write_routes_for_extension
()[source]¶ Write to an intermediate formatted file for the C++ extension. Since there are strings involved, it’s easier than passing it to the extension.
-
FARE_ATTR_COLUMN_CURRENCY_TYPE
= 'currency_type'¶
-
FARE_ATTR_COLUMN_FARE_PERIOD
= 'fare_period'¶
-
FARE_ATTR_COLUMN_PAYMENT_METHOD
= 'payment_method'¶
-
FARE_ATTR_COLUMN_PRICE
= 'price'¶
-
FARE_ATTR_COLUMN_TRANSFERS
= 'transfers'¶
-
FARE_ATTR_COLUMN_TRANSFER_DURATION
= 'transfer_duration'¶
-
FARE_RULES_COLUMN_CONTAINS_ID
= 'contains_id'¶ GTFS fare rules column name: Contains ID
-
FARE_RULES_COLUMN_DESTINATION_ID
= 'destination_id'¶ GTFS fare rules column name: Destination Zone ID
-
FARE_RULES_COLUMN_DESTINATION_ID_NUM
= 'destination_id_num'¶ fasttrips fare rules column name: Destination ID number
-
FARE_RULES_COLUMN_END_TIME
= 'end_time'¶ fasttrips Fare rules column name: End time for the fare rule. A DateTime.
-
FARE_RULES_COLUMN_FARE_ID
= 'fare_id'¶ fasttrips Fare rules column name: Fare ID
-
FARE_RULES_COLUMN_FARE_ID_NUM
= 'fare_id_num'¶ fasttrips Fare rules column name: Fare ID num
-
FARE_RULES_COLUMN_FARE_PERIOD
= 'fare_period'¶ fasttrips Fare rules column name: Fare class
-
FARE_RULES_COLUMN_ORIGIN_ID
= 'origin_id'¶ GTFS fare rules column name: Origin Zone ID
-
FARE_RULES_COLUMN_ORIGIN_ID_NUM
= 'origin_id_num'¶ fasttrips fare rules column name: Origin Zone ID number
-
FARE_RULES_COLUMN_ROUTE_ID
= 'route_id'¶ GTFS fare rules column name: Route ID
-
FARE_RULES_COLUMN_ROUTE_ID_NUM
= 'route_id_num'¶ fasttrips Fare rules column name: Route ID num
-
FARE_RULES_COLUMN_START_TIME
= 'start_time'¶ fasttrips Fare rules column name: Start time for the fare. A DateTime
-
FARE_TRANSFER_RULES_COLUMN_AMOUNT
= 'transfer_fare'¶ fasttrips Fare transfer rules column name: Transfer amount (discount or fare)
-
FARE_TRANSFER_RULES_COLUMN_FROM_FARE_PERIOD
= 'from_fare_period'¶ fasttrips Fare transfer rules column name: From Fare Class
-
FARE_TRANSFER_RULES_COLUMN_TO_FARE_PERIOD
= 'to_fare_period'¶ fasttrips Fare transfer rules column name: To Fare Class
-
FARE_TRANSFER_RULES_COLUMN_TYPE
= 'transfer_fare_type'¶ fasttrips Fare transfer rules column name: Transfer type?
-
INPUT_FARE_ATTRIBUTES_FILE
= 'fare_attributes_ft.txt'¶ File with fasttrips fare attributes information (this subsitutes rather than extends the gtfs fare_attributes file). See fare_attributes_ft specification.
-
INPUT_FARE_PERIODS_FILE
= 'fare_periods_ft.txt'¶ File with fasttrips fare periods information See fare_rules_ft specification.
-
INPUT_FARE_TRANSFER_RULES_FILE
= 'fare_transfer_rules_ft.txt'¶ File with fasttrips fare transfer rules information. See fare_transfer_rules specification.
-
INPUT_ROUTES_FILE
= 'routes_ft.txt'¶ File with fasttrips routes information (this extends the gtfs routes file). See routes_ft specification.
-
MODE_NUM_START_ACCESS
= 101¶ Access mode numbers start from here
-
MODE_NUM_START_EGRESS
= 201¶ Egress mode numbers start from here
-
MODE_NUM_START_ROUTE
= 301¶ Route mode numbers start from here
-
MODE_TYPE_ACCESS
= 'access'¶ Value for
Route.ROUTES_COLUMN_MODE_TYPE
column: access
-
MODE_TYPE_EGRESS
= 'egress'¶ Value for
Route.ROUTES_COLUMN_MODE_TYPE
column: egress
-
MODE_TYPE_TRANSFER
= 'transfer'¶ Value for
Route.ROUTES_COLUMN_MODE_TYPE
column: transfer
-
MODE_TYPE_TRANSIT
= 'transit'¶ Value for
Route.ROUTES_COLUMN_MODE_TYPE
column: transit
-
OUTPUT_FARE_ID_FILE
= 'ft_intermediate_fare.txt'¶ File with fare id num, fare id, fare class, price, xfers
-
OUTPUT_FARE_TRANSFER_FILE
= 'ft_intermediate_fare_transfers.txt'¶ File with fare transfer rules
-
OUTPUT_MODE_NUM_FILE
= 'ft_intermediate_supply_mode_id.txt'¶ File with mode, mode number correspondence
-
OUTPUT_ROUTE_ID_NUM_FILE
= 'ft_intermediate_route_id.txt'¶ File with route ID, route ID number correspondence (and fare id num)
-
ROUTES_COLUMN_AGENCY_ID
= 'agency_id'¶ gtfs Routes column name: Agency ID
-
ROUTES_COLUMN_MODE
= 'mode'¶ fasttrips Routes column name: Mode
-
ROUTES_COLUMN_MODE_NUM
= 'mode_num'¶ fasttrips Routes column name: Mode number
-
ROUTES_COLUMN_MODE_TYPE
= 'mode_type'¶ fasttrips Routes column name: Mode type
-
ROUTES_COLUMN_PROOF_OF_PAYMENT
= 'proof_of_payment'¶ fasttrips Routes column name: Proof of Payment
-
ROUTES_COLUMN_ROUTE_ID
= 'route_id'¶ gtfs Routes column name: Unique identifier
-
ROUTES_COLUMN_ROUTE_ID_NUM
= 'route_id_num'¶ fasttrips Routes column name: Mode number
-
ROUTES_COLUMN_ROUTE_LONG_NAME
= 'route_long_name'¶ gtfs Routes column name: Long name
-
ROUTES_COLUMN_ROUTE_SHORT_NAME
= 'route_short_name'¶ gtfs Routes column name: Short name
-
ROUTES_COLUMN_ROUTE_TYPE
= 'route_type'¶ gtfs Routes column name: Route type
-
TRANSFER_TYPE_OPTIONS
= ['transfer_discount', 'transfer_free', 'transfer_cost']¶ Valid options for
Route.FARE_TRANSFER_RULES_COLUMN_TYPE
-
TRANSFER_TYPE_TRANSFER_COST
= 'transfer_cost'¶ Value for
Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: transfer fare cost
-
TRANSFER_TYPE_TRANSFER_DISCOUNT
= 'transfer_discount'¶ Value for
Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: transfer discount
-
TRANSFER_TYPE_TRANSFER_FREE
= 'transfer_free'¶ Value for
Route.FARE_TRANSFER_RULES_COLUMN_TYPE
: free transfer
-
fare_by_class
= None¶ fares are by fare_period rather than by fare_id
-