46 oc.
addCallExample(
"-c <CONFIGURATION>",
"run routing with options from file");
70 oc.
addDescription(
"output-file",
"Output",
"Write flow definitions with route distributions to FILE");
73 oc.
addDescription(
"vtype-output",
"Output",
"Write used vehicle types into separate FILE");
76 oc.
addSynonyme(
"ignore-vehicle-type",
"no-vtype",
true);
77 oc.
addDescription(
"ignore-vehicle-type",
"Output",
"Does not save vtype information");
80 oc.
addDescription(
"netload-output",
"Output",
"Writes edge loads and final costs into FILE");
83 oc.
addDescription(
"all-pairs-output",
"Output",
"Writes complete distance matrix into FILE");
87 oc.
addDescription(
"net-file",
"Input",
"Use FILE as SUMO-network to route on");
92 oc.
addSynonyme(
"additional-files",
"districts",
true);
93 oc.
addDescription(
"additional-files",
"Input",
"Read additional network data (districts, bus stops) from FILE");
97 oc.
addDescription(
"od-matrix-files",
"Input",
"Loads O/D-files from FILE(s)");
100 oc.
addSynonyme(
"od-amitran-files",
"amitran-files");
102 oc.
addDescription(
"od-amitran-files",
"Input",
"Loads O/D-matrix in Amitran format from FILE(s)");
105 oc.
addDescription(
"tazrelation-files",
"Input",
"Loads O/D-matrix in tazRelation format from FILE(s)");
108 oc.
addSynonyme(
"tazrelation-attribute",
"attribute");
109 oc.
addDescription(
"tazrelation-attribute",
"Input",
"Define data attribute for loading counts (default 'count')");
115 oc.
addDescription(
"route-files",
"Input",
"Read sumo-routes or trips from FILE(s)");
119 oc.
addDescription(
"weight-files",
"Input",
"Read network weights from FILE(s)");
122 oc.
addDescription(
"lane-weight-files",
"Input",
"Read lane-based network weights from FILE(s)");
125 oc.
addSynonyme(
"weight-attribute",
"measure",
true);
126 oc.
addDescription(
"weight-attribute",
"Input",
"Name of the xml attribute which gives the edge weight");
129 oc.
addDescription(
"weight-adaption",
"Input",
"The travel time influence of prior intervals");
132 oc.
addDescription(
"taz-param",
"Input",
"Parameter key(s) defining source (and sink) taz");
135 oc.
addDescription(
"junction-taz",
"Input",
"Initialize a TAZ for every junction to use attributes toJunction and fromJunction");
138 oc.
addDescription(
"ignore-taz",
"Input",
"Ignore attributes 'fromTaz' and 'toTaz'");
145 oc.
addDescription(
"begin",
"Time",
"Defines the begin time; Previous trips will be discarded");
148 oc.
addDescription(
"end",
"Time",
"Defines the end time; Later trips will be discarded; Defaults to the maximum time that SUMO can represent");
152 oc.
addDescription(
"aggregation-interval",
"Processing",
"Defines the time interval when aggregating single vehicle input; Defaults to one hour");
155 oc.
addSynonyme(
"ignore-errors",
"continue-on-unbuild",
true);
156 oc.
addSynonyme(
"ignore-errors",
"dismiss-loading-errors",
true);
157 oc.
addDescription(
"ignore-errors",
"Report",
"Continue if a route could not be build");
160 oc.
addDescription(
"max-alternatives",
"Processing",
"Prune the number of alternatives to INT");
163 oc.
addDescription(
"capacities.default",
"Processing",
"Ignore edge priorities when calculating capacities and restraints");
166 oc.
addSynonyme(
"weights.interpolate",
"interpolate",
true);
167 oc.
addDescription(
"weights.interpolate",
"Processing",
"Interpolate edge weights at interval boundaries");
170 oc.
addSynonyme(
"weights.expand",
"expand-weights",
true);
171 oc.
addDescription(
"weights.expand",
"Processing",
"Expand weights behind the simulation's end");
174 oc.
addDescription(
"weights.priority-factor",
"Processing",
"Consider edge priorities in addition to travel times, weighted by factor");
177 oc.
addDescription(
"routing-algorithm",
"Processing",
"Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper']");
180 oc.
addDescription(
"bulk-routing.vtypes",
"Processing",
"Aggregate routing queries with the same origin for different vehicle types");
183 oc.
addDescription(
"routing-threads",
"Processing",
"The number of parallel execution threads used for routing");
186 oc.
addDescription(
"weight-period",
"Processing",
"Aggregation period for the given weight files; triggers rebuilding of Contraction Hierarchy");
190 oc.
addSynonyme(
"flow-output.departlane",
"departlane");
191 oc.
addDescription(
"flow-output.departlane",
"Defaults",
"Assigns a default depart lane");
194 oc.
addSynonyme(
"flow-output.departpos",
"departpos");
195 oc.
addDescription(
"flow-output.departpos",
"Defaults",
"Assigns a default depart position");
198 oc.
addSynonyme(
"flow-output.departspeed",
"departspeed");
199 oc.
addDescription(
"flow-output.departspeed",
"Defaults",
"Assigns a default depart speed");
202 oc.
addSynonyme(
"flow-output.arrivallane",
"arrivallane");
203 oc.
addDescription(
"flow-output.arrivallane",
"Defaults",
"Assigns a default arrival lane");
206 oc.
addSynonyme(
"flow-output.arrivalpos",
"arrivalpos");
207 oc.
addDescription(
"flow-output.arrivalpos",
"Defaults",
"Assigns a default arrival position");
210 oc.
addSynonyme(
"flow-output.arrivalspeed",
"arrivalspeed");
211 oc.
addDescription(
"flow-output.arrivalspeed",
"Defaults",
"Assigns a default arrival speed");
221 oc.
addDescription(
"scale",
"Processing",
"Scales the loaded flows by FLOAT");
224 oc.
addDescription(
"vtype",
"Processing",
"Defines the name of the vehicle type to use");
227 oc.
addDescription(
"prefix",
"Processing",
"Defines the prefix for vehicle flow names");
230 oc.
addDescription(
"timeline",
"Processing",
"Uses STR[] as a timeline definition");
233 oc.
addDescription(
"timeline.day-in-hours",
"Processing",
"Uses STR as a 24h-timeline definition");
236 oc.
addDescription(
"additive-traffic",
"Processing",
"Keep traffic flows of all time slots in the net");
240 oc.
addDescription(
"assignment-method",
"Processing",
"Choose a assignment method: incremental, UE or SUE");
243 oc.
addDescription(
"tolerance",
"Processing",
"Use FLOAT as tolerance when checking for SUE stability");
246 oc.
addDescription(
"left-turn-penalty",
"Processing",
"Use left-turn penalty FLOAT to calculate link travel time when searching routes");
249 oc.
addDescription(
"paths",
"Processing",
"Use INTEGER as the number of paths needed to be searched for each OD pair at each iteration");
252 oc.
addDescription(
"paths.penalty",
"Processing",
"Penalize existing routes with FLOAT to find secondary routes");
256 oc.
addDescription(
"upperbound",
"Processing",
"Use FLOAT as the upper bound to determine auxiliary link cost");
260 oc.
addDescription(
"lowerbound",
"Processing",
"Use FLOAT as the lower bound to determine auxiliary link cost");
263 oc.
addDescription(
"max-iterations",
"Processing",
"maximal number of iterations for new route searching in incremental and stochastic user assignment");
266 oc.
addDescription(
"max-inner-iterations",
"Processing",
"maximal number of inner iterations for user equilibrium calculation in the stochastic user assignment");
270 oc.
addDescription(
"route-choice-method",
"Processing",
"Choose a route choice method: gawron, logit, or lohse");
274 oc.
addDescription(
"gawron.beta",
"Processing",
"Use FLOAT as Gawron's beta");
278 oc.
addDescription(
"gawron.a",
"Processing",
"Use FLOAT as Gawron's a");
281 oc.
addDescription(
"exit-times",
"Output",
"Write exit times (weights) for each edge");
284 oc.
addDescription(
"keep-all-routes",
"Processing",
"Save routes with near zero probability");
287 oc.
addDescription(
"skip-new-routes",
"Processing",
"Only reuse routes from input, do not calculate new ones");
291 oc.
addDescription(
"logit.beta",
"Processing",
"Use FLOAT as (c-)logit's beta for the commonality factor");
295 oc.
addDescription(
"logit.gamma",
"Processing",
"Use FLOAT as (c-)logit's gamma for the commonality factor");
299 oc.
addDescription(
"logit.theta",
"Processing",
"Use FLOAT as (c-)logit's theta");
306 if (oc.
isSet(
"assignment-method") && oc.
getString(
"assignment-method") !=
"incremental" && oc.
getString(
"assignment-method") !=
"UE" && oc.
getString(
"assignment-method") !=
"SUE") {
310 if (oc.
getString(
"route-choice-method") !=
"gawron" && oc.
getString(
"route-choice-method") !=
"logit" && oc.
getString(
"route-choice-method") !=
"lohse") {
314 if (oc.
getInt(
"paths") > 1 && (oc.
getString(
"routing-algorithm") ==
"CH" || oc.
getString(
"routing-algorithm") ==
"CHWrapper")) {
315 WRITE_WARNING(
"Contraction hierarchies do not work with k shortest path search (please use a different routing algorithm)!");
#define WRITE_WARNING(msg)
A storage for options typed value containers)
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
int getInt(const std::string &name) const
Returns the int-value of the named option (only for Option_Integer)
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
void addOptionSubTopic(const std::string &topic)
Adds an option subtopic.
static OptionsCont & getOptions()
Retrieves the options.
void addCallExample(const std::string &example, const std::string &desc)
Add a call example.
static void fillOptions()
Inserts options used by duarouter into the OptionsCont-singleton.
static void addImportOptions()
Inserts import options used by duarouter into the OptionsCont-singleton.
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid for usage within duarouter.
static void addAssignmentOptions()
Inserts dua options used by duarouter into the OptionsCont-singleton.
static void insertRandOptions()
Initialises the given options container with random number options.
static void addConfigurationOptions(OptionsCont &oc)
Adds configuration options to the given container.
static void addReportOptions(OptionsCont &oc)
Adds reporting options to the given container.