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 in Route.agencies_df. Each are instances of pandas.DataFrame.

Fare information is in Route.fare_attrs_df, Route.fare_rules_df and Route.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: access
MODE_TYPE_EGRESS Value for Route.ROUTES_COLUMN_MODE_TYPE column: egress
MODE_TYPE_TRANSFER Value for Route.ROUTES_COLUMN_MODE_TYPE column: transfer
MODE_TYPE_TRANSIT Value for Route.ROUTES_COLUMN_MODE_TYPE column: transit
OUTPUT_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 cost
TRANSFER_TYPE_TRANSFER_DISCOUNT Value for Route.FARE_TRANSFER_RULES_COLUMN_TYPE: transfer discount
TRANSFER_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 and Route.FARE_TRANSFER_RULES_COLUMN_AMOUNT and adjusts the values in Assignment.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

remove_fare_period_overlap(fare_rules_ft_df)[source]

Split fare classes so they don’t overlap

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