ECLIPSE(1)

πŸ¦‹ ECLIPSE(1) β€” User Commands πŸ¦‹

okay so first things first, the manual name is Eclipse and this whole page is literally about duarouter, the little icon it is. Welcome to part 1 bestie, sit down, get a snack πŸ“


πŸ’– NAME πŸ’–

Eclipse β€” the shortest path router and DUE computer for the microscopic traffic simulation SUMO. That's it, that's the whole identity, and honestly? main character energy. πŸ‘‘


✨ SYNOPSIS ✨

duarouter [OPTION]*

🌈 DESCRIPTION 🌈

It's Eclipse SUMO duarouter 1.27.1, no cap.

Copyright (C) 2001-2026 German Aerospace Center (DLR) and others; https://sumo.dlr.de

The vibe: shortest path router and DUE computer for the microscopic, multi-modal traffic

simulation SUMO.

That's fr fr it. Now let's get into the actual options because there are... so many. Buckle up. πŸŽ€


πŸŽ€ Configuration Options πŸŽ€

like, the settings section. outfit check for your run.

  • -c, --configuration-file FILE β€” loads the named config when it starts up ✨
  • -C, --save-configuration FILE β€” saves whatever config you're running rn into FILE
  • --save-configuration.relative β€” forces relative paths when it saves the configuration (no sneaky absolute paths)
  • --save-template FILE β€” drops an empty configuration template into FILE
  • --save-schema FILE β€” saves the configuration schema into FILE
  • --save-commented β€” adds comments to whatever you saved: template, config, or schema πŸ’…

πŸ¦‹ Input Options πŸ¦‹

what you're feeding it. she needs her data.

  • -n, --net-file FILE β€” use FILE as the SUMO-network to route on 🌐
  • -a, --additional-files FILE β€” read additional network data (districts, bus stops) from FILE(s)
  • -r, --route-files FILE β€” read sumo routes, alternatives, flows, and trips from FILE(s)
  • --phemlight-path FILE β€” decides where PHEMlight definitions get loaded from
  • --phemlight-year INT β€” turns on fleet age modelling with the given reference year in PHEMlight5
  • --phemlight-temperature FLOAT β€” sets ambient temperature so the NOx emissions get corrected in PHEMlight5 🌑️
  • -w, --weight-files FILE β€” read network weights from FILE(s)
  • --lane-weight-files FILE β€” read lane-based network weights from FILE(s)
  • -x, --weight-attribute STR β€” the name of the xml attribute that gives the edge weight
  • --junction-taz β€” initializes a TAZ for every junction so it can use the attributes toJunction and fromJunction

πŸ’– Output Options πŸ’–

where the results go, aka the glow-up reveal ✨

  • -o, --output-file FILE β€” write the generated routes to FILE
  • --vtype-output FILE β€” write the used vehicle types into a separate FILE
  • --keep-vtype-distributions β€” keeps vTypeDistribution ids when writing vehicles and their types
  • --emissions.volumetric-fuel β€” returns fuel consumption values in the (legacy) unit l instead of mg
  • --named-routes β€” writes vehicles that reference routes by their id
  • --write-license β€” includes license info in every output file πŸ“œ
  • --write-metadata β€” writes parsable metadata (configuration etc.) instead of comments
  • --output-prefix STR β€” a prefix applied to all output files. The special string 'TIME' gets replaced by the current time ⏰
  • --output-suffix STR β€” a suffix applied to all output files. The special string 'TIME' gets replaced by the current time ⏰
  • --precision INT β€” how many digits after the comma for floating point output
  • --precision.geo INT β€” how many digits after the comma for lon,lat output
  • --output.compression STR β€” the standard compression algorithm (currently only for parquet output)
  • --output.format STR β€” the standard output format if it can't be derived from the file name ('xml', 'csv', 'parquet')
  • --output.column-header STR β€” how to derive column headers from attribute names ('none', 'tag', 'auto', 'plain')
  • --output.column-separator STR β€” the separator in CSV output
  • -H, --human-readable-time β€” writes time values as hour:minute:second or day:hour:minute:second instead of plain seconds πŸ•
  • --alternatives-output FILE β€” write the generated route alternatives to FILE
  • --intermodal-network-output FILE β€” write edge splits and connectivity to FILE
  • --intermodal-weight-output FILE β€” write intermodal edges with lengths and travel times to FILE
  • --write-trips β€” write trips instead of vehicles (for validating trip input)
  • --write-trips.geo β€” write trips with geo-coordinates
  • --write-trips.junctions β€” write trips with fromJunction and toJunction
  • --write-costs β€” includes the cost attribute in route output
  • --exit-times β€” write exit times (weights) for each edge
  • --route-length β€” includes the total route length in the output πŸ“

πŸ”₯ Processing Options πŸ”₯

