Provided by: sumo_1.25.0+dfsg1-1_amd64 

NAME
Eclipse - Road network generator for the microscopic traffic simulation SUMO
SYNOPSIS
netgenerate [OPTION]*
DESCRIPTION
Eclipse SUMO netgenerate 1.25.0
Copyright (C) 2001-2025 German Aerospace Center (DLR) and others; https://sumo.dlr.de
Synthetic network generator for the microscopic, multi-modal traffic simulation
SUMO.
Either "--grid", "--spider" or "--rand" must be supplied.
In dependence to these switches other options are used.
Configuration Options:
-c, --configuration-file FILE
Loads the named config on startup
-C, --save-configuration FILE
Saves current configuration into FILE
--save-configuration.relative
Enforce relative paths when saving the configuration
--save-template FILE
Saves a configuration template (empty) into FILE
--save-schema FILE
Saves the configuration schema into FILE
--save-commented
Adds comments to saved template, configuration, or schema
Grid Network Options:
-g, --grid
Forces NETGEN to build a grid-like network
--grid.number INT
The number of junctions in both dirs
--grid.length FLOAT
The length of streets in both dirs
--grid.x-number INT
The number of junctions in x-dir; Overrides --grid-number
--grid.y-number INT
The number of junctions in y-dir; Overrides --grid-number
--grid.x-length FLOAT
The length of horizontal streets; Overrides --grid-length
--grid.y-length FLOAT
The length of vertical streets; Overrides --grid-length
--grid.attach-length FLOAT
The length of streets attached at the boundary; 0 means no streets are attached
--grid.x-attach-length FLOAT
The length of streets attached at the boundary in x direction; 0 means no streets are attached
--grid.y-attach-length FLOAT
The length of streets attached at the boundary in y direction; 0 means no streets are attached
Spider Network Options:
-s, --spider
Forces NETGEN to build a spider-net-like network
--spider.arm-number INT
The number of axes within the net
--spider.circle-number INT
The number of circles of the net
--spider.space-radius FLOAT
The distances between the circles
--spider.omit-center
Omit the central node of the network
--spider.attach-length FLOAT
The length of streets attached at the boundary; 0 means no streets are attached
Random Network Options:
-r, --rand
Forces NETGEN to build a random network
--rand.iterations INT
Describes how many times an edge shall be added to the net
--rand.max-distance FLOAT
The maximum distance for each edge
--rand.min-distance FLOAT
The minimum distance for each edge
--rand.min-angle FLOAT
The minimum angle for each pair of (bidirectional) roads in DEGREES
--rand.num-tries INT
The number of tries for creating each node
--rand.connectivity FLOAT
Probability for roads to continue at each node
--rand.neighbor-dist1 FLOAT
Probability for a node having at most 1 neighbor
--rand.neighbor-dist2 FLOAT
Probability for a node having at most 2 neighbors
--rand.neighbor-dist3 FLOAT
Probability for a node having at most 3 neighbors
--rand.neighbor-dist4 FLOAT
Probability for a node having at most 4 neighbors
--rand.neighbor-dist5 FLOAT
Probability for a node having at most 5 neighbors
--rand.neighbor-dist6 FLOAT
Probability for a node having at most 6 neighbors
--rand.grid
Place nodes on a regular grid with spacing rand.min-distance
Input Options:
-t, --type-files FILE
Read edge-type defs from FILE
Output Options:
--write-license
Include license info into every output file
--write-metadata
Write parsable metadata (configuration etc.) instead of comments
--output-prefix STR
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
--precision.geo INT
Defines the number of digits after the comma for lon,lat output
--output.compression STR
Defines the standard compression algorithm (currently only for parquet output)
--output.format STR
Defines the standard output format if not derivable 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
Separator in CSV output
-H, --human-readable-time
Write time values as hour:minute:second or day:hour:minute:second rather than seconds
--alphanumerical-ids
The Ids of generated nodes use an alphanumerical code for easier readability when possible
-o, --output-file FILE
The generated net will be written to FILE
-p, --plain-output-prefix FILE
Prefix of files to write plain xml nodes, edges and connections to
--plain-output.lanes
Write all lanes and their attributes even when they are not customized
--junctions.join-output FILE
Writes information about joined junctions to FILE (can be loaded as additional node-file to
reproduce joins
--prefix STR
Defines a prefix for edge and junction IDs
--prefix.junction STR
Defines a prefix for junction IDs
--prefix.edge STR
Defines a prefix for edge IDs
--amitran-output FILE
The generated net will be written to FILE using Amitran format
--matsim-output FILE
The generated net will be written to FILE using MATSim format
--opendrive-output FILE
The generated net will be written to FILE using OpenDRIVE format
--dlr-navteq-output FILE
The generated net will be written to dlr-navteq files with the given PREFIX
--dlr-navteq.version STR
The dlr-navteq output format version to write
--dlr-navteq.precision INT
The network coordinates are written with the specified level of output precision
--output.street-names
Street names will be included in the output (if available)
--output.original-names
Writes original names, if given, as parameter
--output.removed-nodes
Writes IDs of nodes remove with --geometry.remove into edge param
--street-sign-output FILE
Writes street signs as POIs to FILE
--opendrive-output.straight-threshold FLOAT
Builds parameterized curves whenever the angular change between straight segments exceeds FLOAT
degrees
Processing Options:
--turn-lanes INT
Generate INT left-turn lanes
--turn-lanes.length FLOAT
Set the length of generated turning lanes to FLOAT
--perturb-x STR
Apply random spatial perturbation in x direction according to the given distribution
--perturb-y STR
Apply random spatial perturbation in y direction according to the given distribution
--perturb-z STR
Apply random spatial perturbation in z direction according to the given distribution
--bidi-probability FLOAT
Defines the probability to build a reverse edge
--random-lanenumber
Draw lane numbers randomly from [1,default.lanenumber]
--random-priority
Draw edge priority randomly from [1,default.priority]
--random-type
Draw edge type randomly from all loaded types
--numerical-ids
Remaps alphanumerical IDs of nodes and edges to ensure that all IDs are integers
--numerical-ids.node-start INT
Remaps IDs of nodes to integers starting at INT
--numerical-ids.edge-start INT
Remaps IDs of edges to integers starting at INT
--reserved-ids FILE
Ensures that generated ids do not included any of the typed IDs from FILE (sumo-gui selection file
format)
--kept-ids FILE
Ensures that objects with typed IDs from FILE (sumo-gui selection file format) are not renamed
--geometry.split
Splits edges across geometry nodes
-R, --geometry.remove
Replace nodes which only define edge geometry by geometry points (joins edges)
--geometry.remove.keep-edges.explicit STR[]
Ensure that the given list of edges is not modified
--geometry.remove.keep-edges.input-file FILE
Ensure that the edges in FILE are not modified (Each id on a single line. Selection files from
sumo-gui are also supported)
--geometry.remove.min-length FLOAT
Allow merging edges with differing attributes when their length is below min-length
--geometry.remove.width-tolerance FLOAT
Allow merging edges with differing lane widths if the difference is below FLOAT
--geometry.remove.max-junction-size FLOAT
Prevent removal of junctions with a size above FLOAT as defined by custom edge endpoints
--geometry.max-segment-length FLOAT
splits geometry to restrict segment length
--geometry.max-grade FLOAT
Warn about edge geometries with a grade in % above FLOAT.
--geometry.max-grade.fix
Smooth edge geometries with a grade above the warning threshold.
--offset.disable-normalization
Turn off normalizing node positions
--offset.x FLOAT
Adds FLOAT to net x-positions
--offset.y FLOAT
Adds FLOAT to net y-positions
--offset.z FLOAT
Adds FLOAT to net z-positions
--flip-y-axis
Flips the y-coordinate along zero
--roundabouts.guess
Enable roundabout-guessing
--roundabouts.guess.max-length FLOAT
Structures with a circumference above FLOAT threshold are not classified as roundabout
--roundabouts.visibility-distance FLOAT
Default visibility when approaching a roundabout
--opposites.guess
Enable guessing of opposite direction lanes usable for overtaking
--opposites.guess.fix-lengths
Ensure that opposite edges have the same length
--fringe.guess
Enable guessing of network fringe nodes
--fringe.guess.speed-threshold FLOAT
Guess disconnected edges above the given speed as outer fringe
--lefthand
Assumes left-hand traffic on the network
--edges.join
Merges edges which connect the same nodes and are close to each other (recommended for VISSIM
import)
Building Defaults Options:
-L, --default.lanenumber INT
The default number of lanes in an edge
--default.lanewidth FLOAT
The default width of lanes
--default.spreadtype STR
The default method for computing lane shapes from edge shapes
-S, --default.speed FLOAT
The default speed on an edge (in m/s)
--default.friction FLOAT
The default friction on an edge
-P, --default.priority INT
The default priority of an edge
--default.type STR
The default edge type
--default.sidewalk-width FLOAT
The default width of added sidewalks
--default.bikelane-width FLOAT
The default width of added bike lanes
--default.crossing-width FLOAT
The default width of a pedestrian crossing
--default.crossing-speed FLOAT
The default speed 'limit' on a pedestrian crossing (in m/s)
--default.walkingarea-speed FLOAT
The default speed 'limit' on a pedestrian walkingarea (in m/s)
--default.allow STR
The default for allowed vehicle classes
--default.disallow STR
The default for disallowed vehicle classes
--default.junctions.keep-clear
Whether junctions should be kept clear by default
--default.junctions.radius FLOAT
The default turning radius of intersections
--default.connection-length FLOAT
The default length when overriding connection lengths
--default.connection.cont-pos FLOAT
Whether/where connections should have an internal junction
--default.right-of-way STR
The default algorithm for computing right of way rules ('default', 'edgePriority')
-j, --default-junction-type STR
[traffic_light|priority|right_before_left|left_before_right|traffic_light_right_on_red|priority_stop|allway_stop|...]
Determines junction type (see wiki/Networks/PlainXML#Node_types)
TLS Building Options:
--tls.set STR[]
Interprets STR[] as list of junctions to be controlled by TLS
--tls.unset STR[]
Interprets STR[] as list of junctions to be not controlled by TLS
--tls.guess
Turns on TLS guessing
--tls.guess.threshold FLOAT
Sets minimum value for the sum of all incoming lane speeds when guessing TLS
--tls.guess.joining
Includes node clusters into guess
--tls.join
Tries to cluster tls-controlled nodes
--tls.join-dist FLOAT
Determines the maximal distance for joining traffic lights (defaults to 20)
--tls.join-exclude STR[]
Interprets STR[] as list of tls ids to exclude from joining
--tls.uncontrolled-within
Do not control edges that lie fully within a joined traffic light. This may cause collisions but
allows old traffic light plans to be used
--tls.ignore-internal-junction-jam
Do not build mutually conflicting response matrix, potentially ignoring vehicles that are stuck at
an internal junction when their phase has ended
--tls.cycle.time INT
Use INT as cycle duration
--tls.green.time INT
Use INT as green phase duration
-D, --tls.yellow.min-decel FLOAT
Defines smallest vehicle deceleration
--tls.yellow.patch-small
Given yellow times are patched even if being too short
--tls.yellow.time INT
Set INT as fixed time for yellow phase durations
--tls.red.time INT
Set INT as fixed time for red phase duration at traffic lights that do not have a conflicting flow
--tls.allred.time INT
Set INT as fixed time for intermediate red phase after every switch
--tls.minor-left.max-speed FLOAT
Use FLOAT as threshold for allowing left-turning vehicles to move in the same phase as oncoming
straight-going vehicles
--tls.left-green.time INT
Use INT as green phase duration for left turns (s). Setting this value to 0 disables additional
left-turning phases
--tls.nema.vehExt INT
Set INT as fixed time for intermediate vehext phase after every switch
--tls.nema.yellow INT
Set INT as fixed time for intermediate NEMA yellow phase after every switch
--tls.nema.red INT
Set INT as fixed time for intermediate NEMA red phase after every switch
--tls.crossing-min.time INT
Use INT as minimum green duration for pedestrian crossings (s).
--tls.crossing-clearance.time INT
Use INT as clearance time for pedestrian crossings (s).
--tls.scramble.time INT
Use INT as green phase duration for pedestrian scramble phase (s).
--tls.half-offset STR[]
TLSs in STR[] will be shifted by half-phase
--tls.quarter-offset STR[]
TLSs in STR[] will be shifted by quarter-phase
--tls.default-type STR
TLSs with unspecified type will use STR as their algorithm
--tls.layout STR
Set phase layout four grouping opposite directions or grouping all movements for one incoming edge
['opposites', 'incoming']
--tls.no-mixed
Avoid phases with green and red signals for different connections from the same lane
--tls.min-dur INT
Default minimum phase duration for traffic lights with variable phase length
--tls.max-dur INT
Default maximum phase duration for traffic lights with variable phase length
--tls.group-signals
Assign the same tls link index to connections that share the same states
--tls.ungroup-signals
Assign a distinct tls link index to every connection
--tls.rebuild
rebuild all traffic light plans in the network
--tls.discard-simple
Does not instantiate traffic lights at geometry-like nodes
--railway.signal.permit-unsignalized STR[]
List rail classes that may run without rail signals
Edge Removal Options:
--keep-edges.min-speed FLOAT
Only keep edges with speed in meters/second > FLOAT
--remove-edges.explicit STR[]
Remove edges in STR[]
--keep-edges.explicit STR[]
Only keep edges in STR[] or those which are kept due to other keep-edges or remove-edges options
--keep-edges.input-file FILE
Only keep edges in FILE (Each id on a single line. Selection files from sumo-gui are also
supported) or those which are kept due to other keep-edges or remove-edges options
--remove-edges.input-file FILE
Remove edges in FILE. (Each id on a single line. Selection files from sumo-gui are also supported)
--keep-edges.in-boundary STR[]
Only keep edges which are located within the given boundary (given either as CARTESIAN corner
coordinates <xmin,ymin,xmax,ymax> or as polygon <x0,y0,x1,y1,...>)
--keep-edges.in-geo-boundary STR[]
Only keep edges which are located within the given boundary (given either as GEODETIC corner
coordinates <lon-min,lat-min,lon-max,lat-max> or as polygon <lon0,lat0,lon1,lat1,...>)
--keep-lanes.min-width FLOAT
Only keep lanes with width in meters > FLOAT
Unregulated Nodes Options:
--keep-nodes-unregulated
All nodes will be unregulated
--keep-nodes-unregulated.explicit STR[]
Do not regulate nodes in STR[]
--keep-nodes-unregulated.district-nodes
Do not regulate district nodes
Junctions Options:
--junctions.right-before-left.speed-threshold FLOAT
Allow building right-before-left junctions when the incoming edge speeds are below FLOAT (m/s)
--junctions.left-before-right
Build left-before-right junctions instead of right-before-left junctions
--no-internal-links
Omits internal links
--no-turnarounds
Disables building turnarounds
--no-turnarounds.tls
Disables building turnarounds at tls-controlled junctions
--no-turnarounds.geometry
Disables building turnarounds at geometry-like junctions
--no-turnarounds.except-deadend
Disables building turnarounds except at dead end junctions
--no-turnarounds.except-turnlane
Disables building turnarounds except at at junctions with a dedicated turning lane
--no-turnarounds.fringe
Disables building turnarounds at fringe junctions
--no-left-connections
Disables building connections to left
--junctions.join
Joins junctions that are close to each other (recommended for OSM import)
--junctions.join-dist FLOAT
Determines the maximal distance for joining junctions (defaults to 10)
--junctions.join.parallel-threshold FLOAT
The angular threshold in degress for rejection of parallel edges when joining junctions
--junctions.join-same FLOAT
Joins junctions that have similar coordinates even if not connected
--max-join-ids INT
Abbreviate junction or TLS id if it joins more than INT junctions
--junctions.corner-detail INT
Generate INT intermediate points to smooth out intersection corners
--junctions.internal-link-detail INT
Generate INT intermediate points to smooth out lanes within the intersection
--junctions.scurve-stretch FLOAT
Generate longer intersections to allow for smooth s-curves when the number of lanes changes
--junctions.join-turns
Builds common edges for turning connections with common from- and to-edge. This causes
discrepancies between geometrical length and assigned length due to averaging but enables
lane-changing while turning
--junctions.limit-turn-speed FLOAT
Limits speed on junctions to an average lateral acceleration of at most FLOAT (m/s^2)
--junctions.limit-turn-speed.min-angle FLOAT
Do not limit turn speed for angular changes below FLOAT (degrees). The value is subtracted from
the geometric angle before computing the turning radius.
--junctions.limit-turn-speed.min-angle.railway FLOAT
Do not limit turn speed for angular changes below FLOAT (degrees) on railway edges. The value is
subtracted from the geometric angle before computing the turning radius.
--junctions.limit-turn-speed.warn.straight FLOAT
Warn about turn speed limits that reduce the speed of straight connections by more than FLOAT
--junctions.limit-turn-speed.warn.turn FLOAT
Warn about turn speed limits that reduce the speed of turning connections (no u-turns) by more
than FLOAT
--junctions.small-radius FLOAT
Default radius for junctions that do not require wide vehicle turns
--junctions.higher-speed
Use maximum value of incoming and outgoing edge speed on junction instead of average
--junctions.minimal-shape
Build junctions with minimal shapes (ignoring edge overlap)
--junctions.endpoint-shape
Build junction shapes based on edge endpoints (ignoring edge overlap)
--internal-junctions.vehicle-width FLOAT
Assumed vehicle width for computing internal junction positions
--rectangular-lane-cut
Forces rectangular cuts between lanes and intersections
--check-lane-foes.roundabout
Allow driving onto a multi-lane road if there are foes on other lanes (at roundabouts)
--check-lane-foes.all
Allow driving onto a multi-lane road if there are foes on other lanes (everywhere)
Pedestrian Options:
--sidewalks.guess
Guess pedestrian sidewalks based on edge speed
--sidewalks.guess.max-speed FLOAT
Add sidewalks for edges with a speed equal or below the given limit
--sidewalks.guess.min-speed FLOAT
Add sidewalks for edges with a speed above the given limit
--sidewalks.guess.from-permissions
Add sidewalks for edges that allow pedestrians on any of their lanes regardless of speed
--sidewalks.guess.exclude STR[]
Do not guess sidewalks for the given list of edges
--crossings.guess
Guess pedestrian crossings based on the presence of sidewalks
--crossings.guess.speed-threshold FLOAT
At uncontrolled nodes, do not build crossings across edges with a speed above the threshold
--crossings.guess.roundabout-priority
Give priority to guessed crossings at roundabouts
--walkingareas
Always build walking areas even if there are no crossings
--walkingareas.join-dist FLOAT
Do not create a walkingarea between sidewalks that are connected by a pedestrian junction within
FLOAT
Bicycle Options:
--bikelanes.guess
Guess bike lanes based on edge speed
--bikelanes.guess.max-speed FLOAT
Add bike lanes for edges with a speed equal or below the given limit
--bikelanes.guess.min-speed FLOAT
Add bike lanes for edges with a speed above the given limit
--bikelanes.guess.from-permissions
Add bike lanes for edges that allow bicycles on any of their lanes regardless of speed
--bikelanes.guess.exclude STR[]
Do not guess bikelanes for the given list of edges
Report Options:
-v, --verbose
Switches to verbose output
--print-options
Prints option values before processing
-?, --help
Prints this screen or selected topics
-V, --version
Prints the current version
-X, --xml-validation STR
Set schema validation scheme of XML inputs ("never", "local", "auto" or "always")
-W, --no-warnings
Disables output of warnings
--aggregate-warnings INT
Aggregate warnings of the same type whenever more than INT occur
-l, --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
Writes timestamps in front of all messages
--log.processid
Writes process ID in front of all messages
--language STR
Language to use in messages
Random Number Options:
--random
Initialises the random number generator with the current system time
--seed INT
Initialises the random number generator with the given value
EXAMPLES
netgenerate -c <CONFIGURATION>
create net from given configuration
netgenerate --grid [grid-network options] -o <OUTPUTFILE>
create grid net
netgenerate --spider [spider-network options] -o <OUTPUTFILE>
create spider net
netgenerate --rand [random-network options] -o <OUTPUTFILE>
create random net
REPORTING BUGS
Report bugs at <https://github.com/eclipse-sumo/sumo/issues>.
Get in contact via <sumo@dlr.de>.
Build features: Linux-6.8.0-87-generic x86_64 GNU 15.2.0 None FMI Proj GUI Intl SWIG Eigen GDAL
FFmpeg OSG GL2PS
Copyright (C) 2001-2025 German Aerospace Center (DLR) and others; https://sumo.dlr.de
Eclipse SUMO netgenerate 1.25.0 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
Eclipse SUMO netgenerate 1.25.0 November 2025 ECLIPSE(1)