netgenerate(1)

Road network generator for the microscopic traffic simulation SUMO

Section 1 sumo bookworm source

Description

ECLIPSE

NAME

Eclipse - Road network generator for the microscopic traffic simulation SUMO

SYNOPSIS

netgenerate [OPTION]*

DESCRIPTION

Eclipse SUMO netgenerate Version 1.15.0

Copyright (C) 2001-2022 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 dependance 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

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

--bidi-probability FLOAT

Defines the probability to build a reverse edge

--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 exactly 1 neighbor

--rand.neighbor-dist2 FLOAT

Probability for a node having exactly 2 neighbors

--rand.neighbor-dist3 FLOAT

Probability for a node having exactly 3 neighbors

--rand.neighbor-dist4 FLOAT

Probability for a node having exactly 4 neighbors

--rand.neighbor-dist5 FLOAT

Probability for a node having exactly 5 neighbors

--rand.neighbor-dist6 FLOAT

Probability for a node having exactly 6 neighbors

--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

--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

--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

-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

--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 names

--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.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

--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 the the given distribution

--perturb-y STR

Apply random spatial perturbation in y direction according the the given distribution

--perturb-z STR

Apply random spatial perturbation in z direction according the the given distribution

--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)

--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.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 edge geometries with a grade in 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.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.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.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.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 yelow 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.discard-simple

Does not instatiate traffic lights at geometry-like nodes

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,...>)

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-same

Joins junctions that have the same 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

--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

--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

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/issues>.
Get in contact via <sumo@dlr.de>.

Build features: Linux-6.1.0-26-amd64 x86_64 GNU 12.2.0 None FMI Proj GUI Intl SWIG GDAL FFmpeg OSG GL2PS Eigen
Copyright (C) 2001-2022 German Aerospace Center (DLR) and others; https://sumo.dlr.de

Eclipse SUMO netgenerate Version 1.15.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