the actual brain work. this is where she thinks.

  • --max-alternatives INT β€” prunes the number of alternatives down to INT
  • --with-taz β€” use origin and destination zones (districts) for in- and output
  • --unsorted-input β€” assumes the input is unsorted
  • -s, --route-steps TIME β€” load routes for the next number of seconds ahead
  • --no-internal-links β€” disables (junction) internal links
  • --randomize-flows β€” generates random departure times for flow input 🎲
  • --remove-loops β€” removes loops within the route; removes turnarounds at the start and end of the route
  • --repair β€” tries to correct a false route
  • --repair.from β€” tries to correct an invalid starting edge by using the first usable edge instead
  • --repair.to β€” tries to correct an invalid destination edge by using the last usable edge instead
  • --repair.max-detour-factor FLOAT β€” backtracks on the route if the detour is longer than the gap by FACTOR
  • --mapmatch.distance FLOAT β€” maximum distance when mapping input coordinates (fromXY etc.) to the road network
  • --mapmatch.junctions β€” matches positions to junctions instead of edges
  • --mapmatch.taz β€” matches positions to taz instead of edges
  • --bulk-routing β€” aggregates routing queries with the same origin
  • --routing-threads INT β€” the number of parallel execution threads used for routing ⚑
  • --routing-algorithm STR β€” pick a routing algorithm among ['dijkstra', 'astar', 'CH', 'CHWrapper']
  • --restriction-params STR[] β€” comma separated list of param keys to compare for additional restrictions
  • --weights.interpolate β€” interpolates edge weights at interval boundaries
  • --weights.expand β€” expands the end of the last loaded weight interval to infinity ♾️
  • --weights.minor-penalty FLOAT β€” applies the given time penalty when computing routing costs for minor-link internal lanes
  • --weights.tls-penalty FLOAT β€” applies the given time penalty when computing routing costs across a traffic light
  • --weights.turnaround-penalty FLOAT β€” applies the given time penalty when computing routing costs for turnaround internal lanes
  • --weights.reversal-penalty FLOAT β€” applies the given time penalty when computing routing costs for train reversal. Negative values disable reversal
  • --weights.random-factor FLOAT β€” edge weights for routing get dynamically disturbed by a random factor drawn uniformly from [1,FLOAT)
  • --weight-period TIME β€” aggregation period for the given weight files; triggers rebuilding of Contraction Hierarchy
  • --weights.priority-factor FLOAT β€” considers edge priorities in addition to travel times, weighted by factor
  • --astar.all-distances FILE β€” initialize the lookup table for astar from the given file (generated by marouter --all-pairs-output)
  • --astar.landmark-distances FILE β€” initialize the lookup table for the astar ALT-variant from the given file
  • --astar.save-landmark-distances FILE β€” save the lookup table for the astar ALT-variant to the given file
  • --scale FLOAT β€” scales demand by the given factor (by discarding or duplicating vehicles)
  • --scale-suffix STR β€” suffix added when creating ids for cloned vehicles
  • --taxi.vclasses STR[] β€” network permissions that can be accessed by taxis πŸš•
  • --gawron.beta FLOAT β€” use FLOAT as Gawron's beta
  • --gawron.a FLOAT β€” use FLOAT as Gawron's a
  • --keep-all-routes β€” saves routes with near zero probability
  • --skip-new-routes β€” only reuses routes from input, does not calculate new ones
  • --keep-route-probability FLOAT β€” the probability of keeping the old route
  • --ptline-routing β€” routes all public transport input 🚌
  • --keep-flows β€” writes flows instead of expanding them into vehicles
  • --route-choice-method STR β€” choose a route choice method: gawron, logit, or lohse
  • --logit β€” use the c-logit model (deprecated in favor of --route-choice-method logit)
  • --logit.beta FLOAT β€” use FLOAT as logit's beta
  • --logit.gamma FLOAT β€” use FLOAT as logit's gamma
  • --logit.theta FLOAT β€” use FLOAT as logit's theta (negative values mean auto-estimation)
  • --persontrip.walkfactor FLOAT β€” use FLOAT as a factor on pedestrian maximum speed during intermodal routing 🚢
  • --persontrip.walk-opposite-factor FLOAT β€” use FLOAT as a factor on walking speed against vehicle traffic direction
  • --persontrip.transfer.car-walk STR[] β€” where mode changes from car to walking are allowed (possible values: 'parkingAreas', 'ptStops', 'allJunctions' and combinations)
  • --persontrip.transfer.taxi-walk STR[] β€” where taxis can drop off customers ('allJunctions, 'ptStops')
  • --persontrip.transfer.walk-taxi STR[] β€” where taxis can pick up customers ('allJunctions, 'ptStops')
  • --persontrip.taxi.waiting-time TIME β€” estimated time for taxi pickup
  • --persontrip.ride-public-line β€” only use the intended public transport line rather than any alternative line that stops at the destination
  • --railway.max-train-length FLOAT β€” use FLOAT as a maximum train length when initializing the railway router πŸš†
  • --max-traveltime TIME β€” declares routing failure if traveltime exceeds the given positive TIME
ngl that section was a lot. hydrate. πŸ’§

🧚 Defaults Options 🧚

the fallback fits. if nothing else is specified, these are the lewks.

  • --departlane STR β€” assigns a default depart lane
  • --departpos STR β€” assigns a default depart position
  • --departspeed STR β€” assigns a default depart speed
  • --arrivallane STR β€” assigns a default arrival lane
  • --arrivalpos STR β€” assigns a default arrival position
  • --arrivalspeed STR β€” assigns a default arrival speed
  • --defaults-override β€” defaults will override given values

⏰ Time Options ⏰

when does the little simulation wake up and when does it go to bed.

  • -b, --begin TIME β€” defines the begin time; previous trips will be discarded πŸ—‘οΈ
  • -e, --end TIME β€” defines the end time; later trips will be discarded; defaults to the maximum time that SUMO can represent

πŸ‘‘ Report Options πŸ‘‘

how chatty she is.

  • -v, --verbose β€” switches to verbose output πŸ—£οΈ
  • --print-options β€” prints option values before processing

and that's part 1, but bestie we are NOT done β€” more of this absolute novel is coming. stay tuned πŸ’«

  • -?, --help β€” prints this very screen (or just the topics you asked for) πŸ’– like babe, it's the built-in cheat sheet, use ittt
  • -V, --version β€” prints the current version, one line, no drama ✨
  • -X, --xml-validation _STR_ β€” sets the schema validation scheme for XML inputs. your options are "never", "local", "auto" or "always" πŸ‘‘
  • --xml-validation.net _STR_ β€” same deal but for SUMO network inputs: "never", "local", "auto" or "always" 🌐
  • --xml-validation.routes _STR_ β€” and again for SUMO route inputs: "never", "local", "auto" or "always" πŸ›£οΈ
  • -W, --no-warnings β€” shuts warning output all the way off πŸ™ˆ (living in bliss fr)
  • --aggregate-warnings _INT_ β€” whenever more than _INT_ warnings of the same type show up, it bundles them together so your terminal doesn't spiral πŸ’€
  • -l, --log _FILE_ β€” writes all messages to _FILE_ (and yes, it implies verbose πŸ‘€)
  • --message-log _FILE_ β€” writes all the non-error messages to _FILE_ (also implies verbose)
  • --error-log _FILE_ β€” writes all warnings and errors to _FILE_ πŸ”₯
  • --log.timestamps β€” sticks timestamps in front of every message ⏰
  • --log.processid β€” sticks the process ID in front of every message πŸ†”
  • --language _STR_ β€” the language to use in messages 🌸
  • --ignore-errors β€” keeps going even if a route could not be build 🫢 (yes, "build", that's the page's wording, not mine)
  • --stats-period _INT_ β€” defines how often the statistics get printed πŸ“Š
  • --no-step-log β€” kills the console output of the route parsing step 🀫

🎲 Random Number Options 🎲

it's giving chaos theory but make it reproducible ✨

  • --random β€” initialises the random number generator with the current system time πŸ•°οΈ (so every run is a lil different, main character energy)
  • --seed _INT_ β€” initialises the random number generator with the given value πŸŽ€ (feed it the same number, get the same run β€” that's the whole point bestie)

πŸ“š EXAMPLES πŸ“š

duarouter -c <CONFIGURATION>

run routing with options from file πŸ’… that's it, that's the whole vibe β€” point it at a config and let it cook πŸ”₯


πŸ› REPORTING BUGS πŸ›

found something cursed? report bugs at <https://github.com/eclipse-sumo/sumo/issues> and get in contact via <sumo@dlr.de> πŸ’Œ

Build features: Linux-6.8.0-139-generic x86_64 GNU 15.3.0 None
FMI Proj GUI Intl SWIG Eigen GDAL FFmpeg OSG GL2PS
Copyright (C) 2001-2026 German Aerospace Center (DLR) and others;
https://sumo.dlr.de

Eclipse SUMO duarouter 1.27.1 is part of SUMO πŸš—βœ¨ This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at <http://www.eclipse.org/legal/epl-v20.html> πŸ“œ

This program may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License 2.0 are satisfied: GNU General Public License, version 2 or later which is available at <https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html> πŸ’œ

SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later 🫑

okay so that's a whole lot of license lore, but basically: it's open, it's licensed, periodt πŸ’…

and that's the page bestie, we made it πŸŽ€ this one's Eclipse SUMO duarouter 1.27.1, last touched August 2026, living in section ECLIPSE(1) of your manual πŸ¦‹ go route something iconic ✨

πŸ“¦ where this page comes from