47 oc.
addCallExample(
"-c <CONFIGURATION>",
"run routing with options from file");
73 oc.
addSynonyme(
"alternatives-output",
"alternatives");
74 oc.
addDescription(
"alternatives-output",
"Output",
"Write generated route alternatives to FILE");
77 oc.
addDescription(
"intermodal-network-output",
"Output",
"Write edge splits and connectivity to FILE");
80 oc.
addDescription(
"intermodal-weight-output",
"Output",
"Write intermodal edges with lengths and travel times to FILE");
85 oc.
addDescription(
"weight-files",
"Input",
"Read network weights from FILE(s)");
88 oc.
addDescription(
"lane-weight-files",
"Input",
"Read lane-based network weights from FILE(s)");
91 oc.
addSynonyme(
"weight-attribute",
"measure",
true);
92 oc.
addDescription(
"weight-attribute",
"Input",
"Name of the xml attribute which gives the edge weight");
95 oc.
addDescription(
"phemlight-path",
"Input",
"Determines where to load PHEMlight definitions from.");
100 oc.
addSynonyme(
"weights.expand",
"expand-weights",
true);
101 oc.
addDescription(
"weights.expand",
"Processing",
"Expand weights behind the simulation's end");
104 oc.
addDescription(
"routing-algorithm",
"Processing",
"Select among routing algorithms ['dijkstra', 'astar', 'CH', 'CHWrapper']");
107 oc.
addDescription(
"weight-period",
"Processing",
"Aggregation period for the given weight files; triggers rebuilding of Contraction Hierarchy");
110 oc.
addDescription(
"astar.all-distances",
"Processing",
"Initialize lookup table for astar from the given file (generated by marouter --all-pairs-output)");
113 oc.
addDescription(
"astar.landmark-distances",
"Processing",
"Initialize lookup table for astar ALT-variant from the given file");
116 oc.
addDescription(
"astar.save-landmark-distances",
"Processing",
"Save lookup table for astar ALT-variant to the given file");
126 oc.
addDescription(
"gawron.beta",
"Processing",
"Use FLOAT as Gawron's beta");
130 oc.
addDescription(
"gawron.a",
"Processing",
"Use FLOAT as Gawron's a");
133 oc.
addDescription(
"exit-times",
"Output",
"Write exit times (weights) for each edge");
136 oc.
addDescription(
"keep-all-routes",
"Processing",
"Save routes with near zero probability");
139 oc.
addDescription(
"skip-new-routes",
"Processing",
"Only reuse routes from input, do not calculate new ones");
142 oc.
addDescription(
"ptline-routing",
"Processing",
"Route all public transport input");
145 oc.
addDescription(
"logit",
"Processing",
"Use c-logit model (deprecated in favor of --route-choice-method logit)");
148 oc.
addDescription(
"route-choice-method",
"Processing",
"Choose a route choice method: gawron, logit, or lohse");
152 oc.
addDescription(
"logit.beta",
"Processing",
"Use FLOAT as logit's beta");
156 oc.
addDescription(
"logit.gamma",
"Processing",
"Use FLOAT as logit's gamma");
160 oc.
addDescription(
"logit.theta",
"Processing",
"Use FLOAT as logit's theta (negative values mean auto-estimation)");
163 oc.
addDescription(
"persontrip.walkfactor",
"Processing",
"Use FLOAT as a factor on pedestrian maximum speed during intermodal routing");
166 oc.
addDescription(
"persontrip.transfer.car-walk",
"Processing",
"Where are mode changes from car to walking allowed (possible values: 'parkingAreas', 'ptStops', 'allJunctions' and combinations)");
203 if (oc.
getString(
"routing-algorithm") !=
"dijkstra" && oc.
getString(
"weight-attribute") !=
"traveltime") {
204 WRITE_ERROR(
"Routing algorithm '" + oc.
getString(
"routing-algorithm") +
"' does not support weight-attribute '" + oc.
getString(
"weight-attribute") +
"'.");
207 if (oc.
getBool(
"bulk-routing") && (oc.
getString(
"routing-algorithm") ==
"CH" || oc.
getString(
"routing-algorithm") ==
"CHWrapper")) {
208 WRITE_ERROR(
"Routing algorithm '" + oc.
getString(
"routing-algorithm") +
"' does not support bulk routing.");
211 if (oc.
isDefault(
"routing-algorithm") && (oc.
isSet(
"astar.all-distances") || oc.
isSet(
"astar.landmark-distances") || oc.
isSet(
"astar.save-landmark-distances"))) {
212 oc.
set(
"routing-algorithm",
"astar");
215 if (oc.
getString(
"route-choice-method") !=
"gawron" && oc.
getString(
"route-choice-method") !=
"logit") {
220 WRITE_WARNING(
"The --logit option is deprecated, please use --route-choice-method logit.");
221 oc.
set(
"route-choice-method",
"logit");
224 if (oc.
isSet(
"output-file") && !oc.
isSet(
"alternatives-output")) {
225 const std::string& filename = oc.
getString(
"output-file");
226 const int len = (int)filename.length();
227 if (len > 4 && filename.substr(len - 4) ==
".xml") {
228 oc.
set(
"alternatives-output", filename.substr(0, len - 4) +
".alt.xml");
229 }
else if (len > 4 && filename.substr(len - 4) ==
".sbx") {
230 oc.
set(
"alternatives-output", filename.substr(0, len - 4) +
".alt.sbx");
232 WRITE_WARNING(
"Cannot derive file name for alternatives output, skipping it.");
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
static void insertRandOptions()
Initialises the given options container with random number options.
static void addReportOptions(OptionsCont &oc)
Adds reporting options to the given container.
static void addImportOptions()
Inserts import options used by duarouter into the OptionsCont-singleton.
static void fillOptions(OptionsCont &oc)
Inserts options used by routing applications into the OptionsCont-singleton.
ArrivalLaneDefinition arrivalLaneProcedure
Information how the vehicle shall choose the lane to arrive on.
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid for usage within duarouter...
void addCallExample(const std::string &example, const std::string &desc)
Add a call example.
DepartLaneDefinition departLaneProcedure
Information how the vehicle shall choose the lane to depart from.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
ArrivalSpeedDefinition arrivalSpeedProcedure
Information how the vehicle's end speed shall be chosen.
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
static void addConfigurationOptions(OptionsCont &oc)
Adds configuration options to the given container.
#define WRITE_WARNING(msg)
static OptionsCont & getOptions()
Retrieves the options.
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
double departSpeed
(optional) The initial speed of the vehicle
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
static void fillOptions()
Inserts options used by duarouter into the OptionsCont-singleton.
DepartSpeedDefinition departSpeedProcedure
Information how the vehicle's initial speed shall be chosen.
DepartPosDefinition departPosProcedure
Information how the vehicle shall choose the departure position.
static bool checkOptions(OptionsCont &oc)
Checks whether options are valid.
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
int arrivalLane
(optional) The lane the vehicle shall arrive on (not used yet)
void addOptionSubTopic(const std::string &topic)
Adds an option subtopic.
static bool parseArrivalLane(const std::string &val, const std::string &element, const std::string &id, int &lane, ArrivalLaneDefinition &ald, std::string &error)
Validates a given arrivalLane value.
int departLane
(optional) The lane the vehicle shall depart from (index in edge)
double arrivalPos
(optional) The position the vehicle shall arrive on
double departPos
(optional) The position the vehicle shall depart from
Structure representing possible vehicle parameter.
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
static bool parseDepartPos(const std::string &val, const std::string &element, const std::string &id, double &pos, DepartPosDefinition &dpd, std::string &error)
Validates a given departPos value.
static bool parseArrivalSpeed(const std::string &val, const std::string &element, const std::string &id, double &speed, ArrivalSpeedDefinition &asd, std::string &error)
Validates a given arrivalSpeed value.
A storage for options typed value containers)
static bool parseArrivalPos(const std::string &val, const std::string &element, const std::string &id, double &pos, ArrivalPosDefinition &apd, std::string &error)
Validates a given arrivalPos value.
static bool parseDepartSpeed(const std::string &val, const std::string &element, const std::string &id, double &speed, DepartSpeedDefinition &dsd, std::string &error)
Validates a given departSpeed value.
double arrivalSpeed
(optional) The final speed of the vehicle (not used yet)
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
static void addDUAOptions()
Inserts dua options used by duarouter into the OptionsCont-singleton.
ArrivalPosDefinition arrivalPosProcedure
Information how the vehicle shall choose the arrival position.
static bool parseDepartLane(const std::string &val, const std::string &element, const std::string &id, int &lane, DepartLaneDefinition &dld, std::string &error)
Validates a given departLane value.