Parameters
Definitions and types
This page lists all the parameters that can be used in the Toml configuration file. For each parameter, the documentation also lists all the steps that uses this parameter as input.
The parameters’ names are separated by dots representing the (potentially nested) tables in which
they must be defined.
For example, the parameter modes.car_driver.alpha must be defined as:
[modes]
[modes.car_driver]
alpha = 10.0
For each parameter, the documentation specifies the types of values allowed. These types mostly follows the Toml specification (String, Integer, Float, Boolean), with the following special types:
- Time: time of the day. It can be specified either as a valid Toml time (e.g.,
07:30:00), as a number of seconds after midnight (e.g.,27000), or as a string (e.g.,"07:30","07:30:00"). Only the two latter specifications allows to specify times past midnight (e.g.,113400and"31:30:00"both represent07:30on the next day). - Duration: a time duration (e.g., 1 hour 30 minutes, 10 seconds). It can be specified either as
a string with a valid ISO8601 duration (e.g.,
"PT1H30M10S") or as a number of seconds (e.g.,5410). - List: a Toml array (e.g.,
[1, 2, 3]). When specified, the array elements must be of a specific type. There can also be constraints on the number of elements. For example, thesimulation_parameters.periodparameter must be an array with exactly two elements of type Time. - Table: a Toml table. It can be specified either as a complete table or as an inline table.
For example, many parameters can take as input a special table representing a distribution. These parameters can be specified as
[modes]
[modes.car_driver]
[modes.car_driver.alpha]
mean = 10.0
std = 1.0
distribution = "Normal"
or as
[modes]
[modes.car_driver]
alpha = { mean = 10.0, std = 1.0, distribution = "Normal" }
Warning
For parameters specifying a distribution (e.g.,
modes.car_driver.alpha), the meaning of thestdvalue depends on the selected distribution.For
"Uniform"distributions, the values are uniformly distributed in the interval[mean - std, mean + std], so the actual standard-deviation isstd / √3.For
"Lognormal"distributions,meanandstdrepresent the mean and standard-deviation of the underlying normal distribution.
Secrets and environment variables
Pymetropolis supports a special syntax to read parameter values from a “secret” configuration file or from environment variables instead. This is useful when you want to share the main configuration TOML file, without sharing the value of some parameters (especially API keys).
Secrets
To tell Pymetropolis to read the value of a parameter from the secret configuration file, use:
# config.toml
[tomtom_requests]
api_key = "secret:tomtom_api_key"
# secrets.toml
tomtom_api_key = "MY_API_KEY"
Environment variables
To tell Pymetropolis to read the value of a parameter from an environment variable, use:
# config.toml
[tomtom_requests]
api_key = "env:TOMTOM_API_KEY"
Reference
main_directory
- Description: Directory where all the generated MetroFiles are stored.
- Allowed values: String representing a valid path
- Example: “my_simulation/”
- Note: If the directory does not exist, it will be automatically created when running Pymetropolis. A relative path is resolved against the directory of the main configuration file, not against the current working directory from which Pymetropolis is run.
- Steps: All
secrets_file
- Description: Path to the file where the secret configuration values are defined.
- Allowed values: String representing a valid path
- Default: “secrets.toml”
- Note: If the file is defined but does not exist, Pymetropolis will raise an error. A relative path is resolved against the directory of the main configuration file, not against the current working directory from which Pymetropolis is run.
- Steps: All
extra_populations
- Description: List of paths to TOML configuration files, each one defining an additional demand population to be simulated alongside the main population (i.e., the population defined directly in the main configuration file).
- Allowed values: List of strings representing valid paths
- Example:
["persons.toml", "trucks.toml"] - Note: Paths are relative to the main configuration file. Each listed file is a standalone
TOML configuration file with its own
population_namekey, using the exact same dotted parameter keys as the main configuration file (no renaming needed). See the Multiple-demand page for more details. - Steps: All
main_population
- Description: Whether the main population (i.e., the population defined directly in the main
configuration file, as opposed to the populations listed in
extra_populations) should be simulated. - Allowed values: Boolean
- Default:
true - Note: Set to
falseif the main configuration file should not itself define a population (only the populations listed inextra_populationsare then simulated). See the Multiple-demand page for more details. - Steps: All
population_name
- Description: Name of the population defined by an extra-population configuration file (see
extra_populations). - Allowed values: String
- Note: Required in every extra-population configuration file; not used in the main
configuration file. Population names must be unique across all populations, cannot contain the
"-"character, and cannot be"population"(the name reserved for the main population) whenmain_populationistrue. - Steps: All
custom_steps
- Description: List of paths to Python files, each one defining custom
Stepsubclasses to be loaded alongside the built-in Steps. - Allowed values: List of strings representing valid paths
- Example:
["my_steps.py"] - Note: Paths are relative to the main configuration file.
- Steps: All
crs
- Description: Projected coordinate system to be used for spatial operations.
- Allowed values: any value accepted by
pyproj.CRS.from_user_input() - Example: “EPSG:2154” (Lambert projection adapted for France)
- Note: You can use the epsg.io website to find a projected coordinate system that is adapted for your study area. It is strongly recommended that the unit of measure is meter. If you use a coordinate system for an area of use that is not adapted or with an incorrect unit of measure, then some operations might fail or the results might be erroneous (like road length being overestimated).
- Steps:
BicycleODNodesFromCoordinatesStep,EqasimImportStep,FrenchZonesStep,ImportTripCoordinatesStep,OpenStreetMapBicycleImportStep,OpenStreetMapPedestrianImportStep,OpenStreetMapRoadImportStep,OpenStreetMapUrbanAreasStep,PedestrianODNodesFromCoordinatesStep,PopulationFromTripCoordinatesStep,RoadODNodesFromCoordinatesStep,SimulationAreaFromAAVStep,SimulationAreaFromBboxStep,SimulationAreaFromOSMStep,SimulationAreaFromPolygonsStep,TomTomRequestsStep,ZonesLevel1RoadNodesStep,ZonesLevel2RoadNodesStep,ZonesLevel3RoadNodesStep,ZonesLevel4RoadNodesStep,ZonesLevel5RoadNodesStep
nb_threads
- Description: Maximum number of threads to be used when running tasks in parallel.
- Allowed values: Integer
- Note: Default is to use all the available threads.
- Steps:
EstimateJointToursClassifierStep,EstimateModeClassifierStep,TripsOpenTripPlannerStep,WriteMetroParametersStep
osm_file
- Description: Path to the OpenStreetMap file (
.osmor.osm.pbf) with data for the simulation area. - Allowed values: String representing a valid path to an existing file [possible extensions: .pbf, .osm]
- Example:
"data/osm/france-250101.osm.pbf" - Note: You can download extract of OpenStreetMap data for any region in the world through the Geofabrik website. You can also download data directly from the OSM website, using the “Export” button, although it is limited to small areas.
- Steps:
OpenStreetMapBicycleImportStep,OpenStreetMapPedestrianImportStep,OpenStreetMapRoadImportStep,OpenStreetMapUrbanAreasStep,SimulationAreaFromOSMStep,TripsPublicTransitTravelTimeFromR5Step
random_seed
- Description: Random seed used to initialize the random number generator.
- Allowed values: Integer
- Note: If the random seed is not defined, some operations are not deterministic, i.e., they can produce different results if re-run.
- Steps:
BicyclePreferencesStep,CarDriverPreferencesStep,CarDriverWithPassengersPreferencesStep,CarPassengerPreferencesStep,CarRidesharingPreferencesStep,ClassifyJointToursStep,ClassifyToursModeStep,CustomODMatrixStep,EqasimImportStep,EstimateJointToursClassifierStep,EstimateModeClassifierStep,GravityODMatrixStep,HomogeneousTstarStep,LinearScheduleStep,ODMatrixEachStep,OutsideOptionPreferencesStep,PublicTransitPreferencesStep,TomTomRequestsStep,UniformDrawsStep,WalkingPreferencesStep
simulation_ratio
- Description: Ratio of the population that is being simulated.
- Allowed values: Float between 0.0 and 1.0
- Note: This value controls how road capacities and aggregate results are scaled when the simulated agents do not represent 100% of population. It does not affect the scaling of the input origin-destination matrix or synthetic population.
- Steps:
AggregateResultsStep,WriteMetroVehicleTypesStep
bicycle_network.ensure_connected
- Description: Whether the network should be restricted to the largest strongly connected component of the underlying graph.
- Allowed values: Boolean
- Note: If
False, it is the user’s responsibility to ensure that all origin-destination pairs are feasible. - Steps:
PostprocessBicycleNetworkStep
bicycle_network.forbidden_types
- Description: List of bicycle edges’ types that cannot be used as origin / destination edge.
- Allowed values: List of String
- Example:
["trunk", "trunk_link"] - Steps:
BicycleODNodesFromCoordinatesStep
bicycle_network.reindex
- Description: If
true, the edges are re-index after the postprocessing so that they are indexed from 0 to n-1. - Allowed values: Boolean
- Steps:
PostprocessBicycleNetworkStep
bicycle_network.remove_duplicates
- Description: Whether the duplicate edges (edges with same source and target) should be removed.
- Allowed values: Boolean
- Note: If
True, the edge with the smallest travel time is kept. - Steps:
PostprocessBicycleNetworkStep
bicycle_routing.output_path
- Description: Whether the minimum-cost paths are stored.
- Allowed values: Boolean
- Steps:
TripsBicycleCostStep
calibration.free_flow_travel_time.additive_interaction_variables
- Description: Name of variable pairs whose interaction is used as additive penalties in the Lasso regression.
- Allowed values: List of List of String [exactly 2 elements]
- Note: The listed variables must be available in
RoadEdgesVariablesFile. - Steps:
FreeFlowLassoStep
calibration.free_flow_travel_time.additive_variables
- Description: Name of variables to be used as additive penalties in the Lasso regression.
- Allowed values: List of String
- Note: A constant is automatically included. The listed variables must be available in
RoadEdgesVariablesFile. - Steps:
FreeFlowLassoStep
calibration.free_flow_travel_time.multiplicative_interaction_variables
- Description: Name of variable pairs whose interaction is used as multiplicative penalties in the Lasso regression.
- Allowed values: List of List of String [exactly 2 elements]
- Note: The listed variables must be available in
RoadEdgesVariablesFile. - Steps:
FreeFlowLassoStep
calibration.free_flow_travel_time.multiplicative_variables
- Description: Name of variables to be used as multiplicative penalties in the Lasso regression.
- Allowed values: List of String
- Note: A constant is automatically included. The listed variables must be available in
RoadEdgesVariablesFile. - Steps:
FreeFlowLassoStep
circular_network.entry_ramps_length
- Description: Length of entry ramps, in meters.
- Allowed values: Float
- Steps:
CircularNetworkStep
circular_network.exit_ramps_length
- Description: Length of exit ramps, in meters.
- Allowed values: Float
- Steps:
CircularNetworkStep
circular_network.nb_radials
- Description: Number of radial axis.
- Allowed values: Integer
- Steps:
CircularNetworkStep
circular_network.nb_rings
- Description: Number of rings.
- Allowed values: Integer
- Steps:
CircularNetworkStep
circular_network.radial_inter_ramp_length
- Description: Length of the radial road segments (tunnels) between the clockwise and counter-clockwise ramps, in meters.
- Allowed values: Float
- Steps:
CircularNetworkStep
circular_network.radius
- Description: Radius of each ring, in meters.
- Allowed values: float or list of floats
- Note: If a scalar, the distance between each ring. If a list, the (cumulative) distance of each ring to the center.
- Steps:
CircularNetworkStep
circular_network.resolution
- Description: The number of points in the geometry of the ring roads.
- Allowed values: Integer
- Steps:
CircularNetworkStep
circular_network.ring_inter_ramp_length
- Description: Length of the ring road segments (bridges) between the left and right ramps, in meters.
- Allowed values: Float
- Steps:
CircularNetworkStep
circular_network.with_ramps
- Description: Whether entry / exit ramps to the ring roads should be added.
- Allowed values: Boolean
- Steps:
CircularNetworkStep
custom_road_import.edges_file
- Description: Path to the geospatial file containing the edges definition.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_edges.geojson" - Steps:
CustomRoadImportStep
departure_time.linear_schedule.beta
- Description: Penalty for starting an activity earlier than the desired time (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
LinearScheduleStep
departure_time.linear_schedule.delta
- Description: Length of the desired time window.
- Allowed values: Duration or a table with keys
mean(Duration),std(Duration), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
LinearScheduleStep
departure_time.linear_schedule.gamma
- Description: Penalty for starting an activity later than the desired time (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
LinearScheduleStep
departure_time.linear_schedule.preferences_file
- Description: Path to a Parquet or CSV file with the beta, gamma and delta values for different activity purposes.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
purpose,beta,gamma,delta. - Steps:
LinearScheduleFromPurposeStep
departure_time.linear_schedule.tstar
- Description: Desired start time of the following activity.
- Allowed values: Time or a table with keys
mean(Time),std(Duration), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
HomogeneousTstarStep
departure_time.linear_schedule.tstar_type
- Description: How tstar values are computed.
- Allowed values: Either
'arrival_time' - Steps:
TstarFromArrivalTimeStep
departure_time_choice.model
- Description: Type of choice model for departure-time choice
- Allowed values: Either
'ContinuousLogit','Exogenous' - Steps:
PrepareMetroAlternativesStep
departure_time_choice.mu
- Description: Value of mu for the Continuous Logit departure-time choice model
- Allowed values: Float
- Note: Only required when departure-time choice model is ContinuousLogit
- Steps:
PrepareMetroAlternativesStep
fuel.consumption_factor
- Description: Fuel consumption, in liters per km.
- Allowed values: Float
- Steps:
CarFuelStep
fuel.price
- Description: Price of fuel, in € per liter.
- Allowed values: Float
- Steps:
CarFuelStep
grid_network.bottom_to_top
- Description: Whether edges going from bottom to top should be generated.
- Allowed values: Boolean
- Steps:
GridNetworkStep
grid_network.left_to_right
- Description: Whether edges going from left to right should be generated.
- Allowed values: Boolean
- Steps:
GridNetworkStep
grid_network.length
- Description: Length of an edge, in meters.
- Allowed values: Float
- Steps:
GridNetworkStep
grid_network.nb_columns
- Description: Number of columns (i.e., number of nodes on each row).
- Allowed values: Integer
- Steps:
GridNetworkStep
grid_network.nb_rows
- Description: Number of rows (i.e., number of nodes on each column).
- Allowed values: Integer
- Steps:
GridNetworkStep
grid_network.right_to_left
- Description: Whether edges going from right to left should be generated.
- Allowed values: Boolean
- Steps:
GridNetworkStep
grid_network.top_to_bottom
- Description: Whether edges going from top to bottom should be generated.
- Allowed values: Boolean
- Steps:
GridNetworkStep
gtfs.date
- Description: Date to be considered for the public-transit network.
- Allowed values: Date
- Note: Ensure that the GTFS file(s) have active services for this date.
- Steps:
TripsOpenTripPlannerStep,TripsPublicTransitTravelTimeFromR5Step
gtfs.files
- Description: List of GTFS files that form the public-transit network.
- Allowed values: List of String representing a valid path to an existing file
- Example:
["data/gtfs/madrid-gtfs.zip"] - Steps:
TripsOpenTripPlannerStep,TripsPublicTransitTravelTimeFromR5Step
ign.admin_express_directory
- Description: Path to the directory where the ADMIN EXPRESS database is stored.
- Allowed values: String representing a valid path to an existing directory
- Note: The database can be downloaded from cartes.gouv.fr.The ADMIN EXPRESS COG CARTO version and GPKG format are recommended. The 7z file needs to be extracted.
- Steps:
AdminExpressStep,FrenchZonesStep
ign.api_communes_service_name
- Description: Name of the API service from which to request communes data.
- Allowed values: String
- Note: For faster but less accurate queries, you can use the “COG-CARTO-PE” version.
- Steps:
AdminExpressStep,FrenchZonesStep
ign.api_departements_service_name
- Description: Name of the API service from which to request départements data.
- Allowed values: String
- Note: For faster but less accurate queries, you can use the “COG-CARTO-PE” version.
- Steps:
AdminExpressStep,FrenchZonesStep
ign.api_iris_service_name
- Description: Name of the API service from which to request IRIS data.
- Allowed values: String
- Note: For faster but less accurate queries, you can use the “STATISTICALUNITS.IRIS.PE” version.
- Steps:
FrenchZonesStep,IRISStep
ign.api_regions_service_name
- Description: Name of the API service from which to request régions data.
- Allowed values: String
- Note: For faster but less accurate queries, you can use the “COG-CARTO-PE” version.
- Steps:
AdminExpressStep,FrenchZonesStep
ign.api_wfs_url
- Description: Url to the WFS API from which to get IGN data.
- Allowed values: String
- Steps:
AdminExpressStep,FrenchZonesStep,IRISStep
ign.contours_iris_directory
- Description: Path to the directory where the Contours IRIS database is stored.
- Allowed values: String representing a valid path to an existing directory
- Note: The database can be downloaded from cartes.gouv.fr.The GPKG format is recommended. The 7z file needs to be extracted.
- Steps:
FrenchZonesStep,IRISStep
joint_travel.external_model
- Description: Path to a .joblib file with the classifier for joint tours.
- Allowed values: String representing a valid path to an existing file
- Steps:
ExternalJointToursClassifierStep
joint_travel.features
- Description: List of variables to use in the model.
- Allowed values: List of String
- Note: Variables should be available in
SurveyedToursFile. - Steps:
EstimateJointToursClassifierStep
joint_travel.model
- Description: ML model to use as classifier.
- Allowed values: String
- Note: If no model is specified, multiple classifiers are run and the best one is selected.
- Steps:
EstimateJointToursClassifierStep
metropolis_core.exec_path
- Description: Path to the
metropolis_cliexecutable. - Allowed values: String representing a valid path to an executable
- Note: On Windows, you can omit the “.exe” extension
- Steps:
RunSimulationStep
metropolis_core.routing_exec_path
- Description: Path to the
routing_cliexecutable. - Allowed values: String representing a valid path to an executable
- Note: On Windows, you can omit the “.exe” extension
- Steps:
TripsBicycleCostStep,TripsCarFreeFlowTravelTimesStep,TripsPedestrianDistancesStep,ZonesODCongestedTravelTimesStep,ZonesODFreeFlowTravelTimesStep
mode_choice.model
- Description: Type of choice model for mode choice
- Allowed values: Either
'DrawnNestedLogit','Deterministic','DrawnLogit','Logit' - Steps:
PrepareMetroAgentsStep
mode_choice.modes
- Description: List of modes the agents can used to travel.
- Allowed values: List of Either
'car_passenger','outside_option','car_driver','public_transit','car_driver_with_passengers','walking','car_ridesharing','bicycle'[at least 1 elements] - Steps:
PrepareMetroAgentsStep,PrepareMetroAlternativesStep,PrepareMetroTripsStep
mode_choice.mu
- Description: Value of mu for the Logit choice model
- Allowed values: Float
- Note: Only required when mode choice model is Logit
- Steps:
PrepareMetroAgentsStep
mode_classifier.external_model
- Description: Path to a .joblib file with the classifier for modes.
- Allowed values: String representing a valid path to an existing file
- Steps:
ExternalModeClassifierStep
mode_classifier.features
- Description: List of variables to use in the model.
- Allowed values: List of String
- Note: Variables should be available in
SurveyedToursFile. - Steps:
EstimateModeClassifierStep
mode_classifier.group_car_driver_modes
- Description: If
true, all car-driver modes are grouped in a single category. - Allowed values: Boolean
- Steps:
EstimateModeClassifierStep
mode_classifier.model
- Description: ML model to use as classifier.
- Allowed values: String
- Note: If no model is specified, multiple classifiers are run and the best one is selected.
- Steps:
EstimateModeClassifierStep
mode_classifier.modes
- Description: Valid modes to be used in the model.
- Allowed values: List of String
- Note: If not specified, all modes are used.
- Steps:
EstimateModeClassifierStep
modes.bicycle.alpha
- Description: Value of time by bicycle (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
BicyclePreferencesStep
modes.bicycle.constant
- Description: Constant penalty for each bicycle trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
BicyclePreferencesStep
modes.bicycle.distance.type
- Description: How distance of bicycle trips is computed.
- Allowed values: Either
'pedestrian' - Steps:
BicycleTravelTimesFromDistanceStep
modes.bicycle.distance.with_snap
- Description: (“Whether snap distances at origin and destination should be added to the trips’ total distances.”,)
- Allowed values: Boolean
- Steps:
BicycleTravelTimesFromDistanceStep
modes.bicycle.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
BicyclePreferencesFromPopulationStep
modes.bicycle.snap_speed
- Description: Bicycle speed on the snap part of the trip, in km/h.
- Allowed values: Float
- Note: Default is to use
modes.bicycle.speedas snap speed. - Steps:
BicycleTravelTimesFromDistanceStep
modes.bicycle.speed
- Description: Constant bicycle speed for all trips, in km/h.
- Allowed values: Float
- Steps:
BicycleTravelTimesFromDistanceStep
modes.car_driver.alpha
- Description: Value of time by car_driver (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarDriverPreferencesStep
modes.car_driver.constant
- Description: Constant penalty for each car_driver trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarDriverPreferencesStep
modes.car_driver.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
CarDriverPreferencesFromPopulationStep
modes.car_driver_with_passengers.alpha
- Description: Value of time by car_driver_with_passengers (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarDriverWithPassengersPreferencesStep
modes.car_driver_with_passengers.constant
- Description: Constant penalty for each car_driver_with_passengers trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarDriverWithPassengersPreferencesStep
modes.car_driver_with_passengers.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
CarDriverWithPassengersPreferencesFromPopulationStep
modes.car_passenger.alpha
- Description: Value of time by car_passenger (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarPassengerPreferencesStep
modes.car_passenger.constant
- Description: Constant penalty for each car_passenger trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarPassengerPreferencesStep
modes.car_passenger.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
CarPassengerPreferencesFromPopulationStep
modes.car_ridesharing.alpha
- Description: Value of time by car_ridesharing (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarRidesharingPreferencesStep
modes.car_ridesharing.constant
- Description: Constant penalty for each car_ridesharing trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
CarRidesharingPreferencesStep
modes.car_ridesharing.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
CarRidesharingPreferencesFromPopulationStep
modes.outside_option.alpha
- Description: Value of time for the outside option (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Note: This is usually not relevant as the outside option does not imply traveling.
- Steps:
OutsideOptionPreferencesStep
modes.outside_option.constant
- Description: Constant penalty of the outside option (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Note: Use negative values to represent benefits (i.e., a positive utility).
- Steps:
OutsideOptionPreferencesStep
modes.outside_option.road_network_speed
- Description: Constant speed on the road network to compute travel time for outside option trips (km/h).
- Allowed values: Float
- Steps:
OutsideOptionTravelTimesFromRoadDistancesStep
modes.public_transit.alpha
- Description: Value of time by public_transit (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
PublicTransitPreferencesStep
modes.public_transit.constant
- Description: Constant penalty for each public_transit trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
PublicTransitPreferencesStep
modes.public_transit.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
PublicTransitPreferencesFromPopulationStep
modes.public_transit.road_network_speed
- Description: Speed of public-transit vehicles on the road network (km/h).
- Allowed values: Float
- Steps:
PublicTransitTravelTimesFromRoadDistancesStep
modes.walking.alpha
- Description: Value of time by walking (€/h).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
WalkingPreferencesStep
modes.walking.constant
- Description: Constant penalty for each walking trip (€).
- Allowed values: Float or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
WalkingPreferencesStep
modes.walking.distance.type
- Description: How distance of walking trips is computed.
- Allowed values: Either
'pedestrian' - Steps:
WalkingTravelTimesFromDistanceStep
modes.walking.distance.with_snap
- Description: (“Whether snap distances at origin and destination should be added to the trips’ total distances.”,)
- Allowed values: Boolean
- Steps:
WalkingTravelTimesFromDistanceStep
modes.walking.preferences_file
- Description: Path to a Parquet or CSV file with the constant and alpha values for different population segments.
- Allowed values: String representing a valid path to an existing file
- Note: Possible columns:
mode,constant,alpha,value_of_time, any persons’ characteristics column fromPersonsFile. - Steps:
WalkingPreferencesFromPopulationStep
modes.walking.snap_speed
- Description: Walking speed on the snap part of the trip, in km/h.
- Allowed values: Float
- Note: Default is to use
modes.walking.speedas snap speed. - Steps:
WalkingTravelTimesFromDistanceStep
modes.walking.speed
- Description: Constant walking speed for all trips, in km/h.
- Allowed values: Float
- Steps:
WalkingTravelTimesFromDistanceStep
od_matrix.edge_weights
- Description: Probability weights of edges when drawing origins / destinations.
- Allowed values: a number (constant weight for all edges), a table with edge types as keys and weights as values, or a table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[od_matrix.edge_weights]
[od_matrix.edge_weights.urban]
motorway = 4
road = 2
[od_matrix.edge_weights.rural]
motorway = 4
road = 3
- Note: Only used when origins / destinations are drawn along road edges (i.e.,
zone_levelis set anduse_centroidis false). The probability that an edge is used as origin / destination for a trip is proportional toweight * length_in_zonewherelength_in_zoneis the length of the edge within the current zone. Edges with larger weights are more likely to be selected as origin / destination. Actual origins / destinations are then set to a random point drawn along the selected edge. Edges with 0 weight cannot be selected as origin / destination, unless all edges in the zone have zero-weight, in which case all edges in the zone are equally likely to be selected. Default is to use a weight of 1 for all edges. - Steps:
CustomODMatrixStep,GravityODMatrixStep,ODMatrixEachStep
od_matrix.file
- Description: Path to the CSV or Parquet file containing the origin-destination matrix.
- Allowed values: String representing a valid path to an existing file
- Note: Required columns are:
origin(id of origin zone / node),destination(id of destination zone / node), andsize(int or float, number of trips). - Steps:
CustomODMatrixStep
od_matrix.gravity.exponential_decay
- Description: Exponential decay rate of flows as a function of distance (rate per kilometers).
- Allowed values: Float
- Steps:
GravityODMatrixStep
od_matrix.gravity.trips_per_origin
- Description: Number of trips to be generated from each origin.
- Allowed values: Integer or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
GravityODMatrixStep
od_matrix.max_edges_per_zone
- Description: Maximum number of edges that can be used as origin / destination in each zone.
- Allowed values: Integer not smaller than 1
- Note: Only used when origins / destinations are drawn along road edges (i.e.,
zone_levelis set anduse_centroidis false). Default is to allow an unlimited number of edges per zone. - Steps:
CustomODMatrixStep,GravityODMatrixStep,ODMatrixEachStep
od_matrix.trips_per_pair
- Description: Number of trips to generate for each origin-destination pair.
- Allowed values: Integer or a table with keys
mean(Float),std(Float), anddistribution(one of'Uniform','Gaussian','Normal','Lognormal') - Steps:
ODMatrixEachStep
od_matrix.use_centroid
- Description: If true, origin / destination coordinates are set to the centroid of the zone.
- Allowed values: Boolean
- Note: Ignored when
zone_levelis NULL, in which case origin / destination coordinates are always the road nodes’ coordinates. - Steps:
CustomODMatrixStep,GravityODMatrixStep,ODMatrixEachStep
od_matrix.zone_level
- Description: Zone level (1-5) used by the origin-destination matrix.
- Allowed values: Integer between 1 and 5
- Note: When set to NULL (default), one zone is defined for each node of the road network. It is discouraged to do so with a large network (> 10k nodes). Similarly, it is recommended to use a zone level with fewer than 10k nodes.
- Steps:
CustomODMatrixStep,GravityODMatrixStep,ODMatrixEachStep
od_matrix.zone_regex
- Description: Regular expression specifying the zones to be selected as possible origin / destination.
- Allowed values: String
- Note: If not specified, any zone can be an origin / destination. If
zone_levelis NULL, the regex applies to the road nodes instead. - Steps:
CustomODMatrixStep,GravityODMatrixStep,ODMatrixEachStep
od_matrix_travel_times.congested_zones_levels
- Description: Zones levels for which OD congested travel times are computed.
- Allowed values: List of Integer [at most 5 elements]
- Example:
[3, 4] - Steps:
ZonesODCongestedTravelTimesStep
od_matrix_travel_times.free_flow_zones_levels
- Description: Zones levels for which OD free-flow travel times are computed.
- Allowed values: List of Integer between 1 and 5 [at most 5 elements]
- Example:
[3, 4] - Steps:
ZonesODFreeFlowTravelTimesStep
od_matrix_travel_times.time_window
- Description: Time window over which the congested travel time is aggregated.
- Allowed values: List of Time [exactly 2 elements]
- Example:
[06:00:00, 09:00:00] - Steps:
ZonesODCongestedTravelTimesStep
opentripplanner.batch_size
- Description: How many trips should be processed in each batch.
- Allowed values: Integer
- Note: Default is to process all trips in a single batch. Use a lower value if you are running out of memory.
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.bus
- Description: Multiplier for the value of time in a bus.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.rail
- Description: Multiplier for the value of time for rail transport.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.subway
- Description: Multiplier for the value of time in a subway.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.tram
- Description: Multiplier for the value of time in a tramway.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.wait
- Description: Multiplier for the value of time waiting.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.multipliers.walk
- Description: Multiplier for the value of time walking.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
opentripplanner.time
- Description: Departure / arrival time of the requests.
- Allowed values: Time
- Note: If
time_typeis"custom_departure", this is the departure time used for all requests. Iftime_typeis"custom_arrival", this is the arrival time used for all requests. Otherwise, the value is only used as a default for missing departure / arrival time. - Steps:
TripsOpenTripPlannerStep
opentripplanner.time_type
- Description: How the departure / arrival time of the requests is defined.
- Allowed values: Either
'custom_arrival','arrival','tstar','departure','custom_departure' - Note: If
"departure", trips’ departure times are read from the trips’ ex-ante departure times. If"arrival", trips’ arrival times are read from the trips’ ex-ante arrival times. If"tstar", trips’ arrival times are read from the trips’ desired arrival times. If"custom_departure", the departure times are equal to the value ofopentripplanner.timefor all trips. If"custom_arrival", the arrival times are equal to the value ofopentripplanner.timefor all trips. - Steps:
TripsOpenTripPlannerStep
opentripplanner.transfer_cost
- Description: Penalty for transfers, in seconds equivalent.
- Allowed values: Integer
- Steps:
TripsOpenTripPlannerStep
opentripplanner.url
- Description: URL from which the OpenTripPlanner API can be accessed.
- Allowed values: String
- Steps:
TripsOpenTripPlannerStep
opentripplanner.walking_speed
- Description: Walking speed for public-transit trips, in km/h.
- Allowed values: Float
- Steps:
TripsOpenTripPlannerStep
osm_bicycle_import.highways
- Description: List of
highway=*OpenStreetMap tags to be considered as valid bicycle ways. - Allowed values: List of String [at least 1 elements]
- Example:
["tertiary", "tertiary_link", "residential", "cycleway", "path"] - Note: A list of highway tags with description is available on the OpenStreetMap wiki.
- Steps:
OpenStreetMapBicycleImportStep
osm_bicycle_import.reindex
- Description: If
true, the edges are re-index from 1 to n. Iffalse, edge ids match the OpenStreetMap way ids. - Allowed values: Boolean
- Steps:
OpenStreetMapBicycleImportStep
osm_bicycle_import.simulation_area_buffer
- Description: Distance by which the polygon of the simulation area must be extended or shrinked when importing the bicycle network.
- Allowed values: Float
- Note: The value is expressed in the unit of measure of the CRS (usually meter). Positive values extend the area, while negative values shrink it.
- Steps:
OpenStreetMapBicycleImportStep
osm_bicycle_import.simulation_area_filter
- Description: Whether the bicycle network must be restricted to the edges within the simulation area.
- Allowed values: Boolean
- Steps:
OpenStreetMapBicycleImportStep
osm_pedestrian_import.highways
- Description: List of
highway=*OpenStreetMap tags to be considered as valid pedetrian ways. - Allowed values: List of String [at least 1 elements]
- Example:
["track", "footway", "path", "pedestrian"] - Note: A list of highway tags with description is available on the OpenStreetMap wiki.
- Steps:
OpenStreetMapPedestrianImportStep
osm_pedestrian_import.reindex
- Description: If
true, the edges are re-index from 1 to n. Iffalse, edge ids match the OpenStreetMap way ids. - Allowed values: Boolean
- Steps:
OpenStreetMapPedestrianImportStep
osm_pedestrian_import.simulation_area_buffer
- Description: Distance by which the polygon of the simulation area must be extended or shrinked when importing the pedestrian network.
- Allowed values: Float
- Note: The value is expressed in the unit of measure of the CRS (usually meter). Positive values extend the area, while negative values shrink it.
- Steps:
OpenStreetMapPedestrianImportStep
osm_pedestrian_import.simulation_area_filter
- Description: Whether the pedestrian network must be restricted to the edges within the simulation area.
- Allowed values: Boolean
- Steps:
OpenStreetMapPedestrianImportStep
osm_road_import.allowed_access
- Description: List of
access=*OpenStreetMap tags defining ways accessible to road vehicles. - Allowed values: List of String
- Note: Any way with an
accessvalue that is not in the given list will be considered as not accessible to road vehicles and thus will not be imported. A list of access tags with description is available on the OpenStreetMap wiki. - Steps:
OpenStreetMapRoadImportStep
osm_road_import.highways
- Description: List of
highway=*OpenStreetMap tags to be considered as valid road ways. - Allowed values: List of String [at least 1 elements]
- Example:
["motorway", "motorway_link", "trunk", "trunk_link", "primary", "primary_link"] - Note: A list of highway tags with description is available on the OpenStreetMap wiki.
- Steps:
OpenStreetMapRoadImportStep
osm_road_import.reindex
- Description: If
true, the edges are re-index from 1 to n. Iffalse, edge ids match the OpenStreetMap way ids. - Allowed values: Boolean
- Steps:
OpenStreetMapRoadImportStep
osm_road_import.simulation_area_buffer
- Description: Distance by which the polygon of the simulation area must be extended or shrinked when importing the road network.
- Allowed values: Float
- Note: The value is expressed in the unit of measure of the CRS (usually meter). Positive values extend the area, while negative values shrink it.
- Steps:
OpenStreetMapRoadImportStep
osm_road_import.simulation_area_filter
- Description: Whether the road network must be restricted to the edges within the simulation area.
- Allowed values: Boolean
- Steps:
OpenStreetMapRoadImportStep
osm_urban_areas.buffer
- Description: Distance by which the polygons of the urban areas are buffered.
- Allowed values: Float
- Note: The value is expressed in the unit of measure of the CRS (usually meter). Positive values extend the area, while negative values shrink it.
- Steps:
OpenStreetMapUrbanAreasStep
osm_urban_areas.urban_landuse_tags
- Description: List of
landuse=*OpenStreetMap tags that define urban areas. - Allowed values: List of String [at least 1 elements]
- Example:
["residential", "industrial", "commercial", "retail"] - Note: A list of landuse tags with description is available on the OpenStreetMap wiki.
- Steps:
OpenStreetMapUrbanAreasStep
pedestrian_network.ensure_connected
- Description: Whether the network should be restricted to the largest strongly connected component of the underlying graph.
- Allowed values: Boolean
- Note: If
False, it is the user’s responsibility to ensure that all origin-destination pairs are feasible. - Steps:
PostprocessPedestrianNetworkStep
pedestrian_network.forbidden_types
- Description: List of pedestrian edges’ types that cannot be used as origin / destination edge.
- Allowed values: List of String
- Example:
["trunk", "trunk_link"] - Steps:
PedestrianODNodesFromCoordinatesStep
pedestrian_network.reindex
- Description: If
true, the edges are re-index after the postprocessing so that they are indexed from 0 to n-1. - Allowed values: Boolean
- Steps:
PostprocessPedestrianNetworkStep
pedestrian_network.remove_duplicates
- Description: Whether the duplicate edges (edges with same source and target) should be removed.
- Allowed values: Boolean
- Note: If
True, the edge with the smallest travel time is kept. - Steps:
PostprocessPedestrianNetworkStep
pedestrian_routing.output_path
- Description: Whether the shortest paths are stored.
- Allowed values: Boolean
- Steps:
TripsPedestrianDistancesStep
population.trip_coordinates_file
- Description: Path to a Parquet / CSV file with coordinates of each trip.
- Allowed values: String representing a valid path to an existing file
- Steps:
ImportTripCoordinatesStep
r5.coordinates_rounding
- Description: By how many meters trip origin / destination coordinates should be rounded.
- Allowed values: Float
- Note: Smaller values mean that the travel times will be more accurate, but it can result in a very long running time for the step.
- Steps:
TripsPublicTransitTravelTimeFromR5Step
r5.time
- Description: Departure time of the requests.
- Allowed values: Time
- Note: If
time_typeis"custom", this is the departure time used for all requests. Otherwise, the value is only used as a default for missing departure times. - Steps:
TripsPublicTransitTravelTimeFromR5Step
r5.time_rounding
- Description: By how much time trips’ departure time should be rounded.
- Allowed values: Duration
- Note: Smaller values mean that the travel times will be more accurate, but it can result in a very long running time for the step.
- Steps:
TripsPublicTransitTravelTimeFromR5Step
r5.time_type
- Description: How the departure time of the requests is defined.
- Allowed values: Either
'departure','custom' - Note: If
"departure", trips’ departure times are read from the trips’ ex-ante departure times. If"custom", the departure times are equal to the value ofr5.timefor all trips. - Steps:
TripsPublicTransitTravelTimeFromR5Step
road_network.calibration_variables
- Description: (‘Definition of the variables (type and modalities) available for road network calibration.’,)
- Allowed values: Table variable->definition, where
variableis the name of a valid edge column anddefinitionis a table with keytype. Four types are possible:"boolean","continuous","intervals","categories". See the example for configuration options. - Example:
[road_network.calibration_variables]
[road_network.calibration_variables.urban]
type = "boolean"
[road_network.calibration_variables.lanes]
type = "continuous"
min = 1 # Optional lower bound to constrain the values.
max = 3 # Optional upper bound to constrain the values.
[road_network.calibration_variables.speed_limit]
type = "intervals"
cuts = [30, 50, 70, 90, 110, 130] # Breakpoints of the intervals.
left_closed = true # Set the intervals to be left-closed instead of right-closed.
[road_network.calibration_variables.edge_type]
type = "categories"
# Optionally, group categories together with `map` (all original modalities must be defined).
map = {"motorway": "motorway", "motorway_link": "motorway", ...}
- Steps:
RoadEdgesVariablesStep
road_network.capacities
- Description: Bottleneck capacity (in PCE/h) of edges.
- Allowed values: float (constant capacity for all edges), table with edge types as keys and capacities as values, or table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[road_network.capacities]
[road_network.capacities.urban]
motorway = 2000
road = 1000
[road_network.capacities.rural]
motorway = 2000
road = 1500
- Steps:
ExogenousCapacitiesStep
road_network.default_lanes
- Description: Default number of lanes to use for edges with no specified value.
- Allowed values: float (constant number of lanes for all edges), table with edge types as keys and number of lanes as values, or table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[road_network.default_lanes]
[road_network.default_lanes.urban]
motorway = 2
road = 1
[road_network.default_lanes.rural]
motorway = 3
road = 1
- Steps:
PostprocessRoadNetworkStep
road_network.default_speed_limit
- Description: Default speed limit (in km/h) to use for edges with no specified value.
- Allowed values: float (constant speed limit for all edges), table with edge types as keys and speed limits as values, or table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[road_network.default_speed_limit]
[road_network.default_speed_limit.urban]
motorway = 110
road = 50
[road_network.default_speed_limit.rural]
motorway = 110
road = 80
- Note: The value is either a scalar value to be applied to all edges with no specified value, a table
edge_type -> speed_limitor two tablesedge_type -> speed_limit, for urban and rural edges. - Steps:
PostprocessRoadNetworkStep
road_network.ensure_connected
- Description: Whether the network should be restricted to the largest strongly connected component of the underlying graph.
- Allowed values: Boolean
- Note: If
False, it is the user’s responsibility to ensure that all origin-destination pairs are feasible. - Steps:
PostprocessRoadNetworkStep
road_network.ensure_primary_connected
- Description: When
true, add some secondary edges to the primary network to ensure that free-flow routes are primary-connected. - Allowed values: Boolean
- Note: A free-flow route is “primary-connected” if there are no “secondary” edges which are both after the first occurrence of a “primary” edge and before the last occurrence of a “primary” edge.
- Steps:
RoadNetworkPrimaryEdgesStep
road_network.forbidden_types
- Description: List of road edges’ types that cannot be used as origin / destination edge.
- Allowed values: List of String
- Example:
["motorway", "motorway_link", "trunk", "trunk_link"] - Steps:
RoadODNodesFromCoordinatesStep,ZonesLevel1RoadNodesStep,ZonesLevel2RoadNodesStep,ZonesLevel3RoadNodesStep,ZonesLevel4RoadNodesStep,ZonesLevel5RoadNodesStep
road_network.free_flow_penalties.additive_lower_bound
- Description: Lower bound (inclusive) to the additive penalty for each edge.
- Allowed values: Float not smaller than 0.0
- Steps:
EdgePenaltiesFromCoefficientsStep
road_network.free_flow_penalties.additive_upper_bound
- Description: Upper bound (inclusive) to the additive penalty for each edge.
- Allowed values: Float not smaller than 0.0
- Steps:
EdgePenaltiesFromCoefficientsStep
road_network.free_flow_penalties.multiplicative_lower_bound
- Description: Lower bound (inclusive) to the multiplicative penalty for each edge.
- Allowed values: Float not smaller than 0.0
- Steps:
EdgePenaltiesFromCoefficientsStep
road_network.free_flow_penalties.multiplicative_upper_bound
- Description: Upper bound (inclusive) to the multiplicative penalty for each edge.
- Allowed values: Float not smaller than 0.0
- Steps:
EdgePenaltiesFromCoefficientsStep
road_network.hov_lanes
- Description: Number of HOV lanes on edges.
- Allowed values: float (constant number of HOV lanes for all edges), table with edge types as keys and number of lanes as values, or table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[road_network.default_lanes]
[road_network.default_lanes.urban]
motorway = 2
road = 1
[road_network.default_lanes.rural]
motorway = 3
road = 1
- Note: The HOV lanes are included in the total number of lanes on the edges so there cannot be more HOV lanes than there are lanes.
- Steps:
PostprocessRoadNetworkStep
road_network.max_effective_speed
- Description: Upper bound to the effective speed (in km/h) of edges, after application of multiplicative penalties.
- Allowed values: Float not smaller than 1e-08
- Steps:
EdgesFreeFlowTravelTimesStep
road_network.min_effective_speed
- Description: Lower bound to the effective speed (in km/h) of edges, after application of multiplicative penalties.
- Allowed values: Float not smaller than 1e-08
- Steps:
EdgesFreeFlowTravelTimesStep
road_network.min_lanes
- Description: Minimum number of lanes allowed on edges.
- Allowed values: Float
- Steps:
PostprocessRoadNetworkStep
road_network.min_length
- Description: Minimum length allowed on edges (in meters).
- Allowed values: Float
- Steps:
PostprocessRoadNetworkStep
road_network.min_speed_limit
- Description: Minimum speed limit allowed on edges (in km/h).
- Allowed values: Float
- Steps:
PostprocessRoadNetworkStep
road_network.penalties
- Description: Constant time penalty (in seconds) of edges.
- Allowed values: float (constant penalty for all edges), table with edge types as keys and penalties as values, or table with “urban” and “rural” as keys and
edge_type->valuetables as values (see example) - Example:
[road_network.penalties]
[road_network.penalties.urban]
motorway = 0
road = 5
[road_network.penalties.rural]
motorway = 0
road = 2
- Steps:
ExogenousEdgePenaltiesStep
road_network.remove_duplicates
- Description: Whether the duplicate edges (edges with same source and target) should be removed.
- Allowed values: Boolean
- Note: If
True, the edge with the smallest travel time is kept. - Steps:
PostprocessRoadNetworkStep
road_network.secondary_types
- Description: List of edges’ types that are part of the “secondary” road network.
- Allowed values: List of String
- Note: By default, all edges are part of the “primary” road network.
- Steps:
RoadNetworkPrimaryEdgesStep
road_network.speed_multiplier
- Description: By how much edge speed limit must be multiplied to get edge free-flow speed.
- Allowed values: float (constant multiplier for all edges), table with edge types as keys and multiplier as values, or table with “urban” and “rural” as keys and edge_type->value` tables as values (see example)
- Example:
[road_network.speed_multiplier]
[road_network.speed_multiplier.urban]
motorway = 0.9
road = 0.8
[road_network.speed_multiplier.rural]
motorway = 1.0
road = 0.9
- Steps:
ExogenousEdgePenaltiesStep
simulation.backward_wave_speed
- Description: Speed at which the holes created by a vehicle leaving a road is propagating backward (in km/h).
- Allowed values: Float
- Steps:
WriteMetroParametersStep
simulation.departure_time_interval
- Description: Interval between two breakpoints in the utility function for departure-time choice.
- Allowed values: Duration
- Note: Smaller values make the simulation faster but can lead to approximations in the departure-time choice.
- Steps:
WriteMetroParametersStep
simulation.learning_factor
- Description: Value of the smoothing factor for the exponential learning model.
- Allowed values: Float
- Note: Value must be between 0 and 1. Smaller values lead to slower but steadier convergences.
- Steps:
WriteMetroParametersStep
simulation.max_pending_duration
- Description: Maximum amount of time that a vehicle can spend waiting to enter the next road, in case of spillback.
- Allowed values: Duration
- Steps:
WriteMetroParametersStep
simulation.nb_iterations
- Description: Number of iterations to be simulated.
- Allowed values: Integer
- Steps:
WriteMetroParametersStep
simulation.node_order_reuse_threshold
- Description: Threshold for expected edge TTFs RMSE above which node ordering is recomputed at next iteration.
- Allowed values: Duration
- Note: Edge TTFs RMSE is the RMSE of the difference between expected edge-level road travel times at the previous and current iteration.
- Steps:
WriteMetroParametersStep
simulation.period
- Description: Time window to be simulated.
- Allowed values: List of Time [exactly 2 elements]
- Example:
[06:00:00, 10:00:00] - Note: The window can span multiple days.
- Steps:
WriteMetroParametersStep
simulation.recording_interval
- Description: Time interval between two breakpoints for the travel-time functions.
- Allowed values: Duration
- Steps:
WriteMetroParametersStep
simulation.routing_algorithm
- Description: Algorithm type to use when computing the origin-destination travel-time functions.
- Allowed values: Either
'Intersect','Best','TCH' - Note: Possible values: “Best”, “Intersect”, “TCH”
- Steps:
WriteMetroParametersStep
simulation.spillback
- Description: Whether the number of vehicles on a road should be limited by the total road length.
- Allowed values: Boolean
- Steps:
WriteMetroParametersStep
simulation_area.aav_filename
- Description: Path to the shapefile of the French’s Aires d’attraction des villes.
- Allowed values: String representing a valid path to an existing file [possible extensions: .zip, .shp]
- Example:
"data/aav2020_2024.zip" - Note: When the value is not specified, pymetropolis will attempt to automatically download the shapefile.
- Steps:
SimulationAreaFromAAVStep
simulation_area.aav_name
- Description: Name of the Aire d’attraction des villes to be selected.
- Allowed values: String
- Example: Paris
- Note: The value must appears in the column
libaav20xxof theaav_filenamefile. - Steps:
SimulationAreaFromAAVStep
simulation_area.bbox
- Description: Bounding box to be used as simulation area.
- Allowed values: List of Float [exactly 4 elements]
- Example:
[1.4777, 48.3955, 3.6200, 49.2032] - Note: Note: The values need to be specified as [minx, miny, maxx, maxy], in the simulation’s CRS. If bbox_wgs = true, the values need to be specified in WGS 84 (longitude, latitude).
- Steps:
SimulationAreaFromBboxStep
simulation_area.bbox_wgs
- Description: Whether the
bboxvalues are specified in the simulation CRS (false) or in WGS84 (true) - Allowed values: Boolean
- Steps:
SimulationAreaFromBboxStep
simulation_area.buffer
- Description: Distance by which the polygon of the simulation area must be extended or shrinked.
- Allowed values: Float
- Note: The value is expressed in the unit of measure of the CRS (usually meter). Positive values extend the area, while negative values shrink it.
- Steps:
SimulationAreaFromAAVStep,SimulationAreaFromOSMStep,SimulationAreaFromPolygonsStep
simulation_area.osm_admin_level
- Description: Administrative level to be considered when reading administrative boundaries.
- Allowed values: Integer
- Note: See https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative#Table_:_Admin_level_for_all_countries for a table with the meaning of all possible value for each country.
- Steps:
SimulationAreaFromOSMStep
simulation_area.osm_name
- Description: List of subdivision names to be considered when reading administrative boundaries.
- Allowed values: string or list of strings
- Example:
"Madrid" - Note: The values are compared with the
name=*tag of the OpenStreetMap features. Be careful, the name can sometimes be in the local language. - Steps:
SimulationAreaFromOSMStep
simulation_area.polygon_file
- Description: Path to the geospatial file containing polygon(s) of the simulation area.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_area.geojson" - Steps:
SimulationAreaFromPolygonsStep
survey.mobisurvstd.bulk
- Description: If true, all surveys in the provided directory are read in bulk and concatenated.
- Allowed values: Boolean
- Steps:
MobiSurvStdImportStep
survey.mobisurvstd.path
- Description: Path to a directory or zipfile containing a survey supported by MobiSurvStd.
- Allowed values: String representing a valid path
- Steps:
MobiSurvStdImportStep
synthetic_population.eqasim_output
- Description: Path to the output directory of the Eqasim synthetic population pipeline.
- Allowed values: String representing a valid path to an existing directory
- Steps:
EqasimImportStep
synthetic_population.fraction
- Description: Fraction of the synthetic population to be selected for simulations.
- Allowed values: Float between 0.0 and 1.0
- Note: If the synthetic population already represents a part of the total population (with Eqasim’s
sampling_rateparameter), you probably want to keep this parameter to 1. You will also need to set thesimulation_ratioparameter to the actual share of the population being simulated. For example, when you generated 10% of the population (sampling_rate = 0.1) and you setfraction = 0.1, then only 1% of the population is actually being simulated with Pymetropolis, sosimulation_rationeeds to be set to 0.01. - Steps:
EqasimImportStep
tomtom_requests.api_key
- Description: Key for the TomTom API.
- Allowed values: String
- Note: You need to generate your own API key on the
my.tomtom.comportal. You can use the"secret:tomtom_api_key"syntax to keep the key secret when sharing your configuration TOML file. - Steps:
TomTomRequestsStep
tomtom_requests.date
- Description: Date to be used for the requests.
- Allowed values: Date
- Note: It is recommended to set a date a few months in the future, on a weekday, so that TomTom does not rely of real time data and roadworks.
- Steps:
TomTomRequestsStep
tomtom_requests.departure_time
- Description: Departure time to be used for the requests.
- Allowed values: Time
- Note: This parameter only controls the departure time from origin, not from the intermediate stops. When not specified, a random departure time is chosen for each request.
- Steps:
TomTomRequestsStep
tomtom_requests.excluded_edge_types
- Description: List of edge types that are excluded from the network when selecting origin-destination pairs.
- Allowed values: List of String
- Example:
["motorway", "motorway_link", "trunk", "trunk_link"] - Note: It is recommended to exclude major highways so that minor roads are more likely to beobserved (major highways will be part of most fastest paths anyway).
- Steps:
TomTomRequestsStep
tomtom_requests.map_matching.relative_length_threshold
- Description: Maximum relative difference allowed between TomTom route’s length and actual length on network.
- Allowed values: Float
- Note: A value of 0.01 means that routes for which the length of the matched path on the road-network differs by more than 1% compared to the length of the TomTom route will be excluded.
- Steps:
MapMatchingStep
tomtom_requests.map_matching.search_radius
- Description: Search radius, in meters.
- Allowed values: Float
- Note: Larger values are more likely to result in a positive match but increase running time.Recommended value is between 30 and 200.
- Steps:
MapMatchingStep
tomtom_requests.nb_batches
- Description: Number of batches to be computed in parallel.
- Allowed values: Integer
- Note: Ideally, the value should be the number of threads that you want to use. If the value is too large, TomTom API might complain about exceeding the number of requests per second.
- Steps:
TomTomRequestsStep
tomtom_requests.nb_routes
- Description: Number of routes to request.
- Allowed values: Integer
- Example: 2000
- Note: Free TomTom API is limiting the daily number of requests to 2500.
- Steps:
TomTomRequestsStep
tomtom_requests.nb_waypoints
- Description: Number of waypoints (intermediate stops) to use for each request.
- Allowed values: Integer not larger than 148
- Note: The number of OD pairs per route is equal to the number of waypoints plus 1, so that the total number of OD pairs is equal to
nb_routes * (nb_waypoints + 1). TomTom API is limiting the number of waypoints to 148. - Steps:
TomTomRequestsStep
vehicle_types.car.headway
- Description: Typical length between two cars, from head to head, in meters
- Allowed values: Float
- Steps:
WriteMetroVehicleTypesStep
vehicle_types.car.pce
- Description: Passenger car equivalent of a typical car
- Allowed values: Float
- Steps:
WriteMetroVehicleTypesStep
vehicle_types.car.ridesharing_passenger_count
- Description: Average number of passengers in the car (excluding the driver).
- Allowed values: Float
- Note: This is only relevant for the
car_ridesharingmode. Larger values increase probability to select this mode (fuel cost is shared between more persons) and decrease congestion generated (more persons are traveling in each car). - Steps:
PrepareMetroTripsStep,WriteMetroVehicleTypesStep
zones.custom_files.level1
- Description: Path to the geospatial file containing the zones definition for level 1.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_zones.geojson" - Steps:
CustomZonesLevel1Step
zones.custom_files.level2
- Description: Path to the geospatial file containing the zones definition for level 2.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_zones.geojson" - Steps:
CustomZonesLevel2Step
zones.custom_files.level3
- Description: Path to the geospatial file containing the zones definition for level 3.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_zones.geojson" - Steps:
CustomZonesLevel3Step
zones.custom_files.level4
- Description: Path to the geospatial file containing the zones definition for level 4.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_zones.geojson" - Steps:
CustomZonesLevel4Step
zones.custom_files.level5
- Description: Path to the geospatial file containing the zones definition for level 5.
- Allowed values: String representing a valid path to an existing file
- Example:
"data/my_zones.geojson" - Steps:
CustomZonesLevel5Step
zones.france
- Description: Whether the French zoning system should be used to defined the simulation’s zones.
- Allowed values: Boolean
- Steps:
FrenchHouseholdsUrbanTypeStep,FrenchTripsUrbanTypeStep,FrenchZonesStep
zones.weiszfeld.max_iter
- Description: Maximum number of iterations for the Weiszfeld algorithm used to approximate each zone’s geometric median road node.
- Allowed values: Integer
- Steps:
ZonesLevel1RoadNodesStep,ZonesLevel2RoadNodesStep,ZonesLevel3RoadNodesStep,ZonesLevel4RoadNodesStep,ZonesLevel5RoadNodesStep
zones.weiszfeld.threshold
- Description: Convergence threshold for the Weiszfeld algorithm used to approximate each zone’s geometric median road node.
- Allowed values: Float
- Note: The algorithm stops once the candidate point moves by less than this distance (in the network’s CRS units) between two iterations.
- Steps:
ZonesLevel1RoadNodesStep,ZonesLevel2RoadNodesStep,ZonesLevel3RoadNodesStep,ZonesLevel4RoadNodesStep,ZonesLevel5RoadNodesStep