Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/tests/netgen/meta/help/output.netgen
169710 views
Eclipse SUMO netgenerate v1_24_0+0753-7ddc191931e
 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.

Usage: netgenerate [OPTION]*
 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

Report bugs at <https://github.com/eclipse-sumo/sumo/issues>.
Get in contact via <[email protected]>.