From 30.000 feet#
dfrouter ("detector flow router") uses induction loop values to compute vehicle routes that may be used by sumo.
- Purpose: Building vehicle routes from induction loop counts
- System: portable (Linux/Windows is tested); runs on command line
-
Input (mandatory):
A) a road network as generated via netconvert or netgenerate, see Building Networks
B) induction loop definitions
C) induction loop measures
- Output: Definition of Vehicles, Vehicle Types, and Routes usable by sumo
- Programming Language: C++
Usage Description#
A high level description can be found at Demand/Routes_from_Observation_Points. The complete list of options is given in the following.
Options#
You may use a XML schema definition file for setting up a dfrouter configuration: dfrouterConfiguration.xsd.
Configuration#
All applications of the SUMO-suite handle configuration options the same way. These options are discussed at Basics/Using the Command Line Applications#Configuration Files.
| Option | Description |
|---|---|
| -c <FILE> --configuration-file <FILE> |
Loads the named config on startup |
| -C <FILE> --save-configuration <FILE> |
Saves current configuration into FILE |
| --save-configuration.relative <BOOL> | Enforce relative paths when saving the configuration; default: false |
| --save-template <FILE> | Saves a configuration template (empty) into FILE |
| --save-schema <FILE> | Saves the configuration schema into FILE |
| --save-commented <BOOL> | Adds comments to saved template, configuration, or schema; default: false |
Input#
| Option | Description |
|---|---|
| -n <FILE> --net-file <FILE> |
Loads the SUMO-network FILE |
| -d <FILE> --detector-files <FILE> |
Loads detector descriptions from FILE |
| -f <FILE> --measure-files <FILE> |
Loads detector flows from FILE(s) |
Output#
| Option | Description |
|---|---|
| --write-license <BOOL> | Include license info into every output file; default: false |
| --write-metadata <BOOL> | Write parsable metadata (configuration etc.) instead of comments; default: false |
| --output-prefix <STRING> | Prefix which is applied to all output files. The special string 'TIME' is replaced by the current time. |
| --precision <INT> | Defines the number of digits after the comma for floating point output; default: 2 |
| --precision.geo <INT> | Defines the number of digits after the comma for lon,lat output; default: 6 |
| --output.compression <STRING> | Defines the standard compression algorithm (currently only for parquet output) |
| --output.format <STRING> | Defines the standard output format if not derivable from the file name ('xml', 'csv', 'parquet'); default: xml |
| --output.column-header <STRING> | How to derive column headers from attribute names ('none', 'tag', 'auto', 'plain'); default: tag |
| --output.column-separator <STRING> | Separator in CSV output; default: ; |
| -H <BOOL> --human-readable-time <BOOL> |
Write time values as hour:minute:second or day:hour:minute:second rather than seconds; default: false |
| -o <FILE> --routes-output <FILE> |
Saves computed routes to FILE |
| --routes-for-all <BOOL> | Forces dfrouter to compute routes for in-between detectors; default: false |
| --detector-output <FILE> | Saves typed detectors to FILE |
| --detectors-poi-output <FILE> | Saves detector positions as pois to FILE |
| --emitters-output <FILE> | Saves emitter definitions for source detectors to FILE |
| --vtype <BOOL> | Add vehicle types to the emitters file (PKW, LKW); default: false |
| --vtype-output <FILE> | Write generated vehicle types into separate FILE instead of including them into the emitters-output |
| --emitters-poi-output <FILE> | Saves emitter positions as pois to FILE |
| --variable-speed-sign-output <FILE> | Saves variable seed sign definitions for sink detectors to FILE |
| --end-reroute-output <FILE> | Saves rerouter definitions for sink detectors to FILE |
| --validation-output <FILE> | Write induction loop definitions for the given detector positions to FILE |
| --validation-output.add-sources <BOOL> | Add source detectors to the validation output; default: false |
Processing#
| Option | Description |
|---|---|
| --guess-empty-flows <BOOL> | Derive missing flow values from upstream or downstream (not working!); default: false |
| -h <BOOL> --highway-mode <BOOL> |
Switches to highway-mode; default: false |
| --ignore-invalid-detectors <BOOL> | Only warn about unparseable detectors; default: false |
| --revalidate-detectors <BOOL> | Recomputes detector types even if given; default: false |
| --revalidate-routes <BOOL> | Recomputes routes even if given; default: false |
| --keep-unfinished-routes <BOOL> | Keeps routes even if they have exhausted max-search-depth; default: false |
| --keep-longer-routes <BOOL> | Keeps routes even if a shorter one exists; default: false |
| --max-search-depth <INT> | Number of edges to follow a route without passing a detector; default: 30 |
| --emissions-only <BOOL> | Writes only emission times; default: false |
| --disallowed-edges <STRING[ ]> | Do not route on these edges |
| --vclass <STRING> | Only route on edges allowing the given vclass; default: ignoring |
| --keep-turnarounds <BOOL> | Allow turnarounds as route continuations; default: false |
| --min-route-length <FLOAT> | Minimum distance in meters between start and end node of every route; default: -1 |
| --randomize-flows <BOOL> | generate random departure times for emitted vehicles; default: false |
| --time-factor <TIME> | Multiply flow times with TIME to get seconds; default: 60 |
| --time-offset <TIME> | Subtracts TIME seconds from (scaled) flow times; default: 0 |
| --time-step <TIME> | Expected distance between two successive data sets; default: 60 |
| --calibrator-output <BOOL> | Write calibrators to FILE; default: false |
| --include-unused-routes <BOOL> | Include routes in the output which have no vehicles; default: false |
| --revalidate-flows <BOOL> | Checks whether detectors with calculated flow 0 can attract additional traffic; default: false |
| --remove-empty-detectors <BOOL> | Removes empty detectors from the list; default: false |
| --strict-sources <BOOL> | Whether edges with unknown status can prevent an edge from becoming a source; default: false |
| --respect-concurrent-inflows <BOOL> | Try to determine further inflows to an inbetween detector when computing split probabilities; default: false |
| --scale <FLOAT> | Scale factor for flows; default: 1 |
Defaults#
| Option | Description |
|---|---|
| --departlane <STRING> | Assigns a default depart lane |
| --departpos <STRING> | Assigns a default depart position |
| --departspeed <STRING> | Assigns a default depart speed |
| --arrivallane <STRING> | Assigns a default arrival lane |
| --arrivalpos <STRING> | Assigns a default arrival position |
| --arrivalspeed <STRING> | Assigns a default arrival speed |
| --speeddev <FLOAT> | The default speed deviation of vehicles; default: 0.1 |
Time#
| Option | Description |
|---|---|
| -b <TIME> --begin <TIME> |
Defines the begin time; Previous defs will be discarded; default: 0 |
| -e <TIME> --end <TIME> |
Defines the end time; Later defs will be discarded; Defaults to one day; default: 86400 |
Report#
All applications of the SUMO-suite handle most of the reporting options the same way. These options are discussed at Basics/Using the Command Line Applications#Reporting Options.
| Option | Description |
|---|---|
| -v <BOOL> --verbose <BOOL> |
Switches to verbose output; default: false |
| --print-options <BOOL> | Prints option values before processing; default: false |
| -? <BOOL> --help <BOOL> |
Prints this screen or selected topics; default: false |
| -V <BOOL> --version <BOOL> |
Prints the current version; default: false |
| -X <STRING> --xml-validation <STRING> |
Set schema validation scheme of XML inputs ("never", "local", "auto" or "always"); default: local |
| --xml-validation.net <STRING> | Set schema validation scheme of SUMO network inputs ("never", "local", "auto" or "always"); default: never |
| -W <BOOL> --no-warnings <BOOL> |
Disables output of warnings; default: false |
| --aggregate-warnings <INT> | Aggregate warnings of the same type whenever more than INT occur; default: -1 |
| -l <FILE> --log <FILE> |
Writes all messages to FILE (implies verbose) |
| --message-log <FILE> | Writes all non-error messages to FILE (implies verbose) |
| --error-log <FILE> | Writes all warnings and errors to FILE |
| --log.timestamps <BOOL> | Writes timestamps in front of all messages; default: false |
| --log.processid <BOOL> | Writes process ID in front of all messages; default: false |
| --language <STRING> | Language to use in messages; default: C |
| --report-empty-detectors <BOOL> | Lists detectors with no flow (enable -v); default: false |
| --print-absolute-flows <BOOL> | Prints aggregated detector flows; default: false |
| --no-step-log <BOOL> | Disable console output of route parsing step; default: false |
Random Number#
All applications of the SUMO-suite handle randomisation options the same way. These options are discussed at Basics/Using the Command Line Applications#Random Number Options.
| Option | Description |
|---|---|
| --random <BOOL> | Initialises the random number generator with the current system time; default: false |
| --seed <INT> | Initialises the random number generator with the given value; default: 23423 |
